//global vars
var activeTab;
var rezStart;
var cijenaAranzmana = 0;
var cijenaOsigUkupno = 0;
var cijenaUslugaUkupno = 0;
window.addEvent('domready',function(){
	if ($("korak_3")){
		$("korak_3").addEvent('click',function(){
			if ($("pou").getProperty("checked")==true && $("oup").getProperty("checked")==true){
				//showTab("tab_4");
				$("frmAranzman").submit();
			}else{
				alert("Morate prihvatiti Opće uvjete putovanja i Opće uvjete osiguranja kako biste nastavili.")
			}
		});
	}
	
	if($("tab_1_h")){
		$("tab_1_h").addClass("tabActive");
		
		$("tab_1_h").addEvent("click",function(){
			if (activeTab == "tab_2"){
				showTab("tab_1");
			}
		});
		$("tab_2_h").addEvent("click",function(){
			if (activeTab == "tab_3"){
				checkVals("tab_2");
			}
		});
		$("tab_3_h").addEvent("click",function(){
			if (activeTab == "tab_4"){
				showTab("tab_3");
			}
		});
	}
	
	if ($("cijenaAranzmana")){
		cijenaAranzmana = $("cijenaAranzmana").value;
	}

	
});

function setDates(){
	$$("#tab_2_table input").each(function(el){
		if (el.id.indexOf("datum")!=-1){
			var cal = new CalendarEightysix(el.id,{ 'alwaysShow': false, 'theme': 'vista',  'format': '%d.%m.%Y', 'prefill': true, 'disallowUserInput': true, 'keyNavigation' : true,'offsetX':-50, 'offsetY': -40, 'defaultDate': '01/01/1970','defaultView':'decade' });
		}
	});
}
function addDatumRodjenja(){
	var cal = new CalendarEightysix('datumRodjenja',{ 'alwaysShow': false, 'theme': 'vista',  'format': '%d.%m.%Y', 'prefill': true, 'disallowUserInput': true, 'keyNavigation' : true,'offsetX':-50, 'offsetY': -40, 'defaultDate': '01/01/1970','defaultView':'decade' });
}				
function checkVals(tab){
	var arr = [];
	var tempArr = [];
	switch(tab){
		case "tab_2":
			arr = [];
			arr = ["ime","datumRodjenja","grad","ulica","email","tel"];
			$$("#tab_2_table input").each(function(el){
				if (el.id.indexOf("grad")>-1){
					$(el.id).value = $(arr[2]).value;
				}else if (el.id.indexOf("ulica")>-1){
					$(el.id).value = $(arr[3]).value;
				}
			});
			if ($('ime_1').value=='') $('ime_1').value = $('ime').value;
			
			break;
		case "tab_3":
			arr = [];
			tempArr = ["ime","datumRodjenja","grad","ulica","email","spol"];
			$$("#tab_2_table input").each(function(el){
				arr.push(el.id);
			});
			$$("#tab_2_table select").each(function(el){
				arr.push(el.id);
			});
			setPricePerPerson();
			break;
	}
	var allOk = true;
	for(var i=0;i<=arr.length-1;i++){
		if($(arr[i]).value!=""){
			$(arr[i]).setStyle("border","1px #0A61A6 solid");
		}else{
			$(arr[i]).setStyle("border","1px #FF0000 solid");
			allOk = false;	
		}
	}
	if (allOk){
		showTab(tab);
	}
}

function setPricePerPerson(){
	var brojOsoba = parseInt($("brojOsoba").value);
	var cijenaAr = parseFloat($("basicPrice").value.replace(",","."));
	var tmp = parseFloat($("cijenaDijete").value.replace(",","."));
	if (isNaN(tmp)) tmp = 0;
	var cijenaZaDjecu = tmp;
	var brojOdraslih = brojOsoba;
	var brojDjece = 0;
	$$("select.putnici").each(function(el){
		var ele = $(el.id);
		if ($(ele.id).value=="D"){
			brojOdraslih -= 1;
			brojDjece += 1;
		}
	})
	
	var cijenaZaPutnike = parseFloat(cijenaAr*brojOdraslih)+parseFloat(cijenaZaDjecu*brojDjece);
	$("cijenaAranzmana").value = cijenaZaPutnike.toFixed(2).replace(".",",");
	$("cijenaTotal").set('html',cijenaZaPutnike.toFixed(2).replace(".",","));
	cijenaAranzmana = cijenaZaPutnike.toFixed(2);
}	

