var selPriceValue = 0;
var typeOneWay = false;
var typeReturn = false;

function sortDateByTravelDate(travelStartDateArray)
{

	var travelStartDateCounter= new Array(travelStartDateArray.length);

	
	var travelStartDateArrayResult= sortDate(travelStartDateArray);
	for(var i=0; i< travelStartDateArrayResult.length; i++ )
	{
		var dDate =travelStartDateArrayResult[i];
		for(var j=0; j< travelStartDateArray.length; j++ )
		{
			if(dDate == travelStartDateArray[j])
			{
				travelStartDateCounter[i]=j;
				break;
			}
		}
	}
	return travelStartDateCounter;
}

function sortDate(travelStartDateArray)

{

	var travelStartDateArrayResult= new Array(travelStartDateArray.length);
	for(var i=0; i< travelStartDateArray.length; i++ )
	{
		var dDate=travelStartDateArray[i].substring(6,8)+travelStartDateArray[i].substring(3,5)+travelStartDateArray[i].substring(0,2);
		travelStartDateArrayResult[i] =dDate;
	}
	
	travelStartDateArrayResult= travelStartDateArrayResult.sort();
	
	for(var i=0; i< travelStartDateArray.length; i++ )
	{
		var dDate=travelStartDateArrayResult[i].substring(4,6)+"/"+travelStartDateArrayResult[i].substring(2,4)+"/"+travelStartDateArrayResult[i].substring(0,2);
		travelStartDateArrayResult[i] =dDate;
	}
	return travelStartDateArrayResult;
}

function invokeBBFlash(travelStartDates,travelEndDates, prices, rangeEndDate, today, currencyCode,currencySymbol,cityName, dealType, targetEl)
{
	var result1="<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
	var travelStartDateArray=travelStartDates.substring(1).split("+");
    var travelEndDateArray=travelEndDates.substring(1).split("+");
	var priceArray=prices.substring(1).split("+");
	var size=priceArray.length;
	var minPrice=priceArray[0];
	var maxPrice=priceArray[0];
	for(var i=0; i<size; i++ )
	{
		if(eval(minPrice) > eval(priceArray[i]) )
		{
			minPrice=priceArray[i];
		}
		
		if(eval(maxPrice) < eval(priceArray[i]) )
		{
			maxPrice=priceArray[i];
		}
	}

	var sortTravelStartDateArray = sortDate(travelStartDateArray);
	/*
		This got commented as today's date always should be current date.
		Kannan Pasupathy 09 November 2009
	*/
	//today = sortTravelStartDateArray[0];
	result1=result1+"<range rangeStartDate=\""+today+"\" rangeEndDate=\""+rangeEndDate+"\" rangeCurrencyCode=\""+ currencyCode+"\" rangeCurrencySymbol=\""+ currencySymbol+"\" rangeMinPrice=\""+ minPrice+"\" rangeMaxPrice=\""+ maxPrice+"\" rangeCityName=\"";
	//+ cityName +
	var result2 = "\" rangeDealType=\""+ dealType+"\" >";
	
	var travelStartDateCounter =sortDateByTravelDate(travelStartDateArray);

	for(var i=0; i<size;i++ )
	{
		var counter =travelStartDateCounter[i];
		result2=result2+"<deal price=\""+priceArray[counter]+"\" travelStartDate=\""+travelStartDateArray[counter]+ "\" travelEndDate=\""+travelEndDateArray[counter] +"\"/>";
	}
	
	result2=result2+"</range>";
	
	result1=escape(result1);
	result2=escape(result2);
	
	dealXMLStr="dealXML="+result1+cityName+result2;
	
	if ($j("#"+targetEl).prev().text() != 'Close')
	{
		closeGraph();
		$j("#"+targetEl).prev().text('Close');
		$j("#"+targetEl).prev().addClass('showAllActive');
		$j("#"+targetEl).show();	
		ieSelectFix($j("#"+targetEl));
		writeBBGraph("/flash/utils/graphs/dealPrices/graph_en_AU.swf", 500, 200, "Graph", "", targetEl, "", dealXMLStr);
	}
	else
	{
		closeGraph();
	}
}

