

var SixClientStyle

SixClientStyle = true



var repeatrequestcount = 0;
var repeatrequest = '';

function getRefToObject(objID) {
    if( document.layers ) {					//Netscape layers
        return document.layers[objID]; }
    if( document.getElementById ) {			//DOM; IE5, NS6, Mozilla, Opera
        return document.getElementById(objID); }
    if( document.all ) {					//Proprietary DOM; IE4
        return document.all[objID]; }
    if( document[objID] ) {					//Netscape alternative
        return document[objID]; }
    return false;
}


 function fDisplayHint(http_request, rDestObj) {
  
     if (http_request.readyState == 4) {
         if (http_request.status == 200) {          
            if (http_request.responseText) {
                if (http_request.responseText.length > 0 && http_request.responseText != '<b></b>') {
                    rDestObj.innerHTML = http_request.responseText;
                    rDestObj.style.display = 'block';
                }
            }
         }
     }
 }


  function makeRequest(url, rDestObj, vType) {

    var http_request = false;
    var r;

    //MKC20071214 don't repeat same request more than 5 times
    if (url == repeatrequest) {
        repeatrequestcount += 1;
    } else {
        repeatrequest = url;
        repeatrequestcount = 0;
    }
      
    if (repeatrequestcount >= 5)
        return false;

     if (window.XMLHttpRequest) { // Mozilla, Safari,...
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
             http_request.overrideMimeType('text/xml');
         }
     } else if (window.ActiveXObject) { // IE
         try {
             http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
             try {
                 http_request = new ActiveXObject("Microsoft.XMLHTTP");
             } catch (e) {}
         }
     }

     if (!http_request) {
         alert('Giving up :( Cannot create an XMLHTTP instance');
         return false;
     }
     http_request.open('GET', url, true);
     switch (vType) { 
		case 'o': 
            http_request.onreadystatechange = function() { getXMLContentsIntoOptions(http_request, rDestObj)};
            break;
        case 'l':
            http_request.onreadystatechange = function() { displayLogos(http_request, rDestObj)};
            break;
        case 'v':
            http_request.onreadystatechange = function() { assignResult(http_request, rDestObj)};
            break;
        case 'd':
            rDestObj.style.display = 'none';
            http_request.onreadystatechange = function() { fDisplayHint(http_request, rDestObj)};
            break;
     }
     http_request.send(null);
 }


 function assignResult(http_request, rDestObj) {
  
     if (http_request.readyState == 4) {
         if (http_request.status == 200) {            
             rDestObj.value = http_request.responseText;
         } else {
             //rDestObj.value = '';
         }
     }
 }
  
 function displayLogos(http_request, aSearchers) {

     if (http_request.readyState == 4) {
         if (http_request.status == 200) {            
            var xmlS;
            xmlS = http_request.responseXML;

            for(i=0;i<=NoOfSearchers-1;i++) {
                var lFound = false;
                var lDep = '';
                var lArr = '';
                
                var TotalClients = xmlS.getElementsByTagName('c')[0].firstChild.data;
                
                for(j=0;(xmlS.getElementsByTagName('sid')[j]);j++) {                                        
                    if(aSearchers[i][0] == xmlS.getElementsByTagName('sid')[j].firstChild.data) {
                        lFound = true;
                        
                        if (xmlS.getElementsByTagName('scd')[j].firstChild) {lDep = xmlS.getElementsByTagName('scd')[j].firstChild.nodeValue;}
                        if (xmlS.getElementsByTagName('sca')[j].firstChild) {lArr = xmlS.getElementsByTagName('sca')[j].firstChild.nodeValue;}
                        
                    }                    
                }
                if (lFound) {
                    var l_InfoRequired;
                    if(ms_InfoRequired) {
                        l_InfoRequired = ms_InfoRequired + ' ';
                    } else {
                        l_InfoRequired = '';
                    }
                    getRefToObject('Logo' + aSearchers[i][1]).style.display = 'block';
                    
                    if (!SixClientStyle) getRefToObject('GO' + aSearchers[i][1]).src = '/images/compareprices.gif';
                    getRefToObject('Logo' + aSearchers[i][1]).title = aSearchers[i][6];
                    if (!SixClientStyle) getRefToObject('GO' + aSearchers[i][1]).alt = aSearchers[i][6];
                    if (document.forms.FlightMetaSearch['DestinationL1'].selectedIndex != 0) {
                        getRefToObject('directurl' + aSearchers[i][1]).value = '';
                    }
                }
                else if(aSearchers[i][0] != '') { //MKC20100504 only disable items that are actual flight clients
                    getRefToObject('Logo' + aSearchers[i][1]).style.display = 'none';
                }
                aSearchers[i][4] = lDep;
                aSearchers[i][5] = lArr;
            }

			if (!SixClientStyle) {

				if (TotalClients < 5 && document.getElementById("Logooverturetopofferflin"))
				    document.getElementById("Logooverturetopofferflin").style.display = "block";
				else
				    document.getElementById("Logooverturetopofferflin").style.display = "none";

				if (TotalClients < 5 && document.getElementById("Logooverturefeelingluckyflin"))
				    document.getElementById("Logooverturefeelingluckyflin").style.display = "block";
				else
				    document.getElementById("Logooverturefeelingluckyflin").style.display = "none";

				if (TotalClients < 5 && document.getElementById("Logooverturelastminuteflin"))
				    document.getElementById("Logooverturelastminuteflin").style.display = "block";
				else
				    document.getElementById("Logooverturelastminuteflin").style.display = "none";
            } else {
				if (TotalClients < 6 && document.getElementById("Logooverturetopofferflin"))
				    document.getElementById("Logooverturetopofferflin").style.display = "block";
				else
				    document.getElementById("Logooverturetopofferflin").style.display = "none";

				if (TotalClients < 5 && document.getElementById("Logooverturefeelingluckyflin"))
				    document.getElementById("Logooverturefeelingluckyflin").style.display = "block";
				else
				    document.getElementById("Logooverturefeelingluckyflin").style.display = "none";

				if (TotalClients < 4 && document.getElementById("Logooverturelastminuteflin"))
				    document.getElementById("Logooverturelastminuteflin").style.display = "block";
				else
				    document.getElementById("Logooverturelastminuteflin").style.display = "none";            
            }  
         } 
     }
 }
 
 function getXMLContentsIntoOptions(http_request, rDestObj) {


    var sDefaultDesc = rDestObj.options[0].innerHTML;
    var lSelected = '';
    var preselected = false;
    var t;
     
     if (http_request.readyState == 4) {
         if (http_request.status == 200) {
             //MKC20080909 hack to display "check prices" image when no more locations are available
             //at which point the root nodes will be 10 characters apart 
             if (http_request.responseText.indexOf('/root') - http_request.responseText.indexOf('root') == 10){
                try{
    
                    if (document.getElementById("flightsfound"))
                    {            
                        document.getElementById("flightsfound").style.display = "block";
                    }       
                    if (document.getElementById("flightsfound2"))
                    {            
                        document.getElementById("flightsfound2").style.display = "block";
                    }       
                }
                catch(e){}             
             }

            var xmldoc;
            xmldoc = http_request.responseXML;
            
            rDestObj.disabled = true;
            rDestObj.options.length = 0;
            rDestObj.options[0] = new Option (sDefaultDesc, -1);

            for(i=0;(xmldoc.getElementsByTagName('value')[i]);i++) {
                if ( (xmldoc.getElementsByTagName('display')[i].firstChild) && (xmldoc.getElementsByTagName('value')[i].firstChild) ) {
                    rDestObj.options[rDestObj.options.length] = new Option (xmldoc.getElementsByTagName('display')[i].firstChild.data, xmldoc.getElementsByTagName('value')[i].firstChild.data);
                    //MKC20060928 pre-select country option from the URL
                    var selectedoption = xmldoc.getElementsByTagName('display')[i].getAttribute('s')
                    if (selectedoption != null) 
                    {                       
                        if (selectedoption == 1) {
                          rDestObj.options[rDestObj.options.length - 1].selected = 'selected';
                          switch( getRefToObject('CurrentLevel').value) {
                              case "1":
                                  fArrivalsL1OnChange(getRefToObject('DestinationL1')); 
                                  break;
                              case "2":
                                  fArrivalsL2OnChange(getRefToObject('DestinationL2'));                    
                                  break;
                              case "3":
                                  fArrivalsL3OnChange(getRefToObject('DestinationL3'));                    
                                  break;
                              case "4":
                                  fArrivalsL4OnChange(getRefToObject('DestinationL4'));                    
                                  break;
                          }
                        }
                    }
                }
            }
            
            //MKC20060928 If there's only one option then preselect it and load the next level of options
            if (i == 1) {
                rDestObj.options[1].selected = 'selected';
                switch( getRefToObject('CurrentLevel').value) {
                    case "1":
                        fArrivalsL1OnChange(getRefToObject('DestinationL1'));                    
                        break;
                    case "2":
                        fArrivalsL2OnChange(getRefToObject('DestinationL2'));                    
                        break;
                    case "3":
                        fArrivalsL3OnChange(getRefToObject('DestinationL3'));                    
                        break;
                    case "4":
                        fArrivalsL4OnChange(getRefToObject('DestinationL4'));                    
                        break;
                }
            }
            
            rDestObj.disabled = false;
            rDestObj.style.display = '';
            if(getRefToObject('WaitingFor' + rDestObj.name)) {getRefToObject('WaitingFor' + rDestObj.name).style.display = 'none';}
       }
     }

     if (rDestObj.options.length < 2) {
        rDestObj.disabled = true;
        rDestObj.style.display = 'none';
     }
 }
 

