var is_error = false;
var ajax = new sack();
var txtInfo = new Array();

function ShowFlight(way, key, segid, leg){
	var c = document.frm[way+"_leg_"+key+"_"+segid].value;
	if(leg!=c){
		var id1 = key + "_" + segid + "_" + leg;
		var id2 = key + "_" + segid + "_" + c;
		__change_tab(id1, id2, 'tab_normal');			
		document.frm[way+"_leg_"+key+"_"+segid].value = leg;
	}
}

function __change_tab(id1, id2, cls){
	var c_old = document.getElementById("flight_" + id2);
	var c_new = document.getElementById("flight_" + id1);

	c_old.style.display = "none";
	c_new.style.display = "block";
	
	// Set tab
	var tab_old = document.getElementById("tab_" + id2);
	var tab_new = document.getElementById("tab_" + id1);

	tab_old.className = cls;
	tab_new.className = "tab_selected";
}

function _set_footer(i){
	var ft = document.getElementById("fs_footer");
	if(i==1){
		ft.style.position = "relative";
	}else{
		ft.style.position = "absolute";
	}
}

function _setOff(id){
	var r = document.getElementById(id);
	r.style.display = "none";
}

function _setOn(id,type){
	var dp = "table-row";
	if(type) {
		dp = "block";
	}else{
		if(document.all) dp = "block";
	}
	
	var r = document.getElementById(id);
	r.style.display = dp;
}

function _toggle(id, type, obj){
	var dp = "block";
	var r = document.getElementById(id);
	var state;
	if(r.style.display=="none"){
		if(type==1 && !document.all) dp = "table-row";
		r.style.display = dp;
		state = 1;		
	}else{
		r.style.display = "none";
		state = 0;
	}
	
	if(obj) obj.value = state;
}

function _removeSeg(i){
	_setOff("leg_"+i);
	
	var dp = "table-row";
	var segs = document.frm.segments.value * 1;
	segs--;
	
	document.frm["startpt"+i].value = "";
	document.frm["from_name"+i].value = "";
	document.frm["endpt"+i].value = "";
	document.frm["to_name"+i].value = "";
	document.frm["date"+i].value = "";
	
	if(segs>1){
		var b = document.getElementById("btn"+segs);
		b.style.display = "block";
	}
	
	if(segs==1){
		document.frm.way.value = 1;
		document.frm.type.value = 1;
	}else if(segs==2){
		document.frm.way.value = 0;
		document.frm.type.value = 1;
	}else if(segs>2){
		document.frm.way.value = 0;
		document.frm.type.value = 3;
	}else{
		document.frm.way.value = 0;
		document.frm.type.value = 1;
	}
	
	document.frm.segments.value  = segs;
	
	if(segs<4){
		if(document.all) dp = "block";
		
		document.getElementById("addseg").style.display = dp;
	}
}

function _addNextSeg(){
	var dp = "table-row";
	if(document.all) dp = "block";
	
	var segs = document.frm.segments.value * 1;
	
	if(segs>1){
		var b = document.getElementById("btn"+segs);
		b.style.display = "none";
	}
	
	segs++;
	
	_setOn("leg_"+segs);
	
	if(segs==1){
		document.frm.way.value = 1;
		document.frm.type.value = 1;
	}else if(segs==2){
		document.frm.way.value = 0;
		document.frm.type.value = 1;
	}else if(segs>2){
		document.frm.way.value = 0;
		document.frm.type.value = 3;
	}else{
		document.frm.way.value = 0;
		document.frm.type.value = 1;
	}
	
	document.frm["startpt"+segs].value = document.frm["endpt"+(segs-1)].value;
	document.frm["from_name"+segs].value = document.frm["to_name"+(segs-1)].value
	
	document.frm.segments.value  = segs;
	
	if(segs>3){
		document.getElementById("addseg").style.display = "none";
	}
}

function _SetNextDest(i){
	var segs = document.frm.segments.value * 1;
	if(segs>1 && i<segs){
		document.frm["startpt"+(i+1)].value = document.frm["endpt"+i].value;
		document.frm["from_name"+(i+1)].value = document.frm["to_name"+i].value;
		var x = document.getElementById("from_name"+(i+1));
		x.className = "textInput";
		var x = document.getElementById("to_name"+i);
		x.className = "textInput";
	}
}