function IconDetail(iconPath,iconText,saleDaysLeft,spotsaleId)
{

	this.iconPath=iconPath;
	this.iconText=iconText;
	this.saleDaysLeft=saleDaysLeft;
	this.spotsaleId=spotsaleId;
}

function toggleCheckbox()
{
	if ($j(this).attr('id')=='typeShowAll')
	{
		if($j(this).attr('checked'))
		{
			$j('#typeShowAll').attr('checked');
			$j('.typeSale').find('input[type=checkbox]').removeAttr('checked');
		}
		else
		{
			$j('#typeShowAll').removeAttr('checked');
			$j('.typeSale').find('input[type=checkbox]').attr('checked','true');
		}
	}
	else
	{
		if ($j('#typeSale1').attr('checked') ||
			$j('#typeSale2').attr('checked') ||
			$j('#typeSale3').attr('checked') ||
			$j('#typeSale4').attr('checked'))
		{
			$j('#typeShowAll').removeAttr('checked');
		}
		else
		{
			$j('#typeShowAll').attr('checked','true');
		}
	}
	
	checkIt();
	updateBBFilterSelections();
}

function slideIt()
{
	$j('.result').each(function(i){
		if(selPriceValue >= $j(this).find('.dynPrice').text())
		{
			$j(this).addClass('priceOk');
		}
		else
		{
			$j(this).removeClass('priceOk');
		}
	});
	
	redrawRows();		
	updateBBFilterSelections();
}

function checkIt()
{
	$j('.bulletinResults').children().removeClass('checkOk');
	
	$j('.filterBySaleType').find('input:checked').each(function(i){
		if ($j(this).attr('id')=='typeShowAll')
		{
			$j('.bulletinResults').children().addClass('checkOk');
		}
		else
		{	
			$j('.detailSale').find('.'+$j(this).attr('id')).each(function(a){
				$j(this).parent().parent().parent().parent().parent().parent().addClass('checkOk');
			});
		}
	});
	
	redrawRows();
}

function redrawRows()
{
	$j('#bulletinResults').children().each(function(i){
		$j(this).removeClass('alt');
		if( ($j(this).attr('class').indexOf('priceOk') >= 0) && ($j(this).attr('class').indexOf('checkOk') >= 0))
		{
			$j(this).addClass('displayOk');
			$j(this).slideDown();
		}
		else
		{
			$j(this).removeClass('displayOk');
			$j(this).slideUp();
		}
	});
	
	for (i=0; i < $j('#bulletinResults').children('.displayOk').length; i=i+2)
	{
		$j($j('#bulletinResults').children('.displayOk')[i]).addClass('alt');
	}
}



function toggleBooking()
{
		
	if($j(this).parents('.result').attr('class').indexOf('showForm') >= 0 )
	{
		$j('#resultForm').hide();
		$j(this).parents('.result').removeClass('showForm');
		$j('.detailBook').children('a').removeClass('active');
	}
	else
	{
		
		$j('#resultForm').hide();
		
		$j('#bulletinResults').children('.result').removeClass('showForm');
		$j('.detailBook').children('a').removeClass('active');
		
		$j(this).addClass('active');
		$j(this).parents('.resultDetails').after($j('#resultForm'));
		$j(this).parents('.result').addClass('showForm');
		
		// sets calendar object based on the leadtime value
		setCalendarObject($j(this).parent().children('.desCountryCode_string').text());

		$j('#destinationCity_value').text($j(this).parent().children('.desName_string').text());
		$j('#selectDestinationCity').attr('value',$j(this).parent().children('.desCode_string').text());

		$j('#resultForm').show();
		
		if (typeOneWay||typeReturn)
		{
			if(typeReturn)
			{
				typeOneWay = false;
				typeReturn = true;
			}
			else
			{
				typeOneWay = true;
				typeReturn = false;
			}
		}
		else
		{
			typeOneWay = false;
			typeReturn = true;
		}

		$j('#tripTypeO').attr('checked',typeOneWay);
		$j('#tripTypeR').attr('checked',typeReturn);

		ieSelectFix($j(this));
	}
	updateBBFilterSelections();
}

