/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

function vypocet(){
    var element = document.getElementById('vysledek');
    var zacatek = document.getElementById('pocatek_pojisteni');
    var zacatek_label = document.getElementById('pocatek_pojisteni_lbl');
    var konec = document.getElementById('konec_pojisteni');
    var konec_label = document.getElementById('konec_pojisteni_lbl');
    var deti = document.getElementById('osoby_deti');
    var dospeli = document.getElementById('osoby_dospeli');
    var seniori = document.getElementById('osoby_seniori');
    var typ = document.getElementById('typ_pojisteni');
    var typCesty = document.getElementById('typ_cesty');
    //var uzemiPobytu = document.getElementById('uzemi_pobytu');
    var obsah = "";
                    
    var zDay, zMes, zRok, kDay, kMes, kRok, rozdil, osoby, koeficient;
                    
    hideCalendarControl(); //zavrit calendar
                                
    if (zacatek.value == "") {
        alert('CHYBA: Musíte vyplnit "Počátek pojištění" !!!');
        zacatek_label.style.color = 'red';
    } else if (konec.value == "") {
        alert('CHYBA: Musíte vyplnit "Konec pojištění" !!!');
        zacatek_label.style.color = '#565672';
        konec_label.style.color = 'red';
    } else if (element){
        konec_label.style.color = "#565672";
                        
        var dateString = new String(zacatek.value);
        var dateParts = dateString.split(".");
        
        zDay = parseInt(dateParts[0],10);
        zMes = parseInt(dateParts[1],10);
        zRok = parseInt(dateParts[2],10);
                        
        dateString = new String(konec.value);
        dateParts = dateString.split(".");
                        
        kDay = parseInt(dateParts[0],10);
        kMes = parseInt(dateParts[1],10);
        kRok = parseInt(dateParts[2],10);
                        
        rozdil = rozdilek(zDay,zMes,zRok,kDay,kMes,kRok);
                                    
        if (rozdil<0) {
            alert('CHYBA: Výběr rozmezí data pojištění nesmí vyjít záporně !!!');
            zacatek_label.style.color = "red";
            konec_label.style.color = "red";
        } else {
            if ((typCesty.value=="turisticky")||(typCesty.value=="obchodni")) {
                obsah = "<p>Bohužel, naše pojištění je určeno výhradně pro studijní, pracovní a jazykové programy v zahraničí. Na turistické nebo obchodní pobyty v zahraničí nelze toto pojištění aplikovat.</p>";
            } else {
                                        
                obsah = "<p>Vybrali jste pojištění od <strong>"+zacatek.value+"</strong> do <strong>"+konec.value+"</strong></p>";
                if (typ.value == 'normal') {
                    obsah += "<p>Typ pojištění : Základní - <strong>1.05€</strong>/den/osoba</p>";
                    koeficient = 1.05;
                } else if(typ.value == 'best') {
                    obsah += "<p>Typ pojištění : Nadstandardní - <strong>1.25€</strong>/den/osoba</p>";
                    koeficient = 1.25;
                }
                osoby = parseInt(deti.value,10) + parseInt(dospeli.value, 10) + parseInt(seniori.value, 10);
                //obsah += "<p>Předběžná cena pojištění: <u><strong>"+(Math.round(osoby*rozdil*koeficient*100)/100)+"€</strong></u> | počet osob - "+osoby+" | počet dní - "+rozdil+"<br/>koeficient - "+koeficient+"</p>";
                obsah += "<p><table><thead><tr><th></th><th>osoby</th><th>dny</th><th>koeficient</th><th>cena</th></tr></thead><tbody>";
                obsah += "<tr><td class='td1'>Děti do věku 17let:</td><td>"+deti.value+"</td><td>"+rozdil+"</td><td>"+koeficient+"</td><td>"+(Math.round(parseInt(deti.value,10)*rozdil*koeficient*100)/100)+"€</td></tr>";
                obsah += "<tr><td class='td1'>Dospělí:</td><td>"+dospeli.value+"</td><td>"+rozdil+"</td><td>"+koeficient+"</td><td>"+(Math.round(parseInt(dospeli.value,10)*rozdil*koeficient*100)/100)+"€</td></tr>";
                obsah += "<tr><td class='td1'>Senioři od věku 70let:</td><td>"+seniori.value+"</td><td>"+rozdil+"</td><td>"+koeficient+"</td><td>"+(Math.round(parseInt(seniori.value,10)*rozdil*koeficient*100)/100)+"€</td></tr>";
                obsah += "<tr class='tr-last'><td class='td1'>SUMA</td><td>"+osoby+"</td><td>"+rozdil+"</td><td>"+koeficient+"</td><td><strong>"+(Math.round(osoby*rozdil*koeficient*100)/100)+"€</strong></td></tr>";
                obsah += "</tbody></table></p>";
                obsah += "<p><br/><br/>Pro závazné objednání pojištění, pokračujte odkazem níže na stránky pojištění.</p><p>Pojištění se hradí prostřednictvím platební karty on-line.</p>";
            }                               
            element.innerHTML = obsah;
            
            zacatek_label.style.color = '#565672';
            konec_label.style.color = "#565672";
            
            document.getElementById('pojisteni-2-wrap').style.display='block';
            document.getElementById('pojisteni-1-wrap').style.display='none';
        }
    } else {
        alert('CHYBA: Ups ztratil jsem data.');
    }
}
                
