var bIsHomepage;
var bIsMobile;
bIsMobile = false;
var msRootDomain;

msRootDomain = "iwantthatflight.com.au";

function iwtfwidget_OneWayReturnSet()
{
$("#iwtfwidget_tdReturn").children().attr('disabled',$("input[id$='iwtfwidget_blnXOne_Way']")[0].checked)
}

function iwtfwidget_DomesticInternational()
{

if ( $("input[id$='iwtfwidget_bInternational']")[0]) {
	if ( $("input[id$='iwtfwidget_bInternational']")[0].checked==true)
	    { iwtfwidget_InternationalSet();
	    } else
	    { iwtfwidget_DomesticSet();
	    }
}
	
}

function iwtfwidget_InternationalSet()
{
    $("input[id$='iwtfwidget_inpInternationalDestination']")[0].style.display='';
    $("select[id$='iwtfwidget_strXXDestination']")[0].style.display='none';
    bDomestic = false;
}

function iwtfwidget_DomesticSet()
{
    $("input[id$='iwtfwidget_inpInternationalDestination']")[0].style.display='none';
    $("select[id$='iwtfwidget_strXXDestination']")[0].style.display='';
    bDomestic = true;
}

function iwtfwidget_DatePickInit(DateLinkName,SelectName) {
$('#' + DateLinkName)
		.datePicker(
			// associate the link with a date picker
			{
				createButton:false, 
				verticalPosition:$.dpConst.POS_TOP, horizontalPosition:$.dpConst.POS_RIGHT
			}
		).bind(
			// when the link is clicked display the date picker
			'click',
			function()
			{
                $(this).dpSetSelected(iwtfwidget_GetComboDate(SelectName).asString());
				$(this).dpDisplay();
				return false;
			}
		).bind(
			// when a date is selected update the SELECTs
			'dateSelected',
			function(e, selectedDate, $td, state)
			{
				iwtfwidget_SetComboDate(SelectName,selectedDate);
				iwtfwidget_DatesCheck();
			}
        )
}

function SelectedOriginValue()
{

//should be able to use $("*[id$='iwtfwidget_strXXOrigin'] select") BUT IT WONT WORK!

var oSelect = $("*[id$='iwtfwidget_strXXOrigin']");
var iC;

for (iC=0;iC<oSelect.length;iC++)
	{
	if (oSelect[iC].id.substr(0, 3)=='ctl')
		{
		// alert(oSelect[iC].value);
		return oSelect[iC].value;
		}
	}
}

function SelectedValue(sControlID)
{

//should be able to use $("*[id$='iwtfwidget_strXXOrigin'] select") BUT IT WONT WORK!

var oSelect = $("*[id$='" + sControlID + "']");
var iC;

for (iC=0;iC<oSelect.length;iC++)
	{
	if (oSelect[iC].id.substr(0, 3)=='ctl')
		{
		// alert(oSelect[iC].value);
		return oSelect[iC].value;
		}
	}
}

function WidgetValidate()
    {
var sOrigin;
var sDestination;

    if (bIsHomepage==true)
	{
        	if ($("*[id$='iwtfwidget_inpInternationalOrigin']").val() == "")
            	{
            	alert('Please choose an Origin.');
            	return false;
           	}
		sOrigin = $("*[id$='iwtfwidget_inpInternationalOrigin']").val();


        	if ($("*[id$='iwtfwidget_inpInternationalDestination']").val() == "")
            	{
            	alert('Please choose a Destination.');
            	return false;
           	}
		sDestination = $("*[id$='iwtfwidget_inpInternationalDestination']").val();


        	if ($("*[id$='iwtfwidget_DepartDate']").val() == "Enter D/M/Y or Click Calendar Below" || $("*[id$='iwtfwidget_DepartDate']").val() == "")
            	{
            	alert('Please enter a Depart Date.');
            	return false;
           	}
	} 
     else
	{
    	
	if (IsFreeTextOrigin()==true)
		{
        	if ($("*[id$='iwtfwidget_inpInternationalOrigin']").val() == "")
            		{
            		alert('Please choose an Origin.');
            		return false;
           		}
		sOrigin = $("*[id$='iwtfwidget_inpInternationalOrigin']").val();
		} 
	else
		{
		if (SelectedOriginValue()=='-0')
        		{
        		alert('Please choose an Origin.');
        		return false;
        		}
		sOrigin = SelectedOriginValue();
		}

        
    	if (IsDomestic()==true)
        	{
        	if ($("*[id$='iwtfwidget_strXXDestination']").val() == "-0")
            		{
            		alert('Please choose a Destination.');
            		return false;
            		}
		sDestination = $("*[id$='iwtfwidget_strXXDestination']").val();
        	} 
	else
        	{
        	if ($("*[id$='iwtfwidget_inpInternationalDestination']").val() == "")
            		{
            		alert('Please choose a Destination.');
            		return false;
           		}
		sDestination = $("*[id$='iwtfwidget_inpInternationalDestination']").val();
        	}
	}

	if (sOrigin ==sDestination)
            	{
            	alert('Origin and Destination must be different.');
            	return false;
           	}

    SubmitInternationalWidgetValues();
    return true;
    }