function ieSelectFix(obj)
{
	if(jQuery.browser.version.substr(0,3) == '6.0' && $j.browser.msie)
	{
		$j('#retDay').css('visibility','visible');
		$j('#depDay').css('visibility','visible');
		$j('#retMonthYear').css('visibility','visible');
		$j('#depMonthYear').css('visibility','visible');
		$j('#children').css('visibility','visible');

		if ($j('a').filter('.showAllActive').html() != null)
		{
			if ($j('a').filter('.showAllActive').parents('.result').attr('class').indexOf('showForm') >= 0)
			{
				$j('#retDay').css('visibility','hidden');
				$j('#depDay').css('visibility','hidden');
				$j('#retMonthYear').css('visibility','hidden');
				$j('#depMonthYear').css('visibility','hidden');
				$j('#children').css('visibility','hidden');
			}
			else if($j('a').filter('.showAllActive').parents('.result').next().html() != null && $j('a').filter('.showAllActive').parents('.result').next().attr('class').indexOf('showForm') >= 0)
			{
				$j('#depMonthYear').css('visibility','hidden');
				$j('#depDay').css('visibility','hidden');
				$j('#children').css('visibility','hidden');
			}
		}
	}
}

function removeChar(character,field)
{
	while (field.indexOf(character,0) != -1)
	{
		position = field.indexOf(character,0);
		firstHalf = field.substr(0,position);
		secondHalf = field.substr(position + 1, field.length - position);
		field = firstHalf + secondHalf;
	}

	if ((field.indexOf("(")) == -1)
	{
	}
	else
	{
		field = field.substring(0,field.indexOf("("));
	}

	field = field.toLowerCase();

	return field;
}

function sortBy(str)
{			
	switch(str)
	{
		case 'Price':
			$j('.result').tsort('.dynPrice');
			break;
			
		case 'City name':
			$j('.result').tsort('h3');
			break;
			
		case 'Travel dates':
			$j('.result').tsort('.saleDate');
			break;
			
		default:
			$j('.result').tsort('.dynPrice');
	}
	
	redrawRows();
}

function closeGraph()
{
	$j('#bulletinResults').children('.result').children('.resultDetails').children('.detail').children('.clearit').children('.detailDates').children('.dateShow').children().remove();
	$j('#bulletinResults').children('.result').children('.resultDetails').children('.detail').children('.clearit').children('.detailDates').children('.dateShowAll').removeClass('showAllActive');
	$j('#bulletinResults').children('.result').children('.resultDetails').children('.detail').children('.clearit').children('.detailDates').children('.dateShowAll').text('Prices by travel date');
	$j('#bulletinResults').children('.result').children('.resultDetails').children('.detail').children('.clearit').children('.detailDates').children('.dateShow').hide();
	$j('#retDay').css('visibility','visible');
	$j('#depDay').css('visibility','visible');
	$j('#retMonthYear').css('visibility','visible');
	$j('#depMonthYear').css('visibility','visible');
	$j('#children').css('visibility','visible');
}

