/* Portálspecifikus függvények (egy-egy oldal saját JS függvényei)*/

function addNew(slevel, level1, level2, level3)
{
        if (!slevel) alert('Nem választott régiószintet!');
        else if ((slevel==2) && (level1=='' || level1=='0')) alert('Nem választott földrészt!');
        else if ((slevel==3) && (level2=='' || level2=='0')) alert('Nem választott országot!');
        else if ((slevel==4) && !document.newentry.level3.length) alert('Nem választott várost vagy régiót!');
        else if (document.newentry.regionname.value.length<1) alert('Nem adta meg az új régió nevét!');
        else document.newentry.submit();
}

function calcPrice()
{
        // Változók
        var childWarning= document.getElementById('childwarning');
        var adultPrice= document.getElementById('adultprice');
        var childPrice= document.getElementById('childprice');
        var babyPrice= document.getElementById('babyprice');
        var adultNum= document.getElementById('adultnum');
        var childNum= document.getElementById('childnum');
        var babyNum= document.getElementById('babynum');
        var total= document.getElementById('total');

        //További árkalkulációs tételek
        var airportfee= document.getElementById('airportfee');
        var allowance= document.getElementById('kedvezmeny');
        var bizt1= document.getElementById('bizt1');
        var bizt2= document.getElementById('bizt2');
        var bizt3= document.getElementById('bizt3');
        var transfer= document.getElementById('transfer');
        var cancelprice= document.getElementById('cancelprice');
        var resort= document.getElementById('resort');
        var numperson=parseInt(adultNum.value)+parseInt(childNum.value)+parseInt(babyNum.value);
        var extrabedlabel= document.getElementById('extrabedlabel');
        var extrabed= document.getElementById('extrabed');
        var extrabedprice= document.getElementById('extrabedprice');

        // Számolunk
        adultTotal=adultNum.value*adultPrice.value;
        childTotal=childNum.value*childPrice.value;
        babyTotal=babyNum.value*babyPrice.value;

        // Részösszeget számolunk és kiírunk
        var apartmanprice= document.getElementById('apartmanprice');
        var total1= document.getElementById('totaladult');
        total1.innerHTML ="<div>"+adultTotal+".- Ft</div>";
        var total2= document.getElementById('totalchild');
        total2.innerHTML ="<div>"+childTotal+".- Ft</div>";
        var total3= document.getElementById('totalbaby');
        total3.innerHTML ="<div>"+babyTotal+".- Ft</div>";
        var airportlabel= document.getElementById('airportlabel');
        var foglalasidij= document.getElementById('foglalasidij');
        var foglalasidijlabel= document.getElementById('foglalasidijlabel');
        var basiclabel= document.getElementById('basiclabel');
        var classiclabel= document.getElementById('classiclabel');
        var premiumlabel= document.getElementById('premiumlabel');
        var allowancelabel= document.getElementById('allowancelabel');
        var transferlabel= document.getElementById('transferlabel');
        var resortlabel= document.getElementById('resortlabel');
        var cancellabel= document.getElementById('cancellabel');
        totalCancel=Math.round(((adultTotal+childTotal+babyTotal+parseInt(apartmanprice.value))/100)*parseFloat(cancelprice.value));
        var days= document.getElementById('days');
        totalAirport=parseInt(airportfee.value)*numperson;
        airportlabel.innerHTML ="<div>"+totalAirport+".- Ft</div>";
        totalFoglalasidij=parseInt(foglalasidij.value);
        foglalasidijlabel.innerHTML ="<div>"+totalFoglalasidij+".- Ft</div>";
        totalTransfer=numperson*parseInt(transfer.value);
        totalResort=numperson*parseInt(resort.value);
        if (bizt1.checked==true)
        {
                biztTotal=numperson*parseInt(bizt1.value)*parseInt(days.value);
                basiclabel.innerHTML ="<div>-</div>";
                classiclabel.innerHTML ="<div>-</div>";
                premiumlabel.innerHTML ="<div>"+biztTotal+".- Ft</div>";
        }
        else if (bizt2.checked==true)
        {
                biztTotal=numperson*parseInt(bizt2.value)*parseInt(days.value);
                basiclabel.innerHTML ="<div>-</div>";
                classiclabel.innerHTML ="<div>"+biztTotal+".- Ft</div>";
                premiumlabel.innerHTML ="<div>-</div>";
        }
        else if (bizt3.checked==true)
        {
                biztTotal=numperson*parseInt(bizt3.value)*parseInt(days.value);
                basiclabel.innerHTML ="<div>"+biztTotal+".- Ft</div>";
                classiclabel.innerHTML ="<div>-</div>";
                premiumlabel.innerHTML ="<div>-</div>";
        }
        else
        {
                biztTotal=0;
                basiclabel.innerHTML ="<div>-</div>";
                classiclabel.innerHTML ="<div>-</div>";
                premiumlabel.innerHTML ="<div>-</div>";
        }
        if (transfer.checked==true) transferlabel.innerHTML ="<div>"+totalTransfer+".- Ft</div>";
        else transferlabel.innerHTML ="<div>-</div>";
        if (resort.checked==true) resortlabel.innerHTML ="<div>"+totalResort+".- Ft</div>";
        else resortlabel.innerHTML ="<div>-</div>";
        if (cancelprice.checked==true) cancellabel.innerHTML ="<div>"+totalCancel+".- Ft</div>";
        else cancellabel.innerHTML ="<div>-</div>";
        allowanceTotal=((adultTotal+childTotal+babyTotal+parseInt(apartmanprice.value))/100)*parseInt(allowance.value);
        if (allowanceTotal>0) allowancelabel.innerHTML ="<div>-"+allowanceTotal+".- Ft</div>";
        else allowancelabel.innerHTML ="<div>-</div>";
        if (extrabed.checked==true)
        {
                extrabedlabel.innerHTML ="<div>"+parseInt(extrabedprice.value)+".- Ft</div>";
                totalExtrabed=parseInt(extrabedprice.value);
        }
        else
        {
                extrabedlabel.innerHTML ="<div>-</div>";
                totalExtrabed=0;
        }

        // Végösszeget számolunk és kiírunk
        priceTotal=adultTotal+childTotal+babyTotal+totalAirport+totalFoglalasidij+totalExtrabed+biztTotal-allowanceTotal+totalTransfer+totalResort+parseInt(apartmanprice.value)+totalCancel;
        total.innerHTML ="<div>"+priceTotal+".- Ft</div>";

        //Végül mahináljuk a végösszeges sort (nem írjuk ki, ha pl. nincs alapárunk)
        var totalRow= document.getElementById('totalrow');
        if ((adultTotal+childTotal+babyTotal)==0 && parseInt(apartmanprice.value)==0) totalRow.innerHTML ="<tr style='display:none;'></tr>";

        if (childNum.value>1) childWarning.innerHTML ="<div class='childWarning'>A 2. idősebb gyermekár az 1. gyermekártól eltérhet, visszaigazolásunkban ez az ár is feltüntetésre kerül.</div>";
        else childWarning.innerHTML ="<div></div>";
}