function _checkError(){
	var error = false;
	var errTxt = "";
	var segs = document.frm.segments.value * 1;
	var ret = ajax.response.split(";"); 
	var startpt = ret[0].split("|");
	var endpt   = ret[1].split("|");
	var x;
	
	for(i=1;i<=segs;i++){
		x = document.getElementById("from_name"+i);
		
		if(document.getElementById("startpt"+i).value==""){
			if(startpt[i]=="0"){
				x.className = "textInput";
			}else if(startpt[i]=="1"){
				error = true;
				x.className = "required";
			}else{
				document.getElementById("startpt"+i).value = startpt[i];
			}
		}else{
			x.className = "textInput";
		}
		
		/*
		if(startpt[i]=="1" && document.getElementById("startpt"+i).value==""){
			error = true;
			x.className = "required";
		}else{
			x.className = "textInput";
		}
		*/
		
		x = document.getElementById("to_name"+i);
		if(document.getElementById("endpt"+i).value==""){
			if(endpt[i]=="0"){
				x.className = "textInput";
			}else if(endpt[i]=="1"){
				error = true;
				x.className = "required";
			}else{
				document.getElementById("endpt"+i).value = endpt[i];
			}			
		}else{
			x.className = "textInput";
		}
		
		/*
		if(endpt[i]=="1" && document.getElementById("endpt"+i).value==""){
			error = true;
			x.className = "required";
		}else{
			x.className = "textInput";
		}
		*/
		
	}
	if(error){
		error = false;
		errTxt += "Ilyen várost mi nem ismerünk, pontosítsd a keresést!<br />";
	}
	
	
	if(ret[2]){
		var dates = ret[2].split("|");
		for(var key in dates){
			if(key>0 && key<5){
				x = document.getElementById("date"+key);
				if(dates[key]=="1"){
					error = true;
					x.className = "required";
				}else{
					if(key>0) x.className = "textInput";
				}
			}
		} 
	}
	if(error){
		error = false;
		errTxt += "Hibás a dátum.<br />";
	}
	
	/*
	var opt = document.frm.options.value * 1;
	if(opt){
		if(ret[3]){
			var avcode = ret[3].split("|");
			for(var key in avcode){
				x = document.getElementById("prefav_"+key);
				if(avcode[key]=="1" && document.getElementById("prefcode_"+key).value==""){
					error = true;
					x.className = "required";
				}
			} 
		}else{
			for(i=1;i<=3;i++){
				x = document.getElementById("prefav_"+i);
				x.className = "textInput";
			}
		}
	}	
	if(error){
		error = false;
		errTxt += "Hibásan adtad meg a légitársaság(ok) nevét!";
	}
	*/
	
	if(errTxt){
		var x = document.getElementById("errTxt");
		x.innerHTML = "<b>" + errTxt + "</b>";
		_UnsetLoader();
	}else{
		document.frm.submit();
	}
}

function _CheckForm(){
	var segs = document.frm.segments.value * 1;
	var error = false;
	var x;
	
	for(i=1;i<=segs;i++){
		if(document.frm["from_name"+i].value!=""){
			ajax.setVar("start["+i+"]", escape(document.frm["from_name"+i].value));
		}else{
			x = document.getElementById("from_name"+i);
			x.className = "required";
			error = true;	
		}
		if(document.frm["to_name"+i].value!=""){
			ajax.setVar("end["+i+"]", escape(document.frm["to_name"+i].value));
		}else{
			x = document.getElementById("to_name"+i);
			x.className = "required";
			error = true;	
		}
		ajax.setVar("dt["+i+"]", document.frm["date"+i].value);
	}
	
	/*
	var opt = document.frm.options.value * 1;
	if(opt){
		var j = 0;
		for(i=1;i<=3;i++){
			if(document.frm["prefav_"+i].value!=""){
				ajax.setVar("airv["+i+"]", document.frm["prefav_"+i].value);
				j++;
			}		
		}
		ajax.setVar("prefav", j);
	}
	*/
	
	if(!error)
	{
	  _SetLoader();
		ajax.setVar("checkApList", "1");
		ajax.setVar("segments", segs);
		ajax.setVar("type", document.frm.type.value);
		ajax.setVar("way", document.frm.way.value);
		ajax.requestFile = "__getAp.php";
		ajax.method = "POST";
		ajax.onCompletion = _checkError;
		ajax.runAJAX();
	}else{
		var x = document.getElementById("errTxt");
		x.innerHTML = "<b>Nem tudunk javasolni járatot, ha nem tudjuk, hova akarsz repülni.</b>";
	}
}

