function hideAll() {
    $('custom_level').hide();
    $('custom_grade').hide();
    $('custom_options').hide();
    $('custom_colours').hide();
    $('custom_sizes').hide();
}

function updateKanji(id, create) {
    var http = false;
    
    if (navigator.appName == "Microsoft Internet Explorer") {
        http = new ActiveXObject("Microsoft.XMLHTTP");
    } else {
        http = new XMLHttpRequest();
    }
    
    // Kanji JLPT
    var jlpt = '';
    if ($('level1').checked == 1) { if (jlpt) { jlpt += ", 1"; } else { jlpt = "1"; } }
    if ($('level2').checked == 1) { if (jlpt) { jlpt += ", 2"; } else { jlpt = "2"; } }
    if ($('level3').checked == 1) { if (jlpt) { jlpt += ", 3"; } else { jlpt = "3"; } }
    if ($('level4').checked == 1) { if (jlpt) { jlpt += ", 4"; } else { jlpt = "4"; } }
    
    // Kanji Levels
    var levels = '';
    if ($('grade1').checked == 1) { if (levels) { levels += ", 1"; } else { levels = "1"; } }
    if ($('grade2').checked == 1) { if (levels) { levels += ", 2"; } else { levels = "2"; } }
    if ($('grade3').checked == 1) { if (levels) { levels += ", 3"; } else { levels = "3"; } }
    if ($('grade4').checked == 1) { if (levels) { levels += ", 4"; } else { levels = "4"; } }
    if ($('grade5').checked == 1) { if (levels) { levels += ", 5"; } else { levels = "5"; } }
    if ($('grade6').checked == 1) { if (levels) { levels += ", 6"; } else { levels = "6"; } }
    if ($('grade8').checked == 1) { if (levels) { levels += ", 8"; } else { levels = "8"; } }
    if ($('grade9').checked == 1) { if (levels) { levels += ", 9"; } else { levels = "9"; } }
    if ($('grade10').checked == 1) { if (levels) { levels += ", 10"; } else { levels = "10"; } }
    
    // Display Options
    var options = '';
    if ($('opt_layoutsmall').checked) { options = "1"; } else { options = "0"; }
    if ($('opt_om').value) { options += ", " + $('opt_om').value; } else { options += ", 3"; }
    if ($('opt_kun').value) { options += ", " + $('opt_kun').value; } else { options += ", 3"; }
    if ($('opt_eng').value) { options += ", " + $('opt_eng').value; } else { options += ", 3"; }
    
    // Colours
    var colours = '';
    if ($('col_kanji').value) { colours = $('col_kanji').value; } else { colours = "black"; }
    if ($('col_info').value) { colours += ", " + $('col_info').value; } else { colours += ", black"; }
    if ($('col_om').value) { colours += ", " + $('col_om').value; } else { colours += ", black"; }
    if ($('col_kun').value) { colours += ", " + $('col_kun').value; } else { colours += ", blue"; }
    if ($('col_eng').value) { colours += ", " + $('col_eng').value; } else { colours += ", red"; }
    if ($('col_back').value) { colours += ", " + $('col_back').value; } else { colours += ", transparent"; }
    
    // Sizes
    var sizes = '';
    if ($('size_kanji').value) { sizes = $('size_kanji').value; } else { sizes = "80"; }
    if ($('size_info').value) { sizes += ", " + $('size_info').value; } else { sizes += ", 10"; }
    if ($('size_om').value) { sizes += ", " + $('size_om').value; } else { sizes += ", 18"; }
    if ($('size_kun').value) { sizes += ", " + $('size_kun').value; } else { sizes += ", 18"; }
    if ($('size_eng').value) { sizes += ", " + $('size_eng').value; } else { sizes += ", 14"; }
    
    http.abort();
    if (create) {
        http.open("GET", "http://www.kanjimyblog.com/grabData.php?create=1&"
            + "jlpt="+jlpt+"&levels="+levels+"&options="+options+"&colours="+colours+"&sizes="+sizes
            +"&"+Math.round(Math.random() * 100000), true);
    }
    else {
        http.open("GET", "http://www.kanjimyblog.com/grabData.php?update=1&"
            + "jlpt="+jlpt+"&levels="+levels+"&options="+options+"&colours="+colours+"&sizes="+sizes
            +"&"+Math.round(Math.random() * 100000), true);
    }
    http.setRequestHeader("Pragma","no-cache");
    http.setRequestHeader("Cache-Control", "must-revalidate");
    http.setRequestHeader("Cache-Control", "no-cache");
    http.setRequestHeader("Cache-Control", "no-store");
    http.setRequestHeader("Expires", 0);
    http.onreadystatechange=function() {
        if(http.readyState == 4) {
            if (create) {
                $('code').innerHTML = http.responseText;
                $('updateButtons').hide();
                Effect.Appear('code');
            }
            else {
                $('kanjiPreview').innerHTML = http.responseText;
                $('updateButton').value = "Preview Changes";
            }
        }
    }
    http.send(null);
}