var prevCities = "";
newWinX = 20; newWinY = 20; dx = 30; dy = 30;
var logoImg = "1066";
//if(window.parent.document.location.host.replace('www.', '')!='icheapairfares.com') logoImg = 'tg';
var wasValidated = false;
var mAjax={
	url: '/ajax/merchants/air.json.php',
	type: "POST",
	dataType: "JSON",
	timeout: 5000,
	data: '',
	success: function(rsp) {processResponse(rsp) },
	error: function(reqObj, tos) {
		$('#mLoad').fadeOut(800,function(){
			$("#advTable").css("display","block");
		});
		$('#tzcnt').removeClass('tzoLoad');
		$('#tzcnt').removeClass('tzoLoad').children('iframe').css("display", "block");
	}
}
tzO=tzD='';
var today=new Date();
var d1=new Date();
var next30=true;
var ow=false;
var prevRooms=1;
var nrSelMer=0;
var selectedMerchants = new Array();
var selectedMerchantsUrls = new Array();
var nrAdvertisers = 8;
var response;
var brJumpPrc=false;
var lastMail;

function validateAndRefresh(city1, city2) {
	submitMail(city1, city2);
	if (!testSearchbox()) return false;
	refreshMerchants();
	return true;
}

function submitMail(city1, city2) {
	if(document.grovezine && document.grovezine.email)
		var mailAddress = document.grovezine.email.value;
	else
		return false;
	if (mailAddress==initMail || mailAddress==lastMail) return true;

	lastMail=mailAddress;
	if(!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(mailAddress))) alert(mailError);
	else {
		var c1=city1 ? city1.value : "";var c2=city2 ? city2.value : "";
		$.get("/ajax/subscribe.php",{source:"ICHEAP",deal:placement,city:c1,city2:c2,email:mailAddress,searchsystem:searchsystem,idReferral:idReferral, adid:adid, forcejson:'true'},function(data) {
			jsondata = eval("("+data+")");
			response = jsondata.msg;
			var myDiv = document.getElementById('newsLetterDiv');
			if(myDiv && response) {
				if(response=="reactivate") {
					if(confirm("This email address was already unsubscribed.\n Do you wish to reactivate it?")) {
						$.get("/ajax/subscribe.php",{reactivate:"yes",source:"ICHEAP",deal:placement,city:city1.value,city2:city2.value,email:mailAddress,searchsystem:searchsystem,idReferral:idReferral, adid:adid});
						myDiv.innerHTML = "Thank you for registering.";
					}
				} else 
					myDiv.innerHTML = response;
				if (jsondata.script!="") {
					var x=document.createElement('iframe');
					x.src=jsondata.script+"?rand="+Math.random();
					x.style.display="none";
					x.style.visibility="hidden";
					document.body.appendChild(x);
				}
			}
		});
		var exdate=new Date();
		exdate.setDate(exdate.getDate()+100);
		document.cookie="news=yes;expires="+exdate;
	}
	return true;
}