function writeFilterValues()
{
	
	for (var i=0;  i < iconDetails.length; i++)
	{ 
		
		if(iconDetails[i].saleDaysLeft != '' || iconDetails[i].saleDaysLeft == '0')
		{
			if(iconDetails[i].saleDaysLeft > 1){
			}

			var dayOrDays = (iconDetails[i].saleDaysLeft > 1)?'days':'day';
			var saleLeft;
				
			if(iconDetails[i].saleDaysLeft == '0')
			{
				
				saleLeft = 'Last day';
			}
			else
			{
				saleLeft = iconDetails[i].saleDaysLeft+" "+dayOrDays+" left";
			}
			if(iconDetails[i].saleDaysLeft < 0 ) {

				saleLeft = 'Sale Ended';
			}
		
	
			$j('.typeNoSales').remove();
			$j('.filterBySaleType').children('.bulletinFilterBDR').append("<div class='typeSale clearit'><div class='typeSale"+(i+1)+"'><span class='saleLeft'>"+saleLeft+"</span><a href=\"http://"+location.hostname+"/deals/spotsaledetail.do?spotSaleCode="+iconDetails[i].spotsaleId+"&dealBundleId="+dealBundleId+"\" onclick=\"window.open(this.href,'NewWin','width=640,height=490,status=yes,scrollbars=yes,resizable=yes');return false;\"><img src='"+iconDetails[i].iconPath+"' alt='"+decodeURI(iconDetails[i].iconText)+"' /></a></div><label for='typeSale"+(i+1)+"'><input type='checkbox' class='chk' title='"+decodeURI(iconDetails[i].iconText)+"' id='typeSale"+(i+1)+"' /><span>"+decodeURI(iconDetails[i].iconText)+"</span>");
		}
	}
}

function writeBBGraph(flashURL, flashWidth, flashHeight, altContext, addParams, targetId, wmode, flashVars)
{
	detectFlash();
	if (hasRightVersion)
	{
		if(targetId)
		{
			$j("#"+targetId).html(assemblePortletFlash(flashURL, flashWidth, flashHeight, "", "", "", addParams, wmode, flashVars));
		}
	}
	else
	{
		$j("#"+targetId).html("<div class=\"flashAlt\"><p>You need Adobe Flash Player 8 or higher to view the pricing graph.</p><p>You can download the latest version of Flash Player from <a href=\"http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash\" target=\"_blank\" title=\"Get Adobe Flash Player 8\">Adobe</a>.</p></div>");
	}
}

function overWriteBBCookie(bb_cookie_val)
{
	var secondHalf='';
	if (bb_cookie_val!= null && bb_cookie_val.length > 15 && bb_cookie_val!= 'null')
	{
		secondHalf = '|' +bb_cookie_val.substring(15);
	}
	
	var depCityName = $j('#selDepCity').find('select option:selected').val();
	
	bb_cookie_val= 'depCityName='+depCityName +secondHalf;
	document.cookie=bb_cookieName+'='+bb_cookie_val;
}

function updateBBFilterSelections()
{
	var bb_cookie_val='';
	
	var depCityName = $j('#selDepCity').find('select option:selected').val();
	bb_cookie_val= bb_cookie_val+ 'depCityName='+depCityName;

	var sortState = $j('#selSortBy option:selected').val();
	bb_cookie_val= bb_cookie_val+ '|' + 'sortState='+sortState;

	var sliderState = $j('div').filter('.slideDynValue').text();
	bb_cookie_val= bb_cookie_val+ '|' + 'sliderState='+sliderState;
	
	var sliderPos = $j('div').filter('.sliderHandle').css('left');
	bb_cookie_val= bb_cookie_val+ '|' + 'sliderPos='+sliderPos;

	var saleTypeSelected = new Array();
	$j('.filterBySaleType').find('input:checked').each(function(i){saleTypeSelected.push($j(this).attr('id'))});
	bb_cookie_val= bb_cookie_val+ '|' + 'saleTypeSelected='+saleTypeSelected;
	
	var saleTitleSelected = new Array();
	$j('.filterBySaleType').find('input:checked').each(function(i){saleTitleSelected.push($j(this).attr('id'))});
	bb_cookie_val= bb_cookie_val+ '|' + 'saleTitleSelected='+saleTitleSelected;

	var sliderMinPrice = $j('span').filter('.dynMinValue').text();
	bb_cookie_val= bb_cookie_val+ '|' + 'sliderMinPrice='+sliderMinPrice;
	
	var sliderMaxPrice = $j('span').filter('.dynMaxValue').text();
	bb_cookie_val= bb_cookie_val+ '|' + 'sliderMaxPrice='+sliderMaxPrice;

	var filterState = ($j('.bulletinFilter').css('display') != 'block')? '':'block';
	bb_cookie_val= bb_cookie_val+ '|' + 'filterState='+filterState;

	var activeArrCityCode = '';

	if($j('div').filter('.resultForm').css('display') != 'none')
	{
		activeArrCityCode = $j('#selectDestinationCity').val();
	}
	
	bb_cookie_val= bb_cookie_val+ '|' + 'activeArrCityCode='+activeArrCityCode;
	document.cookie=bb_cookieName+'='+bb_cookie_val;
}