function IsDomestic()
{
if ($("*[id$='iwtfwidget_bDomestic']").length>0)
	return $("*[id$='iwtfwidget_bDomestic']")[0].checked==true;
else
	{
	if ($("*[id$='iwtfwidget_strXXDestination']").length>0)
		{
		if ($("*[id$='iwtfwidget_strXXDestination']").css('display')=="none")
			return false;
		else
			return true;
		}
	else
		return false;
	}

}

function IsFreeTextOrigin()
{
	return ($("[id$='iwtfwidget_inpInternationalOrigin']").length>0);
}

function SubmitInternationalWidgetValues()
{
var sURL = 'http://' + msRootDomain + '/AffiliateWidgetNoFrame.aspx';
var sQS = '?submit=y';

sQS = sQS + '&domestic=' + bDomestic;
sQS = sQS + '&mobile=' + bIsMobile;

if (bIsHomepage==true || bIsMobile==true)
	{
	sQS = sQS + '&origin=' + encodeURIComponent( $("*[id$='iwtfwidget_inpInternationalOrigin']").val() );
	sQS = sQS + '&departdate=' + encodeURIComponent( $("*[id$='iwtfwidget_DepartDate']").val() );
	sQS = sQS + '&FullDatesSupplied=yes';


	if (bIsMobile==true)
		{
		sQS = sQS + '&site=Mobile';
		sQS = sQS + '&origincode=' + SelectedOriginValue().replace('#','');
		sQS = sQS + '&destinationcode=' + $("*[id$='iwtfwidget_strXXDestination']").val().replace('#','');

		if ($("input[id$='iwtfwidget_blnXXReturn']")[0].checked==true)
			sQS = sQS + '&returndate=' + encodeURIComponent( $("*[id$='iwtfwidget_ReturnDate']").val() );
		}
	else
		{
		sQS = sQS + '&site=HomePage';
		//user types free text for dates, so use whatever they have typed.
		sQS = sQS + '&returndate=' + encodeURIComponent( $("*[id$='iwtfwidget_ReturnDate']").val() );
		}

	if (bDomestic==false)
		{
		sQS = sQS + '&class=' + SelectedValue('iwtfwidget_strXXClass');
		
		if ($("*[id$='iwtfwidget_FlexibleDates']").length>0)
			sQS = sQS + '&flexibledates=' + $("*[id$='iwtfwidget_FlexibleDates']")[0].checked;
		}

	}
	else
	{
	if (IsFreeTextOrigin()==true)
		sQS = sQS + '&origin=' + encodeURIComponent( $("*[id$='iwtfwidget_inpInternationalOrigin']").val() );
	else
		sQS = sQS + '&origincode=' + SelectedOriginValue().replace('#','');

	if (IsDomestic()==true)
		sQS = sQS + '&destinationcode=' + $("*[id$='iwtfwidget_strXXDestination']").val().replace('#','');
	sQS = sQS + '&leavefromday=' + $("*[id$='iwtfwidget_LeaveFromDay']").val();
	sQS = sQS + '&leavefrommonthyear=' + $("*[id$='iwtfwidget_LeaveFromMonthYear']").val();
	sQS = sQS + '&returnfromday=' + $("*[id$='iwtfwidget_ReturnFromDay']").val();
	sQS = sQS + '&returnfrommonthyear=' + $("*[id$='iwtfwidget_ReturnFromMonthYear']").val();
	sQS = sQS + '&return=' + $("input[id$='iwtfwidget_blnXXReturn']")[0].checked;
	sQS = sQS + '&site=' + $("*[id$='iwtfwidget_hdnSite']").val();
	}
sQS = sQS + '&adults=' + $("*[id$='iwtfwidget_intXXAdults']").val();
sQS = sQS + '&children=' + $("*[id$='iwtfwidget_intXXChildren']").val();
sQS = sQS + '&infants=' + $("*[id$='iwtfwidget_intXXInfants']").val();
sQS = sQS + '&ref=' + encodeURIComponent(document.referrer);
if ($("*[id$='iwtfwidget_inpInternationalDestination']").length>0)
	sQS = sQS + '&destinationname=' + encodeURIComponent( $("*[id$='iwtfwidget_inpInternationalDestination']").val().replace('#','') );

if (bIsHomepage==true)
	{
	SetCookie('LastSearch_iwtfwidget_OtherAirlineZuji',$("*[id$='iwtfwidget_OtherAirlineZuji']")[0].checked);
	SetCookie('LastSearch_iwtfwidget_OtherAirlineExpedia',$("*[id$='iwtfwidget_OtherAirlineExpedia']")[0].checked);
	SetCookie('LastSearch_iwtfwidget_inpInternationalOrigin',$("*[id$='iwtfwidget_inpInternationalOrigin']").val());
	SetCookie('LastSearch_iwtfwidget_inpInternationalDestination',$("*[id$='iwtfwidget_inpInternationalDestination']").val());
	SetCookie('LastSearch_iwtfwidget_DepartDate',$("*[id$='iwtfwidget_DepartDate']").val());
	SetCookie('LastSearch_iwtfwidget_ReturnDate',$("*[id$='iwtfwidget_ReturnDate']").val());
	SetCookie('LastSearch_iwtfwidget_intXXAdults',$("*[id$='iwtfwidget_intXXAdults']").val());
	SetCookie('LastSearch_iwtfwidget_intXXChildren',$("*[id$='iwtfwidget_intXXChildren']").val());
	SetCookie('LastSearch_iwtfwidget_intXXInfants',$("*[id$='iwtfwidget_intXXInfants']").val());
	SetCookie('LastSearch_iwtfwidget_strXXClass',SelectedValue('iwtfwidget_strXXClass'));
	}


OtherSitesCompare(sURL+sQS,'iwtfwidget_OtherAirlineZuji');
OtherSitesCompare(sURL+sQS,'iwtfwidget_OtherAirlineExpedia');

//window.location=sURL+sQS;
top.location.href=sURL+sQS;

}