function checkAll(master, field)
{
        for (i = 0; i < field.length; i++) field[i].checked = master.checked;
        field.checked=master.checked;
}

function felarFocus(objectName)
{
        if (!objectName.value.length) objectName.value="UTAZÁS\n * Busszal: \n * Repülővel: \nELLÁTÁS\n * Reggeli: \n * Félpanzió: \n * Teljes ellátás: \n * All inclusive: \nELHELYEZÉS\n * Családi szoba: \n * Superior: \n * Bungalló: \n * Tengerrre néző: \nSZOLGÁLTATÁSOK\n * Légkondicionálás: \n\nAz adott szolgáltatások igénybevehetőségéről, kérjük, tekintse meg a leírást!";

}

function openPricelist(theURL, imgWidth, imgHeight)
{
        imgWidth=parseInt(imgWidth);
        imgHeight=parseInt(imgHeight);
        var winWidth=0;
        var winHeight=0;
        var HeightCorr=220;
        var WidthCorr=40;

        if ((imgHeight+HeightCorr)>0 && (imgHeight+HeightCorr)<700) winHeight=(imgHeight+HeightCorr);
        else winHeight=700;

        if ((imgWidth+WidthCorr)>0 && (imgWidth+WidthCorr)<1024) winWidth=(imgWidth+WidthCorr);
        else winWidth=1024;

        if (winWidth<400) winWidth=400;
        if (winHeight<330) winHeight=330;

        window.open(theURL,"pricelist","resizable=yes,width="+winWidth+",height="+winHeight+",scrollbars=yes,menubar=no");
        return false;
}

function submitSearch()
{
        if (document.searchform.searchtext.value.length>0  || document.searchform.country.selectedIndex>0  || document.searchform.traveltype.selectedIndex>0 || document.searchform.travelmode.selectedIndex>0 || (document.searchform.minar.value>0 && document.searchform.maxar.value>0)) document.searchform.submit();
        else alert ('Kérem, módosítsa a feltételeket!');

}