function getBBFilterSelections(keyName)
{
	var bb_cookie_val=getCookieValue(bb_cookieName);
	if(bb_cookie_val ==null){
		return '';
	}
	var bb_cookie_vals =bb_cookie_val.split('|');
	for(var i=0; i<bb_cookie_vals.length ;i++ )
	{
		var keyValPair =bb_cookie_vals[i].split('=');
		if(keyValPair[0] == keyName)
		{
			return keyValPair[1];
			break;
		}
	}
}

function showFilters()
{
	$j('.bulletinFilter').show();
	$j('.filter_options').attr('style','background:transparent url(/img/_red08/icons/sq_minus.gif) no-repeat left 3px;');
}

function redrawPageFromCookie()
{
	var filterState=getBBFilterSelections('filterState');
	var sortState=getBBFilterSelections('sortState');
	var sliderState=getBBFilterSelections('sliderState');		
	var sliderPos=getBBFilterSelections('sliderPos');	
	var saleTypeSelected=getBBFilterSelections('saleTypeSelected');
	var activeArrCityCode=getBBFilterSelections('activeArrCityCode');
	
	if (filterState == 'block')
	{
		showFilters()
	}
	
	$j('#selSortBy').children('option').each(function(i){
		if($j(this).text() == sortState)
		{
			$j(this).attr('selected',true);
		}
	});

	sortBy(sortState);

	selPriceValue = sliderState;
	$j('.sliderHandle').css('left', sliderPos);
	$j('.slideDynValue').css('left', sliderPos);
	$j('.slideDynValue').text(sliderState);
	$j('.result').each(function(i){
		if(selPriceValue >= parseInt($j(this).find('.dynPrice').text()))
		{
			$j(this).addClass('priceOk');
		}
		else
		{
			$j(this).removeClass('priceOk');
		}
	});		

	if (saleTypeSelected != null && saleTypeSelected != 'undefined' && saleTypeSelected != '')
	{
		$j('#typeShowAll').attr('checked','');

		$j.each(saleTypeSelected.split(','),function(i,saleType){
			$j('#'+saleType).attr('checked','checked');
		});

		$j('.bulletinResults').children().removeClass('checkOk');
		
		$j('.filterBySaleType').find('input:checked').each(function(i){
			if ($j(this).attr('id')=='typeShowAll')
			{
				$j('.bulletinResults').children().addClass('checkOk');
			}
			else
			{	
				$j('.detailSale').find('.'+$j(this).attr('id')).each(function(a){
					$j(this).parent().parent().parent().parent().parent().parent().addClass('checkOk');
				});
			}
		});
	}
}

function showBookingForm(obj)
{
	$j(obj).parent().children('a').addClass('active');
	$j(obj).parents('.resultDetails').after($j('.resultForm'));
	$j(obj).parents('.result').addClass('showForm');
	$j('#destinationCity_value').text($j(obj).parent().children('.desName_string').text());
	$j('#selectDestinationCity').attr('value',$j(obj).parent().children('.desCode_string').text());

	//sets Calendar object based on leadtime
	setCalendarObject($j(obj).parent().children('.desCountryCode_string').text());

	$j('.resultForm').show();
	$j('#tripTypeR').focus();	
	
	var xTop = (window.pageYOffset)?(window.pageYOffset):(document.documentElement)?document.documentElement.scrollTop:document.body.scrollTop;	
	if(xTop > 0)window.scrollTo(0,xTop+400);	
}