function _getSeg(id){
	ajax.setVar("getSegment", "1");
	ajax.setVar("segid", id);
	ajax.requestFile = "__getAp.php";
	ajax.method = "GET";
	ajax.onCompletion = _showSeg;
	ajax.runAJAX();
}

function _showSeg() {
	var ret = ajax.response.split("|");
	var l = document.getElementById("segments"+ret[0]);
	l.innerHTML = ret[1];
	fs_segments[ret[0]].toggle();
}

function addEvent( obj, type, fn ) {
	if ( obj.attachEvent ) {
		obj['e'+type+fn] = fn;
		obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
		obj.attachEvent( 'on'+type, obj[type+fn] );
	} else
		obj.addEventListener( type, fn, false );
}
   
/*
function removeEvent( obj, type, fn ) {
	if ( obj.detachEvent ) {
		obj.detachEvent( 'on'+type, obj[type+fn] );
		obj[type+fn] = null;
	} else
		obj.removeEventListener( type, fn, false );
}
*/

function _submit(u){
	//_setOn("fs_layerSearch", 1);
	//document.getElementById('searchanim').style.display='block';
	//document.getElementById('netbookcontainer').style.display='none';
	document.frm.action = u;
	document.frm.submit();
}

function _SetNextDate(obj){
	var itm = parseInt(obj.name.replace(/date/i, ""));
	var segnum = parseInt(document.frm.segments.value);
	var way = parseInt(document.frm.way.value);
	
	if(way==0 && itm<segnum){
		document.frm["date"+(itm+1)].value = _DateAdd(obj.value, 7); 
	}
}

function _showMeMore(){
	//_setOn('more', 1);
	//_setOn('fs_filters', 1);
	
	_set_footer(1);
	_setOff('more_link');
	fs_slider[6].toggle();
	fs_slider[1].toggle();
	
}

function fs_toggle(id){
	var p = document.getElementById("s"+id);
	var i = p.src.lastIndexOf(".");
	
	if(p.src.substr(i-1)=="m.gif"){
		p.src = "images/p.gif";
	}else{
		p.src = "images/m.gif";
	}
	
	//fs_slider[id].toggle();
	$('#div_'+id).SlideToggleUp(400);
}

function __getPage(page){
	var filter = __get_filters();
	
	ajax.reset();
	ajax.setVar("pager", "1");
	ajax.setVar("page", page);
	ajax.setVar("filters", filter);
	ajax.requestFile = "__FlightFilter.php";
	ajax.method = "GET";
	ajax.onLoading = __setLoadText;
	ajax.onCompletion = __setPage;
	ajax.runAJAX();	
}

function __setPage(){
	var x = document.getElementById("fs_flight");
	var tmp = ajax.response.split("(¤)");
	
	var txt = "Összes találat: <b>" + _total + "</b><br />Szűrés után megjelenítve: <b>" + tmp[0] + "</b>";
	 
	__setResultInfo(txt);
	x.innerHTML = tmp[1];
}

function __setPrice(){
	var l = document.getElementById("txtPrice");
	var p = parseInt(document.getElementById("price").value);
	
	l.innerHTML = "max. ár: <b>" + flight_prices_format[p] + " HUF</b>";
}

function __setLoadText(){
	var txt = "Összes találat: <b>" + _total + "</b><br /><img src='images/loading.gif' border='0' alt='' width='172' height='8' vspace='4' />";
	__setResultInfo(txt);
}

function __setResultInfo(n){
	var l = document.getElementById("resTxt");
	l.innerHTML = n;
}

