//// Added By Madhab Open ////

function XHConn()

{

  var xmlhttp, bComplete = false;

  try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }

  catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }

  catch (e) { try { xmlhttp = new XMLHttpRequest(); }

  catch (e) { xmlhttp = false; }}}

  if (!xmlhttp) return null;

  this.connect = function(sURL, sMethod, sVars, fnDone)

  {

    if (!xmlhttp) return false;

    bComplete = false;

    sMethod = sMethod.toUpperCase();



    try {

      if (sMethod == "GET")

      {

        xmlhttp.open(sMethod, sURL+"?"+sVars, true);

        sVars = "";

      }

      else

      {

        xmlhttp.open(sMethod, sURL, true);

        xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");

        xmlhttp.setRequestHeader("Content-Type",

          "application/x-www-form-urlencoded");

      }

      xmlhttp.onreadystatechange = function(){

        if (xmlhttp.readyState == 4 && !bComplete)

        {

          bComplete = true;

          fnDone(xmlhttp);

        }};

      xmlhttp.send(sVars);

    }

    catch(z) { return false; }

    return true;

  };

  return this;

}

//// Added By Madhab Closed ////

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

// Date picker functions starts
function startFunction()
{
		var monthtext=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sept','Oct','Nov','Dec'];
		var today=new Date()
		dayfield=document.getElementById("day_start");
		monthfield=document.getElementById("month_start");
		yearfield=document.getElementById("year_start");
		
		var this_month=today.getMonth();
		var this_year=today.getFullYear();
		var days_in_month=32 - new Date(this_year, this_month, 32).getDate();
		var total_days_left = days_in_month - today.getDate();
		var total_month_left = 12 - today.getMonth();
		var j = today.getDate();
		var cm = today.getMonth();


		for (var i=0; i<days_in_month; i++){
		dayfield.options[i]=new Option(i+1, i+1);
		}
		dayfield.options[today.getDate() - 1 ]=new Option(today.getDate(), today.getDate(), true, true);
		
		for (var m=0; m<12; m++){
		monthfield.options[m] = new Option(monthtext[m], m+1);
		
		}
		monthfield.options[today.getMonth()]=new Option(monthtext[today.getMonth()], today.getMonth()+1, true, true) //select today's month
		
		var thisyear=today.getFullYear();


		for (var y=0; y<2; y++)
		{
			yearfield.options[y]=new Option(thisyear, thisyear)
			thisyear+=1
		}
		//yearfield.options[0]=new Option(today.getFullYear(), today.getFullYear(), true, true) //select today's year
}
function endFunction()
{
		var monthtext=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sept','Oct','Nov','Dec'];
		var myDate=new Date()
		myDate.setDate(myDate.getDate()+4);	//Initialized to 30 days in the future.
		
		dayfield=document.getElementById("day_end");
		monthfield=document.getElementById("month_end");
		yearfield=document.getElementById("year_end");

		var this_month=myDate.getMonth();
		var this_year=myDate.getFullYear();
		var days_in_month=32 - new Date(this_year, this_month, 32).getDate();

		for (var i=0; i<days_in_month; i++)
		dayfield.options[i]=new Option(i+1, i+1)
		dayfield.options[myDate.getDate()-1] = new Option(myDate.getDate(), myDate.getDate(), true, true) //select the day

		
		for (var m=0; m<12; m++)
		monthfield.options[m]=new Option(monthtext[m], m+1)
		monthfield.options[myDate.getMonth()]=new Option(monthtext[myDate.getMonth()], myDate.getMonth()+1, true, true) //select today's month
		
		var thisyear=myDate.getFullYear()
		for (var y=0; y<2; y++)
		{
			yearfield.options[y]=new Option(thisyear, thisyear)
			thisyear+=1
		}
		yearfield.options[0]=new Option(myDate.getFullYear(), myDate.getFullYear(), true, true) //select today's year
}