function refreshMerchants(forceRef) {
	var cities=getcurrcities();
	if (cities==";;" || cities==";" || !cities) return false;
	if((forceRef==undefined) && (cities == prevCities)) return;
	var params = $(document.forms.ExpressBkFltonly).serialize();
	var mlh = $('#advTable').get(0).offsetHeight>180 ? $('#advTable').get(0).offsetHeight : 180;
	$("#advTable").css("display","none");
	$('#mLoad').height(mlh).fadeIn(200);
	if(cities!=prevCities)
		$('#tzcnt').addClass('tzoLoad').children('iframe').hide();
	mAjax.data = params;
	mAjax.url = mAjax.url.replace(/\?.*/, '');
	req = $.ajax(mAjax);
	if (!mAjax.async && response.airports) {
		var df=document.forms.ExpressBkFltonly;
		if (response.airports.fromAir.length==1) {
			var from=response.airports.fromAir[0].city+" ("+response.airports.fromAir[0].code+")";
			df.fromAir.value=from;
		}
		if (response.airports.toAir.length==1) {
			var to=response.airports.toAir[0].city+" ("+response.airports.toAir[0].code+")";
			df.toAir.value=to;
		}

		if (response.airports.fromAir.length<1 || response.airports.toAir.length<1) {
			var msg = please_refine+":\n";
			if (response.airports.fromAir.length<1) msg += dep_refine+"\n";
			if (response.airports.toAir.length<1) msg += arr_refine+"\n";
			alert(msg);
		}
		else if (response.airports.fromAir.length>1 || response.airports.toAir.length>1) {
			displaySearchRefine();
		};
	};
	prevCities = cities;
	return 1;
}
function findPrPos(mpr) {
	for(j=0;j<prts.length;j++)
		if(prts[j]>mpr)
			return j;
	return j;
}
function insPr(mPr) {
	pos=findPrPos(mPr);
	for(j=prts.length;j>pos;j--)
		prts[j]=prts[j-1];
	prts[j]=mPr;
	return pos;
}
function delPr(mPr) {
	pos=findPrPos(mPr);
	if(pos==prts.length) return;
	for(j=pos-1;j<prts.length-1;j++)
		prts[j]=prts[j+1];
	return pos;
}
function processResponse(rsp) {
	prevCities=getcurrcities();
	try{ response =eval('('+rsp+')');} catch(err) {
		mAjax.error();
		return err;
	}
	wasValidated=true;
	codes='';
	if(response.trackPxlUrl) {
		var d = new Date();
		trPxl=response.trackPxlUrl+"&"+d.getTime();
		$.ajax({url:trPxl, type:"HEAD"});
	}
	if (response.merchants) {
		/*$('img[@alt=cFares]:eq(0)').parent().parent().filter(".mSel").children("input:eq(0)").click();*/
		// deselecting cfares placements if selected - if cfares placement removed and another one is added, the current cfares's selection should not be moved to the next merchant and cfares anyway will be selected after merchant refresh.
		for(var i=0;i<response.merchants.length;i++) {
			if(!$('.c'+response.merchants[i].code).length) {
				mhtml = addAdvertiser(response.merchants[i]);
				prIdx=insPr(response.merchants[i].pr);
				bf=$('#advTable .adv').eq(prIdx);
				if(bf.length) bf.before(mhtml);
				else $('#advTable .spcr').before(mhtml);
			} //adding the new merchants
			codes+='.c'+response.merchants[i].code+',';
		}
		$('#advTable .adv').not(codes).each(function() {
			$(this).children('input[@checked]').click().parent().nextAll(".adv:not(.mSel):lt(1)").children("div.chbx").click();
		}).remove();
		if(response.next300!=undefined) next30=response.next30;
	}
	$('#mLoad').fadeOut(500,function(){
		$("#advTable").css("display","block");
	});
	$('#tzcnt').removeClass('tzoLoad').children('iframe').css("display", "block");

	if (mAjax.async && response.airports) {
		var df=document.forms.ExpressBkFltonly;
		if (response.airports.fromAir.length==1) {
			var from=response.airports.fromAir[0].city+" ("+response.airports.fromAir[0].code+")";
			df.fromAir.value=from;
		}
		if (response.airports.toAir.length==1) {
			var to=response.airports.toAir[0].city+" ("+response.airports.toAir[0].code+")";
			df.toAir.value=to;
		}
		prevCities=getcurrcities();

		if (response.airports.fromAir.length<1 || response.airports.toAir.length<1) {
			var msg = please_refine+":\n";
			if (response.airports.fromAir.length<1) msg += dep_refine+"\n";
			if (response.airports.toAir.length<1) msg += arr_refine+"\n";
			alert(msg);
		}
		else if (response.airports.fromAir.length>1 || response.airports.toAir.length>1) {
			displaySearchRefine(true);
		};
	};
	/*$('img[@alt=cFares]:eq(0)').parent().parent().not(".mSel").children("input:eq(0)").click();*/
	return true;
}

function getcurrcities() {
	var cities='';
	var i=0;
	with(document.forms.ExpressBkFltonly) 
		for(i=0;i<elements.length;i++) {
			if ((elements[i].type.toLowerCase()=="text" || elements[i].name=="inp_arr_arp_cd_1") && (elements[i].value.toLowerCase()==coap.toLowerCase() || elements[i].value=="" || elements[i].value==-1)) {return "";}
			if((elements[i].type.toLowerCase()=="text" || elements[i].name=="inp_arr_arp_cd_1") && elements[i].value.toLowerCase()!=coap.toLowerCase() && elements[i].value!="" && elements[i].value!=-1) {
				var city = elements[i].value.toUpperCase();
				if (city.indexOf("(")!=-1) city=city.substr(city.indexOf("(")+1).replace(")","");
				cities += city+';';
			}
	}
	return cities;
};

function testSearchbox() {
	var errors=setSteps();
	var msg;
	if (errors.length) msg=errorMsg+"\n";
	if (errors[1]) msg+=depCityError+"\n";
	if (errors[2]) msg+=arrCityError+"\n";
	if (errors[3]) msg+=dateError+"\n";
	if (errors[4]) msg+=negDateError+"\n";
	if (errors[5]) msg+=chAgeError+"\n";
	if (errors[6]) msg+=arrCityError_vac+"\n";
	if (msg) {alert(msg);return false;}
	return true;
}