function rozdilek(zDay,zMes,zRok,kDay,kMes,kRok){
    var rokZ = zRok-1900;
    var rokK = kRok-1900;
    var zac, kon, rozdilDny = 0;
                                
    zac = rokZ*365;
    for (var i=1;i<zMes;i++){
        zac += getDaysInMes(zRok,i);
    }
    zac += zDay;
                                
    kon = rokK*365;
    for (var i=1;i<kMes;i++){
        kon += getDaysInMes(kRok,i);
    }
    kon += kDay;
                                
    rozdilDny = kon - zac + 1; // +1 pocita se jak pocatecni tak konecny den
    return rozdilDny;
}
                
function getDaysInMes(year, month) {
    return [31,((!(year % 4 ) && ( (year % 100 ) || !( year % 400 ) ))?29:28),31,30,31,30,31,31,30,31,30,31][month-1];
}

function testLetenek(){
    var lZ,lJ,lE,lB,l1,l2; //letenky
    var msg = "";
    var datum1, datum2;
    var letenkaZ = document.getElementById('letenkaZ');
    var letenkaJ = document.getElementById('letenkaJ');
    var letenkaE = document.getElementById('letenkaE');
    var letenkaB = document.getElementById('letenkaB');
    var letenkaZLbl = document.getElementById('letenkaZ-lbl');
    var letenkaJLbl = document.getElementById('letenkaJ-lbl');
    var letenkaELbl = document.getElementById('letenkaE-lbl');
    var letenkaBLbl = document.getElementById('letenkaB-lbl');
    var odletZ = document.getElementById('odletZ');
    var odletZLbl = document.getElementById('odletZ-lbl');
    var priletDo = document.getElementById('priletDo');
    var priletDoLbl = document.getElementById('priletDo-lbl');
    var datumOdletOd = document.getElementById('datumOdletOd');
    var datumOdletOdLbl = document.getElementById('datumOdletOd-lbl');
    var datumLetuZpet = document.getElementById('datumLetuZpet');
    var datumLetuZpetLbl = document.getElementById('datumLetuZpet-lbl');
    var jmeno = document.getElementById('jmeno');
    var jmenoLbl = document.getElementById('jmeno-lbl');
    var prijmeni = document.getElementById('prijmeni');
    var prijmeniLbl = document.getElementById('prijmeni-lbl');
    var telefon = document.getElementById('telefon');
    var telefonLbl = document.getElementById('telefon-lbl');
    var email = document.getElementById('email');
    var emailLbl = document.getElementById('email-lbl');
    var osobniUdaje = document.getElementById('checkOsobniUdaje');
    var osobniUdajeLbl = document.getElementById('checkOsobniUdaje-lbl');
    
    if(letenkaZ.checked){
        lZ = true;
    } else {
        lZ = false;
    }
    if(letenkaJ.checked){
        lJ = true;
    } else {
        lJ = false;
    }
    if(letenkaE.checked){
        lE = true;
    } else {
        lE = false;
    }
    if(letenkaB.checked){
        lB = true;
    } else {
        lB = false;
    }
                
    if (lZ==true || lJ==true){
        l1=true;
    } else {
        l1=false;
    }
    if (lE==true || lB==true){
        l2=true;
    } else {
        l2=false;
    }
                 
    if(l1==false){
        msg+='CHYBA: Musí být vybrána alespoň jeden typ letenky: zpáteční, jednosměrná\n';
        letenkaZ.focus();
        letenkaZLbl.style.color='red';
        letenkaJLbl.style.color='red';
    } else {
        letenkaZLbl.style.color='#3F5D62';
        letenkaJLbl.style.color='#3F5D62';
    }
    if(l2==false){
        msg+='CHYBA: Musí být vybrána alespoň jeden typ letenky: ekonomická, business\n';
        letenkaE.focus();
        letenkaELbl.style.color='red';
        letenkaBLbl.style.color='red';
    } else {
        letenkaELbl.style.color='#3F5D62';
        letenkaBLbl.style.color='#3F5D62';
    }
    if(odletZ.value==''){
        msg+='CHYBA: "Preferovaný odlet z" nesmí být prázdný!\n';
        odletZ.focus();
        odletZLbl.style.color = 'red';
    } else {
        odletZLbl.style.color='#3F5D62';
    }
    if(priletDo.value==''){
        msg+='CHYBA: "Preferovaný přílet do:" nesmí být prázdný!\n';
        priletDo.focus();
        priletDoLbl.style.color='red';
    } else {
        priletDoLbl.style.color='#3F5D62';
    }
    if(datumOdletOd.value==''){
        msg+='CHYBA: "Datum odletu:" nesmí být prázdné!\n';
        datumOdletOdLbl.style.color = 'red';
        datum1 = false;
    } else {
        datumOdletOdLbl.style.color = '#3F5D62';
        datum1 = true;
    }
    if(datumLetuZpet.value==''){
        msg+='CHYBA: "Datum letu zpět:" nesmí být prázdné!\n';
        datumLetuZpetLbl.style.color = 'red';
        datum2 = false;
    } else {
        datumLetuZpetLbl.style.color = '#3F5D62';
        datum2 = true;
    }
    if (datum1 && datum2){
        var dateString = new String(datumOdletOd.value);
        var dateParts = dateString.split(".");
        var zDay,zMes,zRok,kDay,kMes,kRok,rozdil;
        
        zDay = parseInt(dateParts[0],10);
        zMes = parseInt(dateParts[1],10);
        zRok = parseInt(dateParts[2],10);
                        
        dateString = new String(datumLetuZpet.value);
        dateParts = dateString.split(".");
                        
        kDay = parseInt(dateParts[0],10);
        kMes = parseInt(dateParts[1],10);
        kRok = parseInt(dateParts[2],10);
                        
        rozdil = rozdilek(zDay,zMes,zRok,kDay,kMes,kRok);
                                    
        if (rozdil<0) {
            msg+='CHYBA: Výběr rozmezí data pojištění nesmí vyjít záporně !\n';
            datumOdletOdLbl.style.color = "red";
            datumLetuZpetLbl.style.color = "red";
        } else {
            datumOdletOdLbl.style.color = "#3F5D62";
            datumLetuZpetLbl.style.color = "#3F5D62";
        }
    }
    if (jmeno.value==''){
        msg+='CHYBA: "Jméno:" nesmí být prázdné!\n';
        jmeno.focus();
        jmenoLbl.style.color='red';
    } else {
        jmenoLbl.style.color='#3F5D62';
    }
    if (prijmeni.value==''){
        msg+='CHYBA: "Příjmení:" nesmí být prázdné!\n';
        prijmeni.focus();
        prijmeniLbl.style.color = 'red';
    } else {
        prijmeniLbl.style.color = '#3F5D62';
    }
    if (telefon.value==''){
        msg+='CHYBA: "Telefon:" nesmí být prázdné!\n';
        telefon.focus();
        telefonLbl.style.color = 'red';
    } else {
        if (telefon.value.length < 9) {
            msg += "CHYBA: Telefonní číslo musí mít alespoň 9 znaků.\n";
            telefon.focus();
            telefonLbl.style.color = 'red';
        } else {
            telefonLbl.style.color = '#3F5D62';
        }
    }
    if (email.value==''){
        msg+='CHYBA: "Email:" nesmí být prázdné!\n';
        email.focus();
        emailLbl.style.color = 'red';
    } else {
        var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
        if (!email.value.match(emailExp)) {
            msg += "CHYBA: Email je špatně zadán( email@email.email ).\n";
            email.focus();
            emailLbl.style.color = 'red';
        } else {
            emailLbl.style.color = '#3F5D62';
        }
    }
    if (osobniUdaje.checked){
        osobniUdajeLbl.style.color = "#3F5D62";
    } else {
        msg += 'CHYBA: "Souhlas se zpracováním osobních údajů" musí být zaškrtnuto! \n';
        osobniUdaje.focus();
        osobniUdajeLbl.style.color = 'red';
    }
    
//    var existuje = true;
//    var pocetC = 0;
//    var cestujiciID, cestujiciKdo, cestujiciDatumID;
//    while (existuje) {
//        pocetC++;
//        cestujiciID = "cestujici-"+pocetC+"-kdo";
//        cestujiciKdo = document.getElementById(cestujiciID);
//        if (cestujiciKdo!='') {
//            if ((cestujiciKdo.value=='infant')||(cestujiciKdo.value=='dite')){
//                cestujiciDatumID = "narozeni-"+cestujiciID;
//                if (document.getElementById(cestujiciDatumID).value==''){
//                    msg += 'CHYBA: Datum narození u cestujícího číslo-'+cestujiciID+' nesmí být prázdné!\n';
//                    document.getElementById(cestujiciDatumID).style.border = '1px solid red';
//                } else {
//                    document.getElementById(cestujiciDatumID).style.border = 'none';
//                }
//            }
//        } else {
//            existuje = false;
//        }
//    }
    
    if (msg!=""){
        alert (msg);
        return false;
    } else {
        return true;
    }
}