function month1Change()
{
	var today=new Date();
	var monthtext=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sept','Oct','Nov','Dec'];
	
	dayfield=document.getElementById("day_start");
	monthfield=document.getElementById("month_start");
	yearfield=document.getElementById("year_start");


	dayfield2=document.getElementById("day_end");
	monthfield2=document.getElementById("month_end");
	yearfield2=document.getElementById("year_end");
	
	var this_day=10;
	var this_month=document.getElementById("month_start").selectedIndex;
	var smonth=document.getElementById("month_start").selectedIndex;
	var this_year=document.getElementById("year_start").selectedIndex;

	var starting=new Date(this_year,this_month,this_day);
	var this_month=starting.getMonth();
	var this_year=starting.getFullYear();
	this_year=this_year+3;
	var days_in_month=32 - new Date(this_year, this_month, 32).getDate();
	
	var num=days_in_month-1;	//Just to select the last date of the selected month.
	
	//alert(num);
	dayfield.options.length=0;
	for (var i=0; i<days_in_month; i++)
	dayfield.options[i]= new Option(i+1, i+1)
	dayfield.options[0]= new Option(1, 1, true, true);

}

function month11Change()
{
	var today=new Date();
	var monthtext=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sept','Oct','Nov','Dec'];
	
	

	dayfield=document.getElementById("day_start1");
	monthfield=document.getElementById("month_start1");
	yearfield=document.getElementById("year_start1");
	
	var this_day=10;
	var this_month=document.getElementById("month_start1").selectedIndex;
	var this_year=document.getElementById("year_start1").selectedIndex;
	var this_days=document.getElementById("day_start1").selectedIndex;

	dayfield.options.length=0;

	var starting=new Date(this_year,this_month,this_day);
	var this_month=starting.getMonth();
	var this_year=starting.getFullYear();
	this_year=this_year+3;
	var days_in_month=32 - new Date(this_year, this_month, 32).getDate();
	
	var num=days_in_month-1;	//Just to select the last date of the selected month.
	
	//alert(num);
	dayfield.options.length=0;
	for (var i=0; i<days_in_month; i++)
	dayfield.options[i]= new Option(i+1, i+1)
	
	if(this_month == 1 && this_days > 28 ){
	dayfield.options[28]= new Option(29, 29, true, true);
	}
	else if ((this_month == 3 || this_month == 5 || this_month == 8 || this_month == 10) && this_days > 29 ) 
	{

		dayfield.options[29]= new Option(30, 30, true, true);

	}
	else
	{

		dayfield.options[this_days]= new Option(this_days + 1, this_days + 1, true, true);
	}

}



function month2Change()
{
	var today=new Date();
	
	dayfield=document.getElementById("day_end");
	monthfield=document.getElementById("month_end");
	yearfield=document.getElementById("year_end");
	
	var this_day=10;
	var this_month=document.getElementById("month_end").selectedIndex;
	var this_year=document.getElementById("year_end").selectedIndex;


	var starting=new Date(this_year,this_month,this_day);
	var this_month=starting.getMonth();
	var this_year=starting.getFullYear();
	this_year=this_year+3;
	var days_in_month=32 - new Date(this_year, this_month, 32).getDate();
	var num=days_in_month-1;	//Initiated the second date only to the last date of the month.
	
	dayfield.options.length=0;
	
	for (var i=0; i<days_in_month; i++)
	dayfield.options[i]=new Option(i+1, i+1);
	dayfield.options[0]= new Option(1, 1, true, true);
	//dayfield.options[today.getDate()-1]= new Option(today.getDate(), today.getDate(), true, true);
}


function month22Change()
{
	var today=new Date();
	
	dayfield=document.getElementById("day_end1");
	monthfield=document.getElementById("month_end1");
	yearfield=document.getElementById("year_end1");
	
	var this_day=10;
	var this_month=document.getElementById("month_end1").selectedIndex;
	var this_year=document.getElementById("year_end1").selectedIndex;
	var this_days=document.getElementById("day_end1").selectedIndex;

	dayfield.options.length=0;

	var starting=new Date(this_year,this_month,this_day);
	var this_month=starting.getMonth();
	var this_year=starting.getFullYear();
	this_year=this_year+3;
	var days_in_month=32 - new Date(this_year, this_month, 32).getDate();
	
	var num=days_in_month-1;	//Just to select the last date of the selected month.
	
	//alert(num);
	dayfield.options.length=0;
	for (var i=0; i<days_in_month; i++)
	dayfield.options[i]= new Option(i+1, i+1)
	if(this_month == 1 && this_days > 28 ){
	dayfield.options[28]= new Option(29, 29, true, true);
	}
	else if ((this_month == 3 || this_month == 5 || this_month == 8 || this_month == 10) && this_days > 29 ) 
	{
	dayfield.options[29]= new Option(30, 30, true, true);

	}
	else
	{
		dayfield.options[this_days]= new Option(this_days + 1, this_days + 1, true, true);
	}

}

