var currentLanguage = '';

function init() {
    var selectList = [ 'countriesSelect', 'brandsSelect', 'languagesSelect' ];
    for ( var i in selectList ) {
        var select = document.getElementById(selectList[i]);
        for ( var k in optionsList[selectList[i]] ) {
            var o = document.createElement('option')
            o.value = k;
            o.appendChild(document.createTextNode(optionsList[selectList[i]][k]));

            select.appendChild(o);
        }
        select.style.width = 'auto';
    }
    updateLanguage('en');
}

function updateLanguage(l) {
    for ( var f in formFields ) {
        if ( field = document.getElementById(formFields[f]) )
            field.innerHTML = messages[l][formFields[f]];
    }

    document.getElementById('button').value = document.getElementById('button').value == ( currentLanguage != '' &&  messages[currentLanguage]['createanother'] ) ?
        messages[l]['createanother'] : messages[l]['button'];

    currentLanguage = l;
}

function go() {
    var countries = ""
    var countriesSelect = document.getElementById('countriesSelect').options

    for ( var i= 0; i < countriesSelect.length ; i++ ) {
        if ( countriesSelect[i].selected )
            countries = countries + countriesSelect[i].value;
    }
    var brands = ""
    var brandsSelect = document.getElementById('brandsSelect').options

    for ( var i= 0; i < brandsSelect.length ; i++ ) {
        if ( brandsSelect[i].selected )
            brands = brands + brandsSelect[i].value;
    }
    var languages = ""
    var languagesSelect = document.getElementById('languagesSelect').options

    for ( var i= 0; i < languagesSelect.length ; i++ ) {
        if ( languagesSelect[i].selected )
            languages = languages + languagesSelect[i].value;
    }

    var div = document.createElement('div');
    div.id = 'linkurl';
    var p = document.createElement('p');

    var good = false;

    if ( languages == "" || brands == "" || countries == "" ) {
        p.style.color = "red";
        p.appendChild(document.createTextNode(messages[currentLanguage]['columns']));
        p.id = 'columns';

    } else {
       
        p.appendChild(document.createTextNode(messages[currentLanguage]['looking']));
        p.id = 'looking';

//     alert( '/cgi-bin/feeds.fcgi?brands=' + brands + '&countries=' + countries + '&languages=' + languages );
        var good = true;
    }

    div.appendChild(p);
    document.getElementById('results').innerHTML = '';
    document.getElementById('results').appendChild(div);
    if(good)
        sndReq( countries, languages, brands);
}
function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}

var http = createRequestObject();

function handleResponse() {
    if(http.readyState == 4){
        var response = http.responseXML;
        var valids = response.getElementsByTagName('valid');
        if ( valids.length == 0 ) {
            var p = document.createElement('p');
            p.style.color = "red";
            p.appendChild(document.createTextNode(messages[currentLanguage]['novalid']));
            p.id = 'novalid';

            var div = document.createElement('div');
            div.id = 'linkurl';
            div.appendChild(p);

            document.getElementById('results').innerHTML = '';
            document.getElementById('results').appendChild(div);
        } else {
            var codes = "";
            var validList = new Array;
            for ( var i=0; i < valids.length ; i++ ) {
                codes = codes + valids[i].firstChild.nodeValue;
                validList.push( optionsList['countriesSelect'][valids[i].getAttribute('country')] + '-' +
                                optionsList['brandsSelect'][valids[i].getAttribute('brand')] + '-' +
                                optionsList['languagesSelect'][valids[i].getAttribute('language')] );
            }
            var feedLink = 'http://' + location.host + '/feed/' + codes + '/gm.rss';
            var div = document.createElement('div');
            div.id = 'linkurl';
            
            var p = document.createElement('p');
            p.appendChild(document.createTextNode(messages[currentLanguage]['copypaste']));
            p.id = 'copypaste';
            div.appendChild(p);

            p = document.createElement('p');
            var a = document.createElement('a');
            a.innerHTML = a.href = feedLink;
            p.appendChild(a);
            div.appendChild(p);
    
            p = document.createElement('p');
            p.innerHTML = '<a href="http://fusion.google.com/add?feedurl=' + feedLink +
               '" target="_blank"><img border="0" src="/images/add-to-google-plus.gif" width="104" height="17" border="0" alt="Add to Google"></a> <a href="http://www.bloglines.com/sub/' + feedLink +
                '" target="_blank"><img src="../images/sub_modern5.gif" border="0" alt="Subscribe with Bloglines" /></a>  <a href="http://add.my.yahoo.com/rss?url=' + feedLink +
                '" target="_blank"><img border="0" src="../images/addtomyyahoo4.gif" alt="Add to MyYahoo"/></a><br><a href="http://feedvalidator.org/check.cgi?url=' + feedLink +
                '" target="_blank"><img src="../images/valid-rss.png" alt="[Valid RSS]" title="Validate my RSS feed" width="88" height="31" border="0"/></a>'
            div.appendChild(p);

            p = document.createElement('p');
            p.style.fontWeight = 'bold';
            p.appendChild(document.createTextNode(messages[currentLanguage]['ourselections']));
            p.id = 'ourselections';
            div.appendChild(p);
            p = document.createElement('p');
            p.appendChild(document.createTextNode(validList.join(",\n")));
            div.appendChild(p);

            document.getElementById('button').value = messages[currentLanguage]['createanother'];
            document.getElementById('results').innerHTML = '';
            document.getElementById('results').appendChild(div);
        }
    }
}

function sndReq( countries, languages, brands) {
    http.onreadystatechange = handleResponse;
    http.open('get', '/cgi-bin/feeds.fcgi?brands=' + brands + '&countries=' + countries + '&languages=' + languages );
    http.send(null);
}