function showTab(tab){
	$$("div.tabContent").each(function(el){
		$(el.id).setStyle("display","none");
	});
	$$("div.tab").each(function(el){
		$(el.id).removeClass("tabActive");
	});
	$(tab + "_h").addClass("tabActive");
	$(tab).setStyle("display","block");
	activeTab = tab;
	if (activeTab=="tab_3"){
		$("prikazCijene").setStyle('display','');
	}
}

function izracunajCijenuUsluge(el){
	cijenaUslugaUkupno = 0;
	var brojUsluga = $("brojUsluga").value;
	for (var i=0;i<brojUsluga;i++){
		var brOsoba = $("brOsobaUsluge_" + i).value;
		var cijena = $("osnovnaCijenaUsluge_"  + i).value.replace(",",".");
		cijenaUslugaUkupno += parseFloat(cijena) * parseFloat(brOsoba);
	}
	var cijenaAr = parseFloat(cijenaAranzmana.replace(",","."));
	var cijenaTotal = cijenaAr + cijenaUslugaUkupno + cijenaOsigUkupno;
	$("cijenaTotal").innerHTML = cijenaTotal.toFixed(2).replace(".",",");
	
	var redniBroj = el.id.split("_");
	var uslCijena = $("osnovnaCijenaUsluge_"  + redniBroj[1]).value.replace(",",".");
	var uclOsobe = $("brOsobaUsluge_"  + redniBroj[1]).value.replace(",",".");
	var totalUsluge = parseFloat(uslCijena) * parseFloat(uclOsobe);
	$("cijenaUsluge_" + redniBroj[1]).set('html',totalUsluge.toFixed(2).replace(".",",") + " Kn");
}

function izracunajCijenuOsiguranja(el){
	cijenaOsigUkupno = 0;
	var brojOsig = $("brojOsiguranja").value;
	for (var i=0;i<brojOsig;i++){
		var brOsoba = $("brOsobaOsiguranja_" + i).value;
		var cijena = $("osnovnaCijenaOsiguranja_"  + i).value.replace(",",".");
		cijenaOsigUkupno += parseFloat(cijena) * parseFloat(brOsoba);
	}
	var cijenaAr = parseFloat(cijenaAranzmana.replace(",","."));
	var cijenaTotal = cijenaAr + cijenaUslugaUkupno + cijenaOsigUkupno;
	$("cijenaTotal").innerHTML = cijenaTotal.toFixed(2).replace(".",",");
	
	var redniBroj = el.id.split("_");
	var osigCijena = $("osnovnaCijenaOsiguranja_"  + redniBroj[1]).value.replace(",",".");
	var osigOsobe = $("brOsobaOsiguranja_"  + redniBroj[1]).value.replace(",",".");
	var totalOsig = parseFloat(osigCijena) * parseFloat(osigOsobe);
	$("cijenaOsiguranja_" + redniBroj[1]).set('html',totalOsig.toFixed(2).replace(".",",") + " Kn");
}


function addOption(el){
	var ele = $(el);
	var val = parseFloat(ele.value.replace(",","."));
	var cijena = parseFloat(cijenaAranzmana.replace(",","."));
	var total;
	if (ele.getProperty('checked')){
		total = cijena + val;
		$("cijenaTotal").innerHTML = total.toFixed(2).replace(".",",");
	}else{
		alert(cijena);
		total = cijena - val;
		$("cijenaTotal").innerHTML = total.toFixed(2).replace(".",",");
	}
}

function insertOsigFields(el){
	var htmlToInject;
	var redniBroj = el.id.split("_");
	var brojOsig = $("brOsobaOsiguranja_" + redniBroj[1]).value;
	$("osigOsobeInfo_"+redniBroj[1]).empty();
	for (var i=0;i<brojOsig;i++){
		var ime = new Element('input',{id:'osobaImeOsig_' + i, name:'osobaImeOsig_' + i, value:'ime i prezime osiguranika', 'class':'osigIme','onfocus':'this.value=""'});
		ime.inject($("osigOsobeInfo_"+redniBroj[1]));
		var oib = new Element('input',{id:'osobaOibOsig_' + i, name:'osobaOibOsig_' + i, value:'oib osiguranika', 'class':'osigOib','onfocus':'this.value=""'});
		oib.inject($("osigOsobeInfo_"+redniBroj[1]));
	}	
}

function fillCompleteInfo(){
	alert("yipi yay mothrfkr");
}