function pridejCestujiciho(pocet){
    var tbody = document.getElementById('letenkyCestujici');
    var text = "";
    var minusId, plusId;
    var pocet2 = pocet+1;
    var newTr = document.createElement('div');
    var divIdName = "cestujici-"+pocet;

    newTr.setAttribute('id',divIdName);
    newTr.setAttribute('class','row');
    
    
    //text = "<tr id='cestujici-"+pocet+"'>\n";
    text = "<div class='tdC-1'>"+pocet+".</div>\n";
    text += "<div class='tdC-2'>\n";
    text += "<select class='cestujici-kdo' id='cestujici-"+pocet+"-kdo' name='cestujici-"+pocet+"-kdo' onchange='cestujiciKdoSelect(this.value, "+pocet+");'>\n";
    text += "<option value='dospely' SELECTED>Dospělý</option>\n"; 
    text += "<option value='infant'>Infant (0-2)</option>\n";
    text += "<option value='dite'>Dítě (2-12)</option>\n";
    text += "<option value='mladeznik'>Mláděžník (12-26)</option>\n";
    text += "<option value='senior'>Senior (65+)</option>\n";
    text += "</select>\n";
    text += "</div>\n";
    text += "<div class='tdC-3' id='cestujici-"+pocet+"-plus'>\n";
    text += "</div>\n";
    text += "<div class='tdC-4'>\n";
    text += "<a id='plusBtn-"+pocet+"' class='pridejCestujicihoBtn' href='javascript:void(0)' onclick='pridejCestujiciho("+pocet2+");' title='Přidat Cestujícího'></a>\n";
    text += "<a id='minusBtn-"+pocet+"' class='uberCestujicihoBtn' href='javascript:void(0)' onclick='uberCestujiciho("+pocet+");' title='Uber Cestujícího'></a>\n";
    text += "</div>\n";
    text += "<div class=\"clear\"></div>\n";
       
    newTr.innerHTML = text;
    
    tbody.appendChild(newTr);
   
    plusId = "plusBtn-"+(pocet-1);
    minusId = "minusBtn-"+(pocet-1);
    document.getElementById(plusId).style.display = 'none';
    document.getElementById(minusId).style.display = 'none';
    
    document.getElementById('pocetCestujicich').value = pocet;
    
}
function getInternetExplorerVersion()
// Returns the version of Internet Explorer or a -1
// (indicating the use of another browser).
{
  var rv = -1; // Return value assumes failure.
  if (navigator.appName == 'Microsoft Internet Explorer')
  {
    var ua = navigator.userAgent;
    var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
    if (re.exec(ua) != null)
      rv = parseFloat( RegExp.$1 );
  }
  return rv;
}
function uberCestujiciho(id){
    var plusId,minusId;
    var tbody = document.getElementById('letenkyCestujici');
    var cId = "cestujici-"+id;
    var oldTr = document.getElementById(cId);
    tbody.removeChild(oldTr);
    
    plusId = "plusBtn-"+(id-1);
    minusId = "minusBtn-"+(id-1);
    document.getElementById(plusId).style.display = 'block';
    document.getElementById(minusId).style.display = 'block';
    
    document.getElementById('pocetCestujicich').value = (id-1);
}