function calDuration()
{
	var cal_duration=new Date();
	var one_day=1000*60*60*24;
	start_day = document.getElementById("day_start").value;
	//start_month=document.getElementById("month_start").selectedIndex;

	start_month=document.getElementById("month_start").value;
	//start_month=start_month-1;
	start_year=document.getElementById("year_start").value;
	
	end_day=document.getElementById("day_end").value;
	end_month=document.getElementById("month_end").selectedIndex;
	//end_month=end_month-1;
	end_year=document.getElementById("year_end").value;
	
	var ending=new Date(end_year,end_month,end_day);
	var starting=new Date(start_year,start_month,start_day);
	
	var diff= parseInt((ending.getTime()-starting.getTime())/(one_day));
		
			//This is actually for an xmlHttp call. Ignore it.
}

function calDurationNew(week_price,extra_price,minDays,deposit,tax,id)
{
	tax =  parseFloat(tax);	
	start_day = document.getElementById("day_start1").value;
	start_month = document.getElementById("month_start1").selectedIndex;
	start_month = start_month + 1;
	start_year = document.getElementById("year_start1").value;
	
	end_day = document.getElementById("day_end1").value;
	end_month = document.getElementById("month_end1").selectedIndex;
	end_month = end_month + 1;
	end_year = document.getElementById("year_end1").value;

	ending_date = end_month + '/' + end_day + '/'  + end_year;
	starting_date = start_month + '/' + start_day + '/'  + start_year;

	ending_date_price = end_year + '-' + end_month + '-'  +end_day;
	starting_date_price = start_year + '-' + start_month + '-' + start_day;

	date1 = new Date();
	date2 = new Date();
	diff  = new Date();

	////////// Open This is Added by Madhab ////////
	todayF = new Date();
	todayTime = todayF.getTime();
	////////// Closed This is Added by Madhab ////////
	
	date1temp = new Date(starting_date);
	date1.setTime(date1temp.getTime());


	date2temp = new Date(ending_date);
	date2.setTime(date2temp.getTime());

	////////// Open This is Added by Madhab ////////
	startingTime = date1temp.getTime();
	outTime = date2temp.getTime();

	var one_day = 1000*60*60*24;
	todayStartDiff = Math.ceil((startingTime-todayTime)/(one_day));
	todayOutDiff = Math.ceil((outTime-todayTime)/(one_day));
	////////// Closed This is Added by Madhab ////////


// sets difference date to difference of first date and second date

diff.setTime(Math.abs(date1.getTime() - date2.getTime()));

timediff = diff.getTime();

weeks = Math.floor(timediff / (1000 * 60 * 60 * 24 * 7));
timediff -= weeks * (1000 * 60 * 60 * 24 * 7);

extra_days = Math.floor(timediff / (1000 * 60 * 60 * 24)); 
timediff -= extra_days * (1000 * 60 * 60 * 24);
	
	//var wprice = parseInt(week_price);
	//var eprice = parseInt(extra_price);


	var myConn = new XHConn();

	if (!myConn) alert("XMLHTTP not available. Try a newer/better browser.");
	

	var include_terminado = function (oXML){
	  //alert(oXML.responseText);
	  var responseArray = oXML.responseText.split('^');
	  var wprice = parseInt(responseArray[0]);
	  var eprice = parseInt(responseArray[1]);	

	  //var days = parseInt((weeks * 7) + days);
	  var one_day=1000*60*60*24;
	  var today = new Date();
	  var ending1 =new Date(end_year,end_month,end_day);
	  var starting1 =new Date(start_year,start_month,start_day);
	
	  var days = parseInt((ending1.getTime()-starting1.getTime())/(one_day));
	  var todayDays = parseInt((starting1.getTime()-today.getTime())/(one_day));

	  var amount = (extra_days * eprice) + (weeks * wprice);
	  source_date = new Date(start_year,start_month,start_day);
	  source_end_date = new Date(end_year,end_month,end_day);

	  if( (start_day != source_date.getDate()) || (end_day != source_end_date.getDate()) ){
		//document.getElementById("bookerr").innerHTML = "<strong><font color=red>Departure date is prior to arrival date. Please select a new departure date.</font></strong>";
		document.getElementById("bookerr").innerHTML = "<strong><font color=red>Invalid date. Please select different dates.</font></strong>";
		document.getElementById("nights").innerHTML = "";
		document.getElementById("tamount").innerHTML = "";
		document.getElementById("total1_amount").value =  "";
		amt=(amount).toFixed(2);
		amt1=(amt*tax)/100;
		amt2=parseFloat(amt)+parseFloat(amt1);


		document.getElementById("ttamount").innerHTML = "";
		document.getElementById("sdamount").innerHTML = "";
		document.getElementById("total_tax").value =  "";
		document.getElementById("sd_amount").value = "";


		document.getElementById("ttoamount").innerHTML = "";
		document.getElementById("total_amount").value =  "";

		////////// Open This is Added by Madhab ////////
		document.getElementById("payamount").innerHTML = "";
		document.getElementById("pay_amount").value = "";
		////////// Closed This is Added by Madhab ////////

		document.getElementById('imgsubmit').disabled = true;
		return false;
	  }else if(todayDays < 0 ){
		//document.getElementById("bookerr").innerHTML = "<strong><font color=red>Departure date is prior to arrival date. Please select a new departure date.</font></strong>";
		document.getElementById("bookerr").innerHTML = "<strong><font color=red>Arrival date can not be less than today date. Please select different dates.</font></strong>";
		document.getElementById("nights").innerHTML = "";
		document.getElementById("tamount").innerHTML = "";
		document.getElementById("total1_amount").value =  "";
		amt=(amount).toFixed(2);
		amt1=(amt*tax)/100;
		amt2=parseFloat(amt)+parseFloat(amt1);


		document.getElementById("ttamount").innerHTML = "";
		document.getElementById("sdamount").innerHTML = "";
		document.getElementById("total_tax").value =  "";
		document.getElementById("sd_amount").value = "";


		document.getElementById("ttoamount").innerHTML = "";
		document.getElementById("total_amount").value =  "";

		////////// Open This is Added by Madhab ////////
		document.getElementById("payamount").innerHTML = "";
		document.getElementById("pay_amount").value = "";
		////////// Closed This is Added by Madhab ////////

		document.getElementById('imgsubmit').disabled = true;
		return false;
	  }
	  else if(days < parseInt(minDays) && days < 0 ){
		//document.getElementById("bookerr").innerHTML = "<strong><font color=red>Departure date is prior to arrival date. Please select a new departure date.</font></strong>";
		document.getElementById("bookerr").innerHTML = "<strong><font color=red>Departure date can not be less than arrival date. Please select different dates.</font></strong>";
		document.getElementById("nights").innerHTML = "";
		document.getElementById("tamount").innerHTML = "";
		document.getElementById("total1_amount").value =  "";
		amt=(amount).toFixed(2);
		amt1=(amt*tax)/100;
		amt2=parseFloat(amt)+parseFloat(amt1);


		document.getElementById("ttamount").innerHTML = "";
		document.getElementById("sdamount").innerHTML = "";
		document.getElementById("total_tax").value =  "";
		document.getElementById("sd_amount").value = "";


		document.getElementById("ttoamount").innerHTML = "";
		document.getElementById("total_amount").value =  "";

		////////// Open This is Added by Madhab ////////
		document.getElementById("payamount").innerHTML = "";
		document.getElementById("pay_amount").value = "";
		////////// Closed This is Added by Madhab ////////

		document.getElementById('imgsubmit').disabled = true;
		return false;
	  }
	  else if(days < parseInt(minDays)){
	
		document.getElementById("bookerr").innerHTML = "<strong><font color=red>Reservation is available for mimimum "+ minDays+" Nights.</font></strong>";
		document.getElementById("nights").innerHTML = "";
		document.getElementById("tamount").innerHTML = "";
		document.getElementById("total1_amount").value =  "";
		amt=(amount).toFixed(2);
		amt1=(amt*tax)/100;
		amt2=parseFloat(amt)+parseFloat(amt1);


		document.getElementById("ttamount").innerHTML = "";
		document.getElementById("sdamount").innerHTML = "";
		document.getElementById("total_tax").value =  "";
		document.getElementById("sd_amount").value = "";

		document.getElementById("ttoamount").innerHTML = "";
		document.getElementById("total_amount").value =  "";

		////////// Open This is Added by Madhab ////////
		document.getElementById("payamount").innerHTML = "";
		document.getElementById("pay_amount").value = "";
		////////// Closed This is Added by Madhab ////////

		document.getElementById('imgsubmit').disabled = true;
		return false;
	  }
	  else

	  {
		document.getElementById("bookerr").innerHTML = "";
		document.getElementById("nights").innerHTML = "<strong>" + weeks + "&nbsp;Weeks&nbsp;"+extra_days+"&nbsp;Nights</strong>";
		document.getElementById("tamount").innerHTML = "<strong>$&nbsp;" + (amount).toFixed(2) + "&nbsp;&nbsp;</strong>";
		document.getElementById("total1_amount").value =  (amount).toFixed(2);
amt=(amount).toFixed(2);
amt1=(amt*tax)/100;
amt2=parseFloat(amt)+parseFloat(amt1)+parseFloat(deposit);


		document.getElementById("ttamount").innerHTML = "<strong>$&nbsp;" + (amt1).toFixed(2) + "&nbsp;&nbsp;</strong>(@"+ (tax).toFixed(2)+"%)";
		document.getElementById("total_tax").value =  (amt1).toFixed(2);

		document.getElementById("ttoamount").innerHTML = "<strong>$&nbsp;" + (amt2).toFixed(2) + "&nbsp;&nbsp;</strong>";
		document.getElementById("sdamount").innerHTML = "<strong>$&nbsp;" + (deposit).toFixed(2) + "&nbsp;&nbsp;</strong>";
		document.getElementById("total_amount").value =  (amt2).toFixed(2);
		document.getElementById("sd_amount").value =  (deposit).toFixed(2);	

		////////// Open This is Added by Madhab ////////
		if(todayStartDiff >= 30){
		  document.getElementById("payamount").innerHTML = "<strong>$&nbsp;" + (deposit).toFixed(2) + "&nbsp;&nbsp;</strong>";
		  document.getElementById("pay_amount").value = (deposit).toFixed(2);
		}else{
		  document.getElementById("payamount").innerHTML = "<strong>$&nbsp;" + (amt2).toFixed(2) + "&nbsp;&nbsp;</strong>";
		  document.getElementById("pay_amount").value =  (amt2).toFixed(2);
		}
		////////// Closed This is Added by Madhab ////////

		document.getElementById('imgsubmit').disabled = false;

		return true;
				//This is actually for an xmlHttp call. Ignore it.
	  }
	};

	myConn.connect("check_price.php", "GET", "id="+id+"&start_date="+starting_date_price+"&end_date="+ending_date_price, include_terminado);

	///// Added by Madhab Closed /////
}



