jQ(document).ready(function() {
 /* *********
    * GLOBALNI *
    ***********/

    showLocalOfficeCommons();
    
    lng = jQ('#lngTest').val();

    // Nastavuje combo s jazyky
    setLocalComponents(lng);

    
    switchs('#sizeFontSwitchs', '#content');
    setContentFontSize('#sizeFontSwitchs', '#content');
    
    /* *******
    * TARGET *
    * Nastavuje atribut target, tam kde se bude pozadavek otevirat do noveho okna
    *********/
    setSendTarget('target');

    /* **********
    * FORMULARE *
    ************/
    
    // SelectBox create
    aagForms.createSelectBox();
    
    // Input checkbox CALL
    inputCheckbox.create();
    
    // Input radio CALL
    inputRadio.create();

    // Zaobleni rohu elementu, obrazku
    setRoundedCorners();
    
    // PNG Fix pro IE6
    if (isIE6()) {
        DD_belatedPNG.fix('.pngfix');
    }
    //jQ(document).pngFix(); 
    
    // Zmena zastoupeni
    changeLocation('#changeLocation', '#worldwideUrl');
    
    // Zmena jazyka
    changeLanguage('#changeLanguage', '#actualUrl');
    
    // Zneaktivneni odkazu
    disableLinks();
    
        /* google search box */
    var googleInput = jQ('#googleSearchInput');
    var lngImg = ((typeof lng == 'undefined' || lng == '') ? 'en' : lng);
    var localisedBg = "url('"+('https:' == document.location.protocol ? 'https' : 'http')+"://www.google.com/cse/intl/" + lngImg + "/images/google_custom_search_watermark.gif') no-repeat scroll 0 0 transparent";
    if (googleInput.attr('value') != '') {
        googleInput.css({'background' : 'none'});
    } else {
        googleInput.css({'background' : localisedBg});
    }
    googleInput.focus(function(){
        googleInput.css({'background' : 'none'});
    });
    googleInput.blur(function(){
        if(googleInput.attr('value') == '') {
            googleInput.css({'background' : localisedBg});
        } else {
            googleInput.css({'background' : 'none'});
        }
    });
    
    // Nastavuje atribut autocomplete
    setAutocomplete();

   
});

/**
 *
 *
 * @param lng Aktualni jazyk
 */
function setLocalComponents(lng) {

    // Zjistuje aktualni zastoupeni
    var localOffice = '';
    if (getCookie('sectionLocalOffice')) {
        localOffice = getCookie('sectionLocalOffice');
    } else {
        localOffice = 'cz';
    }
    
    // Nastavuje seznam jazyku
    if(typeof localLanguages[localOffice] !== 'undefined') {
        var languages = localLanguages[localOffice];
        var htmlOptions = '';
        for (var i = 0; i < languages.length; i++) {
            var lngCode = languages[i];
            if (localOffice != 'ch' && lngCode == lng) {
                htmlOptions += '<option value="' + lngCode + '">' + lngNames[lngCode] + '</option>';
            } else if (localOffice != 'ch' && lngCode != lng) {
                htmlOptions += '<option value="' + lngCode + '" selected="selected">' + lngNames[lngCode] + '</option>';            
            } else if (localOffice == 'ch' && lngCode == 'en') {
                htmlOptions += '<option value="' + lngCode + '" selected="selected">' + lngNames[lngCode] + '</option>';                        
            } else {
                htmlOptions += '<option value="' + lngCode + '">' + lngNames[lngCode] + '</option>';
            }
            /*
            if (lngCode == lng) {
                htmlOptions += '<option value="' + lngCode + '">' + lngNames[lngCode] + '</option>';
            } else {
                if (localOffice != 'ch') {
                    htmlOptions += '<option value="' + lngCode + '">' + lngNames[lngCode] + '</option>';
                } else if (localOffice == 'ch' && lngCode != 'en') {
                    htmlOptions += '<option value="' + lngCode + '">' + lngNames[lngCode] + '</option>';                                    
                } else {
                    htmlOptions += '<option value="' + lngCode + '" selected="selected">' + lngNames[lngCode] + '</option>';
                }
            }
            */
        }
        jQ('#changeLanguage').html(htmlOptions);
    }
    
    // Nastavuje parametr zastoupeni do booking formularu
    // pokud je zastoupeni UK do IBS musi jit GB
    
    if( localOffice.toUpperCase() == 'UK') {
        localOffice = 'GB';
    }
    jQ(':input#ID_LOCATION_ibs').val(localOffice.toUpperCase());
    
    /*
    if (!localLanguage && url['language']) localLanguage = url['language'];
    if (!localLanguage && get['userLanguage']) localLanguage = get['userLanguage'];
    if (!localLanguage && getCookie('sectionLanguage')) localLanguage = getCookie('sectionLanguage');
    if (localLanguage && localLanguages[localOffice] && localLanguages[localOffice].length) { //test platnosti jazyka pro vybranne zastoupeni
        y = localLanguage;
        localLanguage = '';
        for (x=0;x<localLanguages[localOffice].length;x++) {
            if (y == localLanguages[localOffice][x]) {
                localLanguage = y;
                break;
            }
        }
    }
    if (!localLanguage && localLanguages[localOffice] && localLanguages[localOffice].length) localLanguage = localLanguages[localOffice][0];
    if (!localLanguage) localLanguage = 'en'; //en verzi ma kazde zastoupeni*/
}