var izracun = function izracunRezervacije(){
	//if ($("brOsoba").value=="" || $("brOsoba").value<=0){
	if ($('brOsoba').options[$('brOsoba').selectedIndex].value=="" || $('brOsoba').options[$('brOsoba').selectedIndex].value<=0){
		alert("Upišite broj osoba.");
	}else{
		
		$$("input.uslugeChkbox").each(function(el){			
			$(el.id).checked=false;
		});
		
		var dateOd = cal_rezervacija_od.getDate();
		var dateDo = cal_rezervacija_do.getDate();
		dateOd = dateOd.format('%d.%m.%Y');
		dateDo = dateDo.format('%d.%m.%Y');
		
		var req = new Request({
			url: "ajax.aspx?req=rezervacijaInfo&apartmanid=" + $("apartmanid").value +"&rezervacijaOd=" + dateOd + "&rezervacijaDo=" + dateDo,
			onSuccess: function(results){
				if(results!="WRONG"){
					results = results.split("-||-");
					//alert(results)
					//var osoba = parseInt($("brOsoba").value);
					var osoba = parseInt($('brOsoba').options[$('brOsoba').selectedIndex].value);
					var dani = parseInt(results[0]);
					var cijena = parseFloat(results[1]);
					var boravisnaPristojba = parseFloat($("boravisnaPristojba").value.replace(",","."));
					boravisna = osoba*dani*boravisnaPristojba;
					$("boravisna").set('html',boravisna.toFixed(2).replace(".",","));
					$("boravisnaPristojba_p").value = boravisna.toFixed(2);
					$("cijenaTermin").set('html',cijena.toFixed(2).replace(".",","));
					$("cijenaTermin_p").value = cijena.toFixed(2);
					cijenaTotal = cijena + boravisna;
					$("cijenaTotal").set('html',cijenaTotal.toFixed(2).replace(".",","));
					$("cijenaTotal_p").value = cijenaTotal.toFixed(2);										
				}	
				
				if ($('cijenaTotal').innerHTML!="NaN"){
					$$('div.hide').each(function(el){                 	  				
						el.style.visibility='visible';
				    });		
				    
				    if ($('boravisna').innerHTML=="0,00" || $('boravisna').innerHTML=="0.00"){
				    	$('boravisna').style.visibility='hidden';
				    	$('boravisnaTxt').style.visibility='hidden';
				    	$('boravisnaKn').style.visibility='hidden';
				    }
				    		    
				    $('konacnoCij').style.backgroundColor = "#DEEFFF";
				} else {
					$$('div.hide').each(function(el){                 	  				
						el.style.visibility='hidden';
				    });
				    $('konacnoCij').style.backgroundColor = "#FFFFFF";
				}
				
			}
		}).get();
				
	}
				
}

function pribrojiUsluge(el){
	var ele = $(el.id);
	var cijenaUsluge = parseFloat(ele.value.replace(",","."));
	
	Date.parsePatterns.length = 0;
	Date.defineParser("%d.%m.%Y");
	var dateFrom = new Date();
	dateFrom.parse($("rezervacijaOd").value);
	var dateTo = new Date();
	dateTo.parse($("rezervacijaDo").value);	
	//alert(dateFrom.diff(dateTo));
	cijenaUsluge *= parseInt(dateFrom.diff(dateTo));
	
	if(ele.getProperty("checked")==true){
		cijenaTotal += cijenaUsluge;
	}else{
		cijenaTotal -= cijenaUsluge;
	}
	$("cijenaTotal").set('html',cijenaTotal.toFixed(2).replace(".",","));
	$("cijenaTotal_p").value = cijenaTotal.toFixed(2);
}

function provjeriRezervaciju(){	
	if ($("brOsoba").value!=0 && ("brOsoba").value!=""){
		var dateOd = $("rezervacijaOd").value;
		var dateDo = $("rezervacijaDo").value;
		var usluge="";
		$$("input.uslugeChkbox").each(function(el){
			if ($(el.id).getProperty("checked")){
				usluge += $(el.id).id + ",";
			}
		});
		
		Date.parsePatterns.length = 0;
		Date.defineParser("%d.%m.%Y");
		var dateFrom = new Date();
		dateFrom.parse($("rezervacijaOd").value);
		var dateTo = new Date();
		dateTo.parse($("rezervacijaDo").value);
		if(dateFrom.diff(dateTo)){
			if (dateOd!="" && dateDo!=""){ 
				var req = new Request({
					url: "ajax.aspx?req=provjeriRezervaciju",
					onSuccess: function(results){
						results = results.split("|")
						if(results[0]=="OK"){
							//alert("odobrena rezervacija");
							var rezervacijaid = results[1];
							$("cont").setStyle('display','none');
							$("rezervacija").setStyle('display','block');
							$("rezervacija").load("ajax.aspx?req=rezervacijaApartmana&osoba=" + $("brOsoba").value + "&ar=" + $("apartmanid").value + "&rezid=" + rezervacijaid);
							if ($("tab_2_table")){
								setDates();
							}
							rezStart = new Date();
						}else{
							alert(results[1]);
							document.location.href = 'http://www.petros.hr/default.aspx?id=' + querySt("id") + '&ar=' + $("apartmanid").value;
						}	
					}
				}).send(
					"apartmanid=" + $("apartmanid").value +
					"&rezervacijaOd=" + dateOd + 
					"&rezervacijaDo=" + dateDo + 
					"&cijena=" + $("cijenaTermin_p").value + 
					"&usluge=" + usluge
				);
			}else{
				alert("Izaberite datume termina");
			}
		}else{
			alert("Izaberite datume termina.");
		}	
	}else{
		alert("Upišite broj osoba.")
	}
}

