var gStartDate  		= new Date();
var gDaysArr    		= new Array();
var gDepTimeArr   	= new Array();
var gArrTimeArr   	= new Array();
var gTimeRouteArr   	= new Array();
var gRouteGroup   	= new Object();
var gMaxDay 	     	= new Object();
var gMaxMth	      	= new Object();
var gMaxYer    	  	= new Object();
var gTimeRoute       = new Object();
var gMaxPax       	= 9;	
var gOpacity			= 0.50;
var gLng             = $('#Language').val();

gRouteGroup.Out 	= new Array();
gRouteGroup.Ret	= new Array("-", "$");
gTimeRoute.Out    = new Array();
gTimeRoute.Ret    = new Array();
gStartDate.setYear(QandBStartYear);
gStartDate.setMonth(QandBStartMonth -1);
gStartDate.setDate(QandBStartYear);
Cufon.replace('.cufon');
//******************************************************
$(document).ready(function(){   
	$('#PromoCode').val(QandBPromotion);
	$('#QnBTitle').addClass('QnBHeader' + gLng);
	$('#Continue' + gLng).show();
	BuildDefaultText();
	BuildRouteGroups();
	BuildPaxDDL('Adult');
	BuildPaxDDL('Child');
	BuildPaxDDL('Infant');
	BuildVehDDL();
	$('#OutJourney').change(setRetJourney);
	$('#Continue' + gLng).click(submitQuote);
	$('#OneWay').click(showReturn);
	$('#Return').click(showReturn);
	$('#Foot').click(showVehicle);
	$('#Vehicle').click(showVehicle);
	$('#Trailer').change(setTrailerLen);
	$('#OutDate').change(setRetDate);

	$('#OutAdult').bind('change', 	{PaxId: 'Adult'}, setRetPax);
	$('#OutChild').bind('change',		{PaxId: 'Child'}, setRetPax);
	$('#OutInfant').bind('change', 	{PaxId: 'Infant'},setRetPax);

	$('#RetAdult').attr('disabled', true);
	$('#RetChild').attr('disabled', true);
	$('#RetInfant').attr('disabled', true);

	showVehicle();
	showReturn();
});
//******************************************************
function BuildDefaultText() {
var lToday = new Date();
	$('#QnBTitle').html(Page[gLng].QuoteAndBook);

	$('#OutJourneyTxt').html(Page[gLng].OutJourney);
	$('#OutDateTxt').html(Page[gLng].Date);
	$('#OutAdultTxt').html(Page[gLng].Adult);
	$('#OutChildTxt').html(Page[gLng].Child);
	$('#OutInfantTxt').html(Page[gLng].Infant);
	$('#ReturnTxt').html(Page[gLng].Return);
	$('#OneWayTxt').html(Page[gLng].OneWay);

	$('#RetJourneyTxt').html(Page[gLng].RetJourney);
	$('#RetDateTxt').html(Page[gLng].Date);
	$('#RetAdultTxt').html(Page[gLng].Adult);
	$('#RetChildTxt').html(Page[gLng].Child);
	$('#RetInfantTxt').html(Page[gLng].Infant);

	$('#AdultText').val(Page[gLng].Adult);
	$('#ChildText').val(Page[gLng].Child);
	$('#InfantText').val(Page[gLng].Infant);

	$('#VehicleTxt').html(Page[gLng].Vehicle);
	$('#FootTxt').html(Page[gLng].Foot);

	$('#ShowVehicleType').html(Page[gLng].VehicleTypeHelp);
	$('#ShowVehicleType').attr('title', Page[gLng].VehicleTypeHelp);

	$('#RearRackTxt').html(Page[gLng].RearRack);
	$('#CaravanText').html(Page[gLng].Trailer);

	$('#ShowExtras').html(Page[gLng].NeedHelp);
	$('#ShowExtras').attr('title', Page[gLng].NeedHelp);

	// $('#Continue').html(Page[gLng].Continue);
	$('#Continue').attr('title',Page[gLng].Continue);

	$('#HelpVehicleTitle').html(HelpText[gLng].VehicleTitle)
	$('#HelpVehicleP1').html(HelpText[gLng].HelpVehicleP1)
	$('#HelpVehicleP2').html(HelpText[gLng].HelpVehicleP2)
	$('#HelpVehicleP3').html(HelpText[gLng].HelpVehicleP3)
	$('#HelpVehicleP4').html(HelpText[gLng].HelpVehicleP4)

	$('#HelpExtrasTitle').html(HelpText[gLng].HelpExtrasTitle)
	$('#HelpExtrasP1').html(HelpText[gLng].HelpExtrasP1)

	$('#VehTypeTitle1').html(HelpText[gLng].VehTypeTitle1)
	$('#VehTypeTitle2').html(HelpText[gLng].VehTypeTitle2)
	$('#VehTypeTitle3').html(HelpText[gLng].VehTypeTitle3)
	$('#VehTypeTitle4').html(HelpText[gLng].VehTypeTitle4)

	$('#VehTypeText1').html(HelpText[gLng].VehTypeText1)
	$('#VehTypeText2').html(HelpText[gLng].VehTypeText2)
	$('#VehTypeText3').html(HelpText[gLng].VehTypeText3)
	$('#VehTypeText4').html(HelpText[gLng].VehTypeText4)

	// Image Rollover
	$(function() {
		$('.rollover').hover(function() {
			var currentImg = $(this).attr('src');
			$(this).attr('src', $(this).attr('hover'));
			$(this).attr('hover', currentImg);
		}, function() {
			var currentImg = $(this).attr('src');
			$(this).attr('src', $(this).attr('hover'));
			$(this).attr('hover', currentImg);
		});
	});
	
	// Date picker
	if ($('.datepicker').length) {
		$(".datepicker").datepicker({
			dateFormat: 'dd/mm/yy',
			minDate: lToday,
			maxDate: gMaxDate,
			dayNamesMin:Days[gLng],
			monthNames: LongMonths[gLng]
		});
	}
	
	// Fancybox
	$("a#ShowVehicleType, a#ShowExtras").fancybox({
		'overlayOpacity': 0.7,
		'overlayColor': '#000',
		'titleShow': false,
		'showCloseButton': false,
		'hideOnContentClick': false,
		'padding': 15
	});
}
//******************************************************
function setRetJourney() {
	if ($('#OutJourney').attr('selectedIndex') > 0) {
		for (var lRGIdx in RouteGroups[gLng]) {
			if (RouteGroups[gLng][lRGIdx][0] == $('#OutJourney').val()) {
				$('#RetJourney').val(RouteGroups[gLng][lRGIdx][4]);
			}
		}
	}
}
//******************************************************
function setRetDate() {
var lOutDate	= new Date($("#OutDate").val().split("/")[2], $("#OutDate").val().split("/")[1] - 1, $('#OutDate').val().split("/")[0])
var lRetDate	= new Date($("#RetDate").val().split("/")[2], $("#RetDate").val().split("/")[1] - 1, $('#RetDate').val().split("/")[0])

	if ($('#OutDate').val() != '' && $('#RetDate').val() == '') {
		$('#RetDate').val($('#OutDate').val());
		$("#RetDate").datepicker("change", {minDate: lOutDate});
	}

	if (lOutDate != 'NaN' && lRetDate != 'NaN' && lRetDate < lOutDate) {
		$('#RetDate').val($('#OutDate').val());
		$("#RetDate").datepicker("change", {minDate: lOutDate});
	}
}
//******************************************************
function setRetPax(pObj) {
	if ($('#Return').attr('checked')) {
		$('#Ret' + pObj.data.PaxId).val($('#Out' + pObj.data.PaxId).val());
	}
}
//******************************************************
function BuildPaxDDL(pPaxType) {
	$("#Out" + pPaxType).removeOption(/./);
	for (var lPaxNo=0;lPaxNo <= gMaxPax;lPaxNo++) {
		 $("#Out" + pPaxType).addOption(lPaxNo, lPaxNo, false);
		 $("#Ret" + pPaxType).addOption(lPaxNo, lPaxNo, false);
	}
}
//******************************************************
function BuildVehDDL() {
var lCtgId	= '';
var lName	= '';
	$("#VehicleType").removeOption(/./);
	$("#VehicleType").addOption('', Page[gLng].SelectVehType, false);

	$("#Trailer").removeOption(/./);
	$("#Trailer").addOption('', Page[gLng].Trailer, false);

	$("#TrailerLen").removeOption(/./);
	$("#TrailerLen").addOption('-', Page[gLng].SelectTrlLen, false);

	for (var lVehIdx in Vehicles[gLng]) {
		lCtgId	= Vehicles[gLng][lVehIdx][1];
		lName		= Vehicles[gLng][lVehIdx][2];

		if (Vehicles[gLng][lVehIdx][3] == '1') {
			$("#VehicleType").addOption(lCtgId + '_' + lVehIdx, lName, false);
		}

		if (Vehicles[gLng][lVehIdx][3] == '0') {
			$("#Trailer").addOption(lCtgId + '_' + lVehIdx, lName, false);
		}
	}
}
//******************************************************
function BuildRouteGroups() {
var lRGCode = '';
var lRGname = '';
	$("#OutJourney").removeOption(/./);
	$("#RetJourney").removeOption(/./);
	$("#OutJourney").addOption('', Page[gLng].SelectOut, false);
	$("#RetJourney").addOption('', Page[gLng].SelectRet, false);

	for (var lRGIdx in RouteGroups[gLng]) {
		lRGCode = RouteGroups[gLng][lRGIdx][0];
		lRGName = RouteGroups[gLng][lRGIdx][1];
		$("#OutJourney").addOption(lRGCode, lRGName, false);
		$("#RetJourney").addOption(lRGCode, lRGName, false);
	}
}
//******************************************************
function quickQuoteValid() {
var lOutDate	= new Date($("#OutDate").val().split("/")[2], $("#OutDate").val().split("/")[1] -1, $('#OutDate').val().split("/")[0])
var lRetDate	= new Date($("#RetDate").val().split("/")[2], $("#RetDate").val().split("/")[1] -1, $('#RetDate').val().split("/")[0])
var lToday		= new Date();
var lMessage		= '';
var lTotalPaxOut	= 0;
var lTotalPaxRet	= 0;
	if ($('#OutJourney').val() == '') 		lMessage += Messages[gLng].NoOutRoute;
	if ($('#OutDate').val() == '' || lOutDate == 'NaN') {
		lMessage += Messages[gLng].NoOutDate;
	} else {
		if ($('#OutDate').val().length < 10) {
			lMessage += Messages[gLng].DateFormat;
		} else {
			if (lOutDate < lToday)		lMessage += Messages[gLng].TooEarlyOut;
			if (lOutDate > gMaxDate)	lMessage += Messages[gLng].TooLateOut;
		}
	}
	if ($('#OutAdult').val() == 0)			lMessage += Messages[gLng].NoAdultOut;

	if ($('#Return').attr('checked')) {
		if ($('#RetJourney').val() == '') 		lMessage += Messages[gLng].NoRetRoute;
		if ($('#RetDate').val() == '' || lRetDate == 'NaN') {
			lMessage += Messages[gLng].NoRetDate;
		} else {
			if ($('#RetDate').val().length < 10) {
				lMessage += Messages[gLng].DateFormat;
			} else {
				if (lRetDate < lToday)		lMessage += Messages[gLng].TooEarlyRet;
				if (lRetDate > gMaxDate)	lMessage += Messages[gLng].TooLateRet;
			}
		}
		if ($('#RetAdult').val() == 0)			lMessage += Messages[gLng].NoAdultRet;
	}


	lTotalPaxOut += ($('#OutAdult').val() * 1) + ($('#OutChild').val() * 1) + ($('#OutInfant').val() * 1);
	lTotalPaxRet += ($('#RetAdult').val() * 1) + ($('#RetChild').val() * 1) + ($('#RetInfant').val() * 1);

	if (lTotalPaxOut > 9) lMessage += Messages[gLng].MaxPaxOut;
	if (lTotalPaxRet > 9) lMessage += Messages[gLng].MaxPaxRet;

	if ($('#Vehicle').attr('checked')) {
		if ($('#VehicleType').val() == '')			lMessage += Messages[gLng].NoVehicle;
	}

	if (lMessage != '') {
		alert(lMessage)
		return false;
	}
	if (lRetDate.getTime() < lOutDate.getTime()) {
		alert(Messages[gLng].BadDate);
		return false;
	}
	return true;
}
//******************************************************
function showVehicle() {
var lShow = $('#Foot').attr('checked');

	$('#VehicleType').attr('disabled', lShow);
	$('#RearRack').attr('disabled', lShow);
	$('#Trailer').attr('disabled', lShow);
	$('#TrailerLen').attr('disabled', lShow);
	$('#ShowExtras').attr('disabled', lShow);
	$('#ShowVehicleType').attr('disabled', lShow);
	if (lShow) {
		$('#ShowVehicleType').fadeTo('fast', 0.5);
		$('#ShowExtras').fadeTo('fast', 0.5);
		$('#RearRackTxt').fadeTo('fast', 0.5);
		$('#VehicleType').fadeTo('fast', 0.5);
		$('#Trailer').fadeTo('fast', 0.5);
		$('#TrailerLen').fadeTo('fast', 0.5);
	} else {
		$('#ShowVehicleType').fadeTo('fast', 1);
		$('#ShowExtras').fadeTo('fast', 1);
		$('#RearRackTxt').fadeTo('fast', 1);
		$('#VehicleType').fadeTo('fast', 1);
		$('#Trailer').fadeTo('fast', 1);
		$('#TrailerLen').fadeTo('fast', 1);
	}
}
//*************************************************************************
function setTrailerLen() {
var lTrailer	= $('#Trailer').val();
var lTrailerText = '';
	$('#TrailerLen').removeOption(/./);

	if (lTrailer == '') {
		$("#TrailerLen").addOption('-', Page[gLng].SelectTrlLen, false);
		return;
	}
	for (var lVehIdx in Vehicles[gLng]) {
		if (lTrailer == Vehicles[gLng][lVehIdx][1] + '_' + lVehIdx) {
			lTrailerText = Messages[gLng].MaxLength + Vehicles[gLng][lVehIdx][8] + Messages[gLng].LengthUnits;
			break;
		}
	}

	$('#TrailerLen').addOption(Vehicles[gLng][lVehIdx][4], lTrailerText, false);
}
//******************************************************
function showReturn() {
var lShow = $('#OneWay').attr('checked');

	$('#RetJourney').attr('disabled', lShow);
	$('#RetDate').attr('disabled', lShow);

	if (lShow) {
		$('#RetAdult').val(0);
		$('#RetChild').val(0);
		$('#RetInfant').val(0);
	} else {
		$('#RetAdult').val($('#OutAdult').val());
		$('#RetChild').val($('#OutChild').val());
		$('#RetInfant').val($('#OutInfant').val());
	}
}
//******************************************************
function submitQuote() {
var lOutIdx = $('#OutJourney').attr('selectedIndex') -1;
var lRetIdx = $('#RetJourney').attr('selectedIndex') -1;

	if (quickQuoteValid() == false) return;

	$('#OutDepPortId').val(RouteGroups[gLng][lOutIdx][2])
	$('#OutArrPortId').val(RouteGroups[gLng][lOutIdx][3])

	if ($('#Return').attr('checked')) {
		$('#RetDepPortId').val(RouteGroups[gLng][lRetIdx][2])
		$('#RetArrPortId').val(RouteGroups[gLng][lRetIdx][3])
	}

	if ($('#Foot').attr('checked')) {
		$('#VehicleId').val('none');
		$('#VehicleName').val('');
		$('#TrailerName').val('');
	} else {
		$('#VehicleId').val($('#VehicleType').val().split('_')[0]);
		$('#VehicleName').val($('#VehicleType :selected').text());
		$('#TrailerName').val($('#Trailer :selected').text());
	}

	$('#AgmstId').val(QandBAgmstId);
	$('#SubmitType').val('Quote');

	// set form action
	$("#aspnetForm").attr('action', 'http://www.condorbooking.co.uk/ExtResNew/GotoSearch.asp');
	$("#aspnetForm").attr('method', 'post');

    // google analytics
	$('#aspnetForm').removeAttr('onsubmit').submit(function () {
	    _gaq.push(['_linkByPost', this]);
	});

	document.aspnetForm.submit();
}