/**
 * Presmerovani na jine zastoupeni
 *
 * @param string idElement Pokud se zmeni element, nastavene presmerovani dle jeho hodnoty
 * @param string idElUrl Hidden formular s url na presmerovani
 */
function changeLocation(idElement, idElUrl) {
    jQ(idElement).change(function() {
        var elUrl = jQ(idElUrl).val();
        var locationId = jQ(this).val().toLowerCase();
        var lng = 'cs';
        if (locationId != ' ') {
            window.location = elUrl + '?userSection=' + locationId + '&userLanguage= ' + lng + '&change=1';
            //&clearcoo=userLocalOffice-userLocalLanguage
        }
    });
}

/**
 * Zmena jazyka na aktualni adrese
 *
 * @param string idElement Pokud se zmeni element, nastavene presmerovani dle jeho hodnoty
 * @param string idElUrl Aktualni adresou
 */
function changeLanguage(idElement, idElUrl) {

    var strLng = jQ(idElement).val();

    jQ(idElement).change(function() {
    
        strLng = '/' + strLng + '/';
    
        var strLngChange = jQ(this).val().toLowerCase();
        strLngChange = '/' + strLngChange + '/';

        
        var strUrl = jQ(idElUrl).val();
        strUrl = strUrl.replace(strUrl.substr(0, 4), strLngChange);

        window.location = strUrl;
    });    
}

