DOMAssistant.DOMReady(loadFunctionsAdditional);

var ajaxstatus; var ajaxstring;

function loadFunctionsAdditional() {
if ($$("bookcalendar"))
   {
   $$("bookcalendar").style.position="static";
   $$("bookcalendar").style.width="95%";
   $$("bookcalendar").style.border=0;
   showElement("bookcalendar");
   }
hideElement("transferfield");
if ($$("room2block")) hideElement("room2block");
$$("personnumber").addEvent("change", changeTransferPersonNumber);
$$("personnumber").addEvent("change", fetchPriceTable);
roomrows=3;
if (!$$("roomnumber1")) roomrows=1;
for (i=0;i<roomrows;i++)
   {
   $$("roomnumber"+i).addEvent("change", fetchPriceTable);
   $$("roomnumber"+i).addEvent("change", requireRoomingList);
   $$("roomnumber"+i).addEvent("change", checkRoomRow);
   $$("roomID"+i).addEvent("change", fetchPriceTable);
   $$("roomID"+i).addEvent("change", checkRoomRow);
   $$("rateID"+i).addEvent("change", fetchPriceTable);
   }
$$("transfercheckyes").addEvent("click", showTransfer);
$$("transfercheckno").addEvent("click", hideTransfer);
$$("fromday").addEvent("change", changeToDay);
$$("frommonthyear").addEvent("change", changeToMonthYear);
$$("tomonthyear").addEvent("change", changeFromMonthYear);
$$("fromday").addEvent("change", setDateCookies);
$$("today").addEvent("change", setDateCookies);
$$("frommonthyear").addEvent("change", setDateCookies);
$$("tomonthyear").addEvent("change", setDateCookies);
$$("fromday").addEvent("change", changeTransferDate);
$$("frommonthyear").addEvent("change", changeTransferDate);
$$("calfrom").addEvent("click", checkCalendarFrom);
$$("calto").addEvent("click", checkCalendarTo);
if ($$("citytax"))
   {
   $$("citytax").style.cursor="help";
   $$("citytax").addEvent("mouseover", showHelpInfo);
   $$("citytax").addEvent("mouseout", hideHelpInfo);
   }
$(document.body).addEvent("click", hideCalendar);

spans=$("span[title]")
if (spans)
   {
   spans.each( function () { $(this).style.cursor="help"; } );
   spans.each( function () { $(this).addEvent("mouseover", showHelpInfo); } );
   spans.each( function () { $(this).addEvent("mouseout", hideHelpInfo); } );
   }

$$("fromday").addEvent("change", saveAnalyticsVirtualView);
$$("frommonthyear").addEvent("change", saveAnalyticsVirtualView);
$$("today").addEvent("change", saveAnalyticsVirtualView);
$$("tomonthyear").addEvent("change", saveAnalyticsVirtualView);
$$("calfrom").addEvent("change", saveAnalyticsVirtualView);
$$("calto").addEvent("change", saveAnalyticsVirtualView);
$$("personnumber").addEvent("change", saveAnalyticsVirtualView);
$$("childrennumber").addEvent("change", saveAnalyticsVirtualView);
$$("roomnumber0").addEvent("change", saveAnalyticsVirtualView);
$$("roomID0").addEvent("change", saveAnalyticsVirtualView);
$$("roomnumber1").addEvent("change", saveAnalyticsVirtualView);
$$("roomID1").addEvent("change", saveAnalyticsVirtualView);
if ($$("language")) $$("language").addEvent("change", saveAnalyticsVirtualView);
$$("comments").addEvent("change", saveAnalyticsVirtualView);
$$("salutation").addEvent("change", saveAnalyticsVirtualView);
$$("firstname").addEvent("change", saveAnalyticsVirtualView);
$$("lastname").addEvent("change", saveAnalyticsVirtualView);
$$("country").addEvent("change", saveAnalyticsVirtualView);
$$("email").addEvent("change", saveAnalyticsVirtualView);
$$("phone").addEvent("change", saveAnalyticsVirtualView);
$$("transfercheckyes").addEvent("change", saveAnalyticsVirtualView);
$$("transfercheckno").addEvent("change", saveAnalyticsVirtualView);

changeTransferPersonNumber(); checkRoomRow(); requireRoomingList();
calendarAddEvents(); calendarAddEventsCookies();
setDateCookies();
}

function saveAnalyticsVirtualView() {
urchinTracker('/bookform/'+this.id);
}