function OtherSitesCompare(sFullURL, sOTAControlID)
{
var oOtherWin;

//Check if the 'Other OTAs checkbox is visible
if ($("*[id$='" + sOTAControlID + "']").length==0)
	return true;

//Check if it is ticked
if ($("*[id$='" + sOTAControlID + "']").attr('checked')==false)
	return true;


sFullURL = sFullURL + '&ota=' + sOTAControlID.replace('iwtfwidget_OtherAirline','');
oOtherWin=window.open(sFullURL,'','toolbar=0,menubar=0,resizable=1,scrollbars=1,width=640,height=480');
oOtherWin.blur();
window.focus();
}

function iwtfwidget_GetComboDate(sID) {
    var iDay;
    var iMonth;
    var iYear;
    var dtDate;
    iDay=$("*[id$='iwtfwidget_" + sID + "Day']").val();
    iMonth = parseInt($("*[id$='iwtfwidget_" + sID + "MonthYear']").val().substring(0,2),10)-1;
    iYear = parseInt($("*[id$='iwtfwidget_" + sID + "MonthYear']").val().substring(2),10);
    dtDate = new Date(iYear,iMonth,iDay);
    if (dtDate.getDate()!=iDay)
        {
        alert('Sorry, that is not a valid date');
        while ( (new Date(iYear,iMonth,iDay)).getDate()!=iDay)
            iDay = iDay-1;
        dtDate = new Date(iYear,iMonth,iDay);
        iwtfwidget_SetComboDate(sID,dtDate);
        }
    return dtDate;
    }
    function iwtfwidget_SetComboDate(sID,dtNewDate) {
    $("*[id$='iwtfwidget_" + sID + "Day']").val(dtNewDate.getDate());
    var sMonthYear = iwtfwidget_Right("00" + String(dtNewDate.getMonth()+1),2); 
    sMonthYear = sMonthYear + String(dtNewDate.getFullYear());
    $("*[id$='iwtfwidget_" + sID + "MonthYear']").val(sMonthYear);
    }
    
    function iwtfwidget_Right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}

    function iwtfwidget_DateWithinYearCheck(sDateVals)
    {
    var NextYear = new Date();
    NextYear.setDate(NextYear.getDate() + 365) ;
    
    var dtDateVals = iwtfwidget_GetComboDate(sDateVals);
    if (dtDateVals>NextYear)
        {
        alert('Sorry, you cannot have dates more than a year away.');
        iwtfwidget_SetComboDate(sDateVals,NextYear);
        }
    }
    
    function iwtfwidget_DatesCheckAndReorder(sDateVals1,sDateVals2)
    {
    var dtDateVals1 = iwtfwidget_GetComboDate(sDateVals1);
    var dtDateVals2 = iwtfwidget_GetComboDate(sDateVals2);
    if (dtDateVals1>dtDateVals2)
        iwtfwidget_SetComboDate(sDateVals2,dtDateVals1);
    }

    function iwtfwidget_DatesCheck()
    {
    iwtfwidget_DateWithinYearCheck('LeaveFrom');
    iwtfwidget_DateWithinYearCheck('ReturnFrom');
    iwtfwidget_DatesCheckAndReorder('LeaveFrom','ReturnFrom');
    }