function showLocalOfficeCommons() {    
    var mmItem;
    var localOffice = '';
    var localLanguage = '';
    var get = readGET();
    var url = readURL();

    if (!localOffice && url['section']) { //udaj z url_cesty ma nejvyssi prioritu
        localOffice = url['section'];
        if (!localLanguages[localOffice] || !localLanguages[localOffice].length) localOffice = ''; //overeni platne hodnoty
    }
    if (!localOffice && get['userSection']) { //udaj v GET parametru ma nizsi prioritu
        localOffice = get['userSection'];
        if (!localLanguages[localOffice] || !localLanguages[localOffice].length) localOffice = ''; //overeni platne hodnoty
    }
    if (!localOffice && getCookie('sectionLocalOffice')) { //udaj v Cookies ma nejnizsi prioritu
        localOffice = getCookie('sectionLocalOffice');
        if (!localLanguages[localOffice] || !localLanguages[localOffice].length) localOffice = ''; //overeni platne hodnoty
    }
    if (!localOffice) localOffice = 'cz'; //defaultni hodnota zastoupeni
    
    if (!localLanguage && url['language']) localLanguage = url['language'];
    if (!localLanguage && get['userLanguage']) localLanguage = get['userLanguage'];
    if (!localLanguage && getCookie('sectionLanguage')) localLanguage = getCookie('sectionLanguage');
    if (localLanguage && localLanguages[localOffice] && localLanguages[localOffice].length) { //test platnosti jazyka pro vybranne zastoupeni
        y = localLanguage;
        localLanguage = '';
        for (x=0;x<localLanguages[localOffice].length;x++) {
            if (y == localLanguages[localOffice][x]) {
                localLanguage = y;
                break;
            }
        }
    }
    if (!localLanguage && localLanguages[localOffice] && localLanguages[localOffice].length) localLanguage = localLanguages[localOffice][0];
    if (!localLanguage) localLanguage = 'en'; //en verzi ma kazde zastoupeni
        
    var expires = new Date();
    expires = expires.valueOf() + 31*24*60*60*1000;
    expires = new Date(expires);
    setCookie('sectionLocalOffice', localOffice, expires, '/');
    setCookie('sectionLanguage', localLanguage, expires, '/');
    
    var jQ = jQuery.noConflict();
    jQ("#localOfficeNameSpace").replaceWith(localTitles[localOffice]);
    jQ("#localPhoneSpace").replaceWith(localPhones[localOffice]);
    var i = 0;
    var newHtml = '<span>|</span>'+'Select your language'+' : ';
    for (i=0;i<localLanguages[localOffice].length;i++) {
        if (localLanguages[localOffice][i] != localLanguage) {
            newHtml = newHtml + '<a href="/'+localLanguages[localOffice][i]+'/portal/?userLanguage='+localLanguages[localOffice][i]+'">'+lngNames[localLanguages[localOffice][i]]+'</a><span>|</span>';
        }
    }
    if (localLanguages[localOffice].length > 1) jQ("#localLanguagesSpace").html(newHtml.substring(0,newHtml.length-14));

    if (extraMainMenuItems[localOffice] && jQ("#extraMainMenuItem")) {
        mmItem = jQ("#extraMainMenuItem");
        if (mmItem) {
            var aClass = 'menu';
            if (window.location.pathname.substr(0, extraMainMenuItems[localOffice]['url'].length) == extraMainMenuItems[localOffice]['url']) aClass = 'menu_selected';
            newHtml = '<a class="'+aClass+'" href="'+extraMainMenuItems[localOffice]['url']+'" title="'+extraMainMenuItems[localOffice]['title']+'">'+extraMainMenuItems[localOffice]['name']+'</a>';
            mmItem.append(newHtml);
            mmItem.addClass('show');
        }
    }
    
    /* H - Zakomentovano na zakladde pozadavku z CSA (p. Balaz) - Klara 19.07.2010
    if (localStats[localOffice] != '') {
        _uacct = localStats[localOffice];
        urchinTracker();
    }
    if (otherStats != '') {
        _uacct = otherStats;
        urchinTracker();
    }*/
}

function readGET() {        
    var x, parts, pair;
    var get = new Array();
    if (window.location.search) {
        parts = window.location.search.split('?', 2);
        if (parts[1]) {
            parts = parts[1].split('&');
            for (x=0;x<parts.length;x++) {
                if (parts[x]) {
                    pair = parts[x].split('=', 2);
                    get[pair[0]] = decodeURIComponent(pair[1]);
                }
            }
        }
    }
    return get;
}

function readURL() {        
    var parts;
    var url = new Array();
    if (window.location.pathname) {
        parts = window.location.pathname.split('/');
        if (parts[1].length == 2) url['language'] = parts[1];
        if ((typeof parts[3] != 'undefined') && parts[3].match(new RegExp("^[a-z]{2}_ozz$"))) url['section'] = parts[3].substr(0,2);
        if ((typeof parts[3] != 'undefined') && (parts[3] == 'homepage') && (parts[4].match(new RegExp("^[a-z]{2}_homepage.htm$")))) url['section'] = parts[4].substr(0,2);
    }
    return url;
}

function isIE6() {
    if(String(navigator.appVersion).match("MSIE 6")) {
        return true;
    } else {
        return false;
    }
}

function isIE55() {
    //alert(String(navigator.appVersion));
    if(String(navigator.appVersion).match("MSIE 5.5")) return true;
    else return false;
}