function toggleFilters()
{
	if( $j('.bulletinFilter').css('display') != 'block')
	{
		showFilters();
	}
	else
	{
		$j('.bulletinFilter').hide();
		$j(this).attr('style','background:transparent url(/img/_red08/icons/sq_plus.gif) no-repeat left 3px;');
	}
	updateBBFilterSelections();
}

$j(document).ready(function(){
	
	/* Booking toggle */
	if ($j('#tripTypeR').attr('checked')||$j('#tripTypeO').attr('checked'))
	{
		if($j('#tripTypeR').attr('checked'))
		{
			typeOneWay = false;
			typeReturn = true;
		}
		else
		{
			typeOneWay = true;
			typeReturn = false;
		}
	}
	else
	{
		typeOneWay = false;
		typeReturn = true;
	}

	$j('#tripTypeO').attr('checked',typeOneWay);
	$j('#tripTypeR').attr('checked',typeReturn);

	$j('#resultForm').hide();
	$j('#bulletinResults').children('.result').children('.resultDetails').children('.detail').children('.clearit').children('.detailBook').children('a').click(toggleBooking);

	/* Init Min/Max/Selected Values */
	selPriceValue = pageMaxPrice;

	/* Init Slider */
	$j('.sliderBar').slider({
		handle: '.sliderHandle',
		minValue: pageMinPrice,
		maxValue: pageMaxPrice,
		stop: function(e, ui) {
			selPriceValue = Math.round(ui.value);
			slideIt();
		},
		slide: function(e, ui) {				
			$j('.slideDynValue').css('left', ui.handle.css('left')).text(Math.round(ui.value));
		}
	});
	
	$j('.dynMinValue').text(pageMinPrice);
	$j('.dynMaxValue').text(pageMaxPrice);
	$j('.slideDynValue').text(pageMaxPrice);
	
	/* Toggle Sorting */
	$j('#selSortBy').change(function(){
		sortBy($j('#selSortBy option:selected').text());
		updateBBFilterSelections();
	});
	
	/* Toggle Filter Display */
	writeFilterValues();

	$j('.filter_options').click(toggleFilters);
	
	$j('#typeShowAll').attr('checked', 'checked');

	$j('.typeSale').find('input[type=checkbox]').removeAttr('checked');
	
	$j('.filterBySaleType').find('input[type=checkbox]').click(toggleCheckbox);
	
	/* Init's */
	$j('.bulletinFilter').removeClass("hidden");
	$j('.bulletinFilter').hide();
	
	checkIt();
	sortBy();

	$j('.detailSale').children('div').each(function(i){
		if($j(this).children('span').length < 2)
		{
			$j(this).children('.saleLeft').html('');
		}
	});

	/* Cookie calls */
	$j('#retDay').change(updateBookingFormSelection);
	$j('#depDay').change(updateBookingFormSelection);
	$j('#retMonthYear').change(updateBookingFormSelection);
	$j('#depMonthYear').change(updateBookingFormSelection);
	
	$j('#depPopupCalendarIcon').click(function(){
		$j("#depCalendarPage").find("th.month").each(function(i){
			$j(this).click(function(){
				$j("#depCalendarPage").find("td.date").each(function(i){
					$j(this).click(updateBookingFormSelection);
				});
			});
		});

		$j("#depCalendarPage").find("td.date").each(function(i){
			$j(this).click(updateBookingFormSelection);
		});
	});

	$j('#retPopupCalendarIcon').click(function(){
		$j("#retCalendarPage").find("th.month").each(function(i){
			$j(this).click(function(){
				$j("#retCalendarPage").find("td.date").each(function(i){
					$j(this).click(updateBookingFormSelection);
				});
			});
		});

		$j("#retCalendarPage").find("td.date").each(function(i){
			$j(this).click(updateBookingFormSelection);
		});
	});
	
	/* End of page calls */
	if(isRedeMail())
	{		
		if (saleTypeCode != null && saleTypeCode != '' && saleTypeCode != 'undefined')
		{
			var saleCode = saleTypeCode.split(',');
			$j('#typeShowAll').attr('checked','');
			$j('.bulletinResults').children().removeClass('checkOk');
			$j(saleCode).each(function(i, n){
				$j('#typeSale'+n).attr('checked','checked');
			});
			
			$j('.filterBySaleType').find('input:checked').each(function(i){
				$j('.detailSale').find('.'+$j(this).attr('id')).each(function(a){
					$j(this).parent().parent().parent().parent().parent().parent().addClass('checkOk');
				});
			});
			
			showFilters();
		}
	}
	else if(isRss())
	{
	
	}
	else if(isRedrawAllowed())
	{
		redrawPageFromCookie();
	}
	
	redrawRows();
	
	revealPage();
});