var xmlHttpAFS;
var totalCount;
totalCount = 0;

function makeStraightRequest(str)
{    
    totalCount = totalCount + 2;
    if ((!document.getElementById('gafsno')) || (totalCount > 1)) {
      var randomnumber=Math.floor(Math.random()*1001);
      document.getElementById("gafsno").innerHTML = '';
      document.getElementById("gafsno").style.display = 'block';
      document.getElementById("gafsno").innerHTML = '<iframe name="AFSif" id="AFSif" src="/Includes/AFS1.asp?q=' + escape(str) + '&rnd=' + randomnumber + '&siteid=FLIN" width="450px" height="230px" scrolling="no" frameborder="0" marginwidth="0" marginheight="0" ></iframe>';
    }        
    if ((!document.getElementById('tzMarq')) || (totalCount > 1)) {
      document.getElementById("tzMarq").src = '/tzMarq.asp?q=' + escape(str);
    }
} 
    
function ToggleReturnDate() {
    if (document.getElementById("ReturnBlock").style.display == "block") {
        document.getElementById("ReturnBlock").style.display = "none";
        document.getElementById("ReturnBlock2").style.display = "none";
    } else {
        document.getElementById("ReturnBlock").style.display = "block";
        document.getElementById("ReturnBlock2").style.display = "block";
    }
}
function switchFlightMode(flightMode)
{
	if (flightMode == 'return')
	{
		document.getElementById('flightReturn').style.display = '';
	}
	else
	{
		document.getElementById('flightReturn').style.display = 'none';
	}
}
    
