var simpleEncoding = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
var URL;
var apiURL="http://chart.apis.google.com/chart?";

function processData() {
    getURL();
    $("chart").src=URL;
    $("charturl").value=URL;
    return URL;
}

function simpleEncode(values,maxValue) {
    var chartData = [''];
    for (var i = 0; i < values.length; i++) {
        var currentValue = values[i];
        if (!isNaN(currentValue) && currentValue >= 0) {
            try {
                chartData.push(simpleEncoding.charAt(Math.round((simpleEncoding.length-1) * currentValue / maxValue)));
            } catch (e) {
                chartData.push('_');
            }
        } else {
            chartData.push('_');
        }
    }
    return chartData.join('');
}

function simpleEncodeI() {
    var dataSets;
    var retval="";
    var first=true;
    dataSets=$("t_values").value.split("|");
    for (i = 0; i < dataSets.length; i++) {
        if ( !first ) retval+=",";
        first = false;
        retval += simpleEncode( dataSets[i].split(";"), $("t_maxval").value );
    }
        return retval;
}

function getURL() {
    URL=apiURL;
    
    // START ADDING PARAMETERS
    addParam("chs", $("size_x").value + "x" + $("size_y").value);
    addParam("cht", $("type").options[$("type").selectedIndex].value);
    addParam("chd", $("data_enc").options[$("data_enc").selectedIndex].value + ":" + $("data_value").value);
    if ($("op_title").checked) {
        addParam("chtt", $("title").value); // Diagram címe
        if ($("op_title_format").checked) addParam("chts",$("title_format").value);
    }
    if ($("op_colors").checked) addParam("chco", $("chart_colors").value); // Adatok színezése
    if ($("op_legend").checked) addParam("chdl", $("legend_items").value); // Jelmagyarázat
    if ($("op_fill").checked) addParam("chf", $("fill_defs").value); // Kitöltés/Háttérszín
    
    // Szűkítjük a kört -- opcionális paraméterek
    switch ($("type").options[$("type").selectedIndex].value) {
        case "p":
        case "p3":
            if ($("type_1_b_p").checked) addParam("chl", $("pie_labels").value);
            break;
        case "lc":
        case "lxy":
            if ($("type_1_a_l").checked) addParam("chls", $("line_styles").value);
            if ($("type_2_b_l").checked) addParam("chm", $("marker_data").value);
            if ($("type_2_a_l").checked) addParam("chg", $("grid_data").value);
            if ($("type_3_a_l").checked) {
                addParam("chxt", $("multi_axis_type").value);
                addParam("chxl", $("multi_axis_label").value);
                if ($("op_multi_axis_label_pos").checked) addParam("chxp", $("multi_axis_pos").value);
                if ($("op_multi_axis_label_range").checked) addParam("chxr", $("multi_axis_range").value);
                if ($("op_multi_axis_label_style").checked) addParam("chxs", $("multi_axis_style").value);
            }
                        
            break;
        case "s":
            if ($("type_2_b_s").checked) addParam("chm", $("marker_data").value);
            if ($("type_2_a_s").checked) addParam("chg", $("grid_data").value);
            if ($("type_3_a_s").checked) {
                addParam("chxt", $("multi_axis_type").value);
                addParam("chxl", $("multi_axis_label").value);
                if ($("op_multi_axis_label_pos").checked) addParam("chxp", $("multi_axis_pos").value);
                if ($("op_multi_axis_label_range").checked) addParam("chxr", $("multi_axis_range").value);
                if ($("op_multi_axis_label_style").checked) addParam("chxs", $("multi_axis_style").value);
            }
            
            break;
        case "bhs":
        case "bvs":
        case "bhg":
        case "bvg":
            if ($("use_chbh").checked) addParam("chbh", $("chbh_size").value + "," + $("chbh_space").value);
            if ($("type_3_a_b").checked) {
                addParam("chxt", $("multi_axis_type").value);
                addParam("chxl", $("multi_axis_label").value);
                if ($("op_multi_axis_label_pos").checked) addParam("chxp", $("multi_axis_pos").value);
                if ($("op_multi_axis_label_range").checked) addParam("chxr", $("multi_axis_range").value);
                if ($("op_multi_axis_label_style").checked) addParam("chxs", $("multi_axis_style").value);
            }
            
            break;
    }
    // END ADDING PARAMETERS
    
    return URL;
}

function addParam(param, value) {
    if (URL != apiURL) URL += "&";
    URL += param + "=" + value;
}

function loadFinished() {
    $('chartform').show();
    promptload();
    
    $('loading').hide();
}