function __get_filters() {
	var out = "";
	var av = "";
	var from = "";
	var to = "";
	var stops = "";
	var dep = "";
	var arr = "";
	var cls = "";
	
    for (var i = 0; i<document.frm.elements.length; i++) {
        if ((document.frm.elements[i].name.indexOf("avcode") > -1) && document.frm.elements[i].type=="checkbox") {
        	if(!document.frm.elements[i].checked){
        		av += document.frm.elements[i].value + "|";
        	}
        	
        }else if ((document.frm.elements[i].name.indexOf("apcode1") > -1) && document.frm.elements[i].type=="checkbox") {
        	if(!document.frm.elements[i].checked){
        		from += document.frm.elements[i].value + "|";
        	}
        }else if ((document.frm.elements[i].name.indexOf("apcode2") > -1) && document.frm.elements[i].type=="checkbox") {
        	if(!document.frm.elements[i].checked){
        		to += document.frm.elements[i].value + "|";
        	}
        }else if ((document.frm.elements[i].name.indexOf("stops") > -1) && document.frm.elements[i].type=="checkbox") {
        	if(!document.frm.elements[i].checked){
        		stops += document.frm.elements[i].value + "|";
        	}
        }else if ((document.frm.elements[i].name.indexOf("class") > -1) && document.frm.elements[i].type=="checkbox") {
        	if(!document.frm.elements[i].checked){
        		cls += document.frm.elements[i].value + "|";
        	}
        }

    }
    
    av = av.substr(0, av.length-1);
    from = from.substr(0, from.length-1);
    to = to.substr(0, to.length-1);
    stops = stops.substr(0, stops.length-1);
    cls = cls.substr(0, cls.length-1);
    
    var depTime1 = parseInt(document.getElementById("dep_low1").value);
    var depTime2 = parseInt(document.getElementById("dep_high1").value);
    
    if(depTime1>0 || depTime2<timelist[1].length-1){
    	dep = timelist[1][depTime1] + "|" + timelist[1][depTime2]; 
    }
    
    var retTime1 = parseInt(document.getElementById("dep_low2").value);
    var retTime2 = parseInt(document.getElementById("dep_high2").value);
    
    if(retTime1>0 || retTime2<timelist[2].length-1){
    	arr = timelist[2][retTime1] + "|" + timelist[2][retTime2]; 
    }
    
   	var p = parseInt(document.getElementById("price").value);
    out = av + ";" + from + ";" + to + ";" + stops + ";" + dep + ";" + arr + ";" + flight_prices[p] + ";" + cls;
    
	return out;
}

function __setSlider(n){
	var l = document.getElementById("dep"+n);
	var low = parseInt(document.getElementById("dep_low"+n).value);
	var high = parseInt(document.getElementById("dep_high"+n).value);
	var tp;
	
	if(n==1){
		tp = "oda:";
	}else{
		tp = "vissza:";
	}
	
	l.innerHTML = tp + " <b>" + timelist[n][low] + "</b> - <b>" + timelist[n][high] + "</b> óra között";
}

function __research(m, i){
	//__setLoadText();
	//_setOn("fs_layerSearch", 1);
	document.location = 'index.php?research=' + m + '&dt=' + i;
}

function __findCheaper(d1, d2){
	//__setLoadText();
	//_setOn("fs_layerSearch", 1);
	document.location = 'index.php?research=4&d1=' + d1 + '&d2=' + d2;
}

function __InfoMsg(n){
	var l = document.getElementById("infoMsg");
	l.innerHTML = txtInfo[n];
	l.style.display = "block";
}

function __hideInfo(){
	var l = document.getElementById("infoTxt");
	l.style.display = "none";
}

function __hideHelp(){
	var l = document.getElementById("help");
	l.style.display = "none";
	createCookie('hidehelp', '1', 365);
}

function __showHelp(){
	var l = document.getElementById("help");
	l.style.display = "block";
	eraseCookie('hidehelp');
}

function __toggleHelp(){
	var l = document.getElementById("help");
	if(readCookie('hidehelp')=="1"){
		l.style.display = "block";
		eraseCookie('hidehelp');
		document.getElementById("lnkHelp").innerHTML = "súgó elrejtése";
	}else{
		l.style.display = "none";
		createCookie('hidehelp', '1', 365);
		document.getElementById("lnkHelp").innerHTML = "súgó mutatása";
	}
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}
