var select_typKurzu = new Array();
var regphone = new RegExp("^[0-9\-\/]+$");
var regemail = new RegExp("^([+]?[_a-zA-Z0-9\-]+([.][_a-zA-Z0-9\-]+)*@([0-9a-zA-Z][0-9a-zA-Z\-]*[.])+[a-zA-Z]{2,4})$");

function dummy(){
}

function showNextInputs(idEle){
    $("#" + idEle).show();
}

function hideNextInputs(idEle){
    $("#" + idEle).hide();
}
function resetNextInputs(idEle){
    var el=document.getElementById(idEle);
    if(el.value)
        el.value = "";
}
function resetNextSelect(idEle){
    var el=document.getElementById(idEle);    
    if(el.options[0])
       el.value = el.options[0].value;
}   
function isCheckedRadio(formname, radioname)
{
    eval("var radioObject = document.forms['"+formname+"']."+radioname+";");
    
    for (i=0; i<radioObject.length; i++)
    {
        if (radioObject[i].checked)
        {
            return true;
        }
    }
    
    return false;
}

function isCheckedConcreteRadio(formname, radioname, val)
{
    eval("var radioObject = document.forms['"+formname+"']."+radioname+";");
    
    for (i=0; i<radioObject.length; i++)
    {
        if (radioObject[i].value == val)
        {
            return (radioObject[i].checked);
        }
    }
    
    return false;
}

var prihlaska = new Array();
prihlaska[prihlaska.length] = new Array("program", "value != 'vyber'", "Vyberte prosím program!");
prihlaska[prihlaska.length] = new Array("stat", "value != 'vyber'", "Vyberte prosím stát!");
/*prihlaska[prihlaska.length] = new Array("mesto", "document.getElementById('mesto').options.length == 1 || value != 'vyber'", "Vyberte prosím město!");
prihlaska[prihlaska.length] = new Array("pozadovany_zacatek", "value > ''", "Nevyplněné pole Požadovaný začátek kurzu!");
prihlaska[prihlaska.length] = new Array("pocet_tydnu", "value != 'vyber'", "Vyberte prosím počet týdnů!!");
prihlaska[prihlaska.length] = new Array("typ_ubytovani", "value > ''", "Nevyplněné pole Typ ubytování!");
prihlaska[prihlaska.length] = new Array("doprava", "isCheckedRadio('prihlaska','doprava')", "Nevybrané Chci zajistit dopravu!");*/
prihlaska[prihlaska.length] = new Array("pokud_ano_doprava", "!isCheckedConcreteRadio('prihlaska', 'doprava', 'ano') || isCheckedRadio('prihlaska','pokud_ano_doprava')", "Nevybrané Jak (Chci zajistit dopravu)!");
//prihlaska[prihlaska.length] = new Array("transfer", "isCheckedRadio('prihlaska', 'transfer')", "Nevybrané Transfer!");
prihlaska[prihlaska.length] = new Array("pokud_ano_transfer", "!isCheckedConcreteRadio('prihlaska', 'transfer', 'ano') || isCheckedRadio('prihlaska','pokud_ano_transfer')", "Nevybrané Kdy (Transfer)!");
/*prihlaska[prihlaska.length] = new Array("pojisteni", "isCheckedRadio('prihlaska', 'pojisteni')", "Nevybrané Pojištění!");
prihlaska[prihlaska.length] = new Array("storno", "isCheckedRadio('prihlaska', 'storno')", "Nevybrané Garance pro případ nuceného storna!");
prihlaska[prihlaska.length] = new Array("absolvent_kurz", "isCheckedRadio('prihlaska', 'absolvent_kurz')", "Nevybrané Absolvoval jsem již kurz se StudyPoint? !");
*/
prihlaska[prihlaska.length] = new Array("jmeno", "value > ''", "Nevyplněné pole Jméno!");
prihlaska[prihlaska.length] = new Array("prijmeni", "value > ''", "Nevyplněné pole Příjmení!");
prihlaska[prihlaska.length] = new Array("datum_narozeni", "value > ''", "Nevyplněné pole Datum narození!");
prihlaska[prihlaska.length] = new Array("ulice", "value > ''", "Nevyplněné pole Ulice!");
prihlaska[prihlaska.length] = new Array("mesto_informace", "value > ''", "Nevyplněné pole Město!");
prihlaska[prihlaska.length] = new Array("psc", "value > ''", "Nevyplněné pole PSČ!");
prihlaska[prihlaska.length] = new Array("stat_informace", "value > ''", "Nevyplněné pole Stát!");
prihlaska[prihlaska.length] = new Array("pohlavi", "isCheckedRadio('prihlaska', 'pohlavi')", "Nevybrané Pohlaví!");
prihlaska[prihlaska.length] = new Array("narodnost", "value > ''", "Nevyplněné pole Národnost!");
//prihlaska[prihlaska.length] = new Array("telefon", "value > ''", "Nevyplněné pole Telefon domů/práce!");
prihlaska[prihlaska.length] = new Array("mobil", "value > ''", "Nevyplněné pole Mobilní telefon!");
prihlaska[prihlaska.length] = new Array("email", "regemail.test(value)", "Vyplňte prosím korektní emailovou adresu!");
prihlaska[prihlaska.length] = new Array("kontakt_pribuzni", "value > ''", "Vyplňte prosím pole Kontakt na příbuzné v době kurzu!");
prihlaska[prihlaska.length] = new Array("alergie", "isCheckedRadio('prihlaska', 'alergie')", "Nevyplněné Alergie!");
prihlaska[prihlaska.length] = new Array("jake_alergie", "!isCheckedConcreteRadio('prihlaska', 'alergie', 'ano') || value > ''", "Nevyplněné Jaké (Alergie)!");
prihlaska[prihlaska.length] = new Array("kurak", "isCheckedRadio('prihlaska', 'kurak')", "Nevybrané Kuřák!");
// TJ prihlaska[prihlaska.length] = new Array("souhlas", "document.getElementById('souhlas').checked", "Nezaškrtnuté pole Souhlasím se všeobecnými podmínkami!");