function AnyChecked(){
	var AnyChecked = false;
    for (i=0;i<=NoOfSearchers-1;i++) {
		if (getRefToObject('Logo' + aSearchers[i][1]).style.display == 'block' && getRefToObject('Checkbox' + aSearchers[i][1]).checked == 1)
			AnyChecked = true;
	}

	if (!AnyChecked)
		LaunchAll()

	if (document.forms['FlightMetaSearch']['DepartFrom'].selectedIndex == 0) {
        alert('Please select a departure location');
        AnyChecked = false;
    }

    if (document.forms['FlightMetaSearch']['DestinationL1'].selectedIndex == 0) {
        alert('Please select a destination');
        AnyChecked = false;
    }

    var Today = new Date();

    var ms_DepartDate = document.forms['FlightMetaSearch']['DepartDate'].value;
    var ms_DepartDay   = ms_DepartDate.substring(0,ms_DepartDate.indexOf('-'));
    var ms_DepartMonth = ms_DepartDate.substring(ms_DepartDate.indexOf('-') + 1, ms_DepartDate.indexOf('-', ms_DepartDate.indexOf('-') + 1));
    var ms_DepartYear  = ms_DepartDate.substring(ms_DepartDate.indexOf('-', ms_DepartDate.indexOf('-') + 1) + 1);   
	var DepartDate = new Date(ms_DepartYear, ms_DepartMonth - 1, ms_DepartDay);

	if (DepartDate < Today) {
		alert('Please select a departure date on or after today.');
		AnyChecked = false;
	}

    var ms_RetDate = document.forms['FlightMetaSearch']['ReturnDate'].value;
    var ms_RetDay   = ms_RetDate.substring(0,ms_RetDate.indexOf('-'));
    var ms_RetMonth = ms_RetDate.substring(ms_RetDate.indexOf('-') + 1, ms_RetDate.indexOf('-', ms_RetDate.indexOf('-') + 1));
    var ms_RetYear  = ms_RetDate.substring(ms_RetDate.indexOf('-', ms_RetDate.indexOf('-') + 1) + 1);   
	var ReturnDate = new Date(ms_RetYear, ms_RetMonth - 1, ms_RetDay);

    var ms_OneWay = document.forms['FlightMetaSearch']['OneWayOnly'][0].checked;

    if (!ms_OneWay && ReturnDate < DepartDate) {
		alert('Please select a return date on or after the departure date.');
		AnyChecked = false;
	}
	
	return AnyChecked
}