function selectBox(id, merchant, merchantUrl, chBox) {
	var cmpButton = $("#compareButton");
	if(chBox.checked == false) {
		nrSelMer--;
		$(chBox.parentNode).removeClass("mSel");
		popSelMer(id, merchant);
		setSteps();
		return true;
	}
        if(nrSelMer>=40) {
		showMaxAlert();
		setSteps();
		return false;
	}
	nrSelMer++;
	pushSelMer(id, merchant);
	$(chBox.parentNode).addClass("mSel");
	setSteps();
	return true;
}

function popSelMer(mId, mName) {
	var n = selectedMerchants.length;
	for(var i=0; i<n; i++)
	{
		if(selectedMerchants[i] == mId+"_"+mName)
		{
			selectedMerchants[i] = undefined;
			return true;
		}
	}
}

function pushSelMer(mId, mName) {
	var n = selectedMerchants.length;
	selectedMerchants[n] = mId+"_"+mName;
}

function selectBoxWithImg(elem) {
	var chBox = $(elem).parent().children("input")[0];
	//$("#go").click();
	document.getElementById("go").onclick();
	if(!chBox.checked && nrSelMer>=40) {
		showMaxAlert();
		return false;
	}
	chBox.checked = !chBox.checked;
	return chBox.onclick();
}
function compareVer5() {
	if (!testSearchbox()) return false;
	if (nrSelMer<1) {alert(errorMsg+"\n"+compareErrMsg);return false;}
	

	mAjax.async=false;
	document.getElementById("go").onclick();

	if (brJumpPrc) {brJumpPrc=false; mAjax.async=true; return false;};

	mAjax.async=true;


	newWinX = 20; newWinY = 20; dx = 30; dy = 30;
	var lastMerId;
	var n = selectedMerchants.length;
	for(var merId=n-1; merId>=0; merId--)
		if(selectedMerchants[merId]) {
			var params = selectedMerchants[merId];
			var delim = params.indexOf("_");
			var mId = params.substring(0, delim);
			var mName = params.substring(delim+1);
			jump(mId, mName);
			newWinX += dx;
			newWinY += dy;
			if(newWin==undefined || newWin == null) {
				window.focus();
				selectBoxWithImg(lastMerId);
				showBlDiv();
				return false;
			} else if (!lastMerId) lastMerId = $(".c"+mId).children().get(0);
		}
	return true;
}

function hideBlDiv(){
	$(".bigbox").fadeOut(500,function(){
		$("#merchantsToClick").empty();
		//$(".ma").animate({"opacity":"1"},"500");
		$(".ma").fadeIn(500);
	});

// 	$(".bigbox").fadeOut(500,function(){
// 		$("#merchantsToClick").empty();
// 		//$(".ma").animate({"opacity":"1"},"500");
// 		$(".ma").fadeIn(500);
// 	});
};

function lz(t){t = t.toString().length==1 ? "0"+t:t;return t;};

