
//* Maui Condo Javascript Library- designer: Chad Chadwick ccemmett@there.net *//


var lastText="t0"
var lastFlash="f0"
var theRate=0
var lastClick=""
var season=new Array()
var arrival=new Array()
var departure=new Array()

//* Homepage text section changer *//
function nextText(next){
document.getElementById(lastText).style.display="none"
document.getElementById(next).style.display="block"
lastText=next
}

//* Update page display based on current rates and currant date *//
function ratesDates(){
//* Set seasonal rate values *//
document.getElementById('rate0').innerHTML=peak
document.getElementById('rate1').innerHTML=high
document.getElementById('rate2').innerHTML=peak
document.getElementById('rate3').innerHTML=high
document.getElementById('rate4').innerHTML=low
//* Capture current date info and intialize variables *//
var now=new Date()
var thisYear=now.getYear()
var thisMonth=now.getMonth()+1
var thisDate=now.getDate()
var lastYear=0
var nextYear=0
var span=""
var ctr=0
//* Check year format, adjust if necessary & set year values *//
if(thisYear<2000){
thisYear=thisYear+1900
}
lastYear=thisYear-1
nextYear=thisYear+1
//* Initialize year span values *//
document.getElementById('y0').innerHTML=lastYear
for(i=1;i<10;i++){
span='y'+i
document.getElementById(span).innerHTML=thisYear
}
//* Adjust year span values relative to current date *//
if(thisMonth==1&&thisDate>4){
document.getElementById('y0').innerHTML=thisYear
document.getElementById('y1').innerHTML=nextYear
}
if(thisMonth>1){
document.getElementById('y0').innerHTML=thisYear
ctr=4
}
if(thisMonth>2){
ctr=6
}
if(thisMonth==4&&thisDate>11){
ctr=8
}
if(thisMonth>4){
ctr=8
}
if(thisMonth==12&&thisDate>17){
ctr=10
}
//* Adjust remaining year span values *//
for(i=1;i<ctr;i++){
span='y'+i
document.getElementById(span).innerHTML=nextYear
}
//* Adust for leap year (good enough for the probable lifespan of this website) *//
if(Math.abs(document.getElementById('y5').innerHTML)%4==0){
document.getElementById('leap').innerHTML=29
}
//* Change background color of table row to indicate current date range *//
if((thisMonth==12&&thisDate>17)||(thisMonth==1&&thisDate<5)){
span="row0"
}
if(thisMonth==1&&thisDate>4){
span="row1"
}
if(thisMonth==2){
span="row2"
}
if(thisMonth==3||(thisMonth==4&&thisDate<12)){
span="row3"
}
if(thisMonth==4&&thisDate>11){
span="row4"
}
if(thisMonth>4&&thisMonth<12){
span="row4"
}
if(thisMonth==12&&thisDate<18){
span="row4"
}
document.getElementById(span).style.backgroundColor="#ccffff"

//* Display currant date on page *//
document.getElementById('today').innerHTML="Today: " + thisMonth + "/" + thisDate + "/" + thisYear

//* Write email link to page *//
mailLink('Reservation Request')
}

//* Track season selected by user, capture rate & dates and write to page *//
function selector(selected){
var starOn='<img alt="click to select" border="0" src="../graphics/starOn.gif" height="28" width="40">'
var starOff='<img alt="click to select" border="0" src="../graphics/starOff.gif" height="28" width="40">'
var dates="dates"
var getRate="rate"
if(lastClick!=""){
document.getElementById(lastClick).innerHTML=starOff
}
lastClick='click'+selected
document.getElementById(lastClick).innerHTML=starOn
getRate=getRate+selected
theRate=document.getElementById(getRate).innerHTML
dates=dates+selected
document.getElementById('selectedDates').innerHTML=document.getElementById(dates).innerHTML
document.getElementById('selectedRate').innerHTML=theRate
document.getElementById('totalRate').innerHTML=theRate
document.reservation.number[0].checked=true
season=selected
//* Capture dates of each season and write dates of selected season to variable *//
var season0=document.getElementById('y0').innerHTML+',12,18,'+document.getElementById('y1').innerHTML+',1,4'
var season1=document.getElementById('y2').innerHTML+',1,5,'+document.getElementById('y3').innerHTML+',1,31'
var season2=document.getElementById('y4').innerHTML+',2,1,'+document.getElementById('y5').innerHTML+',2,'+document.getElementById('leap').innerHTML
var season3=document.getElementById('y6').innerHTML+',3,1,'+document.getElementById('y7').innerHTML+',4,11'
var season4=document.getElementById('y8').innerHTML+',4,12,'+document.getElementById('y9').innerHTML+',12,17'
if(selected==0){
season=season0.split(',')
}
if(selected==1){
season=season1.split(',')
}
if(selected==2){
season=season2.split(',')
}
if(selected==3){
season=season3.split(',')
}
if(selected==4){
season=season4.split(',')
}
}