function LaunchWindows(){
	//attmept to open all windows. if second one isn't open after one second then show the modal dialogue
	var Count = 0
	var SecondWindow = ''
 
	var IndexesToOpen = []
 
	var formsCollection = document.getElementsByTagName('form'); 
	for(var i=2;i< formsCollection.length;i++) //the top client is the third form on the page THIS COULD CHANGE!!
	{ 
		if (getRefToObject('Logo' + formsCollection[i].name.toLowerCase()).style.display == 'block' && getRefToObject('Checkbox' + formsCollection[i].name.toLowerCase()).checked == 1){
				
			IndexesToOpen[Count] = i
			Count = Count + 1
			if (Count == 2){
				SecondWindow = formsCollection[i].name
			}	
		}
	}

	TranslateInputs(formsCollection[IndexesToOpen[0]].name) 
	for (i=1;i<=Count-1;i++) {
		TranslateInputs(formsCollection[IndexesToOpen[i]].name)
		
	}

	if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1 || navigator.appName == 'Microsoft Internet Explorer') {
		ShowModal(false)
	} else if (SecondWindow != '') {	 //show modal dislogue if a second window hasn't popped up after three seconds		
		eval( "var t2=setTimeout('if( typeof(" + SecondWindow + "Win) == \"undefined\" && IsValidSearch) ShowModal(false)', 4000);");	
	}
}

function LaunchAll(){
	//attmept to open all windows. if second one isn't open after one second then show the modal dialogue
	var Count = 0
	var SecondWindow = ''

	var IndexesToOpen = []
  
	var formsCollection = document.getElementsByTagName('form'); 
	for(var i=2;i< formsCollection.length;i++) //the top client is the third form on the page THIS COULD CHANGE!!
	{ 
		if (getRefToObject('Logo' + formsCollection[i].name.toLowerCase()).style.display == 'block'){

			IndexesToOpen[Count] = i
			Count = Count + 1
			if (Count == 2){
				SecondWindow = formsCollection[i].name
			}	
		}
	}

	TranslateInputs(formsCollection[IndexesToOpen[0]].name) 
	for (i=1;i<=Count-1;i++) {
		TranslateInputs(formsCollection[IndexesToOpen[i]].name)
		
	}

	//show modal dislogue if a second window hasn't popped up after three seconds
	if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1 || navigator.appName == 'Microsoft Internet Explorer') {
		ShowModal(true)
	} else if (SecondWindow != '') {			
		eval( "var t2=setTimeout('if( typeof(" + SecondWindow + "Win) == \"undefined\" && IsValidSearch) ShowModal(true)', 4000);");	
	}
}

function ShowModal(NoneChecked){
	document.getElementById('box').innerHTML = '<div style="width:14px;height:15px;border:1px solid black;position:relative;top:0;left:185px;"><span style="cursor:pointer" onclick="hm(\'box\');okSelected()">&nbsp;X</span></div>'
	document.getElementById('box').innerHTML = document.getElementById('box').innerHTML + 'Your pop-up blocker is on! Click on the logos below to complete all your searches'
	if (NoneChecked)
		CopyAllClients();
	else
		CopyActiveClients();
	
	sm('box',200,350);
}
function okSelected() {
	document.getElementById('box').innerHTML = ''
}
function ToggleCheckbox(FormName) {

	if(getRefToObject('Checkbox' + FormName).checked == 1)
		getRefToObject('Checkbox' + FormName).checked = 0
	else
		getRefToObject('Checkbox' + FormName).checked = 1
	
}