function showBlDiv(){
	$(function(){
		$("#merchantsToClick").append($("#advTable").children(".mSel:lt(5)").clone());
		$("#merchantsToClick div.adv").each(function(){
			var tmp = $(this).children("input").attr("onclick");
			var regExp = /return selectBox\(([^,]+)[^\"]+"([^\"]+)"[^\"]*"([^\"]+)".+/;
			var tmp = tmp.toString().match(regExp);
			var mId = tmp[1];
			var mName = tmp[3].replace("http://","");
			$(this).click(function(){
				$(this).addClass("grayback");
				jump(mId,mName);
			});
			$(this).children("input, .chbx").remove();
			$(this).children().children().attr("onclick","");
			$(this).append("<div class='mName'>"+mName+"</div>");
		});
// 		$("#merchantsToClick div div img").each(function(){
// 			$(this).attr({src:this.src.replace("merchants_small","merchants"),width:'140',height:'35'})
// 		});
		$("#merchantsToClick div.adv").addClass("bigboxMer").removeClass("mSel");
		//$("#merchantsToClick div.adv div.imgc").addClass("imgcBig");
		$("#merchantsToClick div.adv div.imgc").each(function(){
			$(this).parent().append("<div class='Butt sButt'>Show prices</div>");
			$(this).after($(this).html());
			$(this).next().attr("onclick","");
			$(this).remove();
		});

		$(".sDetails .from").text($("#fromAir").val());
		$(".sDetails .to").text($("#toAir").val());
		$(".sDetails .depdate").text(lz($("#air_leave_month").val())+"/"+lz($("#air_leave_day").val())+"/"+$("#air_leave_year").val());
		$(".sDetails .arrdate").text(lz($("#air_return_month").val())+"/"+lz($("#air_return_day").val())+"/"+$("#air_return_year").val());
		$(".sDetails .adults").text($("#adultsAir").val());
		$(".sDetails .children").text($("#childrenAir").val());
		$(".sDetails .seniors").text($("#seniorsAir").val());
		var tmp = $(".ma");
		tmp.fadeOut(500,function(){
			var tmp2=$(".bigbox");
			tmp2.fadeIn(500);
		});
		return;
	});
}
 
function addAdvertiser(adv) {
	nrAdvertisers++;
	oneMerchant = "<div class='adv p"+adv.pr+" c"+adv.code+"'> \
				<input type='checkbox' name='selectBox"+nrAdvertisers+"' id='selectBox"+nrAdvertisers+"' onclick='return selectBox("+adv.code+", \""+adv.name+"\", \""+adv.url+"\", this);' alt='check prices from "+adv.name+"'> \
				<div class='chbx' onclick='selectBoxWithImg(this)'>&nbsp;</div> \
				<div class='imgc'> \
					<img src='/images/merchants_small/"+adv.logo+"' alt='"+adv.name+"' width='100' height='25'  onclick='selectBoxWithImg(this.parentNode)'> \
				</div> \
			</div>";
	return oneMerchant;
}
function preventEventToPropagate(ev) {
	if(document.all) {
		ev.returnValue=false;
		ev.cancelBubble = true;
	} else {
		ev.preventDefault();
		ev.stopPropagation();
	}
}
function condChangedAir() {
	if((searchsystem!='def' && searchsystem!='us') || !wasValidated) return false;
	d1.setFullYear(
		$('#air_leave_year').get(0).value,
		$('#air_leave_month').get(0).selectedIndex,
		$('#air_leave_day').get(0).value
	);
	var n30=true;
	if( Math.round((d1-today)/86400000) > 30 ) n30=false;
	if(next30==n30) return false;
	next30=n30;
	return true;
}
function nrRoomsChanged(sObj) {
	var nrR=sObj.value;
	if(nrR==10 && !hPlannerSw) {
		hPlannerSw=true;
		jump(858, "HotelPlanner");
		return false;
	}
	return false;
}


//new script

function showAgeSelect(nr) {
	var curr = $("#chText").css("display");
	$("#chText").css("display",(nr>0) ? "block" : "none");
	for (i=1;i<5;i++) eval('document.forms.ExpressBkFltonly.child'+i+'age.style.display= (nr>'+(i-1)+') ? "inline" : "none";');
	return;
}

function setSteps() {
	var errors=searchbox_ready();
	if (errors.length>0) {step=1;}
	else if (nrSelMer<2) {step=2;} 
	else {step=3;}
	if (nrSelMer<1) {$(".cmpB").removeClass("cmpOn").addClass("cmpOff");}
	else {$(".cmpB").addClass("cmpOn").removeClass("cmpOff");}
	activateStep(step);
	return errors;
}
function activateStep(nr){
	for (i=1;i<4;i++) $("#step"+i).removeClass("step"+i+"_a step"+i+"_b");
	for (i=1;i<4;i++) if (step==i) {$("#step"+i).addClass("step"+i+"_b");} else {$("#step"+i).addClass("step"+i+"_a");}
}

function switchReturnDate(chBox){
	var off = chBox.checked;
	$("#air_return_month, #air_return_day, #air_return_year").each(function(){this.disabled=off});
	document.images["imgCalendar2"].style.visibility = off ? "hidden" : "visible";
	document.getElementById("returnSpan").style.color = off ? "#EAEAEA" : "";
}

function showIframe(){$(document.body).append("<iframe style='width:543px;height:497px;position:absolute;top:90px;left:30%;z-index:999;' id='pt_b' src='about:blank'></iframe>");}

function hideMaxAlert(){$('#alertTable').css('visibility',"hidden");document.body.onclick=null;return true}

function showMaxAlert(){
	$(function() {
		var alertTable = $('#alertTable')[0];
		if (alertTable) {
			alertTable.style.visibility = 'visible';
		} else createWindow("moremerchants");
		setTimeout("document.body.onclick=hideAlert",200);
		return;
	});
}

function createWindow(win) {$.post("/ajax/popupwindow.php",{window : win, left : '70px', top : '0px', lrmargin : '5px'},function(data) {$(document.body).append(data);});}

function hideAlert(){
	closeBlDiv();
	hideMaxAlert();
	return;
}

function selectContent(obj, txt) {
	if(obj.value == txt) obj.value='';
	else obj.select();
	return;
}