// check that the date is valid and return an error string 
// if there are some errors in fields

function CheckValidDate()
{
var beginDte ="2010/"+ document.getElementById("begindate").value
var endDte = "2010/"+ document.getElementById("enddate").value
begin_dte = beginDte.substring(0,4)+beginDte.substring(5,7)+beginDte.substring(8,10)
end_dte = endDte.substring(0,4)+endDte.substring(5,7)+endDte.substring(8,10)
submitOK="true"
alertMsg=""
period1BeginDate = "March 6th"
period1EndDate = "March 21st"


period1Begin_dte = 20100306
period1End_dte = 20100321


Msg01 = "Start Date";
Msg02 = "End Date";
Msg1 = "Please choose a "+Msg02+" different from "+Msg01+"\n\n";
Msg2 = "Please choose a "+Msg02+" later than the "+Msg01+"\n\n";
Msg3 = "Your "+Msg01+" is too early \n Please choose a "+Msg01+" not earlier than ";
Msg4 = "There is no Spring Training during that period \n Please choose a "+Msg01+" between:\n ";
Msg5 = " and ";
Msg6 = " \n or \n ";
Msg7 = "Your "+Msg01+" is too late \n Please choose a "+Msg01+" between:\n" ;
Msg8 = "Your "+Msg02+" is too early \n Please choose a "+Msg02+" not earlier than ";
Msg9 = "There is no Spring Training during that period \n Please choose a "+Msg02+" between:\n ";
Msg10 = "Your "+Msg02+" is too late \n Please choose a "+Msg02+" between:\n ";
Msg11 = "Your "+Msg01+" and "+Msg02+" are not in the same period \n Please choose dates between:\n ";

if (beginDte == endDte)
{
  alertMsg = alertMsg+Msg1
  submitOK="false"
}

if (begin_dte > end_dte)
{
  alertMsg = alertMsg+Msg2
  submitOK="false"
}

// check that date belongs to a range 20080301 20080316 or 20080405 20080416
if(begin_dte < period1Begin_dte)
{
  alertMsg = alertMsg +Msg3+period1BeginDate+" \n\n"
  submitOK="false"
}
/*
if((period2Begin_dte > begin_dte) && (begin_dte > period1End_dte ))
{
  alertMsg = alertMsg +Msg4+period1BeginDate+Msg5+period1EndDate+Msg6+period2BeginDate+Msg5+period2EndDate+" \n\n"
  submitOK="false"
}

if(begin_dte > period2End_dte)
{
  alertMsg = alertMsg +Msg7+period1BeginDate+Msg5+period1EndDate+Msg6+period2BeginDate+Msg5+period2EndDate+" \n\n"
  submitOK="false"
}
*/
if(end_dte < period1Begin_dte)
{
  alertMsg = alertMsg +Msg8+period1BeginDate+" \n\n"
  submitOK="false"
}
/*
if((period2Begin_dte > end_dte) && (end_dte > period1End_dte ))
{
  alertMsg = alertMsg +Msg9+period1BeginDate+Msg5+period1EndDate+Msg6+period2BeginDate+Msg5+period2EndDate+" \n\n"
  submitOK="false"
}

if(end_dte > period2End_dte)
{
  alertMsg = alertMsg +Msg10+period1BeginDate+Msg5+period1EndDate+Msg6+period2BeginDate+Msg5+period2EndDate+" \n\n"
  submitOK="false"
}
*/

if (submitOK=="true")
{//check continuous period
  if((begin_dte>=period1Begin_dte)&&(begin_dte<=period1End_dte))
  {
    if ((end_dte>period1End_dte))
    {
      alertMsg = alertMsg +Msg11+period1BeginDate+Msg5+period1EndDate+Msg6+period2BeginDate+Msg5+period2EndDate+" \n\n"
      submitOK="false"
    }
  }
}
return alertMsg
}


// Calculate the price and set field price  
// in the form myform

function CalculatePrice()
{
date1 = new Date();
date2 = new Date();
diff  = new Date();
var price =0;
var numXfer = 0;
var beginDte ="2010/"+ document.getElementById("begindate").value
var endDte = "2010/"+ document.getElementById("enddate").value
var beginXfer = document.getElementById("arrivaltransfer").checked
var endXfer = document.getElementById("departuretransfer").checked
var sgleSupp = document.getElementById("sgle").checked
var nrSupp = document.getElementById("nonrider").checked
var pricePerDay=0;
//var accommodation4 = document.getElementById("appart4").checked

var pricePerDayDble = 0;
var pricePerDaySgle = 0;
var pricePerDayNr = 0;
if (document.getElementById("appart2").checked)
{
  pricePerDayDble = 119;
  pricePerDaySgle = 119;
  pricePerDayNr = 119;
}
else
{if (document.getElementById("appart4").checked)
  {
    pricePerDayDble = 99;
    pricePerDaySgle = 99;
    pricePerDayNr = 99;
  }
  else
  {
    pricePerDayDble = 245;
    pricePerDaySgle = 275;
    pricePerDayNr = 245;
  }
}

var priceXfert = 75;
var result = "";

var month1 = beginDte.substring(5,7)-1;
var month2 = endDte.substring(5,7)-1;

date1temp = new Date(beginDte.substring(0,4),month1,beginDte.substring(8,10),0,0,0);
date1.setTime(date1temp.getTime());
var gmtHours1 = date1.getTimezoneOffset()/60;
date1.setHours(date1.getHours()-gmtHours1)

date2temp = new Date(endDte.substring(0,4),month2,endDte.substring(8,10),0,0,0);
date2.setTime(date2temp.getTime());
var gmtHours2 = date2.getTimezoneOffset()/60;
date2.setHours(date2.getHours()-gmtHours2)

// sets difference date to difference of first date and second date

diff.setTime(Math.abs(date1.getTime() - date2.getTime()));

timediff = diff.getTime();

days = Math.floor(timediff / (1000 * 60 * 60 * 24));
timediff -= days * (1000 * 60 * 60 * 24);

if (sgleSupp !="")
{
  if (nrSupp !="")
  {
    pricePerDay = pricePerDayNr;
    result =  days + " days with Non-Riding Partner.";
  }
  else
  {
    pricePerDay = pricePerDaySgle;
    result =  days + " days in Single Occ.";
  }
}
else
{
  if (nrSupp !="")
  {
    pricePerDay = pricePerDayNr;
    result =  days + " days with Non-Riding Partner.";
  }
  else
  {
    pricePerDay = pricePerDayDble;
    result =  days + " days ";
  }
}

price = days * pricePerDay;

if ((beginXfer!="") || (endXfer!=""))
{
  if (beginXfer!="")
  {
    price = price +priceXfert;
    numXfer= 1;
  }
  if (endXfer!="")
  {
    price = price +priceXfert;
    numXfer= numXfer+1;
  }
  if (numXfer> 1)
    result = result +" + "+ numXfer + " Transfers" ;
  else
    result =result +" + " + numXfer + " Transfer" ;

}

result ="$"+price+" -> "+  result
document.myform.price_subtotal.value = result;
document.myform.price.value = "TOTAL PRICE = "+result;
document.myform.price_amount.value = price;

}

function ComputePrice()
{
var alertMsg = CheckValidDate();

if (alertMsg=="")
  CalculatePrice();
else
  alert(alertMsg);
}
