//AJAX Searchpanel

var xmlhttp=false;
var state="ready";
var responsetimer;
var cookieName=brand+type;
var routesfeedtxt = "holidayroutes.js"; // for alt search
isIE=document.all;
isNN=!document.all&&document.getElementById;
isN4=document.layers;
isHot=false;
var calendarVisible = false;
var pauseCalendar = true;
var pauseCalendar2 = true;
var pauseCalendar3 = true;
if ((typeof document.body.style.maxHeight != "undefined") && isIE)
{
var isIE6=false;
}
else
{
if (isNN || isN4)
{
var isIE6=false;
}
else
{
var isIE6=true;
}
}

if(iscookie())
{
addLoadEvent(getcookie);	
}
else
{
addLoadEvent("");
if (defaultarrival.length > 0)
{
xmlrequest('/search/refresh.php','|'+brand+'|'+type+'|cookie|0|'+defaultarrival+'|dd/mm/yyyy|0');
}
else
{
xmlrequest('/search/init.php','|'+brand+'|'+type+'|');
}
}

function xmltimeout()
{
xmlhttp.abort();
if(debug){alert("Request timed out, cancelled");}
state="ready";
}

function xmlresponse() // put response into result div(s) once complete
{
if(xmlhttp.readyState==4)
{
clearTimeout(responsetimer);
if(debug){alert("RESPONSE\n"+xmlhttp.responseText);}
resarray=xmlhttp.responseText.substr(1).split(xmlhttp.responseText.substr(0,1));
for(i=0;i<resarray.length;i+=2)
{
if(resarray[i+1].length==0)
{
document.getElementById(resarray[i]).style.display="none";
}
else
{
if(resarray[i]=="validsearch")
{
setcookie();
submitsearch(resarray[i+1]);
}
else
{
document.getElementById(resarray[i]).innerHTML=resarray[i+1];
document.getElementById(resarray[i]).style.display="block";
}
}
}
state="ready";
}
}