function iwtfwidget_findValue(li) {
	// if coming from an AJAX call, let's use the CityId as the value
	if( !!li.extra ) var sValue = li.extra[0];

	// otherwise, let's just display the value in the text box
	else var sValue = li.selectValue;
}

function iwtfwidget_selectItem(li) {
	iwtfwidget_findValue(li);
}


var bDomestic;

$(document).ready(function() {



if ($("[id$='_DepartDate']").length>0 && bIsMobile==false)
	bIsHomepage = true;
else
	bIsHomepage = false;

//The mobile page will set this itself
if (bIsMobile==false)
	bDomestic = false;

if (bIsHomepage==false && bIsMobile==false)
	{
	iwtfwidget_DatePickInit('iwtfwidget_LeaveFromDateLink','LeaveFrom');
	iwtfwidget_DatePickInit('iwtfwidget_ReturnFromDateLink','ReturnFrom');
	$("select[id$='iwtfwidget_LeaveFromDay']").bind('change',function() { iwtfwidget_DatesCheck()});
	$("select[id$='iwtfwidget_ReturnFromDay']").bind('change',function() { iwtfwidget_DatesCheck()});
	$("select[id$='iwtfwidget_LeaveFromMonthYear']").bind('change',function() { iwtfwidget_DatesCheck()});
	$("select[id$='iwtfwidget_ReturnFromMonthYear']").bind('change',function() { iwtfwidget_DatesCheck()});
	$("input[id$='iwtfwidget_blnXXReturn']")[0].checked=true;

	if ($("select[id$='iwtfwidget_strXXDestination']").length>0)
		{
     		if ($("select[id$='iwtfwidget_strXXDestination']")[0].style.display=='')
			bDomestic = true;
     		else
			bDomestic = false;
		}
	} 

	if ($("[id$='iwtfwidget_inpInternationalOrigin']").length>0)
		{
		$("input[id$='iwtfwidget_inpInternationalOrigin']").IWTFWidgetautocompleteArray(
			iwtfInternationalLocationList,
			{
			delay:10,
			minChars:1,
			matchSubset:1,
			autoFill:!bIsMobile,
			width:250,
			maxItemsToShow:10
			}
		);
		}



	if ($("[id$='iwtfwidget_inpInternationalDestination']").length>0)
		{
		$("input[id$='iwtfwidget_inpInternationalDestination']").IWTFWidgetautocompleteArray(
			iwtfInternationalLocationList,
			{
			delay:10,
			minChars:1,
			matchSubset:1,
			autoFill:!bIsMobile,
			width:250,
			maxItemsToShow:10
			}
		);
		}

});