function showHelpInfo(event)
{
if (isHidden("infodesc"))
   {
   $$("infodesc").replaceContent($(this).title);
   $(this).title="";
   assignPosition("infodesc",event);
   showElement("infodesc");
   }
}

function hideHelpInfo()
{
if (!isHidden("infodesc"))
   {
   $(this).title=$$("infodesc").innerHTML;
   hideElement("infodesc");
   $$("infodesc").replaceContent("");
   }
}

function calendarAddEventsCookies() {
days=$$("calendar").elmsByTag("td");
days.each( function () { if ($(this).className && $(this).className!="nav" && $(this).className!="notbook" && $(this).className!="full") { $(this).addEvent("click", setDateCookies); } } );
}

function fetchPriceTable() {
ajaxstatus=getBusyOverlay($$("prices"),{opacity:0.5});
ajaxstring="";
roomrows=3;
if (!$$("roomnumber1")) roomrows=1;
for (i=0;i<roomrows;i++)
   {
   roomnumber=parseInt($$("roomnumber"+i).id.replace("roomnumber",""));
   if ($$("roomnumber"+roomnumber).value>0 && $$("roomID"+roomnumber).selectedIndex>0) ajaxstring=ajaxstring+"&roomnumber"+roomnumber+"="+$$("roomnumber"+roomnumber).value+"&roomID"+roomnumber+"="+$$("roomID"+roomnumber).value;
   if ($$("roomnumber"+roomnumber).value>0 && $$("roomID"+roomnumber).selectedIndex>0 && $$("rateID"+roomnumber)!=null) ajaxstring=ajaxstring+"&rateID"+roomnumber+"="+$$("rateID"+roomnumber).value;
   else if ($$("roomnumber"+roomnumber).value>0 && $$("roomID"+roomnumber).selectedIndex>0 && $$("rateID"+parseInt(roomnumber-1))!=null) ajaxstring=ajaxstring+"&rateID"+roomnumber+"="+$$("rateID"+parseInt(roomnumber-1)).value;
   else if ($$("roomnumber"+roomnumber).value>0 && $$("roomID"+roomnumber).selectedIndex>0 && $$("rateID"+parseInt(roomnumber+1))!=null) ajaxstring=ajaxstring+"&rateID"+roomnumber+"="+$$("rateID"+parseInt(roomnumber+1)).value;
   }
if ($$("personnumber").value>0) ajaxstring=ajaxstring+"&personnumber="+$$("personnumber").value;
if (ajaxstring!="")
   {
   $$("prices").get("js/ajaxhelper.php?command=1&hotelID="+$$("hotelID").value+ajaxstring, displayPriceTable);
   return false;
   }
else
   {
   ajaxstatus.remove();
   return false;
   }
}

function displayPriceTable(response) {
$$("prices").replace(response);
ajaxstatus.remove();
flashNewInfo("prices");
if ($$("citytax"))
   {
   $$("citytax").style.cursor="help";
   $$("citytax").addEvent("mouseover", showHelpInfo);
   $$("citytax").addEvent("mouseout", hideHelpInfo);
   }
spans=$("span[title]")
if (spans)
   {
   spans.each( function () { $(this).style.cursor="help"; } );
   spans.each( function () { $(this).addEvent("mouseover", showHelpInfo); } );
   spans.each( function () { $(this).addEvent("mouseout", hideHelpInfo); } );
   }
}

function changeTransferPersonNumber() {
$$("transferpersonnumber").value=$$("personnumber").value;
}

function changeTransferDate() {
$$("transferdate").value=$$("fromday").value+"-"+$$("frommonthyear").value;
}

function requireRoomingList() {
if (!$$("room2block")) return;
total=($$("roomnumber1").value*1)+($$("roomnumber2").value*1);
if (total>0)
   {
   showElement("roominglistfield");
   if (!$$("roominglist").value) flashNewInfo("roominglistfield");
   }
else hideElement("roominglistfield");
}

function checkRoomRow() {
if (!$$("roomnumber1")) return;
if ($$("roomnumber1").value>0 && $$("roomID1").selectedIndex>0)
   {
   showElement("room2block");
   }
else
   {
   hideElement("room2block");
   $$("roomnumber2").value="";
   }
}

function setDateCookies() {
setCookie("fromday",$$("fromday").selectedIndex+1);
setCookie("frommonthyear",$$("frommonthyear").value);
setCookie("today",$$("today").selectedIndex+1);
setCookie("tomonthyear",$$("tomonthyear").value);
fetchPriceTable();
}