function checkValues(arr){
	var allOk = true;
	for(var i=0;i<=arr.length-1;i++){
		if($(arr[i]).value!=""){
			$(arr[i]).setStyle("border","1px #0A61A6 solid");
		}else{
			$(arr[i]).setStyle("border","1px #FF0000 solid");
			allOk = false;	
		}
	}
	return allOk;
}

function querySt(ji) {
	hu = window.location.search.substring(1);
	gy = hu.split("&");
	for (i=0;i<gy.length;i++) {
		ft = gy[i].split("=");
		if (ft[0] == ji) {
			return ft[1];
		}
	}
}

function placanje(vrsta){
	var rezEnd = new Date();
	if (rezStart.diff(rezEnd,'minute') >= 20){
		if (querySt("id")=="449"){
			alert("Data should be completed within 20 minutes. Your booking is not valid. Please,try agin.");
			document.location.href = 'http://www.petros.hr/default.aspx?id=449&ar=' + $("apartmanid").value;	
		} else if (querySt("id")=="515") {
			alert("I dati devono essere completata entro 20 minuti. La prenotazione non è valida. Per favore, provare agin.");
			document.location.href = 'http://www.petros.hr/default.aspx?id=515&ar=' + $("apartmanid").value;		
		} else {
			alert("Isteklo je vrijeme za popunjavanje rezervacije. Molim, probajte ponovno.");
			document.location.href = 'http://www.petros.hr/default.aspx?id=437&ar=' + $("apartmanid").value;			
		}	
		return;	
	}
	var nositeljVals = ["ime","datumRodjenja","grad","ulica","email","tel"];
	var ok = checkValues(nositeljVals);
	
	if ($('opciUvjeti').checked==false){	
		$('uvjetiCheckedCheck').style.display='inline';	
		return;		
	} else {
		$('uvjetiCheckedCheck').style.display='none';
	}
	
	if(ok==true){
		var req = new Request({url:"ajax.aspx?req=saveNositelja"}).send("ar=" + $('apartmanid').value + 
			"&rezervacijaid=" + $('rezervacijaid').value + 
			"&ime=" + $('ime').value + 
			"&datumRodjenja=" + $('datumRodjenja').value + 
			"&grad=" + $('grad').value + 
			"&ulica=" + $('ulica').value + 
			"&email=" + $('email').value + 
			"&tel=" + $('tel').value 
		);
		var ime=""; var datum="";
		$$("input.putnici_ap").each(function(el){
			if (el.id.indexOf("ime")>-1){
				ime += $(el.id).value + "|";
			}else if (el.id.indexOf("datumRodjenja")>-1){
				datum += $(el.id).value + "|";
			}
		});
		var req2 = new Request({url:"ajax.aspx?req=saveOsobeApartmana"}).send(
			"rezervacijaid=" + $('rezervacijaid').value + 
			"&ime=" + ime +
			"&datumRodjenja=" + datum  
		);
		
		
		
		if (vrsta=="virman"){
			
			$("rezervacija").setStyle('display','none');
			$("placanje").setStyle('display','block');
			var myRequest = new Request({
			    url: 'ajax.aspx?req=placanjeVirman',
			    onSuccess: function(result){
			        $("placanje").set('html',result);
			    }
			}).send("rezervacijaid=" + $('rezervacijaid').value);
			
		}else{
			myRequest = new Request({
				url: 'ajax.aspx?req=placanjeKartica',
				onSuccess: function(result){
			        document.location.href=result;
			    }
			}).send("rezervacijaid=" + $('rezervacijaid').value);
			
			
		}
		
		
	}
}