function CopyActiveClients() {

	var formsCollection = document.getElementsByTagName('form'); 
	for(var i=2;i< formsCollection.length;i++) 
	{ 
		if (getRefToObject('Logo' + formsCollection[i].name.toLowerCase()).style.display == 'block' && getRefToObject('Checkbox' + formsCollection[i].name.toLowerCase()).checked == 1)
			document.getElementById('box').innerHTML = document.getElementById('box').innerHTML + '<div onclick="TranslateInputs(\'' + formsCollection[i].name + '\');"><img style="border:1px solid #a9a995;margin-top:0px;cursor:pointer;" src="http://images.uknetguide.co.uk/PartnerLogos/' + formsCollection[i].name + '.gif" width="151" height="33" /></div>' + '<br/>'
	}
}	

function CopyAllClients() {

	var formsCollection = document.getElementsByTagName('form'); 
	for(var i=2;i< formsCollection.length;i++) 
	{ 
		if (getRefToObject('Logo' + formsCollection[i].name.toLowerCase()).style.display == 'block')
			document.getElementById('box').innerHTML = document.getElementById('box').innerHTML + '<div onclick="TranslateInputs(\'' + formsCollection[i].name + '\');"><img style="border:1px solid #a9a995;margin-top:0px;cursor:pointer;" src="http://images.uknetguide.co.uk/PartnerLogos/' + formsCollection[i].name + '.gif" width="151" height="33" /></div>' + '<br/>'
	}
}	

function fAreasOnChange(obj) {
    switch(obj.value)
    {
    case "1":
      document.getElementById("FromUK").style.display = 'block'
      document.getElementById("NotFromUK").style.display = 'none'
      document.getElementById("FromUKtext").style.display = 'block'
      document.getElementById("NotFromUKtext").style.display = 'none'
      document.getElementById("FromUKRHS").style.display = 'block'
      document.getElementById("NotFromUKRHS").style.display = 'none'
      break;    
    case "2":
      document.getElementById("FromUK").style.display = 'none'
      document.getElementById("NotFromUK").style.display = 'block'
      document.getElementById("FromUKtext").style.display = 'none'
      document.getElementById("NotFromUKtext").style.display = 'block'
      document.getElementById("FromUKRHS").style.display = 'none'
      document.getElementById("NotFromUKRHS").style.display = 'block'
      break;
    case "3":
      document.getElementById("FromUK").style.display = 'none'
      document.getElementById("NotFromUK").style.display = 'block'
      document.getElementById("FromUKtext").style.display = 'none'
      document.getElementById("NotFromUKtext").style.display = 'block'
      document.getElementById("FromUKRHS").style.display = 'none'
      document.getElementById("NotFromUKRHS").style.display = 'block'
      break;
    } 
}

function TransformInputs(formdata) {

    var ms_DepartDate = formdata['FromDate'].value;
    var ms_DepartDay   = ms_DepartDate.substring(0,ms_DepartDate.indexOf('-'));
    var ms_DepartMonth = ms_DepartDate.substring(ms_DepartDate.indexOf('-') + 1, ms_DepartDate.indexOf('-', ms_DepartDate.indexOf('-') + 1));
    var ms_DepartYear  = ms_DepartDate.substring(ms_DepartDate.indexOf('-', ms_DepartDate.indexOf('-') + 1) + 1);

    var ms_RetDate = formdata['ToDate'].value;
    var ms_RetDay   = ms_RetDate.substring(0,ms_RetDate.indexOf('-'));
    var ms_RetMonth = ms_RetDate.substring(ms_RetDate.indexOf('-') + 1, ms_RetDate.indexOf('-', ms_RetDate.indexOf('-') + 1));
    var ms_RetYear  = ms_RetDate.substring(ms_RetDate.indexOf('-', ms_RetDate.indexOf('-') + 1) + 1);

	formdata.departure_month.value = TwoDigitMonths[ms_DepartMonth - 1] + ' ' + ms_DepartYear
	formdata.departure_day.value = ms_DepartDay
	
	formdata.return_month.value = TwoDigitMonths[ms_RetMonth - 1] + ' ' + ms_RetYear
	formdata.return_day.value = ms_RetDay

}