//* Recalculate nightly rate relative to number of occupants *//
function rateCalc(adj){
if(document.getElementById('totalRate').innerHTML!=""){
theTotal=0
theTotal=Math.abs(theRate)+Math.abs(adj)
document.getElementById('totalRate').innerHTML=theTotal
document.getElementById('totalCost').innerHTML=""
}
else{
document.reservation.number[0].checked=true
window.alert("Please select a time frame for your reservation. Thanks!")
window.location.href="#selector"
}
}


//* Calculate Total Cost *//
function totalCalc(){
//* Capture arrival and departure date info *//
var aMonth=Math.abs(document.getElementById('a0').value)-1
var aDate=Math.abs(document.getElementById('a1').value)
var aYear=Math.abs(document.getElementById('a2').value)+2000
var dMonth=Math.abs(document.getElementById('d0').value)-1
var dDate=Math.abs(document.getElementById('d1').value)
var dYear=Math.abs(document.getElementById('d2').value)+2000
var arrive=new Date(aYear,aMonth,aDate)
var depart=new Date(dYear,dMonth,dDate)
var oneDay=1000*60*60*24
//* Be sure reservation dates fall within selected range of dates *//
var minDate=new Date(season[0],season[1]-1,season[2])
var maxDate=new Date(season[3],season[4]-1,season[5])
if((arrive>=minDate&&arrive<maxDate)&&(depart>minDate&&depart<=maxDate)){
//* Capture arrival and departure dates *//
arrival=[aMonth,aDate,aYear]
departure=[dMonth,dDate,dYear]
//* Capture nightly rate, adjust for number of occupants, update page display & calculate total number of days *//
var rate=Math.abs(theRate)
if(document.reservation.number[1].checked==true){
rate=rate+10
}
if(document.reservation.number[2].checked==true){
rate=rate+20
}
document.getElementById('totalRate').innerHTML=rate
//* Capture number of days of stay *//
var totalDays=Math.abs(depart.getTime()-arrive.getTime())/oneDay
//* Check for minimum stay, calculate upcharge if necessary & display number of days *//
//* If stay is less than 5 days "Sorry, Charlie" *//
if(totalDays<5){
window.alert("Sorry, reservations for stays less than 5 days cannot be accepted")
}
//* If stay is 5 to 6 days add 15% upcharge to rate *//
if(totalDays>4&&totalDays<7){
rate=Math.round(rate*1.15)
document.getElementById('totalRate').innerHTML=rate
document.getElementById('space0').style.display="none"
document.getElementById('upcharge').style.display="block"
}
//* Otherwise use standard rate *//
if(totalDays>=7){
document.getElementById('space0').style.display="block"
document.getElementById('upcharge').style.display="none"
}
document.getElementById('totalDays').innerHTML=totalDays
document.getElementById('totalCost').innerHTML=totalDays*rate
}
else{
window.alert("One or both reservation dates is outside your selected date range.\n Please select another date range or change your date selections.")
}
if(arrive>depart){
zeroTotal()
window.alert("Departure date is before arrival date: \n please check your dates.")
}
}

//* Capture reservation form information to email *//
function postal(){
if(document.getElementById('totalCost').innerHTML==""){
totalCalc()
}
if(document.getElementById('totalCost').innerHTML!=""){
var addr='mauitan@earthlink.net'
var sbj="Reservation Request"
var months=new Array("January","February","March","April","May","June","July","August","September","October","November","December")
var arrive="Arriving: "+months[arrival[0]]+" "+arrival[1]+", "+arrival[2]+" ~"
var depart="Departing: "+months[departure[0]]+" "+departure[1]+", "+departure[2]+" ~"
for(i=0;i<3;i++){
if(document.reservation.number[i].checked==true){
var guests=i+2
}
}
guests="Number of occupants: "+guests+" ~"
var rate="Nightly Rate: $"+document.getElementById('totalRate').innerHTML+" ~"
var stay="Total Stay: "+document.getElementById('totalDays').innerHTML+" nights ~"
var total="Total Cost: $"+document.getElementById('totalCost').innerHTML+" (Does not include Hawaiian State Tax) ~"
var contact="Contact Info: "+document.getElementById('name').value+", "+document.getElementById('email').value+", "+document.getElementById('phone').value+" ~"
var msg=arrive+depart+stay+guests+rate+total+contact+document.getElementById('today').innerHTML+" ~"
parent.location.href='mailto:'+addr+'?subject='+sbj+'&body='+msg
}
}

//* Utilities *//

//* Writes email links to pages *//
function mailLink(sbj){
var addr='mauitan@earthlink.net'
var elink='<a href="mailto:'+addr+'?subject='+sbj+'" title="Send Email">'+addr+'<\/a>'
document.getElementById('elink').innerHTML=elink
}

//* Zeroes out total cost *//
function zeroTotal(){
document.getElementById('totalCost').innerHTML=""
}