// JavaScript Document  for Accommodation Featured site only

var defaultNights = 3;
var totalDays = 15; // total days for select

function createSelect(divName,total,selectId) {
	var se = document.createElement("select");	
	se.id = selectId;
	se.style.visibility = "hidden";
	for (var i = 0; i<total; i++)
	{
		se.options[i] = new Option(i,i);
	}
	document.getElementById(divName).appendChild(se);
}


$(document).ready(function(){

	// for hotel details to create date
	if( typeof( daysInAdvance ) != 'undefined' ) {
		totalDays = daysInAdvance;
	}

	// create select element
	if (!($("#nights").length)){
		createSelect("wrapdate",totalDays,"nights"); // create element select for nights to stay
		document.getElementById('nights').selectedIndex = defaultNights - 1; 
	} else {
		var one_day=1000*60*60*24; // in milisecond
		var tmpstartDate = new Date(document.getElementById('checkin').value);
		var tmpendDate = new Date(document.getElementById('checkout').value);
		var diffDate = Math.ceil((tmpendDate.getTime()-tmpstartDate.getTime())/(one_day));
		document.getElementById('nights').selectedIndex = diffDate - 1; 	
	}
	$("#nights").change(changeDate);


    var startDate, endDate;
    var tmpStr = readCookie('startdate');
    eraseCookie('startdate');

    if (tmpStr == null) {
			var temp = new Date();
			startDate = new Date(temp.getFullYear(), temp.getMonth(), temp.getDate());
			endDate = new Date(temp.getFullYear(), temp.getMonth(), temp.getDate() + defaultNights);		
			document.getElementById('nights').selectedIndex = defaultNights - 1; 
		} else {
			if (tmpStr.match(/\t/)){
				tmpStr2 = tmpStr.split('\t') ;
				tmpStr = tmpStr2[0];
				setCheckBox(tmpStr2[1]);
			}
			var tmpMonth = parseInt(tmpStr.slice(0,2),10)-1;
			var tmpDate = tmpStr.slice(2,4);
			var tmpYear = parseInt("20" + tmpStr.slice(4,6));
			var tmpNights = tmpStr.substr(6);
			startDate = new Date(tmpYear, tmpMonth, tmpDate);
			endDate = new Date(startDate.getFullYear(), startDate.getMonth(), startDate.getDate() + parseInt(tmpNights),10);
			document.getElementById('nights').selectedIndex = tmpNights-1; 	
		}
		updateDate(startDate,endDate);

	// datepicker

	$("#checkin").datepicker({ 
		dateFormat: 'D d M yy',
		firstDay : 1,
		changeFirstDay : false,
		minDate: new Date(),
		showOn: "both", 
		mandatory: true,
		closeAtTop: false,
		hideIfNoPrevNext: true,
		closeStatus: 'Close datepicker',
		onSelect: function() { 
			changeDate();
			$('#dtrq_ci').val($('#checkin').val());
			$("checkout").datepicker( "hide",1) ;
		},
		buttonImage: "http://www.street-directory.com.au/accommodation/images/calendar.gif", 
		buttonImageOnly: true
	});

	$("#checkout").datepicker({ 
		dateFormat: 'D d M yy',
		firstDay : 1,
		changeFirstDay : false,
		minDate: new Date(),
		mandatory: true,
		hideIfNoPrevNext: true,
		onSelect: function() { 
			changeDate('1');
			$('#dtrq_co').val($('#checkout').val());
			$("checkin").datepicker( "hide",1) ;
		},
		showOn: "both", 
		buttonImage: "http://www.street-directory.com.au/accommodation/images/calendar.gif", 
		buttonImageOnly: true
	});
	

});

function stylefieldsearch()
{
	$("#searchfield").addClass("txtsearch2");
}
function defaultstylefieldsearch()
{
	var strfield = $('#searchfield').val();
	if(strfield == ' Your destination (eg Ballarat) '){				
		$("#searchfield").removeClass("txtsearch2");
		$("#searchfield").addClass("txtsearch1");
	}	
}
function toggle()
{

	if( typeof( mapObj ) == 'undefined' ) {
		loadGenmap();
	}

	var classstyle = $('#toggle-btn').attr('class');
	if(classstyle == 'collaps-btn'){
		$("#toggle-btn").removeClass("collaps-btn");
		$("#toggle-btn").addClass("expand-btn");
	}else if(classstyle == 'expand-btn'){
		$("#toggle-btn").removeClass("expand-btn");
		$("#toggle-btn").addClass("collaps-btn");
	}

	$('#wrap-ms').slideToggle('slow');	

	var classstyle = $('#wrap-ms').attr('class');
	if(classstyle == 'hideMap'){
		$("#wrap-ms").removeClass("hideMap");
		$("#wrap-ms").addClass("showMap");
	}



}