function xmlrequest(url,str) // open connection to url and send request str
{
switch(state) // open http connection and send
{
case "ready":
state="active";
if(debug){alert("REQUEST\n"+url+"?str="+str);}

try {xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");}
catch (e)
{
try {xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}
catch (e) {xmlhttp=false;}
}
if(!xmlhttp&&typeof XMLHttpRequest!='undefined') {xmlhttp=new XMLHttpRequest();}
if(!xmlhttp) {alert("Error - browser doesn't support xmlhttp");return;}

xmlhttp.open("GET",url+"?str="+str,true);
xmlhttp.onreadystatechange=function() {xmlresponse();};
xmlhttp.send(null);
responsetimer=setTimeout('xmltimeout()',5000);
break;

case "active":
if(debug){alert("Please wait, request active ...");}
break;
}
}

function changeTo(value)
{
if(value==-1) xmlrequest('/search/init.php','|'+brand+'|'+type+'|');
else xmlrequest('/search/refresh.php','^'+brand+'^'+type+'^to^'+document.getElementById('OutDepAir').value+'^'+document.getElementById('OutArrAir').value+'^'+document.getElementById('outDepDateText').value+'^'+document.getElementById('duration').value);
}

function changeFrom(value)
{
if(value==-1) xmlrequest('/search/init.php','|'+brand+'|'+type+'|');
else xmlrequest('/search/refresh.php','^'+brand+'^'+type+'^from^'+document.getElementById('OutDepAir').value+'^'+document.getElementById('OutArrAir').value+'^'+document.getElementById('outDepDateText').value+'^'+document.getElementById('duration').value);
}

var timer;
var counter=1;

if(document.images)
{
var imgs=new Array()
for(var i=1;i<10;i++) { imgs[i]=new Image(46,48); imgs[i].src="/media/BCTUKBrand_timer_0"+i+".gif"; }
}

function starttimer()
{
counter-0;
timer=setTimeout("animatetimer()",500);
}

function animatetimer()
{
timer=setTimeout("animatetimer()",500);
counter++;
if(counter<10) document.timer.src=imgs[counter].src;
else{ counter=1; document.timer.src=imgs[counter].src;}
}

function searchagain()
{
clearTimeout(timer);
document.getElementById("chartersearch").style.display = "block";
document.getElementById("charterpleasewait").style.display = "none";
history.go(0);
}

function pleasewait()
{
document.getElementById("chartersearch").style.display = "none";
document.getElementById("charterpleasewait").style.display = "block";
starttimer();
return(true);
}

function resetsearch()
{
document.getElementById("chartersearch").style.display = "block";
document.getElementById("charterpleasewait").style.display = "none";
}

function checkJump()
{
var jump = document.getElementById("srchtype").value;
if (jump.indexOf("http") == -1)
{
return true;
}
else
{
window.open(jump);
return false;
}	
}

function jump()
{
var jumpValue = document.getElementById("srchtype")[document.getElementById("srchtype").selectedIndex].value;
if (jumpValue.indexOf("http") == -1)
{
window.top.location = ("AniteNextPage.asp?p=" + jumpValue);
}
else
{
window.open(jumpValue);
}
}

function submitsearch(url)
{
pleasewait();
var hiddenfields="";
var queryarray=url.split("^");
document.getElementById("submitsearch").action=queryarray[0];
for(var i=1;i<queryarray.length;i++)
{
var name=queryarray[i].substring(0,queryarray[i].indexOf("="));
var value=queryarray[i].substring(queryarray[i].indexOf("=")+1,queryarray[i].length);
var namevaluearray=queryarray[i].split("=");
hiddenfields+='<input type="hidden" name="'+name+'" id="'+name+'" value="'+value+'">';
}
document.getElementById("submitsearch").innerHTML=hiddenfields;
document.submitsearch.submit();
}				

function addLoadEvent(func)
{
window.onload = func; 	
window.onpageshow = func;	
}

function iscookie()
{
var curcookie = document.cookie;
if( curcookie.length > 0 )
{
foundAt = curcookie.indexOf(cookieName + "=");
if( foundAt == -1 || cookieName == "" )
{
return false;
}
else
{
return true;
}
}
return false;
}

function getcookie()
{
var cookieData = '';
var curcookie = document.cookie;
if( curcookie.length > 0 )
{
foundAt = curcookie.indexOf(cookieName + "=");
if( foundAt == -1 || cookieName == "" )
{
return false;    // the cookie was not set
}
else
{
foundAt += cookieName.length + 1;
endAt    = curcookie.indexOf(";", foundAt);
if( endAt == -1 )
{
	endAt = curcookie.length;
}
var cookieData = unescape(curcookie.substring(foundAt, endAt));
var cookieArray = cookieData.split(',');		
document.getElementById("AdultPax").selectedIndex = cookieArray[5];
document.getElementById("ChildPax").selectedIndex = cookieArray[6];
document.getElementById("InfantPax").selectedIndex = cookieArray[7];
document.getElementById("Rating").selectedIndex = cookieArray[8];
document.getElementById("BoardBasis").selectedIndex = cookieArray[9];
xmlrequest('/search/refresh.php','|'+brand+'|'+type+'|cookie|'+cookieArray[1]+'|'+cookieArray[2]+'|'+cookieArray[3]+'|'+cookieArray[4]);
}
}
}

function setcookie()
{
var cookieData = cookieName + ',';
cookieData += document.getElementById("OutDepAir").value + ',';
cookieData += document.getElementById("OutArrAir").value + ',';
cookieData += document.getElementById("outDepDateText").value + ',';
cookieData += document.getElementById("duration").value + ','
cookieData += document.getElementById("AdultPax").selectedIndex + ',';
cookieData += document.getElementById("ChildPax").selectedIndex + ',';
cookieData += document.getElementById("InfantPax").selectedIndex + ',';
cookieData += document.getElementById("Rating").selectedIndex + ',';
cookieData += document.getElementById("BoardBasis").selectedIndex;
document.cookie = cookieName + "=" + cookieData + ";";
}

function ddInit(e)
{
topDog=isIE?"BODY":"HTML"; //set top-most element
whichDog=isIE?document.all.cal:document.getElementById("cal"); //set layer getting method
hotDog=isIE?event.srcElement:e.target; // set event getting method
calendarTable=hotDog;
// while event is not on calendar and not on top-element
if(hotDog.id)
{
while (hotDog.id!="titleBar"&&hotDog.tagName!=topDog)
{
hotDog=isIE?hotDog.parentElement:hotDog.parentNode;
}
}
if(hotDog.id=="titleBar")
{
offsetx=isIE?event.clientX:e.clientX;
offsety=isIE?event.clientY:e.clientY;
nowX=parseInt(whichDog.style.left);
nowY=parseInt(whichDog.style.top);
ddEnabled=true;
document.onmousemove=dd;
}
else
{
if(calendarVisible)
{
var i = 0;
while ((calendarTable.tagName!="HTML" && calendarTable.tagName!="BODY")&&calendarTable.id!="cal")
{			
if(isIE)
{
if (calendarTable.parentElement)
{
calendarTable = calendarTable.parentElement;
}
}
else
{
if (calendarTable.parentNode)
{
calendarTable = calendarTable.parentNode;
}
}
}
if (calendarTable.id!="cal")
{
hideMe();
}
}	
}
}

function dd(e)
{
if (pauseCalendar)
{
if (pauseCalendar2)
{
if (pauseCalendar3)
{
if(!ddEnabled) return;
whichDog.style.left=(isIE?nowX+event.clientX-offsetx:nowX+e.clientX-offsetx)+"px";	
whichDog.style.top=(isIE?nowY+event.clientY-offsety:nowY+e.clientY-offsety)+"px";	
if(isIE6)
{
document.getElementById("califrame").style.left = whichDog.style.left;
document.getElementById("califrame").style.top = whichDog.style.top;
}
pauseCalendar = false;
pauseCalendar2 = false;
pauseCalendar3 = false;	
}
else
{
pauseCalendar3 = true;
}
}
else
{
pauseCalendar2 = true;
}
}
else
{
pauseCalendar = true;
}
return false;
}

function ddN4(whatDog)
{
if(!isN4) return;
N4=eval(whatDog);
N4.captureEvents(Event.MOUSEDOWN|Event.MOUSEUP);
N4.onmousedown=function(e) { N4.captureEvents(Event.MOUSEMOVE); N4x=e.x; N4y=e.y; }
N4.onmousemove=function(e) { if(isHot) { N4.moveBy(e.x-N4x,e.y-N4y); return false; } }
N4.onmouseup=function() { N4.releaseEvents(Event.MOUSEMOVE); }
}

function hideMe()
{
if(isIE||isNN) whichDog.style.visibility="hidden";
else if(isN4) document.cal.visibility="hide";
calendarVisible = false;
if(isIE6)
{
document.getElementById("califrame").style.display = "none";
}
}

function showMe()
{
if (isIE6)
{
document.getElementById("califrame").style.top = whichDog.style.top;
document.getElementById("califrame").style.left = whichDog.style.left;	
document.getElementById("califrame").style.zIndex = whichDog.style.zIndex - 1;
document.getElementById("califrame").style.display = "block";
}
if (isIE||isNN) whichDog.style.visibility="visible";
else if (isN4) document.cal.visibility="show";
calendarVisible = true;
}
document.onmousedown=ddInit;
document.onmouseup=Function("ddEnabled=false");