//prihlaska[prihlaska.length] = new Array("info_jak", "value > ''", "Nevyplněné pole Jak jste se o nás dozvěděli? !");
//prihlaska[prihlaska.length] = new Array("info_zeptat", "value > ''", "Nevyplněné pole Chci se zeptat? !");


/*function fillPreData(){
    fillStates(arrValuesPreData[2]);
    if(arrValuesPreData[2])
        fillCities(arrValuesPreData[3]);          
}*/
function setFormByProgramValue(val){
    var elem = document.getElementById('program');
    resetNextInputs('pozadovany_zacatekIn');
    resetNextInputs('pozadovany_konecIn');
    resetNextInputs('pocet_tydnuIn');
    resetNextSelect('pozadovany_zacatekSel');
    var program = elem.value;
    switch(program){
        case elem.options[0].value:
            setSpecifikace(0);
            break;
        case elem.options[1].value: //rok na stredni skole
            setSpecifikace(1);
            setTypKurzu(1,program);
            hideNextInputs('tr_mesto');
            showNextInputs('tr_pozadovanyZacatekSelect');
            hideNextInputs('tr_pozadovanyZacatekInput');
            hideNextInputs('tr_pocetTydnu');
            hideNextInputs('tr_pozadovanyKonec');
            hideNextInputs('tr_typUbytovani');
            hideNextInputs('tr_transfer');
            showNextInputs('tr_zajemVylety');
            break;
        case elem.options[2].value: //jazykove kurzy pro dospele
            setSpecifikace(2);
            setTypKurzu(2,program);
            showNextInputs('tr_mesto');
            showNextInputs('tr_pozadovanyZacatekInput');
            hideNextInputs('tr_pozadovanyZacatekSelect');
            showNextInputs('tr_pocetTydnu');
            showNextInputs('tr_pozadovanyKonec');
            showNextInputs('tr_typUbytovani');
            showNextInputs('tr_transfer');
            showNextInputs('tr_zajemVylety');
            break;
        case elem.options[3].value: //jazykove kurzy pro juniory
            setSpecifikace(3);
            setTypKurzu(3,program);
            showNextInputs('tr_mesto');
            showNextInputs('tr_pozadovanyZacatekInput');            
            hideNextInputs('tr_pozadovanyZacatekSelect');
            showNextInputs('tr_pocetTydnu');
            showNextInputs('tr_pozadovanyKonec');
            showNextInputs('tr_typUbytovani');
            showNextInputs('tr_transfer');
            showNextInputs('tr_zajemVylety');
            break;
        case elem.options[4].value: //univerzity
            setSpecifikace(4);
            setTypKurzu(4,program);
            hideNextInputs('tr_mesto');
            showNextInputs('tr_pozadovanyZacatekSelect');
            hideNextInputs('tr_pozadovanyZacatekInput');
            hideNextInputs('tr_pocetTydnu');
            hideNextInputs('tr_pozadovanyKonec');
            showNextInputs('tr_typUbytovani');
            showNextInputs('tr_transfer');
            hideNextInputs('tr_zajemVylety');                        
            break;
      }
      fillStates(val);
      setOblastUSA();
}
function setSpecifikace(val){
    $("#specifikace > *").remove();
    if(val == 1){
        showNextInputs('tr_specifikace');
        createFirstOption('specifikace');
        setOptionNew('státní','státní','specifikace',false);
        setOptionNew('privátní','privátní','specifikace',false);
    }else if(val == 3){
        showNextInputs('tr_specifikace');
        createFirstOption('specifikace');
        setOptionNew('individuální','individuální','specifikace',false);
        setOptionNew('skupinový','skupinový','specifikace',false);
    }else{
        hideNextInputs('tr_specifikace');
    }
}
function setOblastUSA(){
     $("#oblastUSA > *").remove();
     var elem = document.getElementById('specifikace');
     var elp =  document.getElementById('program');
     var els =  document.getElementById('stat');
     var opt = new Array('oblast1','oblast2','oblast3','oblast4','oblast5');
    if(elp.value == elp.options[1].value){
        if(elem.value == elem.options[1].value && els.value == els.options[1].value){
            createFirstOption('oblastUSA');
            for(i in opt)
                setOptionNew(opt[i],opt[i],'oblastUSA',false);
            setOptionNew('','bez výběru','oblastUSA',false);      
            showNextInputs('tr_oblastUSA');
            showNextInputs('tr_statUSA');
            return;
        }
    }
    hideNextInputs('tr_oblastUSA');
    hideNextInputs('tr_statUSA');
}
function setTypKurzu(val,program){
    if(program != 'sp_univerzity'){
        $("#trTypKurzu").show();
        $("#typKurzu > *").remove();
        if(val == 1){
            var opt = new Array('rok','semestr');
        }else if(val == 2){
            var opt = new Array('obecný','intenzivní','bussiness','one-to-one','minigroup','freestyle','certifikát');
        }else if(val == 3){
            var opt = new Array('obecný','intenzivní','freestyle','adventure','explorer','letní kemp');
        }else{ 
            var opt = null;
        }
        createFirstOption('typKurzu');
        if(opt != null){
            for(i in opt){
                setOptionNew(opt[i],opt[i],'typKurzu',false);
            }
        }else{
            for(i in select_typKurzu)
                setOptionNew(select_typKurzu[i][1],select_typKurzu[i][0],'typKurzu',false);
        }
    }else{
        $("#trTypKurzu").hide();
    }
}            
function fillStates(val){
    var select_value = document.getElementById('program').value;
    $("#stat > *").remove();
    createFirstOption('stat');
    for (var i in arrValuesToSelect[select_value]) {
        setOption(i,'stat',false);
    }
    if(val != false)
        setOption(val,'stat',true);
}
      