function openGallery(theURL, imgWidth, imgHeight)
{
        imgWidth=parseInt(imgWidth);
        imgHeight=parseInt(imgHeight);
        var winWidth=0;
        var winHeight=0;
        var HeightCorr=220;
        var WidthCorr=40;

        if ((imgHeight+HeightCorr)>0 && (imgHeight+HeightCorr)<700) winHeight=(imgHeight+HeightCorr);
        else winHeight=700;

        if ((imgWidth+WidthCorr)>0 && (imgWidth+WidthCorr)<1024) winWidth=(imgWidth+WidthCorr);
        else winWidth=1024;

        if (winWidth<400) winWidth=400;
        if (winHeight<330) winHeight=330;

        window.open(theURL,"gallery","resizable=yes,width="+winWidth+",height="+winHeight+",scrollbars=no,menubar=no");
        return false;
}

function openPricelist(theURL, imgWidth, imgHeight)
{
        imgWidth=parseInt(imgWidth);
        imgHeight=parseInt(imgHeight);
        var winWidth=0;
        var winHeight=0;
        var HeightCorr=220;
        var WidthCorr=40;

        if ((imgHeight+HeightCorr)>0 && (imgHeight+HeightCorr)<700) winHeight=(imgHeight+HeightCorr);
        else winHeight=700;

        if ((imgWidth+WidthCorr)>0 && (imgWidth+WidthCorr)<1024) winWidth=(imgWidth+WidthCorr);
        else winWidth=1024;

        if (winWidth<400) winWidth=400;
        if (winHeight<330) winHeight=330;

        window.open(theURL,"pricelist","resizable=yes,width="+winWidth+",height="+winHeight+",scrollbars=yes,menubar=no");
        return false;
}

function isInteger (s)
   {
      var i;

      if (isEmpty(s))
      if (isInteger.arguments.length == 1) return 0;
      else return (isInteger.arguments[1] == true);

      for (i = 0; i < s.length; i++)
      {
         var c = s.charAt(i);

         if (!isDigit(c)) return false;
      }

      return true;
   }

   function isEmpty(s)
   {
      return ((s == null) || (s.length == 0))
   }

   function isDigit (c)
   {
      return ((c >= "0") && (c <= "9") || c==".")
   }


function isValidPrice(FieldName)
{
	if (!isInteger(FieldName.value) && FieldName.value.length>0)
	{
		alert('A megadott ár nem megfelelő: '+FieldName.value+'!\n\nCsak számjegyeket adjon meg elválasztó karakterek nélkül!\nHa tizedestörtet ír be, az egész és tizedesjegyek közé pontot (.) írjon!');
	}
}

function showHideTimes(containerID, labelID)
{
	var container = document.getElementById(containerID);
	var label = document.getElementById(labelID);
	if (container.style.display == "none")
	{
		container.style.display = "block";
		label.innerHTML = "Aktuális időpontok";
	}
	else
	{
		container.style.display = "none";
		label.innerHTML = "További időpontok";
	}
}


function loadtimes(travelid, month, turnus, elhelyezes, targetItem)
{
	var loadmessage = document.getElementById('loadmsg');
	var loadmessageback = document.getElementById('loadmsgbg');
	loadmessage.style.display="";
	loadmessageback.style.display="";
	loadmessage.innerHTML = "<div class='main_ajanlat' style='text-align:center;'><img src='images/design/ikonok/ajax-loader.gif' width='32' width='32' alt='Várjon!'><br><br><h1>Kérem, várjon!</h1></div>";
	
	var Request = new HTTPRequest();

	Request.setMethod('GET');
	Request.setAction('getajax.php');
	Request.setReturnMode('text');
	Request.add('action', 'gettimes');
	Request.add('travelid', travelid);
	Request.add('m', (month ? month : document.getElementById('m').value));
	Request.add('t', (turnus ? turnus : document.getElementById('t').value));
	Request.add('e', (elhelyezes ? elhelyezes : document.getElementById('e').value));
	var response = Request.send();
	
	if (month) document.getElementById('m').value = month;
	if (turnus) document.getElementById('t').value = turnus;
	if (elhelyezes) document.getElementById('e').value = elhelyezes;
	
	if(!Request.wasError()) 
	{
		document.getElementById(targetItem).innerHTML = response;
		loadmessage.style.display="none";
		loadmessageback.style.display="none";
	}
	else 
	{
		alert(Request.errorMsg());
		loadmessage.style.display="none";
		loadmessageback.style.display="none";
	}
	
}


function stateChanged2(targetItem) 
{ 						
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{ 
		//targetItem.innerHTML=xmlHttp.responseText;
		alert('helló');
								
	}
}