function revealPage()
{
	$j('#retHour').hide();
	$j('#depHour').hide();
	$j('div').filter('.loader').slideUp('normal', function(){
		$j('div').filter('.loaderBG').fadeOut('normal', function(){
																
			$j('#selDepCity').find('select').show();
			$j('#selSortBy').show();
			

			if (location.href.indexOf('arrivalAirportCode=') > 0 )
			{
				$j('.desCode_string').each(function(i){
					if($j(this).text() == $j('#varToCity').attr('value'))
					{	
						showBookingForm($j(this));
					}
				});
			}

			if (isRedrawAllowed() && ( getBBFilterSelections('activeArrCityCode') != 'undefined' && getBBFilterSelections('activeArrCityCode') != '' && getBBFilterSelections('activeArrCityCode') != null))
			{
				$j('span').filter('.desCode_string').each(function(i){
					if ($j(this).text() == getBBFilterSelections('activeArrCityCode'))
					{
						showBookingForm($j(this));
					}
				});
			}

		});
	});	
}

function isRedeMail()
{
	var wUrl=''+window.location;
	
	var result= false;
	
	if(wUrl.indexOf("saleTypeCode")>0 )
	{
		result = true;
	}
	return result;
}

function isRss()
{
	var wUrl=''+window.location;
	var result= false;
	if(wUrl.indexOf(":rss:") >0)
	{
		result= true;
	}
	return result;
} 


function isRedrawAllowed()
{
	var bb_cookie_val= getCookieValue(bb_cookieName);
	var isAllowed = false;
		
	if(bb_cookie_val!= 'null' && bb_cookie_val!= null && bb_cookie_val.length > 15 )
	{
		// check the dep city
		if( $j('#selDepCity').find('select option:selected').val() ==getBBFilterSelections('depCityName') )
		{
			isAllowed = true;
		}
		// check the slider min value
		if( (isAllowed) && ( $j('span').filter('.dynMinValue').text() == getBBFilterSelections('sliderMinPrice') )  )
		{
			isAllowed = true;
		}
		else
		{
			isAllowed = false;
		}
		// check the slider max value
		if( (isAllowed) && ( $j('span').filter('.dynMaxValue').text() == getBBFilterSelections('sliderMaxPrice'))  )
		{
			isAllowed = true;
		}
		else
		{
			isAllowed = false;
		}
		// check the sale type code
		if(isAllowed)
		{
			var allSelectedSaleTitles= getBBFilterSelections('saleTitleSelected').split(',');
			for(var i=0; i< allSelectedSaleTitles.length ; i++ )
			{
				if(allSelectedSaleTitles[i] != 'typeShowAll')
				{
					if(! doesArrayContains(spotSaleText, allSelectedSaleTitles[i]))
					{
						isAllowed = false;
						break;
					}
					else
					{
						isAllowed = true;
					}
				}
				else
				{
				  isAllowed = true;
				}
			}
		}
	}
	
	if (!isAllowed )
	{
		overWriteBBCookie('');
	}
	
	return isAllowed;
}