function cestujiciKdoSelect(typ, id){
    var tdId = "cestujici-"+id+"-plus";
    var text;
    var td = document.getElementById(tdId);
    switch (typ) {
        case 'dospely':
            text = "";
            break;
        case 'infant':
            text = "<input class='input-narozeni' type='text' id='narozeni-"+id+"' value='Datum narození' onfocus='showCalendarControl(this);' name='narozeni-"+id+"' />";
            break;
        case 'dite':
            text = "<input class='input-narozeni' type='text' id='narozeni-"+id+"' value='Datum narození' onfocus='showCalendarControl(this);' name='narozeni-"+id+"' />";
            break;
        case 'mladeznik':
            // text = "<label class='isic-label'>Držitel EURO 26/ISIC/ITIC:</label> <input class='isic-radio' type='radio' id='isic-"+id+"-a' name='isic-"+id+"'/><span class='isic-text'>A|N</span><input class='isic-radio' checked='checked' type='radio' id='isic-"+id+"-n' name='isic-"+id+"'/>\n";
            text = "<label class='isic-label'>Držitel EURO 26/ISIC/ITIC:</label> <select name='mlad-isic-"+id+"' id='mlad-isic-"+id+"' class='isic-radio'><option value='n' selected>N</option><option value='a'>A</option></select>\n";
            break;
        case 'senior':
            text = "";
            break;
    }
    td.innerHTML = text;
}


window.onload = init;
function init() {
    if (window.Event) {
        //document.captureEvents(Event.CLICK);
        document.captureEvents(Event.MOUSEMOVE);
    }
    //document.onclick = getCursorXY;
    document.onmousemove = getCursorXY;
}
function getCursorXY(e) {
    document.getElementById('mouseX').value = (window.Event) ? e.pageX : event.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);
    document.getElementById('mouseY').value = (window.Event) ? e.pageY : event.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
} 