function showPassengers(str, targetItem)
{
	var adults = document.getElementById('adultnum');
	var children = document.getElementById('childnum');
	var children2 = document.getElementById('childnum2');
	var children3 = document.getElementById('childnum3');	
	var babies = document.getElementById('babynum');
	var extrabed = document.getElementById('extrabed');
	var allpassengers = 0;
	//allpassengers = parseInt(adults.value) + parseInt(children.value) + parseInt(babies.value);
	allpassengers = parseInt(adults.value) + parseInt(children.value) + parseInt(children2.value) + parseInt(children3.value) + parseInt(babies.value);
	if (extrabed.checked == true) allpassengers++;
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null)
	{
		alert ("HIBA! Böngészője nem támogatja a művelet végrehajtásához szükséges AJAX hívásokat! Kérjük, használjon Firefox 2.0  (vagy újabb) illetve Internet Explorer 6 (vagy újabb) böngészőt!");
	 	return;
	}
	document.getElementById(targetItem).innerHTML = "<p align='center' class='redfont'><img src='images/design/ikonok/ajax-loader.gif' width='16' height='16' border='0'><br><b>Az adatok betöltése folyamatban...</b></p>";
	var url="getajax.php";
	url=url+"?action=getpassengerdata";
	url=url+"&passengernum="+allpassengers+str;
	xmlHttp.onreadystatechange=stateChanged2; 
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

function stateChanged2() 
{ 
	var passengerTarget = document.getElementById("passdata");
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{ 
		passengerTarget.innerHTML=xmlHttp.responseText;
		calcInsurance();
	}
}


function trim(s)
{
	var l=0; var r=s.length -1;
	while(l < s.length && s[l] == ' ')
	{	l++; }
	while(r > l && s[r] == ' ')
	{	r-=1;	}
	return s.substring(l, r+1);
}


function getUserExists(username, targetItem)
{ 
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null)
	{
		alert ("HIBA! Böngészője nem támogatja a művelet végrehajtásához szükséges AJAX hívásokat! Kérjük, használjon Firefox 2.0  (vagy újabb) illetve Internet Explorer 6 (vagy újabb) böngészőt!");
	 	return;
	}
	var url="getajax.php";
	url=url+"?action=getuser&username="+username;
		
	xmlHttp.onreadystatechange= function()
	{
		var userTarget = document.getElementById(targetItem);
		if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
		{
			var startch = xmlHttp.responseText.indexOf('¤');
			var endch = xmlHttp.responseText.indexOf('#');
			var mennyit = endch-startch-1;
			var gotusername = "";
			gotusername = xmlHttp.responseText.substr(startch+1, mennyit);
			if (gotusername != username)
			{
				userTarget.value = gotusername;
				document.getElementById("userneverror").innerHTML="Ez a felhasználói név már foglalt! Rendszerünk javaslatot tett egy még szabad névre, amennyiben nem fogadja el, kérjük, egy másik névvel próbálkozzon ismét!";
				//alert('Ez a felhasználói név már foglalt! Rendszerünk javaslatot tett egy még szabad névre, amennyiben nem fogadja el, kérjük, egy másik névvel próbálkozzon ismét!');
				userTarget.focus();
			}
			else 
			{
				document.getElementById("userneverror").innerHTML="";
			}
		}		
	}; 
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

function getCityByIrsz(irsz, targetItem)
{ 
	document.getElementById("szaml_varos").disabled = true;
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null)
	{
		alert ("HIBA! Böngészője nem támogatja a művelet végrehajtásához szükséges AJAX hívásokat! Kérjük, használjon Firefox 2.0  (vagy újabb) illetve Internet Explorer 6 (vagy újabb) böngészőt!");
	 	return;
	}
	var url="getajax.php";
	url=url+"?action=getcity&irsz="+irsz;
		
	xmlHttp.onreadystatechange= function()
	{
		var userTarget = document.getElementById(targetItem);
		if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
		{
			document.getElementById("szaml_varos").disabled = false;
			document.getElementById("szaml_varos").value = xmlHttp.responseText.substring(4);
		}		
	}; 
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}


function GetXmlHttpObject()
{
	var xmlHttp=null;
	try
 	{
	 	// Firefox, Opera 8.0+, Safari
 		xmlHttp=new XMLHttpRequest();
 	}
	catch (e)
 	{
	 	//Internet Explorer
 		try
  		{
		  	xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  		}
 		catch (e)
  		{
		  	xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  		}
 	}
	return xmlHttp;
}

function showHideContainer(containerGroup, showHideButton)
{
	tr=document.getElementsByTagName('tr')
	for (i=0;i<tr.length;i++)
	{
		//alert(tr[i].getAttribute(containerGroup));
		if (tr[i].getAttribute(containerGroup))
		{
			if (tr[i].style.display == "none")
			{
				tr[i].style.display = "";
				document.getElementById(showHideButton).innerHTML = 'Aktuális időpontok';
			}
			else
			{
				tr[i].style.display = "none";
				document.getElementById(showHideButton).innerHTML = 'További időpontok';
			}
		}
	}
}