function startFunctionNew()
{
		var monthtext=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sept','Oct','Nov','Dec'];
		var today=new Date()
		
		monthfield=document.getElementById("month_start");
		yearfield=document.getElementById("year_start");
		
		var this_month=today.getMonth();
		var this_year=today.getFullYear();
		var days_in_month=32 - new Date(this_year, this_month, 32).getDate();
		var total_days_left = days_in_month - today.getDate();
		var total_month_left = 12 - today.getMonth();
		var j = today.getDate();
		var cm = today.getMonth();


		//for (var i=0; i<total_days_left; i++){
		//dayfield.options[i]=new Option(j, j);
		//j++;
		//}
		//dayfield.options[today.getDate()-1]=new Option(today.getDate(), today.getDate(), true, true) //select today's day

		for (var m=0; m<total_month_left; m++){
		monthfield.options[m]=new Option(monthtext[cm], cm+1);
		cm++
		}
		//monthfield.options[today.getMonth()]=new Option(monthtext[today.getMonth()], today.getMonth()+1, true, true) //select today's month
		
		var thisyear=today.getFullYear()


		for (var y=0; y<20; y++)
		{
			yearfield.options[y]=new Option(thisyear, thisyear)
			thisyear+=1
		}
		yearfield.options[0]=new Option(today.getFullYear(), today.getFullYear(), true, true) //select today's year
}
// Date picker functions ends