function changeDate(tmpFlag) {

	var one_day=1000*60*60*24; // in milisecond
	var startDate = $("#checkin").datepicker("getDate");
	var endDate = $("#checkout").datepicker("getDate");
	var diffDate = Math.ceil((endDate.getTime()-startDate.getTime())/(one_day));

	if(tmpFlag == '1') {
		if (diffDate > totalDays) {
			document.getElementById('nights').selectedIndex = parseInt(totalDays-1,10);
			//alert(startDate.getFullYear()+","+ startDate.getMonth()+","+ startDate.getDate() +","+ parseInt($("#nights").val()));
			endDate = new Date(startDate.getFullYear(), startDate.getMonth(), startDate.getDate() + parseInt($("#nights").val(),10));
		} else if (diffDate < 1) {
			document.getElementById('nights').selectedIndex = defaultNights - 1;
			startDate = new Date(endDate.getFullYear(), endDate.getMonth(), endDate.getDate() - parseInt($("#nights").val(),10));	
			var today = new Date();
			if (startDate < today) {
				startDate = new Date(today.getFullYear(), today.getMonth(), today.getDate());	
				endDate = new Date(startDate.getFullYear(), startDate.getMonth(), startDate.getDate() + parseInt($("#nights").val(),10));
			}
		} else {
			document.getElementById('nights').selectedIndex = diffDate - 1;
		}
	} else {
		startDate = $("#checkin").datepicker("getDate");
		if ($("#nights").val()=='-')
		{
			if (diffDate < 1) {
				document.getElementById('nights').selectedIndex = defaultNights -1 ;
				startDate = new Date(endDate.getFullYear(), endDate.getMonth(), endDate.getDate() - parseInt($("#nights").val(),10));	
				var today = new Date();
				if (startDate < today) {
					startDate = new Date(today.getFullYear(), today.getMonth(), today.getDate());	
					endDate = new Date(startDate.getFullYear(), startDate.getMonth(), startDate.getDate() + parseInt($("#nights").val(),10))
				}
			} else {
				document.getElementById('nights').selectedIndex = diffDate -1 ;
			}
		} else {
			endDate = new Date(startDate.getFullYear(), startDate.getMonth(), startDate.getDate() + parseInt($("#nights").val(),10))			
		}
	}
	updateDate(startDate,endDate);
//	cookieTgl();

};

function cookieTgl(tmpFiltering) {

	var startDate = new Date(document.getElementById("checkin").value);
	var tmpMonth = parseInt(startDate.getMonth(),10) + 1;
	var tmpYear = parseInt(startDate.getYear(),10) + "";
	var tmpDate = parseInt(startDate.getDate(),10);

	tmpYear = tmpYear.substr(tmpYear.length-2,2);

	if (tmpDate < 10) {
		tmpDate = '0' + tmpDate;
	}

	if (tmpYear.length < 2) {
		tmpYear = '0' + tmpYear;
	}

	if (tmpMonth < 10) {
		tmpMonth = '0' + tmpMonth;
	}

	var tmpStr = tmpMonth + "" + tmpDate + "" + tmpYear + document.getElementById("nights").value;

	if( typeof( tmpFiltering ) != 'undefined' ) {
		tmpStr = tmpStr + "\t" + tmpFiltering;
	}

	createCookie('startdate',tmpStr,1);


}

function updateDate(startDate,endDate){ 
	$("#checkin").val($.datepicker.formatDate( "D d M yy", startDate));
	$("#checkout").val($.datepicker.formatDate( "D d M yy", endDate));
	$("#ftmpdci").val(startDate);
	$("#ftmpdco").val(endDate);
	$("#stmpdci").val(startDate);
	$("#stmpdco").val(endDate);
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}
function _gdtc()
{
	cookieTgl();
}