function fillCities(val){
    setOblastUSA();
    var type_program = document.getElementById('program').value;
    var type_state = document.getElementById('stat').value;
    $("#mesto > *").remove();
    createFirstOption('mesto');
    for (var i in arrValuesToSelect[type_program][type_state]) {
        setOption(i,'mesto',false);
    }
    if(val != false)
        setOption(val,'mesto',true);
}

function setOption(type_ele,id_select,check){
     var option1 = document.createElement('option');
     option1.setAttribute('value',type_ele);
     if(check == true)
        option1.setAttribute('selected','selected');
     var option_text = document.createTextNode(arrKeysToSelect[type_ele]);  
     option1.appendChild(option_text);
     var select = document.getElementById(id_select);
     select.appendChild(option1);
}
function setOptionNew(val,text,id_select,check){
     var option1 = document.createElement('option');
     option1.setAttribute('value',val);
     var option_text = document.createTextNode(text);  
     option1.appendChild(option_text);
     var select = document.getElementById(id_select);
     select.appendChild(option1);
}
function createFirstOption(id_select){
    var option1 = document.createElement('option');
    option1.setAttribute('value','vyber');
    var option_text = document.createTextNode('Vyberte...');  
    option1.appendChild(option_text);
    var select = document.getElementById(id_select);
    select.appendChild(option1);
}

function setPocetTydnu(){
    var startDate = document.getElementById("pozadovany_zacatekIn").value;
    var endDate = document.getElementById("pozadovany_konecIn").value;    
}
function setPozadovanyKonec(){
    var startDate = document.getElementById("pozadovany_zacatekIn").value;
    var numOfWeeks = document.getElementById("pocet_tydnuIn").value;    
}