function doesArrayContains(arrayVar, element)
{
	var result =false;
	for (var i=0; i < arrayVar.length ; i++)
	{
		if(arrayVar[i] ==element)
		{
			result =true;
			break;
		}
	}
	return result;
}

 function isTransTasman(fromCountryCode,toCountryCode)
 {
	 if(fromCountryCode!=null &&  toCountryCode!=null && ( 
			(fromCountryCode.toLowerCase()=='au' && toCountryCode.toLowerCase()=='nz'  ) ||
			(fromCountryCode.toLowerCase()=='nz' && toCountryCode.toLowerCase()=='au'  ) 
		 ))
	 {
		 return true;
	 }
	 return false;
 }			


function setCalendarObject(desCountryCode)
{
	var fromCountry = document.getElementById("fromCountry");
	if(fromCountry && fromCountry != null){
		var fromCountryCode = fromCountry.value;
		var isTransTasmanValue = isTransTasman(fromCountryCode,desCountryCode);
		//alert('isTransTasmanValue : '+isTransTasmanValue);
		var	transTasman = document.getElementsByName("transTasman");
		var	intTransTasman = document.getElementsByName("intTransTasman");

		if(isTransTasmanValue)
		{	
			leadTimeCal=displayLeadTimeTrans;
			helpURL=tmpHelpURLTrans;
			if(transTasman && transTasman != null)
			{
				transTasman[0].value = true;
				intTransTasman[0].value = true;
			}
		}
		else
		{
			leadTimeCal=displayLeadTime;
			helpURL=tmpHelpURL;
			if(transTasman && transTasman != null)
			{
				transTasman[0].value = false;
				intTransTasman[0].value = false;
			}
		}

		var departDateBookingError = document.getElementById("departDateBookingError");
		var returnDateBookingError = document.getElementById("returnDateBookingError");

		if (departDateBookingError && departDateBookingError!=null && departDateBookingError.value!='' &&
			returnDateBookingError && returnDateBookingError!=null && returnDateBookingError.value!='')
		{
			// if booking error returns date 
			displayDepartDate = new Date(departDateBookingError,1,0,0);
			displayReturnDate = new Date(returnDateBookingError,1,0,0);
		}
		else
		{
			displayDepartDate = new Date(tzDate.getTime()+leadTimeCal);
			displayReturnDate = new Date(tzDate.getTime()+leadTimeCal);
		}

		var startDate_1=new Date(tzDate.getTime()+leadTimeCal);
		// set the startDate to be 0100 hours if it is 0000 hours
		if(startDate_1&& startDate_1.getHours()==0)
		{
			startDate_1.setHours(1);
		}
		var endDate_1=new Date(serverDate.getTime()+(353*24*60*60*1000));
		endDate_1.setHours(23,59,59);	
		var dateRanges_1=[new DateRange(startDate_1,endDate_1)];
		departCalendar.setDateRange(dateRanges_1);
		returnCalendar.setDateRange(dateRanges_1);
		departCalendar.setDefaultHour(1);
		returnCalendar.setDefaultHour(1);

		//chk for date in cookie n update
		if((document.cookie.indexOf("selectionsGlobal="))!=-1){
			var val=getCookieValue("selectionsGlobal");
			var datesInd=val.indexOf("DATES:");
	        var toInd=val.indexOf("TO:");
		   
			var dates=val.substring(datesInd+6,toInd-1);
			var z=dates.split(",");
			var depDate=z[0];
			var retDate=z[1];

		    departCalendar.deserialize(depDate);
			returnCalendar.deserialize(retDate);
		}
		else
		{
			departCalendar.update(displayDepartDate);
			returnCalendar.update(displayReturnDate);
		}
		//alert(" helpURL " + helpURL); 
	}
}