  var global=window.document

  var WhichSearchBtn=0
  var MONTH_NAMES=new Array('January','February','March','April','May','June','July','August','September','October','November','December');
  var DAY_NAMES=new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');

  var arrRegisterUser = new Array("cmbTitleUser","txtFirstName","txtLastName","txtAddress","txtCountry","txtState","txtCity","txtPincode",
                           "txtTelephone","txtMobile","txtEmailID","txtPassword")

  var arrDBField  = new Array("F1","F2","F3","F4",
                              "F5","F6","F7","F8","F9","F10","F11","F12")

  var arrDBField1  = new Array("initial","firstname","lastname","address",
                              "country","state","city","pincode","telephonenumber","mobilenumber","username","UserPassword")


  var arrLoginUser = new Array("txtLoginEmailID","txtLoginPWD")
  var arrUserLogin = new Array("txtUserLoginEmailID","txtUserLoginPWD")

  var arrReviewer  = new Array("hdnAboutLocationID","txtYourReview","txtReviewername","txtReviewerEmail","hdnDestinationRating")
  var arrSuAcc  = new Array("txtSuAccName","txtSuAccLocation","txtSuAccEmail","txtSuAccContactNo")

  var arrTravaccoCustomer = new Array("cmbTrvaccoTitleUser","textTrvaccoCustomerName","textTrvaccoCustomerAddress","textTrvaccoTotal")


  var arrBooking=new Array()
  var pYY=0
  var pMM=0
  var pDD=0

  var nYY=0
  var nMM=0
  var nDD=0
//new Date().getFullYear(),new Date().getMonth()+1,new Date().getDate()+2
  var cdt = new Date()
  var ToDay = cdt.getDate()
  var CYY   = cdt.getFullYear()
  var CMM   = cdt.getMonth()
  var CDD   = cdt.getDate()
  var Cday  = cdt.getDay()
  var SLInd = 0
  var isUpdateCalClicked=false
  var gAccommodationID="0"
  var gSTLAccommodationID="0"
  var ctrDAY=0
  var ctrActDay=0
  var ctrPkgDay=0
  var ctrShortLstAcco=0
  var CurrentView="SearchResult"
  var CurrentTab="Tab1"

  var isSearched=false
  var ProfilePic=""
  var isProfileView=false
  var isFromViewProfile=false
  var isProfileShortList=false
  var TimeOUT=null
  var MaxTimeOut=50
  var SearchResultCount=0
  var Sort="Order BY Rating"
  var SortHlt="srtRating"
  var SortDir =" desc"
  var ProfileTabClicked=""
  var PackageTotalPrice=0
  var ActivityTotalPrice=0
  var RoomTotalPrice=0
  var objBOOKING =null
  var objPredictiveList =null

  var BookedDays=0;
  var Price=0.0
  var arrDates= new Array()
  var Month1=""
  var DT1=""
  var Month2=""
  var DT2=""
  var ctrWE=0
  var ctrWD=0
  var isIE=true
  var sal=null
  var PRTROW=0
  var PRTWinPos=0
  var isFromTravacco=false
  var isOver=false

  var MinDate=""
  var MaxDate=""
  var profileacc=""
  var finame=""
  var lsname=""
  var Accid=""
  var ShowMoveMsg=true
  var TravaccoShare=0.0

  var GrandTotal=0.0
  var GrandTotalNoTax=0.0
  var PaidOnline=0.0
  var AccoTax =0.0
  var PaymentAttempt=1
  var isPayInProgress=false

function fnInit()
{

/*
  global.getElementById('Menu').style.top=global.getElementById('content').offsetTop + 10
  global.getElementById('Menu').style.left=global.getElementById('content').offsetLeft + 25
  global.getElementById('Menu').style.display=""


  global.getElementById('tblAccoProfile').style.top=global.getElementById('tblShortListAcco').style.top= global.getElementById('SearchResult').style.top   = global.getElementById('content').offsetTop  + 10
  global.getElementById('tblAccoProfile').style.left=global.getElementById('tblShortListAcco').style.left   = global.getElementById('SearchResult').style.left  = global.getElementById('content').offsetLeft +
                                                      document.getElementById('Menu').offsetWidth + 25

  global.getElementById('tblAccoProfile').style.width=global.getElementById('tblShortListAcco').style.width= global.getElementById('SearchResult').style.width = (global.getElementById('content').offsetWidth -
                                                      document.getElementById('Menu').offsetWidth)  - 30

  global.getElementById('tblAccoProfile').style.height=global.getElementById('tblShortListAcco').style.height=global.getElementById('SearchResult').style.height = global.getElementById('content').offsetHeight - 20

*/

if(window.addEventListener)
  isIE=false
 else
  isIE=true

  if(global.getElementById("isFromTravacco"))
    isFromTravacco=global.getElementById("isFromTravacco").value
  else
    isFromTravacco=false

  if(!isFromTravacco)
  {
    var msPerDay = 24 * 60 * 60 * 1000

    var NxtSat = (7-(Cday+1))
    var NextWE = new Date(cdt.valueOf() + parseInt( (msPerDay * NxtSat)))

    global.getElementById('DD').value = NextWE.getDate()
    global.getElementById('MM').value = NextWE.getMonth() +1
    global.getElementById('YY').value = NextWE.getFullYear()

    global.getElementById('Date2WordsDD').innerHTML = DAY_NAMES[NextWE.getDay()].substring(0,3)
    global.getElementById('Date2WordsMM').innerHTML = MONTH_NAMES[NextWE.getMonth()].substring(0,3)

    global.getElementById('DD1').value =global.getElementById('hdnDD').value = global.getElementById('DD').value
    global.getElementById('MM1').value =global.getElementById('hdnMM').value = global.getElementById('MM').value
    global.getElementById('YY1').value =global.getElementById('hdnYY').value = global.getElementById('YY').value
    global.getElementById('NoOfNights1').value=global.getElementById('hdnNoOfNights').value=global.getElementById('NoOfNights').value
    fnInitCal()
    objPredictiveList= new CPredictiveList()
    global.getElementById('spnCityList').style.top=global.getElementById('jj2').offsetTop + 25
    global.getElementById('spnCityList').style.left=global.getElementById('jj2').offsetLeft+12- (isIE ? 0:4)
    global.getElementById('mnBD').className=""
    global.getElementById('tblPebble').style.display=""
    fnPebbleTextShow(global.getElementById('pebble3'),true)
  }
  else
  {
    global.getElementById('mnProBD').className=""
  }
  objBOOKING = new CBOOKING()
}



function CPredictiveList()
{
  this.fnPredictiveSearch = function(obj)
  {
  if(global.getElementById('txtSearch').value=="")
   isOver=false
  global.getElementById('errSearchResult').style.display="none"
   if(!isOver)
   {
    try{
      var code=window.event ? obj.keyCode : obj.which

         obj.returnValue = true

        if (global.getElementById('txtSearch').value.length >= 3 || code==32) {
          fnGetPredictiveList()
        }
        else
        {
          global.getElementById('PredictiveTxt').style.display="none"
        }

    }catch(e) {}
   }
  }

  function fnGetPredictiveList()
  {
    var OBJ = new CallBackObject();
    OBJ.OnComplete =fnPredictiveList
    OBJ.DoCallBackPost("PredictiveTxt.jsp","SearchQuery="+escape(global.getElementById('txtSearch').value))
  }

  function fnPredictiveList(Msg)
  {
    if(!isOver)
    {
      global.getElementById('PredictiveTxtLst').innerHTML=Msg
      global.getElementById('PredictiveTxt').style.top=(isIE ? 25 :global.getElementById('jj2').offsetTop +25)
      global.getElementById('PredictiveTxt').style.left=(isIE ? 15:global.getElementById('jj2').offsetLeft+8)
      global.getElementById('PredictiveTxt').style.display=""
    }
    isOver=false
  }

  this.fnSelectPredictiveTxt= function(obj)
  {
    try
    {
     global.getElementById('txtSearch').value=(isIE ? obj.innerText : obj.textContent)
     global.getElementById('PredictiveTxt').style.display="none"
    }
    catch(e)
    {
     //alert(e.message)
    }
  }
}


function fnShowTab(tab,obj)
{
  fnHideShowElement(new Array("tblPebble","tblPebbleText1","tblPebbleText2","tblPebbleText3","tblPebbleText4","tblPebbleText5","tblPebbleText6"),"none")

  var isOPen = (obj.style.backgroundImage=="url(images/left_bg_highlight.gif)" ?true:false)

  for(i=1;i<=8;i++)
  {
    global.getElementById('sTab'+i).style.display="none"
    global.getElementById('Tab'+i).style.backgroundImage="url(images/left_bg_normal.gif)"
    global.getElementById('Tab'+i).className="clsFontTab clsCursorHand"
  }

  obj.style.backgroundImage= (isOPen ? "url(images/left_bg_normal.gif)": "url(images/left_bg_highlight.gif)")
//  if(CurrentTab!=obj.id)

    obj.className=(!isOPen ? "clsFontWhiteTab clsCursorHand": "clsFontTab clsCursorHand")

  global.getElementById(tab).style.display=(!isOPen ? "" :"none")

  if(tab=='sTab6')
  {
    if(!isProfileView)
    {
      global.getElementById('tblHighlyRatedAcco').style.display=
      global.getElementById('SearchResult').style.display="none"

      fnShortListAcco()
      CurrentView="tblShortListAcco"
      CurrentTab ="Tab6"
    }
   //   fnCloseProfileWin('N')
  }
  else if(tab=='sTab3')
  {
    global.getElementById('tblShortListAcco').style.display=
    global.getElementById('SearchResult').style.display="none"

    global.getElementById('tblHighlyRatedAcco').style.display=(!isOPen ? "" :"none")
    CurrentView="tblHighlyRatedAcco"
    CurrentTab ="Tab3"

    if(isProfileView)
     fnCloseProfileWin('N')
  }
  else if(tab=='sTab2' || tab=='sTab1')
  {
    CurrentTab ="Tab1"
    global.getElementById('tblHighlyRatedAcco').style.display=
      global.getElementById('tblShortListAcco').style.display="none"
    if(isSearched && (!isProfileView))
    {

      if(CurrentView!="SearchResult")
        global.getElementById('SearchResult').style.display=(!isOPen ? "" :"none")



      CurrentView="SearchResult"
      CurrentTab ="Tab2"
    }else
     global.getElementById('tblPebble').style.display=""
  }
  else if(tab=='sTab8')
  {
    if(isProfileView && (!isFromViewProfile))
    {
      isProfileShortList=true
      if(global.getElementById('ProAccoName').innerHTML!=global.getElementById('Tab8').innerHTML)
      fnViewProfileShortList(gSTLAccommodationID,"")
      fnWhereAmI("spnLOCR")
    }
    isFromViewProfile=false
  }
}

function fnGetSearchResult(isUpdate)
{
  var searchSTR=""
  var SearchTxt=""
  var SearchNarrow=""
  var SearchNarrowSTR=""

  var NoOfNights   =global.getElementById('NoOfNights').value
  var ArriveDateDD =global.getElementById('DD').value
  var ArriveDateMM =global.getElementById('MM').value
  var ArriveDateYY =global.getElementById('YY').value
  var AccoType=""
  WhichSearchBtn=0

  SearchTxt=global.getElementById('txtSearch').value

  if(isUpdate)
  {
     SearchTxt=global.getElementById('hdnTxtSearch').value
     SearchNarrow=global.getElementById('txtSearchNarrow').value

     NoOfNights   =global.getElementById('hdnNoOfNights').value
     ArriveDateDD =global.getElementById('hdnDD').value
     ArriveDateMM =global.getElementById('hdnMM').value
     ArriveDateYY =global.getElementById('hdnYY').value

//to be implimented
/*     if(SearchNarrow.split(",").length > 1)
      SearchNarrowSTR = ""
     else
      SearchNarrowSTR = ""
*/

     WhichSearchBtn=1
     if(!global.getElementById('All').checked)
     {
       AccoType=""
       for(i=1; i <global.getElementsByName('AccoType').length;i++)
       {
         if(global.getElementsByName('AccoType')[i].checked)
            AccoType += "'"+global.getElementsByName('AccoType')[i].value+ "',"
       }

       if(AccoType!="")
         AccoType =  AccoType.substring(0,AccoType.length-1)
     }
  }
  else
  {
    for(i=0; i <global.getElementsByName('AccoType').length;i++)
     global.getElementsByName('AccoType')[i].checked=false

     global.getElementById('txtSearchNarrow').value=""
  }

  if(!fnValidateSearch(null,isUpdate))
  {
    global.getElementById('SearchResult').style.display="none"
    var OBJ = new CallBackObject();
    OBJ.OnComplete =fnSearchResult

    if(SearchTxt.split(",").length > 1)
      searchSTR=Trim(SearchTxt.split(",")[0])
    else
      searchSTR=Trim(SearchTxt)

    OBJ.DoCallBackPost("SearchResult.jsp","SearchQuery="+escape(searchSTR)+
                       "&NoOfNights="+escape(NoOfNights)+
                       "&ArriveDateDD="+escape(ArriveDateDD)+
                       "&ArriveDateMM="+escape(ArriveDateMM)+
                       "&ArriveDateYY="+escape(ArriveDateYY) +
                       "&OrderBY="+ escape(" group by AIMG.accommodation_id "+ Sort+SortDir) +
                       "&SrtField="+escape(SortHlt) +
                       "&AccoType="+escape(AccoType)
                       )

    fnCloseUserLoginWin()
    fnShowWaitMessage('PlsWait',true)
    //global.getElementById('SearchResultContent').innerHTML="&nbsp;"
  }
}

function fnSearchResult(Msg)
{
      var prvSr=global.getElementById('SearchResultContent').innerHTML
      if(isProfileView)
        fnCloseProfileWin('N')
      global.getElementById('SearchResultContent').innerHTML=Msg
      global.getElementById('tblHighlyRatedAcco').style.display="none"
      if(global.getElementById('hdnSearchResultCount').value!="0")
      {
        prvSr =""
        if(global.getElementById('sTab2').style.display!="")
        {
          fnShowTab("sTab2",global.getElementById('Tab2'))
          //global.getElementById('txtSearchNarrow').value = global.getElementById('txtSearch').value
           fnAddPreviousSearch()
          global.getElementById('SearchText').innerHTML="<span class=clsSPlace>"+global.getElementById('txtSearch').value + "</span>&nbsp;</br>" +
                                                         "<span class=clsSDay>"+global.getElementById('Date2WordsDD').innerHTML +",&nbsp;" + global.getElementById('DD').value +"</span>&nbsp;&nbsp;" +
                                                         "<span class=clsSDay>"+global.getElementById('Date2WordsMM').innerHTML +"&nbsp;"+global.getElementById('YY').value + "</span>&nbsp;/&nbsp;" +
                                                         "<span class=clsSNONights>"+global.getElementById('NoOfNights').value + " nights</span>"

          global.getElementById('hdnTxtSearch').value=global.getElementById('txtSearch').value

          global.getElementById('NoOfNights1').value=global.getElementById('hdnNoOfNights').value=global.getElementById('NoOfNights').value

          global.getElementById('DD1').value =global.getElementById('hdnDD').value = global.getElementById('DD').value
          global.getElementById('MM1').value =global.getElementById('hdnMM').value = global.getElementById('MM').value
          global.getElementById('YY1').value =global.getElementById('hdnYY').value = global.getElementById('YY').value


          global.getElementById('tdAccoType').innerHTML=global.getElementById('spanAccoType').innerHTML
          global.getElementById('spanAccoType').innerHTML="&nbsp;"

         for(var i=0; i <global.getElementsByName('AccoType').length;i++)
         {
           global.getElementsByName('AccoType')[i].checked=true
         }
        }

        global.getElementById('txtSearch').value=""
        global.getElementById('NoOfNights').value=""

        global.getElementById('DD').value=""
        global.getElementById('MM').value=""
        global.getElementById('YY').value=""
        global.getElementById('Date2WordsDD').innerHTML=""
        global.getElementById('Date2WordsMM').innerHTML=""

        global.getElementById('Tab22').style.display=""
        global.getElementById(SortHlt).className="clsSort clsCursorHand"
        global.getElementById(SortHlt+'spn').innerHTML=(Trim(SortDir)=="desc" ? "&uarr;":"&darr;")

        ctrDAY=ctrActDay=PackageTotalPrice = ActivityTotalPrice = RoomTotalPrice=0

        SearchResultCount=0;
        fnStartCount()
        isSearched=true
        CurrentView="SearchResult"
        CurrentTab="Tab2"

       fnInitShortlist()
       fnWhereAmI("spnLOCS")
    }
    else
    {
     global.getElementById('SearchResultContent').innerHTML=prvSr
      global.getElementById('SearchResult').style.display=""
      fnShowWaitMessage('PlsWait',false)
      global.getElementById('errSearchResult').style.display=""

    }
    global.getElementById('tblPebble').style.display="none"
    global.getElementById('tblGenPebble').style.display=""


}

function fnInitShortlist()
{
    var isPinned=false
    var obj=null
    var AccommodationID=""
    var i=0

    for(i=0;i<global.getElementsByName('ShLst').length;i++)
    {
      AccommodationID=global.getElementsByName('ShLst')[i].value
      obj=global.getElementById("img_"+ fnSetName() +AccommodationID)
      if(obj)
      {
        isPinned= (obj.src.split("/")[obj.src.split("/").length-1] =="pin_down.gif" ? true :false)
        obj.src = (isPinned  ? "images/pin_up.gif" : "images/pin_down.gif")
        obj.title = (isPinned  ? "Click to shortlist this Accomodation." : "Click to Remove from shortlist.")
        global.getElementById(fnSetName()+AccommodationID).className= (isPinned ?"greyText12" :"greyText12 clsShortlist")
      }
    }
}

function fnStartCount()
{
    if(TimeOUT)
      clearTimeout(TimeOUT);
     TimeOUT  = setTimeout("fnUpdateSearchCount()", MaxTimeOut);
}

function fnUpdateSearchCount()
{

    if(SearchResultCount > parseInt(global.getElementById('hdnSearchResultCount').value))
    {
      if(TimeOUT)
       clearTimeout(TimeOUT);
      global.getElementById('SearchResult').style.display=""
      fnShowWaitMessage('PlsWait',false)

      return global.getElementById('hdnSearchResultCount').value
    }
   global.getElementById('spnSearchResultCount').innerHTML=SearchResultCount


  // global.getElementById('spnSearchResultCount').setAttribute("innerHTML",SearchResultCount)


    SearchResultCount++
    fnStartCount()
    return SearchResultCount
}


function updateDOM(inputField) {
    // if the inputField ID string has been passed in, get the inputField object
    if (typeof inputField == "string") {
        inputField = document.getElementById(inputField);
    }

    if (inputField.type == "select-one") {
        for (var i=0; i<inputField.options.length; i++) {
            if (i == inputField.selectedIndex) {
                inputField.options[inputField.selectedIndex].setAttribute("selected","selected");
            }
        }
    } else if (inputField.type == "text") {
        inputField.setAttribute("value",inputField.value);
    } else if (inputField.type == "textarea") {
        inputField.setAttribute("value",inputField.value);
    } else if ((inputField.type == "checkbox") || (inputField.type == "radio")) {
        if (inputField.checked) {
            inputField.setAttribute("checked","checked");
        } else {
            inputField.removeAttribute("checked");
        }
    }
}


function fnHidePSWin(obj)
{
  try
  {
  var id= (isIE? window.event.srcElement.id: obj.target.id)
   global.getElementById('PredictiveTxt').style.display="none"
   if(id!="btnCityLst")
   {

     global.getElementById('spnCityList').style.display="none"
   }

   if(id!="btnCal" && id !="spnNM" && id!="spnPM")
   {

     global.getElementById('cal').style.display="none"
   }
  }
  catch(e){
   }
}

function fnAddPreviousSearch()
{
  var SearchSTR=Trim((isIE ? global.getElementById('SearchText').innerText:global.getElementById('SearchText').textContent))
  if(!fnFindPreviousSearch(SearchSTR))
  {
      var element = document.getElementById('trPS');
      var clone = element.cloneNode(true);
      var mytablebody = document.createElement("TBODY");
      var objCR=global.getElementById('tblPS')
      var i=0
      var ind=0

      ind = objCR.rows.length
      clone.setAttribute("id","trPS"+ ind);
      clone.style.display=""
      mytablebody.appendChild(clone)
      mytablebody.setAttribute("id","TBODYtr"+ ind);
      global.getElementById('tblPS').appendChild(mytablebody);
      YY=global.getElementById('hdnYY').value
      MM=global.getElementById('hdnMM').value
      DD=global.getElementById('hdnDD').value

      i=ind-1
      var strTABLE ="<span class=\"clsCursorHand clsFont\" onclick=\"fnSearchAgain("+ind+")\">"+SearchSTR.replace(global.getElementById('hdnTxtSearch').value,global.getElementById('hdnTxtSearch').value+"</br>")+"</span>"
      +"<input type='hidden' id='PrvDD"+ind+"' name='PrvDD' value='"+DD+"'/>"
      +"<input type='hidden' id='PrvMM"+ind+"' name='PrvMM' value='"+MM+"'/>"
      +"<input type='hidden' id='PrvYY"+ind+"' name='PrvYY' value='"+YY+"'/>"
      +"<input type='hidden' id='PrvNoOfNights"+ind+"' name='PrvNoOfNights' value='"+global.getElementById('hdnNoOfNights').value+"'/>"
      +"<input type='hidden' id='PrvSearchSTR"+ind+"' name='PrvSearchSTR' value='"+global.getElementById('hdnTxtSearch').value+"'/>"

      objCR.rows[ind].cells[0].innerHTML='<table style="height:100%;padding:3px" width="100%" border="0" cellspacing="0" cellpadding="0"  class="clsBookingBG1 clsSmallFont"><tr><td align="right" class="clsBookingSelectMsg clsCursorHand"  valign="top"  onClick="fnDeletePreviousSearch('+ind+')" title="click to remove" ><B>X</B></td></tr><tr><td align="left" valign="middle" style="height:95%">'+strTABLE+'</td></tr></table>'

      global.getElementById('tblPS').style.display=""
     if(objCR.rows.length>1)
      global.getElementById('Tab77').style.display=""
  }
}

function fnFindPreviousSearch(PreviousSearch)
{
//objCR.rows[i].cells[0].textContent.replace(/\xA0|\,/g,' ')
var cellContent=""
  if(PreviousSearch!="")
  {
     var objCR=global.getElementById('tblPS')
     for(i=0;i<objCR.rows.length;i++)
     {
       cellContent= (isIE ? objCR.rows[i].cells[0].innerText:objCR.rows[i].cells[0].textContent.replace(/\XxA0|\,/g,' '))
       if(Trim(cellContent)!="")
       {
         if(Trim(cellContent).search(PreviousSearch.replace(/\XxA0|\,/g,' '))!=-1)
           return true
       }
     }
  }
  else
     return true

   return false
}

function fnDeletePreviousSearch(ID)
{
   var current = global.getElementById('trPS'+ID).cells[0];
   while ( (current = (isIE? current.parentElement: current.parentNode ))  && current.tagName !="TR");
         isIE? current.parentElement.removeChild(current): current.parentNode.removeChild(current)

   var objCR=global.getElementById('tblPS')
   if(objCR.rows.length==1)
     global.getElementById('Tab77').style.display="none"
}


function fnDeleteAll()
{
   var objCR=global.getElementById('tblST')
   var current=null
   for(i=objCR.rows.length-1;i>0;i--)
   {
   current = objCR.rows[i].cells[0];
   while ( (current = (isIE? current.parentElement: current.parentNode ))  && current.tagName !="TR");
       isIE? current.parentElement.removeChild(current): current.parentNode.removeChild(current)
   ctrShortLstAcco--
   global.getElementById("spnSA").innerHTML=objCR.rows.length-1
   }
}


function fnValidateSearch(obj,isUpdate)
{
  var isError=false
  var ID= (obj==null ? "" : obj.id)

  if(!isUpdate)
  {

    if(ID =="txtSearch" || ID=="")
    {
      if(global.getElementById('txtSearch').value.length==0) {
        global.getElementById('errtxtSearch').style.display=""
        isError=true
      }
      else
      {
          global.getElementById('errtxtSearch').style.display="none"
      }
      if(global.getElementById('txtSearch').value=="select destination") {
        global.getElementById('errtxtSearch').style.display=""
        isError=true
      }
      else
      {
          global.getElementById('errtxtSearch').style.display="none"
      }

      if(ID!="") return isError
    }

    if(ID =="NoOfNights" || ID=="")
    {
      if(global.getElementById('NoOfNights').value.length==0) {
        global.getElementById('errNoOfNights').innerHTML="So, how many nights are you staying for?"
        global.getElementById('errNoOfNights').style.display=""
        isError=true
      }
      else if(global.getElementById('NoOfNights').value=="0") {
        global.getElementById('errNoOfNights').innerHTML="You can't stay for 0 nights, now can you?"
        global.getElementById('errNoOfNights').style.display=""
        isError=true
      }else if(global.getElementById('NoOfNights').value > 14) {
        global.getElementById('errNoOfNights').innerHTML="If you're looking at staying <br/>for more than 14 nights, call us"
        global.getElementById('errNoOfNights').style.display=""
        isError=true
      }
      else
      {
          global.getElementById('errNoOfNights').style.display="none"
      }

      if(ID!="") return isError
    }

     if((global.getElementById('DD').value.length==0 ||
       global.getElementById('MM').value.length==0 ||
       global.getElementById('YY').value.length==0) && ID=="")
     {
        global.getElementById('errDate').style.display=""
        isError=true
      }
      else
      {
          global.getElementById('errDate').style.display="none"
      }
  }
  else
  {
    if(ID =="txtSearchNarrow" || ID=="")
    {
     /* if(global.getElementById('txtSearchNarrow').value.length==0)
      {

        global.getElementById('errtxtSearchNarrow').style.display=""
        isError=true
      }
      else
      {
          global.getElementById('errtxtSearchNarrow').style.display="none"

      }
       if(ID!="") return isError*/
    }
  }

   return isError
}

function fnInitCal()
{

    for(i=0;i<5;i++)
    {
      fnInsertCalRow('Cal1')
    }

    for(i=0;i<5;i++)
    {
      fnInsertCalRow('Cal2')
    }
    var pad= global.getElementById('Main').offsetLeft
    global.getElementById('cal').style.top= 140
    global.getElementById('cal').style.left = global.getElementById('Menu').offsetLeft  +
                                              global.getElementById('Menu').offsetWidth + 20 + pad

    global.getElementById('cal').style.display="none"
    var dt = new Date()

    pYY=dt.getFullYear()
    pMM=dt.getMonth() + 1
    pDD=dt.getDate()

    if(pMM>12)
    {
      nMM=1
      pYY=pYY + 1
    }
    else
    {
      nYY=pYY
      nMM=pMM+1
      nDD=1
    }

  fnSetMonth()

}

function fnShowCal()
{
    fnPreviousMonth()
    fnNextMonth()
    global.getElementById('cal').style.display=""
}

function fnPreviousMonth()
{
   pMM--
    if(pMM<=0)
    {
      nMM=1
      nYY=pYY

      pDD=1
      pMM=12
      pYY--
    }
    else
    {
      nMM=pMM+1
      nDD=1
       if(pYY!=nYY)
        nYY=pYY
    }
}

function fnNextMonth()
{
   nMM++
   if(nMM>12)
    {
      pMM=12
      pYY=nYY

      nMM=1
      nYY=nYY + 1
      pDD=nDD=1
    }
    else
    {
      pMM=nMM-1
      pDD=nDD=1

      if(pYY!=nYY && pMM!= 12)
        pYY=nYY
    }
 }

function fnSetMonth()
{
  var  TotDays = fnGetDatePart("TotDays",pYY,pMM,pDD)
  var  Month   = fnGetDatePart("MON",pYY,pMM,pDD)
  var  WDAY    = fnGetDatePart("WDAY",pYY,pMM,pDD)-1
  if(WDAY==-1)
    WDAY=0

  var firstDate = Date.parse(CYY+"/"+(parseInt(CMM)+1)+"/1")
  var secondDate= Date.parse(pYY+"/"+pMM +"/1")

  var msPerDay = 24 * 60 * 60 * 1000
  var dbd = Math.round((secondDate.valueOf()-firstDate.valueOf())/ msPerDay) + 1;

  fnPopulateCal('Cal1',TotDays,Month,WDAY)
  global.getElementById('Cal1Mon').innerHTML="<B>"+MONTH_NAMES[Month] +"/"+pYY+"</B>"

  global.getElementById('spnPM').style.display=( (pYY>=CYY) && (dbd>1) ? "":"none")

  TotDays = fnGetDatePart("TotDays",nYY,nMM,nDD)
  Month   = fnGetDatePart("MON",nYY,nMM,nDD)
  WDAY    = fnGetDatePart("WDAY",nYY,nMM,nDD)-1
  if(WDAY==-1)
    WDAY=0

  fnPopulateCal('Cal2',TotDays,Month,WDAY)
  global.getElementById('Cal2Mon').innerHTML="<B>"+MONTH_NAMES[Month] +"/"+nYY+"</B>"

}

function fnGetDatePart(PT,YY,MM,DD)
{
    var dt = new Date(YY,parseInt(MM,10)-1,DD)
    var timeA = new Date(dt.getFullYear(), dt.getMonth()+1,1);
    var timeDifference = timeA - 86400000;
    var timeB = new Date(timeDifference);
    var daysInMonth = timeB.getDate();

    if (PT=="TotDays")
      return daysInMonth

    if(PT=="MON")
      return new Date(dt.getFullYear(), dt.getMonth(),1).getMonth()

    if(PT=="DAY")
      return new Date(dt.getFullYear(), dt.getMonth(),1).getDate()

    if(PT=="WDAY")
      return new Date(dt.getFullYear(), dt.getMonth(),1).getDay()
}


function fnInsertCalRow(ID)
{
  var element = document.getElementById('tr'+ID);
  var clone = element.cloneNode(true);
  var mytablebody = document.createElement("TBODY");
  var objCR=global.getElementById('tbl'+ID)
  var i=0
  var ind=1

  ind = objCR.rows.length
  clone.setAttribute("id","tr"+ID+ ind);
  clone.style.display=""
  mytablebody.appendChild(clone)
  mytablebody.setAttribute("id","TBODYtr"+ ind);
  global.getElementById('tbl'+ID).appendChild(mytablebody);
}

function fnPopulateCal(ID,TotDays,Month,WDAY)
{
  try
  {
    var objCR=global.getElementById('tbl'+ID)
    var i=0
    var j=0
    var Day=1
    var ind=0

    var sYY=(('tbl'+ID)=='tblCal2'? pYY :nYY)


    for(i=2;i<objCR.rows.length;i++)
    {
      for(j=0;j<objCR.rows[i].cells.length;j++)
      {
        objCR.rows[i].cells[j].innerHTML="&nbsp;"
        if(j==0)
          objCR.rows[i].cells[j].className="clsLightBorderLeft clsLightBorderRight clsLightBorderBottom"
        else
          objCR.rows[i].cells[j].className="clsLightBorderRight clsLightBorderBottom"
      }
    }

    for(i=2;i<objCR.rows.length;i++)
    {
      for(j=(i==2 ?WDAY:0);j<objCR.rows[i].cells.length;j++,Day++)
      {
        if(Day>TotDays)break;
        objCR.rows[i].cells[j].innerHTML=Day

       if((Day>=ToDay+2 || CMM!=Month) && (fnFindHoliday(sYY+"-"+(Month+1)+"-"+(Day<10 ? "0"+Day :Day))))
        {
          objCR.rows[i].cells[j].className +=" clsCalHoliday clsCursorHand "
          isIE ? objCR.rows[i].cells[j].attachEvent("onclick", fnGetSelectedDate) : objCR.rows[i].cells[j].addEventListener("click", fnGetSelectedDate,false)
        }
        else
        if((Day==ToDay+2) && (CYY==nYY || CYY==pYY) && (CMM==Month))
        {
          objCR.rows[i].cells[j].className +=" clsCalTDT clsCursorHand " + ((j==5 || j==6) ? "clsCalWE":"")
          isIE ? objCR.rows[i].cells[j].attachEvent("onclick", fnGetSelectedDate) : objCR.rows[i].cells[j].addEventListener("click", fnGetSelectedDate,false)
        }
        else
        if((Day<ToDay+2) && (CYY==nYY || CYY==pYY) && (CMM==Month))
          objCR.rows[i].cells[j].className += " clsCalPDT "+ ((j==5 || j==6) ? " clsCalWE":"")
         else
         {
          objCR.rows[i].cells[j].className+=" clsCursorHand "  + ((j==5 || j==6) ? " clsCalWE":"")
          isIE ? objCR.rows[i].cells[j].attachEvent("onclick", fnGetSelectedDate) : objCR.rows[i].cells[j].addEventListener("click", fnGetSelectedDate,false)
          }

      }
      if(Day>TotDays)break;
    }
  }
  catch(e)
  {
    //alert(e.message)
  }
}

function fnCloseCal()
{
  global.getElementById('cal').style.display="none"
}

function fnGetSelectedDate()
{

     var current = (isIE ? window.event.srcElement:this)
     var ID=(isIE ? current.parentElement.parentElement.parentElement.id :this.parentNode.parentNode.parentNode.id)

     var sDD=current.innerHTML
     var sMM=(ID=='tblCal1'? pMM :nMM)
     var sYY=(ID=='tblCal2'? pYY :nYY)
     var sDay=new Date(sYY, sMM-1,sDD).getDay()
     if(sDay==-1)sDay=0

     if(!isUpdateCalClicked)
     {
       global.getElementById('DD').value=sDD
       global.getElementById('MM').value=sMM
       global.getElementById('YY').value=sYY
       global.getElementById('Date2WordsDD').innerHTML= DAY_NAMES[(sDay==0?sDay:sDay)].substring(0,3)
       global.getElementById('Date2WordsMM').innerHTML=MONTH_NAMES[(sMM==0?sMM:sMM-1)].substring(0,3)
     }
     else
     {
       global.getElementById('DD1').value=sDD
       global.getElementById('MM1').value=sMM
       global.getElementById('YY1').value=sYY
       global.getElementById('Date2WordsDD1').innerHTML= DAY_NAMES[(sDay==0?sDay:sDay)].substring(0,3)
       global.getElementById('Date2WordsMM1').innerHTML=MONTH_NAMES[(sMM==0?sMM:sMM-1)].substring(0,3)
     }
     fnCloseCal()

}

function fnFindHoliday(date)
{
 var HolidayLST=global.getElementById('HolidayDate').value.split(",")
 for(i=0;i<HolidayLST.length;i++)
 {
   if(HolidayLST[i]==date)
   return true;
 }
 return false
}

function fnViewProfile(AccommodationID,AccName)
{
  gSTLAccommodationID=gAccommodationID=AccommodationID

  var  isSR = (global.getElementById(fnSetName()+AccommodationID) ? true :false)
  var OBJ = new CallBackObject();
  OBJ.OnComplete =fnViewProfileResult
  OBJ.DoCallBackPost("Profile.jsp","SearchQuery="+escape(AccommodationID)+
  "&NoOfNights="+escape(global.getElementById('hdnNoOfNights').value)+
  "&ArriveDateDD="+escape(global.getElementById('hdnDD').value)+
  "&ArriveDateMM="+escape(global.getElementById('hdnMM').value)+
  "&ArriveDateYY="+escape(global.getElementById('hdnYY').value)
)

  if(CurrentView=="tblHighlyRatedAcco")
  {

    global.getElementById('Tab8').innerHTML=global.getElementById("hdn1_"+(isSR ?fnSetName():"hra")+AccommodationID).value
  }
  else
   if(CurrentView=="tblShortListAcco")
  {
    global.getElementById('Tab8').innerHTML=global.getElementById("hdn1_sh"+AccommodationID).value
  }
  else
  if(CurrentView!="tblShortListAcco")
  {
    global.getElementById('Tab8').innerHTML=global.getElementById("hdn1_"+(isSR ?fnSetName():"hra")+AccommodationID).value
  }

  fnShowWaitMessage('PlsWait',true)

   isProfileView=true

}

function fnViewProfileResult(Msg)
{
var tmptdMenu=""
  global.getElementById('tdMenu').style.display="none"
  if(global.getElementById('tdMenu').innerHTML!="&nbsp;")
  {
    tmptdMenu=global.getElementById('tdMenu').innerHTML
    global.getElementById('tdMenu').innerHTML="&nbsp;"
    global.getElementById('proMenu').innerHTML= tmptdMenu

    global.getElementById('DD1').value =global.getElementById('hdnDD').value
    global.getElementById('MM1').value =global.getElementById('hdnMM').value
    global.getElementById('YY1').value =global.getElementById('hdnYY').value
    global.getElementById('NoOfNights1').value=global.getElementById('hdnNoOfNights').value
  }


  global.getElementById('ProfileTabMenu').innerHTML = Msg.substring(Msg.search("<conProfileTMenu>")+ "<conProfileTMenu>".length,Msg.search("</conProfileTMenu>"))
  global.getElementById('proProfileHDR').innerHTML = Msg.substring(Msg.search("<conProfileHDR>")+ "<conProfileHDR>".length,Msg.search("</conProfileHDR>"))
  global.getElementById('proBooking').innerHTML = Msg.substring(Msg.search("<conBooking>")+ "<conBooking>".length,Msg.search("</conBooking>"))
  global.getElementById('proProfileDetail').innerHTML = Msg.substring(Msg.search("<conProfileDetail>")+ "<conProfileDetail>".length,Msg.search("</conProfileDetail>"))
  global.getElementById('AboutPlaceContent').innerHTML = Msg.substring(Msg.search("<conAboutPlace>")+ "<conAboutPlace>".length,Msg.search("</conAboutPlace>"))

var profilee
 profilee= global.getElementById('proProfileDetail').innerHTML
profileacc= profilee


  fnHideShowElement(new Array("SearchResult",CurrentView,"PlsWait","Tab22","sTab2","Tab33","sTab3"),"none")
  fnHideShowElement(new Array("tblAccoProfile","Tab88","sTab8","Tab99"),"")


  isFromViewProfile=true

  fnShowTab("sTab8",global.getElementById('Tab8'))

 // if(Trim(global.getElementById('AboutPlaceContent').innerHTML).length==0)

  if(!global.getElementById('hdnAboutLocationID'))
    fnHideShowElement(new Array("prTAB1","prTAB2","prTAB3"),"none")
  else
  {
    fnMouseOverSearchType('mtab1')
    ProfileTabClicked="mtab1"
  }
  fnShowWaitMessage('PlsWait',false)
  fnWhereAmI("spnLOCR")
  fnShowTab1(1)
}

function  fnCloseProfileWin(isHighlyRateAcc)
{
  fnHideShowElement(new Array("tblAccoProfile","Tab88","sTab8","Tab99"),"none")

  global.getElementById('tdMenu').innerHTML=global.getElementById('proMenu').innerHTML
  global.getElementById('proMenu').innerHTML="&nbsp;"
  if(global.getElementById('tblHighlyRatedAccTab').rows.length > 1)
    fnHideShowElement(new Array("Tab33","sTab3"),"")

  fnHideShowElement(new Array("tdMenu"),"")
  isProfileView=false

  if(isSearched)
   fnHideShowElement(new Array("Tab22","sTab2","sTab3"),"")

  global.getElementById(CurrentView).style.display=""

  fnShowTab("s"+CurrentTab,global.getElementById(CurrentTab))

  //fnShowTab("sTab2",global.getElementById('Tab2'))
  fnWhereAmI("spnLOCS")

  fnRemoveAllBooking()

}

function fnSearchAgain(ind)
{
//Bangalore , Karnataka / 3 Sat , Nov 2007 / 1 nights

//fnGetDatePart(PT,YY,MM,DD)

  var saDD=global.getElementById('PrvDD'+ind).value
  var saMM=global.getElementById('PrvMM'+ind).value
  var saYY=global.getElementById('PrvYY'+ind).value

  var saDT = new Date(saYY,saMM-1,saDD)

  global.getElementById('txtSearch').value=global.getElementById('PrvSearchSTR'+ind).value
  global.getElementById('NoOfNights').value=global.getElementById('PrvNoOfNights'+ind).value
  global.getElementById('DD').value=global.getElementById('PrvDD'+ind).value
  global.getElementById('Date2WordsDD').innerHTML=DAY_NAMES[saDT.getDay()].substring(0,3)
  global.getElementById('MM').value=global.getElementById('PrvMM'+ind).value
  global.getElementById('Date2WordsMM').innerHTML=MONTH_NAMES[saDT.getMonth()].substring(0,3)
  global.getElementById('YY').value=global.getElementById('PrvYY'+ind).value
  fnRemoveAllBooking()
  fnGetSearchResult(false)
}

function fnFindMonth(MNT)
{
  for(i=0;i< MONTH_NAMES.length;i++)
  {
   if(MONTH_NAMES[i].substring(0,3)==MNT)
      return i+1
  }
      return -1
}

function fnHighlyRateAcc(AccommodationID)
{

  var OBJ = new CallBackObject();
  OBJ.OnComplete =fnHighlyRateAccResult
  OBJ.DoCallBackPost("Profile.jsp","isHighlyRateAcc=Y&SearchQuery="+escape(AccommodationID)+
  "&NoOfNights="+escape(global.getElementById('hdnNoOfNights').value)+
  "&ArriveDateDD="+escape(global.getElementById('hdnDD').value)+
  "&ArriveDateMM="+escape(global.getElementById('hdnMM').value)+
  "&ArriveDateYY="+escape(global.getElementById('hdnYY').value)
  )
  fnShowWaitMessage('PlsWait',true)
}

function fnHighlyRateAccResult(Msg)
{
  global.getElementById('AccoProfileContent').innerHTML=Msg
  global.getElementById('SearchResult').style.display="none"
  global.getElementById('tblAccoProfile').style.display=""
  fnShowWaitMessage('PlsWait',false)
}


function fnViewProfileUpdate()
{

  var OBJ = new CallBackObject();
  OBJ.OnComplete =fnViewProfileUpdateResult
  OBJ.DoCallBackPost("Profile.jsp","SearchQuery="+escape(gAccommodationID)+
  "&NoOfNights="+escape(global.getElementById('NoOfNights1').value)+
  "&ArriveDateDD="+escape(global.getElementById('DD1').value)+
  "&ArriveDateMM="+escape(global.getElementById('MM1').value)+
  "&ArriveDateYY="+escape(global.getElementById('YY1').value)
)
 fnRemoveAllBooking()
  fnShowWaitMessage('PlsWait',true)
}

function fnViewProfileUpdateResult(Msg)
{
//global.getElementById('AccoProfileContent').innerHTML=Msg
  global.getElementById('proProfileHDR').innerHTML = Msg.substring(Msg.search("<conProfileHDR>")+ "<conProfileHDR>".length,Msg.search("</conProfileHDR>"))
  global.getElementById('proBooking').innerHTML = Msg.substring(Msg.search("<conBooking>")+ "<conBooking>".length,Msg.search("</conBooking>"))
  global.getElementById('proProfileDetail').innerHTML = Msg.substring(Msg.search("<conProfileDetail>")+ "<conProfileDetail>".length,Msg.search("</conProfileDetail>"))
  fnShowWaitMessage('PlsWait',false)

}


function fnBookingMenu(obj)
{
  global.getElementById('BookingErr').innerHTML="<span class=clsBookingSelectMsg>Please click on the green boxes to select.</span>"
  global.getElementById('spnRoom').className=global.getElementById('spnActivity').className=global.getElementById('spnPackages').className="clsBKMenu2"
  global.getElementById('tblRooms').style.display=global.getElementById('tblActivity').style.display=global.getElementById('tblPackages').style.display="none"


  if(obj.id=="tdRoom")
  {
    global.getElementById('tblRooms').style.display=""
  }

  if(obj.id=="tdActivity")
  {
    global.getElementById('tblActivity').style.display=""
  }

  if(obj.id=="tdPackages")
  {
   global.getElementById('tblPackages').style.display=""
  }

//obj.childNodes[0].className
  obj.childNodes[0].className=(obj.childNodes[0].className=="clsBKMenu1"? "clsBKMenu2":"clsBKMenu1")

}


function fnChangeIMAGE(obj,id)
{
 var src=global.getElementById('imgProfilePic'+id).src
 var alt=global.getElementById('imgProfilePic'+id).alt

 global.getElementById('imgProfilePic'+id).src=obj.src
 global.getElementById('imgProfilePic'+id).alt=obj.alt

 global.getElementById('spnIMAGECAP'+id).innerHTML=obj.alt
 obj.src=src
 obj.alt=alt
}


function fnChangeIMAGEOut(obj)
{

}


function fnViewProfileShortList(AccommodationID,AccName)
{
  var  isSR = (global.getElementById(fnSetName()+AccommodationID) ? true :false)
  gAccommodationID=AccommodationID

  var OBJ = new CallBackObject();
  OBJ.OnComplete =fnViewProfileResult //fnViewProfileShortListResult
  OBJ.DoCallBackPost("Profile.jsp","SearchQuery="+escape(AccommodationID)+
  "&NoOfNights="+escape(global.getElementById('hdnNoOfNights').value)+
  "&ArriveDateDD="+escape(global.getElementById('hdnDD').value)+
  "&ArriveDateMM="+escape(global.getElementById('hdnMM').value)+
  "&ArriveDateYY="+escape(global.getElementById('hdnYY').value)
  )

  if(CurrentView!="tblShortListAcco")
  {
    global.getElementById('Tab8').innerHTML=global.getElementById("hdn1_"+(isSR ?fnSetName():"hra")+AccommodationID).value
  }
  else if(CurrentView=="tblShortListAcco")
    {
      global.getElementById('Tab8').innerHTML=global.getElementById("hdn1_sh"+AccommodationID).value
    }

  fnShowWaitMessage('PlsWait',true)
   isProfileView=true
}


function fnCloseSendEmail()
{
  var trSendEmail= global.getElementById('trSendEmail')
  var FrLst=global.getElementById('tblFrEmail')

   trSendEmail.style.display =(trSendEmail.style.display==""?"none":"")
   global.getElementById('txtYourname').value=
   global.getElementById('txtYourEmail').value=
   global.getElementById('txtFriendEmail').value=""

   for(i=1;i<FrLst.rows.length;i++)
   {
     fnDeleteFriendEmail(FrLst.rows[i].cells[0])
   }

   fnClearMsg(new Array('errtxtYourname','errtxtYourEmail','errtxtFriendEmail','errValidtxtYourEmail','errValidtxtFriendEmail'))
}

function fnSendEmail()
{
  fnClearMsg(new Array('errtxtYourname','errtxtYourEmail','errtxtFriendEmail','errValidtxtYourEmail','errValidtxtFriendEmail'))

  var UserEntry=fnValidateUserEntry(null,new Array('txtYourname','txtYourEmail'),new Array('txtYourEmail'),null)
  var FrLst=global.getElementById('tblFrEmail')

  if(!UserEntry)
  {
    if(FrLst.rows.length > 1)
    {
      global.getElementById('errValidtxtFriendEmail').style.display="none"
      UserEntry=false;
    }
    else
    {
      global.getElementById('errValidtxtFriendEmail').style.display=""
      UserEntry=true;
    }
  }

  if(!UserEntry)
  {

     var Value=""
     for(i=1;i<FrLst.rows.length;i++)
     {
       Value +=(isIE? FrLst.rows[i].cells[0].innerText: FrLst.rows[i].cells[0].textContent) +","
     }
  if(Value.length>0)
    Value=Value.substring(0,Value.length-1)
    var OBJ = new CallBackObject();
    OBJ.OnComplete =fnSendEmailcResult
    var OBJ = new CallBackObject();
    OBJ.OnComplete =fnSendEmailcResult

    OBJ.DoCallBackPost("UserEmail.jsp","Yourname="+escape(global.getElementById('txtYourname').value)+
                                         "&YourEmail="+escape(global.getElementById('txtYourEmail').value)+
                                         "&friendEmail="+escape(Value)+
                                         "&AccommodationID="+escape(gAccommodationID))
    fnCloseSendEmail()
  }
}

function fnSendEmailcResult(Msg)
{
alert("Your email has been sent!")
}


function fnCloseReview()
{
  var trAddReview= global.getElementById('trAddReview')
  trAddReview.style.display =(trAddReview.style.display==""?"none":"")
   global.getElementById('txtYourReview').value=
   global.getElementById('txtReviewername').value=
   global.getElementById('txtReviewerEmail').value=""


}


function fnAddReview(AboutLocationID)
{

 var i=0
 var InsertValues=""
 var ID=""

   if(!fnValidateRegisterUser(null,arrReviewer))
   {
        for(i=0;i<arrReviewer.length;i++)
        {
          ID=arrReviewer[i]

           if(global.getElementById(ID).type=="hidden" || global.getElementById(ID).type=="text" || global.getElementById(ID).type=="textarea" || global.getElementById(ID).type=="password")
           {
             InsertValues +=  "'"+ Trim(global.getElementById(ID).value) +"' F" + i + ","
           }
        }

        if(InsertValues!="")
        {
          InsertValues=InsertValues.substring(0,InsertValues.length-1)
          var OBJ = new CallBackObject();
          OBJ.OnComplete =fnAddReviewResult
          OBJ.DoCallBackPost("AddReview.jsp","InsertValues="+escape(InsertValues) +
                             "&AboutLocationID="+escape(global.getElementById(arrReviewer[0]).value))
        }
     global.getElementById('trAddReview').style.display="none"
     fnShowWaitMessage('PlsWait',true)
   }
}


function fnAddReviewResult(Msg)
{
  global.getElementById('spnTravellerReview').innerHTML=fnScrapData(Msg,"<TravellerReview>","</TravellerReview>")
  fnShowWaitMessage('PlsWait',false)

}

function fnShowAllReview()
{
  var tblReviewViewMore= global.getElementById('tblReviewViewMore')

  tdReviewViewMore.innerHTML =(tblReviewViewMore.style.display==""?"View More >>&nbsp;&nbsp;&nbsp;":"<< Hide Review&nbsp;&nbsp;&nbsp;")
  tblReviewViewMore.style.display =(tblReviewViewMore.style.display==""?"none":"")
}

function fnCheckCHK(obj)
{
   if(global.getElementById('All').checked && obj.value=="All")
   {
     for(var i=1; i <global.getElementsByName('AccoType').length;i++)
     {
       global.getElementsByName('AccoType')[i].checked=true
     }
     fnGetSearchResult(true)
   }
   else
   {
       global.getElementById('All').checked =false
       if((obj.id!="All"))
          fnGetSearchResult(true)
   }
}

function fnValidateEmailSend(obj)
{
 var isError=false
 var ID= (obj==null ? "" : obj.id)
    if(ID =="txtYourname" || ID=="")
    {
      if(global.getElementById('txtYourname').value.length==0) {
        global.getElementById('errtxtYourname').style.display=""
        isError=true
      }
      else
      {
          global.getElementById('errtxtYourname').style.display="none"

      }
       if(ID!="") return isError
    }

    if(ID =="txtYourEmail" || ID=="")
    {
      if(global.getElementById('txtYourEmail').value.length==0) {
        global.getElementById('errtxtYourEmail').style.display=""
        isError=true
      }
      else
      {
          global.getElementById('errtxtYourEmail').style.display="none"

      }
      /*
      if(EditEmail(global.getElementById('txtYourEmail').value)) {
        global.getElementById('errtxtValidYourEmail').style.display=""
        isError=true
      }
      else
      {
          global.getElementById('errtxtYourEmail').style.display="none"

      }*/

       if(ID!="") return isError
    }

   if(ID =="txtFriendEmail" || ID=="")
    {
      if(global.getElementById('txtFriendEmail').value.length==0) {
        global.getElementById('errtxtFriendEmail').style.display=""
        isError=true
      }
      else
      {
          global.getElementById('errtxtFriendEmail').style.display="none"

      }
       if(ID!="") return isError
    }
  return isError
}

function EditEmail(EMail)
{
  var at="@"
  var dot="."
  var lat=EMail.indexOf(at)
  var ldot=EMail.indexOf(dot)
  var lasdot=EMail.lastIndexOf(dot)
  var lenEMail=EMail.length

  var flag=0

  if((lat==-1)||(lat==0)||(lat==lenEMail-1)||(ldot==-1)||(ldot==0)||(ldot==lenEMail-1)||(lasdot==lenEMail-1))
      flag=1

  else if(ldot==lat+1)
      flag=1
  else if(EMail.indexOf(at,(lat+1))!=-1)
      flag=1
  else if(EMail.substring(lat-1,lat)==dot)
      flag=1
  else if(EMail.substring(lat+1,lat+2)==dot)
      flag=1
  else if(EMail.indexOf(dot,(lat+2))==-1)
      flag=1
  else if(lasdot==ldot+1)
      flag=1
  else
      flag=0

  if(flag>0)
	return false
else
	return true

}

function fnSort(obj,name)
{
  global.getElementById('srtPrice').className=
  global.getElementById('srtRating').className=
  global.getElementById('srtAvailability').className=
  global.getElementById('srtLocation').className="greyText11Bold clsCursorHand"

  global.getElementById('srtPricespn').innerHTML=
  global.getElementById('srtRatingspn').innerHTML=
  global.getElementById('srtAvailabilityspn').innerHTML=
  global.getElementById('srtLocationspn').innerHTML=""



  if(obj.id=="srtPrice")
    Sort= " Order BY MinimumRoomRate"

  if(obj.id=="srtRating")
   Sort= " Order BY Rating"

  if(obj.id=="srtAvailability")
   Sort= " Order BY Rating"

  if(obj.id=="srtLocation")
   Sort= " Order BY contact_city_town"

  global.getElementById('hdn'+name).value=SortDir = (Trim(global.getElementById('hdn'+name).value)=="desc"?" asc":" desc")

//&uarr;&darr;
   obj.className="clsSort clsCursorHand"
   SortHlt=obj.id
   fnGetSearchResult(true)
}


function fnProfileTab(obj,ProfileTab)
{
  if(obj.className!="location clsCursorDefault")
  {
    global.getElementById('tProfile').className=global.getElementById('tAbout').className="clsFontBlue clsCursorHand"
    obj.className="location clsCursorDefault"
    fnHideShowElement(new Array("trAboutPlaceContent","trMenuProfileHDR","trBooking","trProfileDetail"),"none")
    if(ProfileTab=="Profile")
      fnHideShowElement(new Array("trMenuProfileHDR","trBooking","trProfileDetail"),"")
    else if(ProfileTab=="About")
        global.getElementById('trAboutPlaceContent').style.display=""
  }
}

function fnShowTab1(tabID)
{
  var i=0
    ProfileTabClicked=""
    fnMouseOutSearchType('mtab1')
    fnMouseOutSearchType('mtab2')
    fnMouseOverSearchType('mtab'+tabID)

    fnHideShowElement(new Array("trAboutPlaceContent","trMenuProfileHDR","trBooking","trProfileDetail"),"none")

    if(tabID=="1")
    {
      fnHideShowElement(new Array("trMenuProfileHDR","trBooking","trProfileDetail"),"")
    }
    else if(tabID=="2")
    {
      global.getElementById('trAboutPlaceContent').style.display=""
      if(!isIE)
      global.getElementById('AboutPlaceContent1').style.display="none"

    }
    ProfileTabClicked='mtab'+tabID
}


function  fnMouseOverSearchType(tabID)
{
   if(ProfileTabClicked!=tabID)
   {
     global.getElementById(tabID+'1').style.backgroundImage="url('images/tab01_before_o21.gif')"
     global.getElementById(tabID+'3').style.backgroundImage="url('images/tab01_after_o21.gif')"
     global.getElementById(tabID+'2').style.backgroundImage="url('images/tab01_back_o21.gif')"

     global.getElementById(tabID+'1').className="clsProfileOnMouse"
     global.getElementById(tabID+'3').className="clsProfileOnMouse"
     global.getElementById(tabID+'2').className="clsProfileOnMouse"
   }
}

function  fnMouseOutSearchType(tabID)
{
   if(ProfileTabClicked!=tabID)
   {
     global.getElementById(tabID+'1').style.backgroundImage="url('images/tab01_before_n21.gif')"
     global.getElementById(tabID+'3').style.backgroundImage="url('images/tab01_after_n21.gif')"
     global.getElementById(tabID+'2').style.backgroundImage="url('images/tab01_back_n21.gif')"

     global.getElementById(tabID+'1').className="clsProfileMouseOut"
     global.getElementById(tabID+'3').className="clsProfileMouseOut"
     global.getElementById(tabID+'2').className="clsProfileMouseOut"
   }
}


function fnDisplayMoreInfo(obj,id,InfoFor)
{
 global.getElementById('tblRoomDesc').style.left=global.getElementById(InfoFor+'DSC'+id).offsetLeft +global.getElementById(InfoFor+'DSC'+id).offsetWidth
 global.getElementById('tblRoomDesc').style.top=global.getElementById(InfoFor+'DSC'+id).offsetTop
 global.getElementById('tblRoomDesc').style.display=""
 global.getElementById('tdRoomDesc1').innerHTML="<b>"+InfoFor+" Description:</b>"
 global.getElementById('tdRoomDesc').innerHTML=global.getElementsByName(InfoFor+'Desc')[id-1].value
 global.getElementById('tdRoomInst').innerHTML=global.getElementsByName(InfoFor+'SpecialInst')[id-1].value

}

function fnDisplayMoreInfoClose()
{
 global.getElementById('tblRoomDesc').style.display="none"

}

function fnShowBooking()
{
  try
  {

  var UserEntry =false
  var isBooked = false

    if(!isFromTravacco)
    {
      isBooked = (global.getElementById('tblITNRoom').rows.length > 5) || (global.getElementById('tblITNActivity').rows.length > 5)
          || (global.getElementById('tblITNPackage').rows.length > 5)

      global.getElementById('errBookNow').style.display="none"

      if(isBooked)
      {
        global.getElementById('trcontent').style.display="none"
        global.getElementById('spnStayType').innerHTML=global.getElementById('ProAccoType').innerHTML
        global.getElementById('spnStayName').innerHTML=global.getElementById('ProAccoName').innerHTML
        global.getElementById('spnStayLocation').innerHTML=global.getElementById('ProAccoLocation').innerHTML
        global.getElementById('PayNow1').style.display=""
      }else
        global.getElementById('errBookNow').style.display=""

        fnWhereAmI("spnLOCB")
    }
    else
    {
     isBooked= (global.getElementById('tblBookingINFO').rows.length > 1)
     UserEntry =fnValidateUserEntry(null,arrTravaccoCustomer,null,null)
      if(isBooked && !UserEntry)
      {
       global.getElementById('btnBookNow').style.display="none"
       global.getElementById('spnBookingMsg').style.display=""
       fnPay()
      }
      else
      {

        if(!isBooked)
        global.getElementById('errBookNow').style.display=""

      }
    }

  }
  catch (e)
  {

  }
}


function fnClosePayNow()
{
  global.getElementById('trcontent').style.display=""
  global.getElementById('PayNow1').style.display="none"
  fnWhereAmI("spnLOCR")
}

function fnFindBookRoomNOW(id,Type)
{
  var objCR=global.getElementById('tblITN'+Type)
  var  ind = objCR.rows.length
  for(i=0 ;i<ind;i++)
  {
    if(objCR.rows[i].id=="trITN"+ Type + id)
    return true
  }
  return false
}



function fnUserTab(UserTabID,obj)
{
   var isOPen = (obj.style.backgroundImage=="url(images/left_bg_highlight.gif)" ?true:false)
   fnHideShowElement(new Array("trExistingUser","trNewUser","trPay"),"none")

   global.getElementById('ExistingUser').style.backgroundImage="url(images/left_bg_normal.gif)"
   global.getElementById('NewUser').style.backgroundImage="url(images/left_bg_normal.gif)"
   global.getElementById('Pay').style.backgroundImage="url(images/left_bg_normal.gif)"

   global.getElementById('ExistingUser').className="clsFontTab clsCursorHand"
   global.getElementById('NewUser').className="clsFontTab clsCursorHand"
   global.getElementById('Pay').className="clsFontTab clsCursorHand"


   obj.style.backgroundImage= (isOPen ? "url(images/left_bg_normal.gif)": "url(images/left_bg_highlight.gif)")
   obj.className=(!isOPen ? "clsFontWhiteTab clsCursorHand": "clsFontTab clsCursorHand")
   global.getElementById(UserTabID).style.display=(isOPen ?"none":"")
}


function fnRegisterOrLogin()
{

    /*
    if(global.getElementById('hdnTxtCustomerID').value!="0")
    {
      for(i=0;i<arrRegisterUser.length;i++)
      {
       ID=arrRegisterUser[i]
         if(global.getElementById(ID).type=="text" || global.getElementById(ID).type=="textarea" || global.getElementById(ID).type=="password")
           global.getElementById(ID).value=""
         if(global.getElementById(ID).type=="select-one")
            global.getElementById(ID).options[0].selected=true
      }
    }
    else
    {
      global.getElementById('btnRegister').value"Register"
      global.getElementById('RetypeEmailid1').style.display=""
      global.getElementById('RetypeEmailid2').style.display=""

      global.getElementById('tdNewUser').style.display=""
      global.getElementById('tblNewUser').style.display=""
      global.getElementById('chUserMenu').style.display=""
      global.getElementById('trPay').style.display="none"
    }
    */

    fnHideShowElement(new Array("tdNewUser","tblRegOrLogin","tblNewUser","chUserMenu","chUserMenu1"),"")
    global.getElementById('trPay').style.display="none"
}

function fnSelectPay(obj)
{
  global.getElementById('spnFinalAmt').innerHTML=global.getElementById(obj.value).innerHTML
}


function fnUserRegLogin(obj)
{

  fnHideShowElement(new Array("tblNewUser","tblRegUser"),"none")
  fnResetValues(arrRegisterUser)
  fnResetValues(new Array('txtRetypeEmailID','txtRetypePassword'))
  fnClearErrMsg(arrRegisterUser)


  if(obj.value=="0")
  {
    global.getElementById('tblNewUser').style.display=""
    global.getElementById('tdRegOrLogin').innerHTML="Step 2 of 3 - Contact Details"
  }
  else
  {
    global.getElementById('tblRegUser').style.display=""
    global.getElementById('tdRegOrLogin').innerHTML="Step 2 of 3 - Sign In"
  }
}

function fnUserLogin()
{
  if(global.getElementById('SignIn').innerHTML!="Logout")
  {
    global.getElementById('tblUserLogin').style.top=parseInt(screen.height,10)-(parseInt(screen.height,10)-150)
    global.getElementById('tblUserLogin').style.left=parseInt(screen.width,10)-(parseInt(screen.width,10)-350)
    fnHideShowElement(new Array("tblUserLogin","tdNewUser"),"")
    fnDisableEnable(true)
  }
  else
  {
    global.getElementById('hdnTxtCustomerID').value="0"
    global.getElementById('SignIn').innerHTML="Sign In"
    fnHideShowElement(new Array("chUserMenu","chUserMenu1","trRetypeEmailid","txtEmailID","btnProceedToPay"),"")
    fnHideShowElement(new Array("trPay","tblNewUser","chUserMenu1","infotxtEmailID","spnMyBookings"),"none")
    global.getElementById('btnRegister').value="Continue"
    fnResetValues(arrRegisterUser)
    fnResetValues(new Array('txtRetypeEmailID','txtRetypePassword'))
    fnClearErrMsg(arrRegisterUser)
  }
}

function fnCloseUserLoginWin()
{
  fnDisableEnable(false)
  global.getElementById('tblUserLogin').style.display="none"
}

function fnImgNotFoundErrMsg(obj)
{
  obj.src="images/img_not_available.gif"
}

/*******************************************************Room Booking Start*****************************************************/

function fnFindBookingInfo(Name,SearchID)
{
  if(Name!="")
  {
  /*   var objCR=global.getElementById('tblBookingINFO')
     for(i=1;i<objCR.rows.length;i++)
     {
       if(objCR.rows[i].cells[0].innerHTML!="")
       {
         if(Trim(objCR.rows[i].cells[0].innerHTML).search(Name)!=-1)
           return true
       }
     }*/

    if(global.getElementById(SearchID))
     return true
    else
     return false

  }
  else
     return true

   return false
}

function fnBookNoRooms(obj,id)
{
  var TotalNoOfBeds = global.getElementsByName('TotalNoOfBeds')[id-1].value
  var NoPeople = global.getElementsByName('RoomNoPeople')[id-1]
  var RoomID = global.getElementsByName('RoomID')[id-1]

  if(obj.value!="--")
  {
    var i=0
    for (i = NoPeople.length;i>0;i--)
         NoPeople.options[i] = null;

    for(i=obj.value;i<=parseInt(obj.value,10) * TotalNoOfBeds;i++)
      NoPeople.options[NoPeople.length] = new Option(i,i)

   NoPeople.disabled=false
   global.getElementById('spnArroRoom1'+RoomID.value).style.display="none"
   global.getElementById('spnArroRoom2'+RoomID.value).style.display=""
  }
  else
  {
     global.getElementById('spnArroRoom1'+RoomID.value).style.display="none"
     global.getElementById('spnArroRoom2'+RoomID.value).style.display="none"

    NoPeople.disabled=true
    NoPeople.options[0].selected=true
    if(isIE)
      global.getElementsByName('trRoomID'+RoomID.value)[0].style.display="none"
    else
      global.getElementById('trRoomID'+RoomID.value).style.display="none"
  }
}


function fnBookNoPeople(obj,id)
{
  var NoRooms = global.getElementsByName('NoRooms')[id-1]
  var RoomID = global.getElementsByName('RoomID')[id-1]
  var RoomName=global.getElementsByName('RoomName')[id-1]

  if(obj.value!="--")
  {

  objBOOKING.fnBookingInfo(id,'Room')
  fnTotalPrice()
  if(isIE)
    global.getElementsByName('trRoomID'+RoomID.value)[0].style.display=""
  else
    global.getElementById('trRoomID'+RoomID.value).style.display=""

  }
  else
  {
    if(isIE)
      global.getElementsByName('trRoomID'+RoomID.value)[0].style.display="none"
    else
      global.getElementById('trRoomID'+RoomID.value).style.display="none"
  }

     global.getElementById('spnArroRoom1'+RoomID.value).style.display="none"
     global.getElementById('spnArroRoom2'+RoomID.value).style.display="none"

}


function fnDeleteBookRoomNOW(id,unCheckAllDays,Type)
{
  if(!isPayInProgress)
  {
   var objCR=global.getElementById('tblITN'+Type)
   var current=null
   var RoomID  =null
   var ImgOBJ   =null
   var tdBKRoom =null

   if(global.getElementById("trITN"+Type+id))
   {
     current = global.getElementById("trITN"+Type+id).cells[0]
     while ( (current = (isIE? current.parentElement: current.parentNode ))  && current.tagName !="TR");
     isIE? current.parentElement.removeChild(current): current.parentNode.removeChild(current)
   }
  if(global.getElementById('tblITN'+ Type).rows.length <= 5)
    global.getElementById('tblITN'+ Type).style.display="none"

    id=parseInt(id.split("_")[1],10)

    RoomID = global.getElementsByName(Type+'ID')[id-1]
    if(unCheckAllDays)
    {
       for(i=1;i<15;i++)
      {
        ImgOBJ = global.getElementById('img'+Type+id+i)
        tdBKRoom = global.getElementById('tdBK'+Type+id+i)

        if(ImgOBJ)
          ImgOBJ.src="images/unchecked_tick.gif"

        if(tdBKRoom)
        {
         if(tdBKRoom.className!="clsFontBKUNSelectedPast")
           tdBKRoom.className="clsFontBKUNSelected"
        }
      }
    }

     if(global.getElementsByName('NoRooms')[parseInt(id)-1])
       global.getElementsByName('NoRooms')[parseInt(id)-1].options[0].selected=true
     global.getElementsByName(Type+'NoPeople')[parseInt(id)-1].options[0].selected=true

     if(global.getElementsByName('NoRooms')[parseInt(id)-1])
       global.getElementsByName('NoRooms')[parseInt(id)-1].disabled=true
     global.getElementsByName(Type+'NoPeople')[parseInt(id)-1].disabled=true

    objBOOKING.fnDeleteBookingInfomation('tr'+Type+'ID'+RoomID.value)

     var isBooked = (global.getElementById('tblITNRoom').rows.length > 5) || (global.getElementById('tblITNActivity').rows.length > 5)
        || (global.getElementById('tblITNPackage').rows.length > 5)



     if(!isBooked)
        fnClosePayNow()
  }
 }


function fnDisplayRoom(id)
{
  var cmbNoRooms = global.getElementsByName('NoRooms')[id-1]
  var RoomID     = global.getElementsByName('RoomID')[id-1].value
  var RoomName   = global.getElementsByName('RoomName')[id-1].value

  var RoomExtraBed      = global.getElementsByName('RoomExtraBed')[id-1].value
  var RoomPartOccupancy = global.getElementsByName('RoomPartOccupancy')[id-1].value

  var NoOfBeds = global.getElementsByName('NoOfBeds')[id-1].value
  var cmbNoPeople = global.getElementsByName('RoomNoPeople')[id-1]

  var NoPeople = cmbNoPeople.options[cmbNoPeople.selectedIndex].value
  var NoRooms  = cmbNoRooms.options[cmbNoRooms.selectedIndex].value

  var ExtraBed=0
  var PartOccupancy=0

  var ExtraBedPrice=0.0
  var PartOccupancyPrice=0.0
  var RoomPrice=0.0

  var ExtraBedTotalPrice=0.0
  var PartOccupancyTotalPrice=0.0
  var RoomTotalPrice=0.0

  var TotalExtraBedPrice=0.0
  var TotalPartOccupancyPrice=0.0
  var TotalRoomPrice=0.0

  var TotalExtraBedPriceNoTax=0.0
  var TotalPartOccupancyPriceNoTax=0.0
  var TotalRoomPriceNoTax=0.0

  var TotalPrice=0.0
  var TotalPriceNoTax=0.0
  var DaysBooked=0
  var Food=""
  var RPPeople=0

  var img= ""
  var Dates=""
  var BkdDates=""
  var PrDisp=""
  var i=0
  var imgOBJ=null
  var FullDate=""
//  fnGetBookings('imgRM',id,'Room')

   var NoOfRooms=0
   var NoPO=0

   if(NoPeople >= (NoOfBeds * NoRooms))
     NoOfRooms= NoRooms
   else
   {
    if(NoPeople >= (NoOfBeds * NoRooms))
     NoPO= parseInt(NoPeople / NoOfBeds,10)

     if(NoPeople > (NoOfBeds *  (NoRooms - 1)))
       NoOfRooms=parseInt(NoPeople / NoOfBeds,10) //NoPeople - NoOfBeds
      else
       NoOfRooms=0
   }

  if(RoomExtraBed!=0)
  {
     ExtraBed= (NoPeople - (NoOfBeds * NoRooms))
  }

  if(RoomPartOccupancy !=0)
  {
    if(NoPeople < (NoOfBeds * NoRooms))
    {
      if(NoOfRooms==0)
        PartOccupancy = NoPeople
      else
      {
        if(NoOfRooms==0)
          PartOccupancy = NoPeople - NoOfBeds
        else
          PartOccupancy = NoPeople - (NoOfBeds * NoOfRooms)
      }
    }
    else
      PartOccupancy =0
  }
  else
  {
    if(NoPeople < NoOfBeds)
      NoOfRooms = 1
  }

  if((PartOccupancy <=0 && ExtraBed <=0) && NoOfRooms==0)
     NoOfRooms=1

  var BookNOW="<table width='100%'  height='100%' border='0' cellspacing='0' cellpadding='0' style='padding:4px' class='clsBookingBG1'>" +
      '<tr>'+
      '  <td width="10%" align="left" class="clsSmallFont clsBookingBG1" style="padding-left:5px">Dates</td>'+
      '  <td  width="65%" align="center" class="clsSmallFont clsBookingBG1">&nbsp;</td>'+
      '  <td  width="3%" align="center" class="clsSmallFont clsBookingBG1">Units</td>'+
      '  <td  width="1%" align="center" class="clsSmallFont clsBookingBG1">&nbsp;</td>'+
      '  <td  width="10%" align="right" class="clsSmallFont clsBookingBG1" style="padding-right:20px">Rates</td>'+
      '  <td  width="1%" align="center" class="clsSmallFont clsBookingBG1">&nbsp;</td>'+
      '  <td  width="10%" align="center" class="clsSmallFont clsBookingBG1">Day Total</td>'+
      '</tr>'

   for(i=1;i<15;i++)
   {
     if(global.getElementById('tdBKRoom'+id+i))
     {
       if( global.getElementById('tdBKRoom'+id+i).className=="clsFontBKSelected")
       {
         Dates=global.getElementById('RoomDay'+id+i).innerHTML.replace(/&nbsp;|\,/g,' ')
         BkdDates+=global.getElementById('RoomDay'+id+i).innerHTML.replace(/&nbsp;|\,/g,' ') + ","

           FullDate=global.getElementById('RoomFullDate'+id+i).innerHTML

        if(MinDate=="")
        {
          MinDate=FullDate
          MaxDate=FullDate
        }
        else {
          if(fnCompareDate(FullDate.split("-")[2],FullDate.split("-")[1],FullDate.split("-")[0],
                            MinDate.split("-")[2],MinDate.split("-")[1],MinDate.split("-")[0])==-1)
             MinDate=FullDate

          if(fnCompareDate(FullDate.split("-")[2],FullDate.split("-")[1],FullDate.split("-")[0],
                            MaxDate.split("-")[2],MaxDate.split("-")[1],MaxDate.split("-")[0])==1)
             MaxDate=FullDate
        }

  if(NoOfRooms > 0)
         {
           RoomPrice =parseFloat(global.getElementById('RoomPrice'+id+i).innerHTML)
           RoomTotalPrice =parseFloat(global.getElementById('RoomTotalPrice'+id+i).innerHTML)

           TotalRoomPrice +=parseFloat(RoomTotalPrice) * NoOfRooms
           TotalRoomPriceNoTax +=parseFloat(RoomPrice) * NoOfRooms
         }

         if(PartOccupancy !=0)
         {
           PartOccupancyPrice=parseFloat(global.getElementById('PartOccupancyPrice'+id+i).innerHTML)
           PartOccupancyTotalPrice=parseFloat(global.getElementById('PartOccupancyTotalPrice'+id+i).innerHTML)

           TotalPartOccupancyPrice+=parseFloat(PartOccupancy * PartOccupancyTotalPrice)
           TotalPartOccupancyPriceNoTax+=parseFloat(PartOccupancy * PartOccupancyPrice)
         }

         if(ExtraBed > 0)
         {
           ExtraBedPrice=parseFloat(global.getElementById('ExtraBedPrice'+id+i).innerHTML)
           ExtraBedTotalPrice=parseFloat(global.getElementById('ExtraBedTotalPrice'+id+i).innerHTML)

           TotalExtraBedPrice+=parseFloat(ExtraBedTotalPrice * ExtraBed)
           TotalExtraBedPriceNoTax+=parseFloat(ExtraBedPrice * ExtraBed)
         }
         if(global.getElementById('Food'+RoomID))
          Food=",</br>"+global.getElementById('Food'+RoomID).innerHTML
         else
         Food=""

         DaysBooked++

         BookNOW+="<tr>" +
               (NoOfRooms >0 ?
                 "<td width='10%' class='clsSmallFont clsBookingBG'>"+ Dates + "</td>" +
                 "<td width='55%' class='clsSmallFont clsBookingBG'><B>"+ RoomName + "</B></br>"+
                 global.getElementById('AC'+RoomID).innerHTML+","+
                 global.getElementById('BathroomType'+RoomID).innerHTML+
                 Food + ",</br>" + NoPeople +" People" +
                 "</td>" +
                 "<td width='3%' class='clsSmallFont clsBookingBG'>"+NoOfRooms+"</td>" +
                 "<td width='1%' nowrap align='center' class='clsSmallFont clsBookingBG'>&nbsp;<B>x</B>&nbsp;</td>" +
                 "<td width='15%' class='clsSmallFont clsBookingBG' align='right'>" + fnFormatCurrency(RoomTotalPrice) + "</td>" +
                 "<td width='1%' nowrap align='center' class='clsSmallFont clsBookingBG'>&nbsp;<B>=</B>&nbsp;</td>" +
                 "<td width='15%' nowrap align='center' class='clsSmallFont clsBookingBG'>" + fnFormatCurrency(RoomTotalPrice * NoOfRooms) + "</td>" +
               "</tr>" :
                 "<td width='10%' class='clsSmallFont clsBookingBG'>"+ Dates + "</td>" +
                 "<td width='55%' class='clsSmallFont clsBookingBG'><B>"+ RoomName + "</B></br>" +
                 global.getElementById('AC'+RoomID).innerHTML+","+
                 global.getElementById('BathroomType'+RoomID).innerHTML+
                 Food + ",</br>" + NoPeople +" People"+
                 "</td>" +
                 "<td width='10%' class='clsSmallFont clsBookingBG' colspan=5>&nbsp;</td>" +
                 "</tr>"
                ) +
               (PartOccupancy !=0 ?
               "<tr>" +
                 "<td width='10%' class='clsSmallFont clsBookingBG'>&nbsp;</td>" +
                 "<td width='55%' class='clsSmallFont clsBookingBG'>Part Occupancy Room (per person)</td>" +
                 "<td width='3%' class='clsSmallFont clsBookingBG'>"+PartOccupancy+"</td>" +
                 "<td width='1%' nowrap align='center' class='clsSmallFont clsBookingBG'>&nbsp;<B>x</B>&nbsp;</td>" +
                 "<td width='15%' class='clsSmallFont clsBookingBG' align='right'>"+fnFormatCurrency(PartOccupancyTotalPrice)+"</td>" +
                 "<td width='1%' nowrap align='center' class='clsSmallFont clsBookingBG'>&nbsp;<B>=</B>&nbsp;</td>" +
                 "<td width='15%' nowrap align='center' class='clsSmallFont clsBookingBG'>"+fnFormatCurrency(PartOccupancy * PartOccupancyTotalPrice)+"</td>" +
               "</tr>" : "") +
               (ExtraBed > 0 ?
               "<tr>" +
                 "<td width='10%' class='clsSmallFont clsBookingBG'>&nbsp;</td>" +
                 "<td width='55%' class='clsSmallFont clsBookingBG'>Extra Bed (per bed)</td>" +
                 "<td width='3%' class='clsSmallFont clsBookingBG'>"+ExtraBed+"</td>" +
                 "<td width='1%' nowrap align='center' class='clsSmallFont clsBookingBG'>&nbsp;<B>x</B>&nbsp;</td>" +
                 "<td width='15%' class='clsSmallFont clsBookingBG' align='right'>"+fnFormatCurrency(ExtraBedTotalPrice)+"</td>" +
                 "<td width='1%' nowrap align='center' class='clsSmallFont clsBookingBG'>&nbsp;<B>=</B>&nbsp;</td>" +
                 "<td width='15%' nowrap align='center' class='clsSmallFont clsBookingBG'>"+fnFormatCurrency(ExtraBedTotalPrice * ExtraBed)+"</td>" +
               "</tr>" : "") +
               "<input type='hidden' id='RoomBooking"+RoomID+"' name='RoomBooking' value='"
               + RoomID
               + "|" + global.getElementById('RoomFullDate'+id+i).innerHTML
               + "|" + NoRooms
               + "|" + NoPeople
               + "|" + parseFloat(RoomTotalPrice) * NoOfRooms
               + "|" + (ExtraBed <=0 ? 0 :  parseFloat(ExtraBedTotalPrice * ExtraBed))
               + "|" + (PartOccupancy <=0 ? 0 : parseFloat(PartOccupancyTotalPrice * PartOccupancy))
               + "|" + parseFloat(RoomPrice) * NoOfRooms
               + "|" + (ExtraBed <=0 ? 0 :  parseFloat(ExtraBedPrice * ExtraBed))
               + "|" + (PartOccupancy <=0 ? 0 :  parseFloat(PartOccupancyPrice * PartOccupancy))
               + "|" + (ExtraBed <=0 ? 0 : ExtraBed)
               + "|" + (PartOccupancy <=0 ? 0 :PartOccupancy)
               + "|R"
               +"'/>"


      }
     }
   }

   BookNOW+="</table>"
   TotalPrice = TotalRoomPrice + TotalPartOccupancyPrice + TotalExtraBedPrice
   TotalPriceNoTax=TotalRoomPriceNoTax+TotalPartOccupancyPriceNoTax+TotalExtraBedPriceNoTax


//   if(!isFromTravacco)
     fnBookRoomNOW(BookNOW,"RM_"+ id, fnFormatCurrency(TotalPrice),'Room')

var str="<table width='100%' border='0' cellspacing='0' cellpadding='0' class='clsURBookingSmallFont'>" +
  "<tr>" +
    "<td width='2%'  class='BookingINFOMarker' align='center' valign='top'>&#9679;</td>"+
    "<td colspan='5'><B>"+ RoomName+"</b><br/>("+NoPeople+" people)" +"</td>" +
    "</tr>" +
   "<tr>" +
   "<td width='2%'  class='clsURBookingSmallFont' align='center'>&nbsp;</td>"+
    "<td colspan='5'>Booked Date(s):</td>" +
    "</tr>" +
   "<tr>" +
   "<td width='2%' align='center'>&nbsp;</td>"+
    "<td colspan='5'> " + BkdDates +"</td>" +
    "</tr>" +
   (NoOfRooms >0?
   "<tr>" +
     "<td width='2%'  class='clsURBookingSmallFont' align='center'>&nbsp;</td>"+
     "<td nowrap align='left'><B>"+NoOfRooms + "</B> Rooms</td>" +
     "<td nowrap align='center'>&nbsp;x&nbsp;</td>" +
     "<td nowrap><B>"+DaysBooked+"</B> Day(s)</td>" +
     " <td align='right'>&nbsp;"+fnFormatCurrency(TotalRoomPrice)+"&nbsp;</td>" +
  "</tr>" :"" ) +
   (PartOccupancy !=0?
   "<tr>" +
     "<td width='2%' align='center'>&nbsp;</td>"+
     "<td><B>"+PartOccupancy+"</B> Part<br/>&nbsp;&nbsp;&nbsp;Occupancy</td>" +
     "<td nowrap align='right'>&nbsp;x&nbsp;</td>" +
     "<td nowrap><b>"+ DaysBooked + "</B> Day(s)</td>" +
     "<td align='right'>&nbsp;"+ fnFormatCurrency(TotalPartOccupancyPrice)+"&nbsp;</td>" +
   "</tr>" : "") +
   (ExtraBed > 0 ?
   "<tr>" +
   "<td width='2%'  class='clsURBookingSmallFont' align='center'>&nbsp;</td>"+
     "<td nowrap><B>"+ExtraBed+"</B> Extra bed</td>" +
     "<td nowrap align='center'>&nbsp;x&nbsp;</td>" +
     "<td nowrap><b>"+ DaysBooked + "</B> Day(s)</td>" +
     "<td align='right'>&nbsp;"+fnFormatCurrency(TotalExtraBedPrice)+"&nbsp;</td>" +
   "</tr>" :"")+
  "<tr>" +
   "<td width='2%' align='center'>&nbsp;</td>"+
   "<td class='clsDotedLine' nowrap>&nbsp;</td>" +
   "<td class='clsDotedLine' nowrap align='center'>&nbsp;</td>" +
   "<td class='clsDotedLine' nowrap align='right'>&nbsp;</td>" +
   " <td class='clsDotedLine' align='right'>&nbsp;"+fnFormatCurrency(TotalPrice)+"&nbsp;</td>" +
  " </tr>" +
"</table>"+
"<input type='hidden' id='RoomTotal"+RoomID+"' name='RoomTotal' value='"+TotalPrice+"'/>"+
"<input type='hidden' id='RoomTotalNoTax"+RoomID+"' name='RoomTotalNoTax' value='"+TotalPriceNoTax+"'/>"

/*+
"<input type='hidden' id='RoomTotal"+PackageID+"' name='RoomTotal' value='"+TotalPackagePrice+"'/>"*/
  return str
}


/*******************************************************Activity Booking Start*****************************************************/

function fnActivityTypeNoPeople(obj,id)
{
  var NoOfMinSession   = global.getElementsByName('NoOfMinSession')[id-1].value
  var NoOfFixedSession = global.getElementsByName('NoOfFixedSession')[id-1].value
  var ActivityID = global.getElementsByName('ActivityID')[id-1]

  var Session = (NoOfMinSession=="0"? NoOfFixedSession :NoOfMinSession)
  if(obj.value!="--")
  {
    objBOOKING.fnBookingInfo(id,'Activity')
     fnTotalPrice()
     global.getElementById('spnArroActivity'+ActivityID.value).style.display="none"
  }
}

function fnDisplayActivity(id)
{
  var ActivityID     = global.getElementsByName('ActivityID')[id-1].value
  var ActivityName   = global.getElementsByName('ActivityName')[id-1].value
  var cmbActivityNoPeople=global.getElementsByName('ActivityNoPeople')[id-1]
  var NoPeople = cmbActivityNoPeople.options[cmbActivityNoPeople.selectedIndex].value
  var ActivityChargeType=global.getElementsByName('ActivityChargeType')[id-1].value
  var ActivityRoomID=global.getElementsByName('ActivityRoomID')[id-1].value
  var TotalActivityPrice = 0.0
  var TotalActivityPriceNoTax = 0.0
  var ActivityPrice      = 0.0
  var ActivityTotalPrice = 0.0

  var DaysBooked = 0
  var BkdDates=""
  var imgOBJ=null
   var FullDate=""
// fnGetBookings('imgAct',id,'Activity')

var BookNOW="<table width='100%'  height='100%' border='0' cellspacing='0' cellpadding='0' style='padding:4px' class='clsBookingBG'>"
for(i=1;i<15;i++)
   {
     if(global.getElementById('tdBKActivity'+id+i))
     {
       if( global.getElementById('tdBKActivity'+id+i).className=="clsFontBKSelected")
       {
         Dates=global.getElementById('ActivityDay'+id+i).innerHTML.replace(/&nbsp;|\,/g,' ')
         BkdDates+=global.getElementById('ActivityDay'+id+i).innerHTML.replace(/&nbsp;|\,/g,' ') + ","

        ActivityTotalPrice =parseFloat(global.getElementById('ActivityTotalPrice'+id+i).innerHTML)
         ActivityPrice=parseFloat(global.getElementById('ActivityPrice'+id+i).innerHTML)

        FullDate=global.getElementById('ActivityFullDate'+id+i).innerHTML

        if(MinDate=="")
        {
          MinDate=FullDate
          MaxDate=FullDate
        }
        else {
          if(fnCompareDate(FullDate.split("-")[2],FullDate.split("-")[1],FullDate.split("-")[0],
                            MinDate.split("-")[2],MinDate.split("-")[1],MinDate.split("-")[0])==-1)
             MinDate=FullDate

           if(fnCompareDate(FullDate.split("-")[2],FullDate.split("-")[1],FullDate.split("-")[0],
                            MaxDate.split("-")[2],MaxDate.split("-")[1],MaxDate.split("-")[0])==1)
             MaxDate=FullDate
        }

          DaysBooked++
         TotalActivityPrice+=(ActivityTotalPrice * NoPeople)
         TotalActivityPriceNoTax+=ActivityPrice
         BookNOW+="<tr>" +
                 "<td width='10%' class='clsSmallFont clsBookingBG1'>"+ Dates + "</td>" +
                 "<td width='55%' class='clsSmallFont clsBookingBG1'><B>"+ ActivityName + "</B>&nbsp;("+ActivityChargeType+")</td>" +
                 "<td width='3%' class='clsSmallFont clsBookingBG1'>"+NoPeople+"</td>" +
                 "<td width='1%' nowrap align='center' class='clsSmallFont clsBookingBG1'>&nbsp;<B>x</B>&nbsp;</td>" +
                 "<td width='15%' class='clsSmallFont clsBookingBG1' align='right'>" + fnFormatCurrency(ActivityTotalPrice) + "</td>" +
                 "<td width='1%' nowrap align='center' class='clsSmallFont clsBookingBG1'>&nbsp;<B>=</B>&nbsp;</td>" +
                 "<td width='15%' nowrap align='center' class='clsSmallFont clsBookingBG1'>" + fnFormatCurrency(TotalActivityPrice) + "</td>" +
               "</tr>" +
               "<input type='hidden' id='ActivityBooking"+ActivityID+"' name='ActivityBooking' value='"
               + ActivityID
               + "|" + global.getElementById('ActivityFullDate'+id+i).innerHTML
               + "|" + NoPeople
               + "|" + parseFloat(ActivityTotalPrice * NoPeople)
               + "|" + parseFloat(ActivityPrice * NoPeople)
               + "|" + ActivityRoomID
               +"'/>" +
               (ActivityRoomID!=0 ?
               "<input type='hidden' id='ARoomBooking"+ActivityRoomID+"' name='RoomBooking' value='"
               + ActivityRoomID
               + "|" + global.getElementById('ActivityFullDate'+id+i).innerHTML
               + "|" + "1"
               + "|" + NoPeople
               + "|" + "0"
               + "|" + "0"
               + "|" + "0"
               + "|" + "0"
               + "|" + "0"
               + "|" + "0"
               + "|" + "0"
               + "|" + "0"
               + "|" + "A"
               +"'/>" :"")
       }
     }
   }
   BookNOW+="</table>"
  if(!isFromTravacco)
   fnBookRoomNOW(BookNOW,"ACT_"+ id, fnFormatCurrency(TotalActivityPrice),'Activity')

// var Dates= DT1 + " of "+ Month1 + (Month2!=""? " and "+ DT2 + " of " + Month2  : "")

var str="<table width='100%' border='0' cellspacing='0' cellpadding='0'>" +
  "<tr>" +
    "<td class='BookingINFOMarker' align='center' valign='top'>&#9679;</td>"+
    "<td colspan='5' class='clsURBookingSmallFont' valign='top'><B>"+ ActivityName+"</b><br/>("+NoPeople+" people)" +"</td>" +
    "</tr>" +
   "<tr>" +
   "<td width='2%'  class='clsURBookingSmallFont' align='center'>&nbsp;</td>"+
    "<td colspan='5' class='clsURBookingSmallFont'> " + BkdDates + "</td>" +
    "</tr>" +
     "<td width='3%'  class='clsURBookingSmallFont' align='center'>&nbsp;</td>"+
     "<td width='10%' class='clsURBookingSmallFont' nowrap><B>" + NoPeople+"</B> people</td>" +
     "<td width='10%' class='clsURBookingSmallFont' nowrap align='center'>&nbsp;x&nbsp;</td>" +
      "<td class='clsSmallFont' nowrap><B>"+DaysBooked+"</B> Day(s)</td>" +
     "<td width='67%' class='clsURBookingSmallFont' align='right'>"+ fnFormatCurrency(TotalActivityPrice)+"&nbsp;</td>" +
   "</tr>" +
   "<tr>" +
   "<td class='clsURBookingSmallFont' align='center'>&nbsp;</td>"+
   "<td class='clsURBookingSmallFont clsDotedLine' nowrap>&nbsp;</td>" +
   "<td class='clsURBookingSmallFont clsDotedLine' nowrap align='center'>&nbsp;</td>" +
   " <td class='clsURBookingSmallFont clsDotedLine' nowrap>&nbsp;</td>" +
   " <td class='clsURBookingSmallFont clsDotedLine' align='right'>"+fnFormatCurrency(TotalActivityPrice)+"&nbsp;</td>" +
  " </tr>" +
"</table><input type='hidden' id='RoomTotal"+ActivityID+"' name='RoomTotal' value='"+TotalActivityPrice+"'/>"+
"<input type='hidden' id='RoomTotalNoTax"+ActivityID+"' name='RoomTotalNoTax' value='"+TotalActivityPriceNoTax+"'/>"

 return str
}

/*******************************************************Package Booking Start*****************************************************/

function fnPackageTypeNoPeople(obj,id)
{
 var PackageID     = global.getElementsByName('PackageID')[id-1].value
  if(obj.value!="--")
  {
     objBOOKING.fnBookingInfo(id,'Package')
     fnTotalPrice()
     global.getElementById('spnArroPackage'+PackageID).style.display="none"
  }
}

function fnDisplayPackage(id)
{
  var PackageID     = global.getElementsByName('PackageID')[id-1].value
  var PackageName   = global.getElementsByName('PackageName')[id-1].value


  var cmbPackageNoPeople=global.getElementsByName('PackageNoPeople')[id-1]
  var PackageChargeType= global.getElementsByName('PackageChargeType')[id-1].value
  var NoPeople = cmbPackageNoPeople.options[cmbPackageNoPeople.selectedIndex].value
  var PkgNoOfNights = global.getElementsByName('PkgNoOfNights')[id-1].value
  var PackageRoomID=global.getElementsByName('PackageRoomID')[id-1].value

  var TotalPackagePrice =0.0
  var TotalPackagePriceNoTax =0.0

  var PackagePrice   = 0.0
  var PackageTotalPrice = 0.0

  var DaysBooked =0
  var BkdDates=""
  var imgOBJ=null
  var FullDate=""

//Per Person per Night
//Per Package per Night

//  fnGetBookings('imgPkg',id,'Package')

   var BookNOW="<table width='100%'  height='100%' border='0' cellspacing='0' cellpadding='0' style='padding:4px'>"
   for(i=1;i<15;i++)
   {
     if(global.getElementById('tdBKPackage'+id+i))
     {
       if( global.getElementById('tdBKPackage'+id+i).className=="clsFontBKSelected")
       {
         Dates=global.getElementById('PackageDay'+id+i).innerHTML.replace(/&nbsp;|\,/g,' ')
         BkdDates+=global.getElementById('PackageDay'+id+i).innerHTML.replace(/&nbsp;|\,/g,' ') + ","
         PackageTotalPrice =parseFloat(global.getElementById('PackageTotalPrice'+id+i).innerHTML)
         PackagePrice=parseFloat(global.getElementById('PackagePrice'+id+i).innerHTML)
         FullDate =global.getElementById('PackageFullDate'+id+i).innerHTML

         if(MinDate=="")
        {
          MinDate=FullDate
          MaxDate=FullDate
        }
        else {
          if(fnCompareDate(FullDate.split("-")[2],FullDate.split("-")[1],FullDate.split("-")[0],
                            MinDate.split("-")[2],MinDate.split("-")[1],MinDate.split("-")[0])==-1)
             MinDate=FullDate

         if(fnCompareDate(FullDate.split("-")[2],FullDate.split("-")[1],FullDate.split("-")[0],
                            MaxDate.split("-")[2],MaxDate.split("-")[1],MaxDate.split("-")[0])==1)
             MaxDate=FullDate
        }
         DaysBooked++
         TotalPackagePrice+=(PackageChargeType!='Per Package per Night' ? (PackageTotalPrice  * NoPeople) : PackageTotalPrice)
         TotalPackagePriceNoTax+=(PackageChargeType!='Per Package per Night' ? (PackagePrice  * NoPeople) : PackagePrice)

         BookNOW+="<tr>" +
                     "<td width='10%' class='clsSmallFont clsBookingBG'>"+ Dates + "</td>" +
                     "<td width='55%' class='clsSmallFont clsBookingBG'><B>"+ PackageName + "</B>&nbsp;("+PackageChargeType+")</td>" +
                     "<td width='3%' class='clsSmallFont clsBookingBG'>"+(PackageChargeType!='Per Package per Night' ? NoPeople : "1")+"</td>" +
                     "<td width='1%' nowrap align='center' class='clsSmallFont clsBookingBG'>&nbsp;<B>x</B>&nbsp;</td>" +
                     "<td width='15%' class='clsSmallFont clsBookingBG' align='right'>" + fnFormatCurrency(PackageTotalPrice) + "</td>" +
                     "<td width='1%' nowrap align='center' class='clsSmallFont clsBookingBG'>&nbsp;<B>=</B>&nbsp;</td>" +
                     "<td width='15%' nowrap align='center' class='clsSmallFont clsBookingBG'>" + fnFormatCurrency((PackageChargeType!='Per Package per Night' ? (PackageTotalPrice  * NoPeople) : PackageTotalPrice)) + "</td>" +
                  "</tr>"+
                "<input type='hidden' id='PackageBooking"+PackageID+"' name='PackageBooking' value='"
               + PackageID
               + "|" + global.getElementById('PackageFullDate'+id+i).innerHTML
               + "|" + NoPeople
               + "|" + parseFloat(PackageTotalPrice * NoPeople)
               + "|" + parseFloat(PackagePrice * NoPeople)
               + "|" + PackageTotalPrice
               +"'/>"+
               (PackageRoomID!=0 ?
               "<input type='hidden' id='PRoomBooking"+PackageRoomID+"' name='RoomBooking' value='"
               + PackageRoomID
               + "|" + global.getElementById('PackageFullDate'+id+i).innerHTML
               + "|" + "1"
               + "|" + NoPeople
               + "|" + "0"
               + "|" + "0"
               + "|" + "0"
               + "|" + "0"
               + "|" + "0"
               + "|" + "0"
               + "|" + "0"
               + "|" + "0"
               + "|" + "P"
               +"'/>" :"")
       }
     }
   }
   BookNOW+="</table>"
   if(!isFromTravacco)
   fnBookRoomNOW(BookNOW,"PKG_"+ id, fnFormatCurrency(TotalPackagePrice),'Package')


 //var Dates= DT1 + " of "+ Month1 + (Month2!=""? " and "+ DT2 + " of " + Month2  : "")
var str="<table width='100%' border='0' cellspacing='0' cellpadding='0'>" +
  "<tr>" +
    "<td width='2%' class='BookingINFOMarker' align='center' valign='top'>&#9679;</td>"+
    "<td colspan='5' class='clsURBookingSmallFont'><B>"+ PackageName+"</b><br/>("+NoPeople+" people)" +"</td>" +
    "</tr>" +
 "<tr>" +
   "<td width='2%'  class='clsURBookingSmallFont' align='center'>&nbsp;</td>"+
    "<td colspan='5' class='clsURBookingSmallFont'> " + BkdDates+"</td>" +
    "</tr>" +

    "</tr>" +
     "<td width='3%'  class='clsURBookingSmallFont' align='center'>&nbsp;</td>"+
     "<td width='10%' class='clsURBookingSmallFont' nowrap><B>" + (PackageChargeType!='Per Package per Night' ? NoPeople +"</B> people" : "1</B> Package")+"</td>" +
     "<td width='10%' class='clsURBookingSmallFont' nowrap align='center'>&nbsp;x&nbsp;</td>" +
     "<td width='10%' class='clsURBookingSmallFont' nowrap><B>"+PkgNoOfNights+"</B> Day(s)</td>" +
     "<td width='67%' class='clsURBookingSmallFont' align='right'>"+ fnFormatCurrency(TotalPackagePrice)+"&nbsp;</td>" +
   "</tr>" +

   "<tr>" +
     "<td class='clsURBookingSmallFont' align='center'>&nbsp;</td>"+
     "<td class='clsURBookingSmallFont clsDotedLine' nowrap>&nbsp;</td>" +
     "<td class='clsURBookingSmallFont clsDotedLine' nowrap align='center'>&nbsp;</td>" +
     " <td class='clsURBookingSmallFont clsDotedLine' nowrap>&nbsp;</td>" +
     " <td class='clsURBookingSmallFont clsDotedLine' align='right'>"+fnFormatCurrency(TotalPackagePrice)+"&nbsp;</td>" +
  " </tr>" +
"</table><input type='hidden' id='RoomTotal"+PackageID+"' name='RoomTotal' value='"+TotalPackagePrice+"'/>"+
"<input type='hidden' id='RoomTotalNoTax"+PackageID+"' name='RoomTotalNoTax' value='"+TotalPackagePriceNoTax+"'/>"



  return str
}
function fnTotalPrice()
{
  var RoomTotal =global.getElementsByName('RoomTotal')
  var RoomTotalNoTax =global.getElementsByName('RoomTotalNoTax')
  var RTotal=0
  var RTotalNoTax=0

  if(RoomTotal.length!=0)
  {
    for(i=0;i<RoomTotal.length;i++)
    {
      RTotal+= parseInt(RoomTotal[i].value,10)
      RTotalNoTax+= parseInt(RoomTotalNoTax[i].value,10)
    }
  }
  else
  {
    RTotal+= parseInt(RoomTotal.value,10)
    RTotalNoTax+= parseInt(RoomTotalNoTax.value,10)
  }

    global.getElementById('spnGTotal').style.display=(RTotal>0 ? "" :"none")
    global.getElementById('Total').innerHTML="<b>"+fnFormatCurrency(RTotal) +"</b>"
    global.getElementById('GrandTotal').innerHTML="<b>"+fnFormatCurrency(RTotal) +"</b>"
    GrandTotal=RTotal
    GrandTotalNoTax=RTotal-RTotalNoTax

/*
    var PaymentGatewayCharge = (RTotalNoTax * 3.5) / 100
    var ServiceTaxComm          = (12.36 *  ((15 * parseFloat(RTotalNoTax)) / 100))/100
    var ServiceTaxPGC           = (12.36 *  PaymentGatewayCharge)/100
    var TotalServiceTax =ServiceTaxComm + ServiceTaxPGC
    var GrandTotalNoTaxRnd=RTotalNoTax+TotalServiceTax
*/
   TravaccoShare=(15 * parseFloat(RTotalNoTax)) / 100
   var GrandTotalNoTaxRnd= RTotalNoTax - TravaccoShare
   var ServiceTaxPGC = 0.0


   AccoTax = RTotal-RTotalNoTax
   GrandTotalNoTaxRnd = 1.25 * GrandTotalNoTaxRnd
   ServiceTaxPGC  = GrandTotalNoTaxRnd - parseFloat(RTotalNoTax)
   PaidOnline=Math.round(RTotal+ServiceTaxPGC)
   global.getElementById('GrandTotalNoTax').innerHTML="<b>"+fnFormatCurrency(PaidOnline) +"</b>"

   global.getElementById('Tax').innerHTML="<b> + " + fnFormatCurrency(ServiceTaxPGC) +"</b>" // fnFormatCurrency(RTotal-RTotalNoTax)

   if(!isFromTravacco)
    global.getElementById('spnFinalAmt').innerHTML=fnFormatCurrency(PaidOnline)

   if(isFromTravacco)
    global.getElementById('textTrvaccoTotal').value=(!isNaN(RTotal) ? RTotal :0.0)

}

function sortit(a,b){

  if (parseFloat(a[0])>parseFloat(b[0])) return -1;
  if (parseFloat(a[0])<parseFloat(b[0])) return 1;
  return 0;
}

function fnGetBookings(ImgName,id,Type)
{
  var i=0
  BookedDays=ctrWE=ctrWD=0;
  Price=0.0
  arrDates= new Array()
  Month1=DT1=Month2=DT2=""
  var imgOBJ=null
  for(i=1;i<15;i++)
   {
     if(global.getElementById('tdBK'+Type+id+i))
     {
       if( global.getElementById('tdBK'+Type+id+i).className="clsFontBKSelected")
       {
         arrDates[arrDates.length]=global.getElementById(Type+'Day'+id+i).innerHTML.replace(/&nbsp;|\,/g,' ')
         Price+=parseFloat(global.getElementById(Type+'Price'+id+i).innerHTML.replace(/Rs.|\,/g,''))
         if(Type='Room')
         global.getElementById('tblRM'+id+i).className.search("clsBorderBookingWE")!=-1 ? ctrWE++ :ctrWD++
         BookedDays++
       }
     }
   }

  for(i=0;i<arrDates.length;i++)
  {
   if(i==0)
     Month1=arrDates[i].split(" ")[1]

    if(arrDates[i].split(" ")[1]==Month1)
    {
      DT1+=arrDates[i].split(" ")[0] + ", "
    }
    else
    {
     Month2=arrDates[i].split(" ")[1]
     DT2+=arrDates[i].split(" ")[0] + ", "
    }
  }

  DT1=DT1.substring(0,DT1.length-2)
  DT2=DT2.substring(0,DT2.length-2)
}

/***********************************************************booking ***********************************************************/

function CBOOKING()
{
    this.fnBook = function(obj,id,col,ImgName,Type)
    {
       var TypeID   = global.getElementsByName(Type+'ID')[id-1]  //TypeID : RoomID,ActivityID,PackageID
       var NoPeople = global.getElementsByName(Type+'NoPeople')[id-1]
       var NoOfMinSession   = 0
       var NoOfFixedSession = 0
       var NoPlaceToBook    = 0
       var MinNoPeople      = 0
       var MaxNoPeople      = 0
       var PkgNoOfNights    = 0

       var img=""
       var imgOBJ=global.getElementById('img'+Type+id+col)
       var tdBK=global.getElementById('tdBK'+Type+id+col)
       var NoOfDaysBooked=0
       global.getElementById('errBookNow').style.display="none"
       global.getElementById('BookingErr').innerHTML="<span class=clsBookingSelectMsg>Prices inclusive of applicable accommodation taxes</span>"
       switch(Type)
       {
        case 'Room' :
             if(col!=0)
             {
             global.getElementById('spnArroRoom1'+TypeID.value).style.display=(tdBK.className=="clsFontBKUNSelected" ? "":"none")
             tdBK.className=(tdBK.className=="clsFontBKUNSelected" ? "clsFontBKSelected":"clsFontBKUNSelected")

             }
         break
         case 'Activity' :
             NoOfMinSession   = global.getElementsByName('NoOfMinSession')[id-1].value
             NoOfFixedSession = global.getElementsByName('NoOfFixedSession')[id-1].value
             NoPlaceToBook=0

             if (NoOfFixedSession!= 0 && !isNaN(NoOfFixedSession))
               NoPlaceToBook= parseInt(col,10) + parseInt(NoOfFixedSession,10)
             else
               NoPlaceToBook= parseInt(col,10) +parseInt(NoOfMinSession,10)

             this.fnBookActOrPkg(Type,id,NoPlaceToBook,col)

            if(global.getElementById('tdBK'+Type+id+col).className=="clsFontBKUNSelected")
                global.getElementById('spnArroActivity'+TypeID.value).style.display="none"
            else
             global.getElementById('spnArroActivity'+TypeID.value).style.display=""

         break
         case 'Package' :
             MinNoPeople   = global.getElementsByName('MinNoPeople')[id-1].value
             MaxNoPeople   = global.getElementsByName('MaxNoPeople')[id-1].value
             PkgNoOfNights = global.getElementsByName('PkgNoOfNights')[id-1].value
             NoPlaceToBook= parseInt(col,10)+parseInt(PkgNoOfNights,10)

             if(!this.fnBookActOrPkg(Type,id,NoPlaceToBook,col))
                global.getElementById('BookingErr').innerHTML="<span class=clsFontRed>Oops! This package is for a minimum of "+PkgNoOfNights+" continous nights. Widen your date range and click update.</span>"
             else
             {
                if(global.getElementById('tdBK'+Type+id+col).className=="clsFontBKSelected")
                    global.getElementById('spnArroPackage'+TypeID.value).style.display=""
                else
                 global.getElementById('spnArroPackage'+TypeID.value).style.display="none"
             }

         break
       }
       NoOfDaysBooked=this.fnGetBookedCount(Type,id)

       if(NoOfDaysBooked >0)
       {

         if(Type=='Room')
           global.getElementsByName('NoRooms')[id-1].disabled=false

         if(Type=='Activity' || Type=='Package')
           global.getElementsByName(Type+'NoPeople')[id-1].disabled=false

         if(NoPeople.options[NoPeople.selectedIndex].value!="--")
         {
           if(isIE)
             global.getElementsByName('tr'+Type+'ID'+TypeID.value)[0].childNodes[0].innerHTML=(Type=='Room' ? fnDisplayRoom(id) :(Type=='Activity'? fnDisplayActivity(id) :fnDisplayPackage(id)))
           else
             global.getElementById('tr'+Type+'ID'+TypeID.value).cells[0].innerHTML=(Type=='Room' ? fnDisplayRoom(id) :(Type=='Activity'? fnDisplayActivity(id) :fnDisplayPackage(id)))
         }
         fnTotalPrice()
       }
       else
       {
          this.fnDeleteBookingInfomation('tr'+Type+'ID'+TypeID.value)
          if(Type=='Room')
          {
            global.getElementsByName('NoRooms')[id-1].disabled=true
            global.getElementsByName('NoRooms')[id-1].options[0].selected=true

          }

         if(Type=='Activity' || Type=='Package' || Type=='Room')
         {
           global.getElementsByName(Type+'NoPeople')[id-1].disabled=true
           global.getElementsByName(Type+'NoPeople')[id-1].options[0].selected=true
         }

         if(!isFromTravacco)
         {
           if(Type=='Room')     fnDeleteBookRoomNOW('RM_'+id,true,Type)
           if(Type=='Activity') fnDeleteBookRoomNOW('ACT_'+id,true,Type)
           if(Type=='Package')  fnDeleteBookRoomNOW('PKG_'+id,true,Type)
         }

       }
     }


    this.fnBookingInfo = function(id,Type)
    {
      var RoomID = global.getElementsByName(Type+ 'ID')[id-1]
      var Name = global.getElementsByName(Type+ 'Name')[id-1].value


       if(!fnFindBookingInfo(Name,"tr"+Type+"ID"+  RoomID.value))
       {

          var element = document.getElementById('trBookingINFO');
          var clone = element.cloneNode(true);
          var mytablebody = document.createElement("TBODY");
          var objCR=global.getElementById('tblBookingINFO')
          var i=0
          var ind=0

          ind = objCR.rows.length

          clone = element.cloneNode(true);
          mytablebody = document.createElement("TBODY");
          ind = objCR.rows.length
          clone.setAttribute("id","tr"+Type+"ID"+  RoomID.value);
          clone.style.display=""
          mytablebody.appendChild(clone)
          mytablebody.setAttribute("id",Type+"IDTBODY"+  RoomID.value);
          global.getElementById('tblBookingINFO').appendChild(mytablebody);

          objCR.rows[ind].cells[0].className="brief";
          objCR.rows[ind].cells[0].innerHTML= (Type=='Room' ? fnDisplayRoom(id) :(Type=='Activity'? fnDisplayActivity(id) :fnDisplayPackage(id)))
       }
       else
       {
        if(isIE)
          global.getElementsByName('tr'+Type+'ID'+RoomID.value)[0].childNodes[0].innerHTML=(Type=='Room' ? fnDisplayRoom(id) :(Type=='Activity'? fnDisplayActivity(id) :fnDisplayPackage(id)))
        else
         {
          global.getElementById('tr'+Type+'ID'+RoomID.value).cells[0].innerHTML=(Type=='Room' ? fnDisplayRoom(id) :(Type=='Activity'? fnDisplayActivity(id) :fnDisplayPackage(id)))
        }
       }

    }

    this.fnDeleteBookingInfomation = function(idTag)
    {
       var current=null
       if(global.getElementById(idTag))
       {
         current = global.getElementById(idTag).cells[0]
         while ( (current = (isIE? current.parentElement: current.parentNode ))  && current.tagName !="TR");
              isIE? current.parentElement.removeChild(current): current.parentNode.removeChild(current)
        fnTotalPrice()
       }
    }

    this.fnGetBookedCount = function(Type,id)
    {
       var i=0
       var BookedDays=0
       for(i=1;i<15;i++)
       {
         if(global.getElementById('tdBK'+Type+id+i))
         {
           if(global.getElementById('tdBK'+Type+id+i).className=="clsFontBKSelected")
             BookedDays++
         }
       }
       return BookedDays
    }

    this.fnBookActOrPkg = function(Type,id,NoPlaceToBook,StartCol)
    {
        var i = 0
        var BookedDays=0
        if(global.getElementById('tdBK'+Type+id+StartCol).className=="clsFontBKUNSelected")
        {
            for(i=1;i<15;i++)
            {
              if(global.getElementById('tdBK'+Type+id+i))
              {
                if((global.getElementById('tdBK'+Type+id+i).className!="clsFontBKUNSelectedPast"))
                {
                  global.getElementById('tdBK'+Type+id+i).className="clsFontBKUNSelected"
                  if(i >= StartCol && i < (NoPlaceToBook))
                  BookedDays++
                }
              }
            }

           if(global.getElementById('tdBK'+Type+id+(NoPlaceToBook-1)) && BookedDays==(NoPlaceToBook-StartCol))
           {
             for(i=StartCol;i<NoPlaceToBook;i++)
             {
                if(global.getElementById('tdBK'+Type+id+i))
                   global.getElementById('tdBK'+Type+id+i).className="clsFontBKSelected"
             }
           }
           else
              return false
        }
        else
        {
          for(i=1;i<15;i++)
            {
              if(global.getElementById('tdBK'+Type+id+i))
              {
                if(global.getElementById('tdBK'+Type+id+i).className!="clsFontBKUNSelectedPast")
                   global.getElementById('tdBK'+Type+id+i).className="clsFontBKUNSelected"
              }
            }
        }
      return true
    }
}



function fnBookRoomNOW(HTML,id,TotalPrice,Type)
{
     var Type1=Type//'Room'
     if(!fnFindBookRoomNOW(id,Type1))
     {
        var element = document.getElementById('trITN'+Type1);
        var clone = element.cloneNode(true);
        var mytablebody = document.createElement("TBODY");
        var objCR=global.getElementById('tblITN'+Type1)
        var i=0
        var ind=0

        ind = objCR.rows.length
        clone.setAttribute("id","trITN"+Type+ id);
        clone.style.display=""
        mytablebody.appendChild(clone)
        mytablebody.setAttribute("id","ITNT"+Type+"BODYtr"+ id);
        global.getElementById('tblITN'+ Type1).appendChild(mytablebody);
        global.getElementById('tblITN'+ Type1).style.display=""

        i=ind-1
        objCR.rows[ind].cells[0].innerHTML=HTML
        objCR.rows[ind].cells[1].innerHTML='<table style="height:100%" width="100%" border="0" cellspacing="0" cellpadding="0"  class="clsSmallFont"><tr><td align="right" class="clsBookingSelectMsg clsCursorHand"  valign="top"  onClick="fnDeleteBookRoomNOW(\''+id+'\',true,\''+Type+'\')" title="click to remove" ><B>X</B></td></tr><tr><td align="right" valign="middle" style="padding-right:12px;height:95%">'+TotalPrice+'</td></tr></table>'
     }
     else
     {
        var objCR=global.getElementById('tblITN'+ Type1)
        objCR.rows['trITN' + Type + id].cells[0].innerHTML=HTML
        objCR.rows['trITN' + Type + id].cells[1].innerHTML='<table style="height:100%" width="100%" border="0" cellspacing="0" cellpadding="0"  class="clsSmallFont"><tr><td align="right" class="clsBookingSelectMsg clsCursorHand"  valign="top"  onClick="fnDeleteBookRoomNOW(\''+id+'\',true,\''+Type+'\')" title="click to remove" ><B>X</B></td></tr><tr><td align="right" valign="middle" style="padding-right:12px;height:95%">'+TotalPrice+'</td></tr></table>'
     }
}


function fnValidateRegisterUser(obj,arrField)
{
  var isError=false
  var ID= (obj==null ? "" : obj.id)
  var i=0

    if(ID!="")
    {
        if(global.getElementById(ID).value.length==0)
        {
          if(global.getElementById('err'+ID))
            global.getElementById('err'+ID).style.display=""
            isError=true
        }
        else
        {
            if(global.getElementById('err'+ID))
              global.getElementById('err'+ID).style.display="none"

        }
    }
    else
    {
      for(i=0;i<arrField.length;i++)
      {
       ID=arrField[i]

         if(global.getElementById(ID).type=="text" || global.getElementById(ID).type=="textarea" || global.getElementById(ID).type=="password")
         {
           if(Trim(global.getElementById(ID).value).length==0)
           {
              if(global.getElementById('err'+ID))
                global.getElementById('err'+ID).style.display=""
              isError=true
           }
           else
           {
             if(global.getElementById('err'+ID))
               global.getElementById('err'+ID).style.display="none"
           }
         }

         if(global.getElementById(ID).type=="select-one")
         {
           if(Trim(global.getElementById(ID).options[global.getElementById(ID).selectedIndex].value)=="--")
           {
              if(global.getElementById('err'+ID))
              global.getElementById('err'+ID).style.display=""
              isError=true
           }
           else
           {
             if(global.getElementById('err'+ID))
               global.getElementById('err'+ID).style.display="none"
           }
         }

      }
    }

   return isError
}

function fnRegisterUser()
{
  var i=0
  var InsertValues=""
  var ID=""
 fnHideShowElement(new Array("errLoginErrMsg","errEmailIDAlreadyExist"),"none")

 var CustomerID = global.getElementById('hdnTxtCustomerID').value
 var canContinue = fnValidateUserEntry(null,arrRegisterUser,new Array("txtEmailID","txtRetypeEmailID"),new Array("txtEmailID_txtRetypeEmailID","txtPassword_txtRetypePassword"))

 /*   if(!canContinue)
    {
      if(checkEmail(global.getElementById("txtEmailID")))
      {
        global.getElementById('errtxtEmailIDValid').style.display="none"
      }
      else
      {
        global.getElementById('errtxtEmailIDValid').style.display=""
        canContinue=true
      }
    }
   */
      if(!canContinue)
      {

        for(i=0;i<arrRegisterUser.length;i++)
        {
         ID=arrRegisterUser[i]

           if(global.getElementById(ID).type=="text" || global.getElementById(ID).type=="textarea" || global.getElementById(ID).type=="password")
           {
             InsertValues +=  (CustomerID=="0" ? "'"+ Trim(global.getElementById(ID).value).replace(/'|\,/g,"''") +"' " + arrDBField[i] + "," : arrDBField1[i] + "='"+ Trim(global.getElementById(ID).value).replace(/'|\,/g,"''") +"',")
           }

           if(global.getElementById(ID).type=="select-one")
           {
           InsertValues +=(CustomerID=="0" ? "'" +Trim(global.getElementById(ID).options[global.getElementById(ID).selectedIndex].value)+"' " + arrDBField[i] + "," : arrDBField1[i] + "='" +Trim(global.getElementById(ID).options[global.getElementById(ID).selectedIndex].value)+"',")
           }
        }

        if(InsertValues!="")
        {

          InsertValues=InsertValues.substring(0,InsertValues.length-1)
          var OBJ = new CallBackObject();
          OBJ.OnComplete =fnRegisterUserResult
          OBJ.DoCallBackPost("RegisterUser.jsp","InsertValues="+escape(InsertValues) +
                                                "&CustomerID="+escape(CustomerID))
        fnShowWaitMessage('PlsWait',true)
        global.getElementById('chUserMenu1').style.display="none"
        }
      }
}


function fnRegisterUserResult(Msg)
  {
      global.getElementById('hdnTxtCustomerID').value= fnScrapData(Msg,"<span>","</span>")
      if(global.getElementById('hdnTxtCustomerID').value!="0")
      {

        fnHideShowElement(new Array("tblNewUser","tblRegUser","chUserMenu","chUserMenu1","btnProceedToPay"),"none")
        fnHideShowElement(new Array("trPay","tblNewUser","chUserMenu1","spnMyBookings"),"")

        global.getElementById('tdRegOrLogin').innerHTML="Step 2 of 3 - Profile"
        global.getElementById('SignIn').innerHTML="Logout" //"Welcome " + global.getElementById("txtFirstName").value +" " +global.getElementById("txtLastName").value

        global.getElementById("txtRetypePassword").value=global.getElementById("txtPassword").value
        global.getElementById('btnRegister').value="Update"
        fnShowUserUpdateProfile()
        self.scroll(0,4000)
        fnDisableEnable(false)
      }else
      {
      global.getElementById('errEmailIDAlreadyExist').style.display=""

      }
      fnShowWaitMessage('PlsWait',false)

  }


function fnLoginUser(arrField)
{
    if(!fnValidateRegisterUser(null,arrField))
    {
        var OBJ = new CallBackObject();
        OBJ.OnComplete =fnLoginUserResult
        OBJ.DoCallBackPost("LoginUser.jsp","UserName="+escape(Trim(global.getElementById(arrField[0]).value))+
                                           "&UserPWD="+escape(Trim(global.getElementById(arrField[1]).value))
        )
        fnShowWaitMessage('PlsWait',true)
        global.getElementById('chUserMenu1').style.display="none"
    }
}

function fnLoginUserResult(Msg)
{
     var i=0
     var j=0
     var SelectData=""

     Msg=Trim(Msg)

     global.getElementById('hdnTxtCustomerID').value= fnScrapData(Msg,"<F13>","</F13>")

      if(global.getElementById('hdnTxtCustomerID').value!="0")
      {
        for(i=0;i<arrRegisterUser.length;i++)
        {
         ID=arrRegisterUser[i]

           if(global.getElementById(ID).type=="text" || global.getElementById(ID).type=="textarea" || global.getElementById(ID).type=="password")
           {

             global.getElementById(ID).value=fnScrapData(Msg,"<"+arrDBField[i]+">","</"+arrDBField[i]+">")
           }

           if(global.getElementById(ID).type=="select-one")
           {
              SelectData=fnScrapData(Msg,"<"+arrDBField[i]+">","</"+arrDBField[i]+">")
              for(j=0;j<global.getElementById(ID).length;j++)
              {
                if(Trim(global.getElementById(ID).options[j].value)==Trim(SelectData))
                {
                  global.getElementById(ID).options[j].selected=true
                  break
                }
              }
           }
        }
        fnHideShowElement(new Array("tblRegUser","tblUserLogin","chUserMenu","chUserMenu1","btnProceedToPay","errLoginErrMsg","errUserLoginErrMsg"),"none")
        fnHideShowElement(new Array("trPay","tblNewUser","tblRegOrLogin","chUserMenu1","spnMyBookings"),"")

        global.getElementById('tdRegOrLogin').innerHTML="Step 2 of 3 - Profile"
        global.getElementById('SignIn').innerHTML="Logout"//"Welcome " + global.getElementById("txtFirstName").value +" " +global.getElementById("txtLastName").value

    var fname=""
    fname=global.getElementById('txtFirstName').value
     finame=fname
    var lname=""
    var lname=global.getElementById('txtLastName').value
    lsname=lname
        fnShowUserUpdateProfile()
        window.scroll(0,4000)
        global.getElementById("txtRetypePassword").value=global.getElementById("txtPassword").value
        fnDisableEnable(false)

      }
      else
      {
        fnHideShowElement(new Array("errLoginErrMsg","errUserLoginErrMsg"),"")
        global.getElementById(arrLoginUser[0]).value=global.getElementById(arrLoginUser[1]).value=""
      }
      fnShowWaitMessage('PlsWait',false)
}

function fnScrapData(Data,StartTag,EndTag)
{
  return  Trim(Data).substring(Trim(Data).search(StartTag) + StartTag.length , Trim(Data).search(EndTag))
}

function fnShowUserUpdateProfile()
{
  global.getElementById('infotxtEmailID').innerHTML=global.getElementById("txtEmailID").value
  global.getElementById("txtRetypeEmailID").value=global.getElementById("txtEmailID").value
  fnHideShowElement(new Array("chUserMenu","chUserMenu1","trRetypeEmailid","txtEmailID"),"none")
  fnHideShowElement(new Array("tblNewUser","infotxtEmailID"),"")
  global.getElementById('btnRegister').value="Update"
}

function fnPay()
{

  var i=0
  var j=0
  var arrRAP=null
  var arrBKDT=null
  var RoomBooking=""
  var ActivityBooking=""
  var PackageBooking=""
  var ActivityRooms=""

  var RoomBookingDetail=""
  var ActivityBookingDetail=""
  var PackageBookingDetail=""

  var CustDetail=""
  var CustomerID=""
  var TravaccoUserID=""
  var RoomID=""
  var ActivityID=""
  var PackageID=""
  var UniqueValue=global.getElementById('hdnUniqueValue').value

  var BookingDetail=""
  var NoOfNightsBooked=0
  var BookedFrom =""
  var BookingStatus="O"

if(isFromTravacco)
  {
//    gAccommodationID= parent.window.document.getElementById('SearchQuery').value
    gAccommodationID=global.getElementById('hdnSearchQueryProfile').value

    CustomerID="~"
  }
  else
     CustomerID=global.getElementById('hdnTxtCustomerID').value


  for(i=0;i<global.getElementsByName('RoomBooking').length;i++)
  {

    arrRAP=global.getElementsByName('RoomBooking')[i].value.split("|")
    arrBKDT= arrRAP[1]
    RoomID+=arrRAP[0] +","

    for(j=0;j< parseInt(arrRAP[2],10);j++)
    {
      RoomBooking+="(SELECT * FROM (SELECT " + gAccommodationID +" F1,"+
                   arrRAP[0] +" F2," + "0 F3,"+  "''" + arrRAP[1] +"'' F4," + UniqueValue +" F5,"+"0 F6,"+ arrRAP[3]+" F7, NOW() F8,"+ (isFromTravacco ?  " 0 F9 " : " -1 F9 ") +") as ROOM" + i +"_"+ j +
                   ")\n UNION ALL \n"

    }


RoomBookingDetail+= "(SELECT * FROM ( SELECT \n BookingID,\n" +
    "'" + arrRAP[0]  +"' RoomID,\n"+
    "'" + arrRAP[2]  +"' NoOfRooms,\n"+
    "'" + arrRAP[3]  +"' noofpersons,\n"+
    "'" + arrRAP[1]  +"' BookedDate,\n"+

    "'" + arrRAP[4]  +"' RoomPerNightTotalFare,\n"+
    "'" + arrRAP[6]  +"' PersonPerNightTotalFare,\n"+
    "'" + arrRAP[5]  +"' RoomExtraBedTotalFare,\n"+

    "'" + arrRAP[7]  +"' RoomPerNightFare,\n"+
    "'" + arrRAP[9]  +"' PersonPerNightFare,\n"+
    "'" + arrRAP[8]  +"' RoomExtraBedFare,\n" +
    "'" + arrRAP[10] +"' ExtraBedAllotted,\n" +
    "'" + arrRAP[11] +"' PartOccupancyAllotted,\n" +
    "'" + arrRAP[12] +"' Status) as RoomBookingDetail_" + i +
    ")\n UNION ALL \n"

  }

  if(RoomBookingDetail.length !=0)
  {
    RoomBookingDetail=RoomBookingDetail.substring(0,RoomBookingDetail.length- "\n UNION ALL \n".length)
    RoomID=RoomID.substring(0,RoomID.length-1)
    RoomBooking=RoomBooking.substring(0,RoomBooking.length- "\n UNION ALL \n".length)
  }
  else
    RoomID="0"

  ActivityRooms=""
  for(i=0;i<global.getElementsByName('ActivityBooking').length;i++,j++)
  {
    arrRAP=global.getElementsByName('ActivityBooking')[i].value.split("|")
    ActivityID+=arrRAP[0] +","

      ActivityBooking+="(SELECT * FROM (SELECT " + gAccommodationID +" F1,"+
                   arrRAP[0] +" F2," + "1 F3,"+  "''" + arrRAP[1] +"'' F4," +
                   UniqueValue +" F5,"+"0 F6,"+arrRAP[2]+" F7, NOW() F8,"+ (isFromTravacco ?  " 0 F9 " : " -1 F9 ") +") as ACTIVITY" + i +"_"+ j +
                   ")\n UNION ALL \n"

    ActivityBookingDetail+= "(SELECT * FROM ( SELECT \n BookingID,\n" +
    "'" + arrRAP[0] +"' ActivityID,\n"+
    "'" + arrRAP[2] +"' noofpersons,\n"+
    "'" + arrRAP[1] +"' BookedDate,\n"+
    "'" + arrRAP[4] +"' ActivityFare,\n"+
    "'" + arrRAP[3] +"' ActivityTotalFare) as ActivityBookingDetail_" + i +
    ")\n UNION ALL \n"

    ActivityRooms+=arrRAP[5] +","

  }

  if(ActivityBookingDetail.length !=0)
  {
    ActivityBookingDetail=ActivityBookingDetail.substring(0,ActivityBookingDetail.length- "\n UNION ALL \n".length)
    ActivityID=ActivityID.substring(0,ActivityID.length-1)
    ActivityRooms=ActivityRooms.substring(0,ActivityRooms.length-1)
    ActivityBooking=ActivityBooking.substring(0,ActivityBooking.length- "\n UNION ALL \n".length)
  }
  else
    ActivityID="0"


//PackageBooking
// PackageID + "|" + Dates + "|" + NoPeople + "|" +PackageTotalPrice + "|" + PackagePrice

  for(i=0;i<global.getElementsByName('PackageBooking').length;i++)
  {
    arrRAP=global.getElementsByName('PackageBooking')[i].value.split("|")
    PackageID+=arrRAP[0] +","

      PackageBooking+="(SELECT * FROM (SELECT " + gAccommodationID +" F1,"+
                   arrRAP[0] +" F2," + "2 F3,"+  "''" + arrRAP[1] +"'' F4," +
                   UniqueValue +" F5,"+"1 F6,"+arrRAP[2]+" F7, NOW() F8,"+ (isFromTravacco ?  " 0 F9 " : " -1 F9 ") +") as PACKAGE" + i +"_"+ j +
                   ")\n UNION ALL \n"

    PackageBookingDetail+= "(SELECT * FROM ( SELECT \n BookingID,\n" +
     "'" + arrRAP[0] +"' PackageID,\n"+
     "'" + arrRAP[2] +"' noofpersons,"+
     "'" + arrRAP[1] +"' BookedDate,"+
     "'" + arrRAP[5] +"' PackageFare,"+
     "'" + arrRAP[3] +"' PackageTotalFare) as PackageBookingDetail_" + i +
     ")\n UNION ALL \n"

  }

  if(PackageBooking.length !=0)
  {
    PackageBookingDetail=PackageBookingDetail.substring(0,PackageBookingDetail.length- "\n UNION ALL \n".length)
    PackageID=PackageID.substring(0,PackageID.length-1)
    PackageBooking=PackageBooking.substring(0,PackageBooking.length- "\n UNION ALL \n".length)
  }
  else
   PackageID="0"


  if(!isFromTravacco)
  {
    NoOfNightsBooked=global.getElementById('NoOfNights1').value
    BookedFrom = global.getElementById('YY1').value+"-"+global.getElementById('MM1').value +"-"+ global.getElementById('DD1').value
    BookingStatus="O"
  }
   else
   {
     PaidOnline=global.getElementById('textTrvaccoTotal').value
     GrandTotalNoTax=0
     TravaccoShare=0
     AccoTax=0

     if(global.getElementById('hdnTravaccoUserIDProfile'))
     {
       //TravaccoUserID=parent.window.document.getElementById('hdnTravaccoUserID').value
        TravaccoUserID=global.getElementById('hdnTravaccoUserIDProfile').value
     }
     else
       TravaccoUserID = CustomerID

//     NoOfNightsBooked=parent.window.document.getElementById('NoOfNights').value
     NoOfNightsBooked=global.getElementById('hdnTravaccoUserIDProfile').value

     /*
     BookedFrom= parent.window.document.getElementById('ArriveDateYY').value+"-"+
                 parent.window.document.getElementById('ArriveDateMM').value +"-"+
                 parent.window.document.getElementById('ArriveDateDD').value
     */

     BookedFrom = global.getElementById('hdnBookedFromProfile').value


     CustDetail=
          "'"+global.getElementById('cmbTrvaccoTitleUser').options[global.getElementById('cmbTrvaccoTitleUser').selectedIndex].value +"' F1,"+
          "'"+global.getElementById('textTrvaccoCustomerName').value +"' F2," +
          "'' F3,'"+global.getElementById('textTrvaccoCustomerAddress').value +"' F4," +
          "'' F5,'' F6,'' F7,0 F8,'' F9,'' F10,'"+UniqueValue+"@namastay.in' F11,'"+UniqueValue+"' F12"
          BookingStatus="A"
   }

  fnCalcMaxMinDate()


  BookingDetail=" SELECT "+ gAccommodationID + " F1, " +
                CustomerID + " F2, " +
                " NOW() F3, " +
                "'" + (isFromTravacco? "Travacco" : "Namastay.in")+ "' F4, " +
                "'"+(isFromTravacco ? global.getElementById('textTrvaccoCustomerAddress').value+"\r\n"+global.getElementById('textTrvaccoSpecialRequest').value :"NONE")+"' F5, " +
                "'"+BookingStatus+"' F6, " +
                GrandTotal + " F7, " +
                AccoTax + " F8, " +
                PaidOnline  + " F9, " +  //GrandTotalNoTax
                TravaccoShare + " F10, " +
                "'" + MinDate + "' F11, " +
                "ADDDATE('"+MaxDate+"',"+1+") F12, " +
                "NOW() F13, " +
                (isFromTravacco? TravaccoUserID : CustomerID)   + " F14, " +
                (isFromTravacco ?  "0 F15 " : "-1 F15 ")



/*    if(!fnValidateRegisterUser(null,arrField))
    {*/
        var OBJ = new CallBackObject();
        OBJ.OnComplete =fnPayResult
        OBJ.DoCallBackPost("Pay.jsp","RoomID="+escape(RoomID) +
                                     "&ActivityID="+escape(ActivityID)+
                                     "&PackageID="+escape(PackageID)+

                                     "&AccommodationID="+escape(gAccommodationID)+
                                     "&CustomerID="+escape(CustomerID)+
                                     "&UniqueValue="+escape(UniqueValue)+

                                     "&RoomBookingDetail="+escape(RoomBookingDetail)+
                                     "&ActivityBookingDetail="+escape(ActivityBookingDetail)+
                                     "&PackageBookingDetail="+escape(PackageBookingDetail)+

                                     "&RoomBooking="+escape(RoomBooking)+
                                     "&ActivityBooking="+escape(ActivityBooking)+
                                     "&PackageBooking="+escape(PackageBooking)+

                                     "&ActivityRooms="+escape(ActivityRooms)+

                                     "&BookingDetail="+escape(BookingDetail)+
                                     "&CustDetail="+escape(CustDetail) +
                                     "&CheckoutDate="+MaxDate)

//    }
  if(global.getElementById('PlsWait'))
    fnShowWaitMessage('PlsWait',true)
    isPayInProgress=true;
}

function fnPayResult(Msg)
{

  if(global.getElementById('errBookingFailed'))
    global.getElementById('errBookingFailed').style.display="none"

  if(Trim(fnScrapData(Msg,"<PayFail>","</PayFail>"))!="Fail")
  {
    global.getElementById('tdTripItinerary').innerHTML=Msg

    fnHideShowElement(new Array("btnPayANDConfirm","btnRegister","trClosePayNow"),"none")

    if(isFromTravacco)
    {
      global.getElementById('spnHideBooking').style.display="none"
      global.getElementById('trCloseFinalPage').style.display="none"


      if(global.getElementById('trTripItinerary'))
        global.getElementById('trTripItinerary').style.display=""
      fnShowFinalPage()
    }

    if(!isFromTravacco)
    {
       fnShowPayment()
    }
  }
  else
  {
     self.scroll(0,4000)
     if(global.getElementById('errBookingFailed'))
        global.getElementById('errBookingFailed').style.display=""
  }

    if(global.getElementById('PlsWait'))
     fnShowWaitMessage('PlsWait',false)

}

function fnShowCCResult(ResponseCode,ReceiptNo)
{
    fnHideShowElement(new Array("errPayGtError","errPayFinalError"),"none")

    if(ResponseCode==0)
    {
       global.getElementById('trCCAXPayment').style.display="none"
       if(global.getElementById('trTripItinerary'))
       {
         fnHideShowElement(new Array("trPaymentGatewayReceiptNo","trTripItinerary","btnPayANDConfirm","btnRegister"),"")
         global.getElementById('spnPaymentGatewayReceiptNo').innerHTML=ReceiptNo
       }
      fnShowFinalPage()
    }
     else
     {
       if(PaymentAttempt < 3 )
       {
         global.getElementById('errPayGtError').style.display=""
         fnShowPayment()
         PaymentAttempt++

         global.getElementById('spnAttemptsLeft').innerHTML=4-PaymentAttempt
       }
        else
        {
          global.getElementById('errPayFinalError').style.display=""
          global.getElementById('trCCAXPayment').style.display="none"
        }

     }
}


function fnShowPayment()
{
      global.getElementById('vpc_MerchTxnRef').value=global.getElementById('hdnItnAccommodationID').value +" - " +global.getElementById('hdnItnCustomerID').value +" - " + global.getElementById('hdnItnBookingID').value.replace('.0','')
     global.getElementById('trCCAXPayment').style.display=""
     global.getElementById('vpc_Amount').value=PaidOnline * 100

     global.getElementById('ifrmPay').focus()

     document.forms[0].target="ifrmPay"
     document.forms[0].method="post"
     document.forms[0].action ="vpc_jsp_serverhost_DO.jsp"
     document.forms[0].submit()
}


function fnGoToPredictiveSearch(obj)
{

try{
    var code=window.event ? obj.keyCode : obj.which
//dn arr:40 uparr:38
  if(global.getElementById('txtSearch').value!="")
  {
    if(code==40)
    {
     if(global.getElementById('PredictiveTxt').style.display=="")
     {
       global.getElementById('tblPRT').focus()
       isOver=true
       fnSelectROW(obj)
     }
         obj.returnValue = true
    }
     else
    {
      if(code==13)
     {
       global.getElementById('PredictiveTxt').style.display="none"
       isOver=true
     }
      obj.returnValue = true
    }
  }
  }catch(e) {}

}

function fnSelectROW(obj)
{
 var code=window.event ? obj.keyCode : obj.which
 vari=0
 var objCR=global.getElementById('tblPRT')

   if(PRTROW >=objCR.rows.length)
    PRTROW=0

  for(i=0;i<objCR.rows.length;i++)
    objCR.rows[i].cells[0].className="clsFont clsCursorHand"

 if(code==40)
 {
     global.getElementById('txtSearch').value=(isIE ? objCR.rows[PRTROW].cells[0].innerText : objCR.rows[PRTROW].cells[0].textContent)
     objCR.rows[PRTROW].cells[0].className="clsHilitPredTxt clsCursorHand"
     PRTROW++
 }
 if(code==38)
 {
     PRTROW--
     if(PRTROW <0)
       PRTROW=objCR.rows.length-1

     global.getElementById('txtSearch').value=(isIE ? objCR.rows[PRTROW].cells[0].innerText : objCR.rows[PRTROW].cells[0].textContent)
     objCR.rows[PRTROW].cells[0].className="clsHilitPredTxt clsCursorHand"
 }
 else if(code==13)
   {
     global.getElementById('txtSearch').value=(isIE ? objCR.rows[PRTROW].cells[0].innerText : objCR.rows[PRTROW].cells[0].textContent)
     global.getElementById('PredictiveTxt').style.display="none"
     isOver=false
   }
   obj.returnValue = true
}


function fnShortListAcco()
{
  var searchSTR=""
  var SearchTxt=""
  var SearchNarrow=""
  var SearchNarrowSTR=""

  var NoOfNights   =global.getElementById('hdnNoOfNights').value
  var ArriveDateDD =global.getElementById('hdnDD').value
  var ArriveDateMM =global.getElementById('hdnMM').value
  var ArriveDateYY =global.getElementById('hdnYY').value
  var i=0

/*  if(global.getElementsByName('ShLst').length>1)
  {*/
    for(i=0;i<global.getElementsByName('ShLst').length;i++)
    {
      searchSTR+= global.getElementsByName('ShLst')[i].value+","
    }
    searchSTR="TA.accommodation_id IN ("+searchSTR.substring(0,searchSTR.length-1) +")"
/*  }
  else
  {
    searchSTR="TA.accommodation_id IN ("+global.getElementsByName('ShLst').value +")"
  }
  */

   var OBJ = new CallBackObject();
    OBJ.OnComplete =fnShortListAccoResult
    OBJ.DoCallBackPost("ShortlistedAcco.jsp","SearchQuery=" + escape(searchSTR) +
                       "&NoOfNights=" + escape(NoOfNights) +
                       "&ArriveDateDD=" + escape(ArriveDateDD) +
                       "&ArriveDateMM=" + escape(ArriveDateMM) +
                       "&ArriveDateYY=" + escape(ArriveDateYY) +
                       "&OrderBY=" + escape(" group by AIMG.accommodation_id "+ Sort+SortDir) +
                       "&SrtField=" + escape(SortHlt)
                       )

    fnShowWaitMessage('PlsWait',true)

}

function fnShortListAccoResult(Msg)
{
  global.getElementById('ShortListAccoContent').innerHTML=Msg
  global.getElementById('tblShortListAcco').style.display=""
  fnShowWaitMessage('PlsWait',false)
}



function fnShortList(obj,AccommodationID)
{
/*  var  isPinned= (obj.src.split("/")[obj.src.split("/").length-1] =="pin_down.gif" ? true :false)
  obj.src = (isPinned  ? "images/pin_up.gif" : "images/pin_down.gif")
  */
  var  isPinned= (obj.className =="clsSHSel" ? true :false)
  obj.className = (isPinned  ? "clsSHUNSel" : "clsSHSel")

  obj.title = (isPinned  ? "Click to shortlist this accommodation" : "Click to remove from shortlist")

  if(global.getElementById(fnSetName()+AccommodationID))
  {
    global.getElementById(fnSetName()+AccommodationID).className= (isPinned ?"greyText12" :"greyText12 clsShortlist")
//    global.getElementById("img_"+fnSetName()+AccommodationID).src = obj.src
  }

  if(global.getElementById("hra"+AccommodationID))
  {
    global.getElementById("hra"+AccommodationID).className= (isPinned ?"greyText12" :"greyText12 clsShortlist")
//    global.getElementById("img_hra"+AccommodationID).src = obj.src
  }

  global.getElementById('Tab66').style.display=""
  isPinned ? fnDeleteThis(AccommodationID): fnAddShortListAcco(AccommodationID)

}


function fnAddShortListAcco(AccommodationID)
{

     if(!fnFindShortListAcco(AccommodationID))
     {
      var element = document.getElementById('trST');
      var clone = element.cloneNode(true);
      var mytablebody = document.createElement("TBODY");
      var objCR=global.getElementById('tblST')
      var i=0
      var ind=0
      var  isSR = (global.getElementById(fnSetName()+AccommodationID) ? true :false)
      ind = objCR.rows.length
      clone.setAttribute("id","trST"+ AccommodationID);
      clone.style.display=""
      mytablebody.appendChild(clone)
      mytablebody.setAttribute("id","TBODYtr"+ AccommodationID);
      global.getElementById('tblST').appendChild(mytablebody);

      var AccoName=global.getElementById("hdn1_"+(isSR ?fnSetName():"hra")+AccommodationID).value

      var AccoPlace=global.getElementById("hdn2_"+(isSR ?fnSetName():"hra")+AccommodationID).value
      var AccoImage=global.getElementById("hdn3_"+(isSR ?fnSetName():"hra")+AccommodationID).value

      var AccommodationNameID=""
      i=ind-1

      var strTABLE=   "<table class=\"clsSmallFont clsCursorHand\" width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" onclick=\"fnViewProfileShortList('"+AccommodationID+"','"+AccommodationNameID+"')\">" +
                        "<tr>" +
                          "<td width=\"50%\" nowrap>"+AccoName+"</td>" +
                          "<td style=\"padding-right:8px\" width=\"25%\" rowspan=\"2\"  align=\"right\">"+"<img src=\""+AccoImage+"\" width=\"62\" height=\"50\" alt=\""+AccoName+"\" onerror=\"fnImgNotFoundErrMsg(this)\"/>"+"</td>" +
                        "</tr>" +
                        "<tr>"+
                          "<td nowrap>"+AccoPlace+"</td>"+
                        "</tr>"+
                      "</table><input type='hidden' id='ShLst"+AccommodationID+"' name='ShLst' value='"+AccommodationID+"'/>"

      objCR.rows[ind].cells[0].innerHTML='<table style="height:100%;padding:3px" width="100%" border="0" cellspacing="0" cellpadding="0"  class="clsBookingBG1 clsSmallFont"><tr><td align="right" class="clsBookingSelectMsg clsCursorHand"  valign="top"  onClick="fnDeleteThis(\''+AccommodationID+'\')" title="click to remove" ><B>X</B></td></tr><tr><td align="right" valign="middle" style="height:95%">'+strTABLE+'</td></tr></table>'

      ctrShortLstAcco++
      global.getElementById("spnSA").innerHTML=objCR.rows.length-1
     }
}

function fnFindShortListAcco(ShortListedAcco)
{
  if(ShortListedAcco!="")
  {
     var ShLst=global.getElementsByName('ShLst')
     for(i=0;i<ShLst.length;i++)
     {
       if(ShLst[i].value!="")
       {
         if(Trim(ShLst[i].value)==Trim(ShortListedAcco))
           return true
       }
     }
  }
  else
     return true

   return false
}


function fnDeleteThis(AccommodationID)
{
     var objCR=global.getElementById('tblST')
     var current=null

     current = global.getElementById("trST"+ AccommodationID).cells[0]
     while ( (current = (isIE? current.parentElement: current.parentNode ))  && current.tagName !="TR");
       isIE? current.parentElement.removeChild(current): current.parentNode.removeChild(current)

     if(global.getElementById("tbl_sr"+AccommodationID))
       global.getElementById("tbl_sr"+AccommodationID).className = "clsSHUNSel"

     if(global.getElementById("tbl_hra"+AccommodationID))
       global.getElementById("tbl_hra"+AccommodationID).className = "clsSHUNSel"

     if(global.getElementById(fnSetName()+AccommodationID))
       global.getElementById(fnSetName()+AccommodationID).className= "greyText12"

     if(global.getElementById("hra"+AccommodationID))
       global.getElementById("hra"+AccommodationID).className= "greyText12"

    if(global.getElementById("ShLst"+AccommodationID))
      global.getElementById('ShortListAccoContent').removeChild(global.getElementById("ShLst"+AccommodationID))

    if(objCR.rows.length==1)
    {
       global.getElementById('Tab66').style.display="none"

       if(global.getElementById('Tab22').style.display!="none")
         fnShowTab('sTab2',global.getElementById("Tab2"))
      else
      {
        if(CurrentTab!="Tab3")
        fnShowTab('sTab3',global.getElementById("Tab3"))
      }
    }
  ctrShortLstAcco--
  global.getElementById("spnSA").innerHTML=objCR.rows.length-1
}

function fnSetName()
{
      return "sr"
}


function fnShowCityList()
{
  global.getElementById('errSearchResult').style.display="none"
  global.getElementById('spnCityList').style.display=""
  global.getElementById('cmbCity').focus()
}

function fnSelectCity(obj)
{
global.getElementById('txtSearch').value =obj.value
global.getElementById('spnCityList').style.display="none"
}



function fnDisplayMoreInfoPrice(obj,id,cmbid)
{
    var NoPeople = global.getElementsByName('RoomNoPeople')[cmbid]
    var NoRooms = global.getElementsByName('NoRooms')[cmbid]

    global.getElementById('tblMoreInfoPrice').style.left= global.getElementById('bk123'+id).offsetLeft +
                                                                global.getElementById('bk123'+id).offsetWidth - (isIE ? 20 : -0)

    global.getElementById('tblMoreInfoPrice').style.top=global.getElementById('bk123'+id).offsetTop
                                              +global.getElementById('bk123'+id).offsetHeight - (isIE ? 20 :-100)

    var cell5to7 = (id >= parseInt(cmbid+"5",10) && id <= parseInt(cmbid+"7",10))
    var cell12to14 = (id >= parseInt(cmbid+"12",10) && id <= parseInt(cmbid+"14",10))

    if(NoPeople && (cell5to7 || cell12to14))
      NoPeople.style.display="none"

    if(NoRooms && (cell5to7 || cell12to14))
      NoRooms.style.display="none"

    global.getElementById('tblMoreInfoPrice').style.display=""

    global.getElementById('tdRoomTotalPrice').innerHTML="Rs."+global.getElementById('RoomTotalPrice'+id).innerHTML

    if(Trim(global.getElementById('PartOccupancyTotalPrice'+id).innerHTML)=="0")
      global.getElementById('tdPartOccupancyPrice').innerHTML="Not Allowed"
    else
      global.getElementById('tdPartOccupancyPrice').innerHTML="Rs."+global.getElementById('PartOccupancyTotalPrice'+id).innerHTML

    if(global.getElementById('ExtraBedTotalPrice'+id).innerHTML=="0")
      global.getElementById('tdExtraBedPrice').innerHTML="No Extra Bed"
    else
      global.getElementById('tdExtraBedPrice').innerHTML="Rs."+global.getElementById('ExtraBedTotalPrice'+id).innerHTML

     if(obj.className.search("clsBorderBookedPast") != -1)
       global.getElementById('tdTextInfoSelect').innerHTML='<span  style="text-align:center;color:red;">Call us to book this date</span>'
     else
       global.getElementById('tdTextInfoSelect').innerHTML='<span  style="text-align:center;color:green;">Click date to select</span>'

}

function fnDisplayMoreInfoPriceClose(cmbid)
{
  var NoPeople = global.getElementsByName('RoomNoPeople')[cmbid]
  var NoRooms = global.getElementsByName('NoRooms')[cmbid]

  global.getElementById('tblMoreInfoPrice').style.display="none"
   if(NoPeople)
    NoPeople.style.display=""

   if(NoRooms)
    NoRooms.style.display=""
}

function fnShowFinalPage()
{
  if(global.getElementById('PayNow1'))
  global.getElementById('PayNow1').style.display="none"
}

function fnCloseFinalPage()
{
  ShowMoveMsg=false
  window.location ="index.jsp"
}

function fnWhereAmI(LOC)
{
  global.getElementById('spnLOCS').className=global.getElementById('spnLOCR').className=
  global.getElementById('spnLOCB').className="clsFont"

  global.getElementById(LOC).className="title"
}


function fnRemoveAllBooking()
{
   var arrType=new Array("Room","Activity","Package")
   var objCR=null
   var i=0
   var j=0
   var LEN=0
   var ID=""

   for(j=0;j<arrType.length;j++)
   {
     objCR=global.getElementById('tblITN'+arrType[j])
     LEN=objCR.rows.length-1
     ID=""
     for(i=LEN;i>=5;i--)
     {
       ID=objCR.rows[i].id
       if(global.getElementById(ID))
       {
         current = global.getElementById(ID).cells[0]
         while ( (current = (isIE? current.parentElement: current.parentNode ))  && current.tagName !="TR");
         isIE? current.parentElement.removeChild(current): current.parentNode.removeChild(current)
       }
     }
   }
}

function fnTravellerRating(obj)
{
   var OBJ = new CallBackObject();
   OBJ.OnComplete =TravellerRatingResult
   OBJ.DoCallBackPost("AddReview.jsp","Rating="+escape(obj.value) +
                      "&AboutLocationID="+escape(global.getElementById(arrReviewer[0]).value))
}

function TravellerRatingResult(Msg)
{
  global.getElementById('tdTravellerRating').innerHTML=fnScrapData(Msg,"<TravellerRating>","</TravellerRating>")
  global.getElementById('tblTravellerRating').style.display="none"
  global.getElementById('spnTravellerRating').style.display=""
}



function fnCloseSuggestAnAccommodation()
{
  var trSuggestAnAccommodation= global.getElementById('trSuggestAnAccommodation')
  trSuggestAnAccommodation.style.display =(trSuggestAnAccommodation.style.display==""?"none":"")
   for(i=0;i<arrSuAcc.length;i++)
  {
    ID=arrSuAcc[i]

     if(global.getElementById(ID).type=="hidden" || global.getElementById(ID).type=="text" || global.getElementById(ID).type=="textarea" || global.getElementById(ID).type=="password")
     {
       global.getElementById(ID).value=""
     }
  }
}


function fnSuggestAnAccommodation()
{

 var i=0
 var InsertValues=""
 var ID=""

   if(!fnValidateRegisterUser(null,arrSuAcc))
   {
        for(i=0;i<arrSuAcc.length;i++)
        {
          ID=arrSuAcc[i]

           if(global.getElementById(ID).type=="hidden" || global.getElementById(ID).type=="text" || global.getElementById(ID).type=="textarea" || global.getElementById(ID).type=="password")
           {
             InsertValues +=  "'"+ Trim(global.getElementById(ID).value) +"' F" + i + ","
           }
        }

        if(InsertValues!="")
        {
          InsertValues=InsertValues.substring(0,InsertValues.length-1)
          var OBJ = new CallBackObject();
          OBJ.OnComplete =fnSuggestAnAccommodationResult
          OBJ.DoCallBackPost("SuggestAnAccommodation.jsp","InsertValues="+escape(InsertValues) +
                             "&AboutLocationID="+escape(global.getElementById(arrReviewer[0]).value))
        }
     global.getElementById('trSuggestAnAccommodation').style.display="none"
     fnShowWaitMessage('PlsWait',true)
   }
}


function fnSuggestAnAccommodationResult(Msg)
{
  fnShowWaitMessage('PlsWait',false)

}


function fnDisableall(isDisabled)
{

  for(i=0;i<document.forms.form1.elements.length;i++)
  {
    document.forms.form1.elements[i].disabled=isDisabled
  }
}


function fnHideShowElement(arrOBJ,Action)
{
  var i=0
  for(i=0;i<arrOBJ.length;i++)
  {
    if(global.getElementById(arrOBJ[i]))
      global.getElementById(arrOBJ[i]).style.display=Action
  }
}

function fnCalcMaxMinDate()
{
  var FullDate=""
  MinDate=MaxDate=""
  arrTypes= new Array('Room','Activity','Package')
  var i=0
  var j=0
  var k=0
  var Maxid=1
  for(j=0;j<arrTypes.length;j++)
  {
     Maxid=global.getElementById('hdn'+arrTypes[j]+'MaxBK').value

     for(k=1;k<Maxid;k++)
     {
         for(i=1;i<15;i++)
         {
           if(global.getElementById('tdBK'+arrTypes[j]+k+i))
           {
             if( global.getElementById('tdBK'+arrTypes[j]+k+i).className=="clsFontBKSelected")
             {
             FullDate=global.getElementById(arrTypes[j]+'FullDate'+k+i).innerHTML

              if(MinDate=="")
              {
                MinDate=FullDate
                MaxDate=FullDate
              }
              else {
                if(fnCompareDate(FullDate.split("-")[2],FullDate.split("-")[1],FullDate.split("-")[0],
                                  MinDate.split("-")[2],MinDate.split("-")[1],MinDate.split("-")[0])==-1)
                   MinDate=FullDate

                if(fnCompareDate(FullDate.split("-")[2],FullDate.split("-")[1],FullDate.split("-")[0],
                                  MaxDate.split("-")[2],MaxDate.split("-")[1],MaxDate.split("-")[0])==1)
                   MaxDate=FullDate
              }

            }
           }
         }
     }
  }
}

function fnShowAboutUs()
{
    for(i=1;i<=8;i++)
    {
      global.getElementById('sTab'+i).style.display="none"
      global.getElementById('Tab'+i).style.backgroundImage="url(images/left_bg_normal.gif)"
      global.getElementById('Tab'+i).className="clsFontTab clsCursorHand"
    }

      global.getElementById('tblShortListAcco').style.display=
      global.getElementById('tblHighlyRatedAcco').style.display=
      global.getElementById('SearchResult').style.display="none"
      global.getElementById('tblAboutUs').style.display=""

}


function fnPrintItinerary()
{
 var win=window.open('blank.htm','Namastay',"height=600,width=800,resizable=yes,status=yes,toolbar=no,menubar=no,location=no,scrollbars=yes")

  win.opener.document.forms[0].target="Namastay"
  win.opener.document.forms[0].method="post"
  win.opener.document.forms[0].action ="PrintItinerary.jsp"
  win.opener.document.forms[0].submit()

}

function fnMyBookings()
{
 var win=window.open('blank.htm','Namastay',"height=600,width=800,resizable=yes,status=yes,toolbar=no,menubar=no,location=no,scrollbars=yes")

  win.opener.document.forms[0].target="Namastay"
  win.opener.document.forms[0].method="post"
  win.opener.document.forms[0].action ="MyBookings.jsp"
  win.opener.document.forms[0].submit()

}


function fnAddFriendEmail(Email)
{
     var Email = global.getElementById('txtFriendEmail').value

     if(!fnFindFriendEmail(Email))
     {
      var element = document.getElementById('trFrEmail');
      var clone = element.cloneNode(true);
      var mytablebody = document.createElement("TBODY");
      var objCR=global.getElementById('tblFrEmail')
      var i=0
      var ind=0

      ind = objCR.rows.length
      clone.setAttribute("id","trFrEmail"+ (ind+1));
      clone.style.display=""
      mytablebody.appendChild(clone)
      mytablebody.setAttribute("id","TBODYtrFrEmail"+ (ind+1));
      global.getElementById('tblFrEmail').appendChild(mytablebody);

      i=ind-1
      objCR.rows[ind].cells[0].innerHTML=Email
      global.getElementById('txtFriendEmail').value=""
     }
}

function fnFindFriendEmail(EMail)
{
  if(EMail!="")
  {
     var FrLst=global.getElementById('tblFrEmail')
     var Value=""
     for(i=0;i<FrLst.rows.length;i++)
     {
     Value =(isIE? FrLst.rows[i].cells[0].innerText: FrLst.rows[i].cells[0].textContent )
       if(Value!="")
       {
         if(Trim(Value)==Trim(EMail))
           return true
       }
     }
  }
  else
     return true

   return false
}


function fnDeleteFriendEmail(obj)
{
   var ID= (isIE? obj.parentElement.id : obj.parentNode.id )
   var current = global.getElementById(ID).cells[0];
   while ( (current = (isIE? current.parentElement: current.parentNode ))  && current.tagName !="TR");
         isIE? current.parentElement.removeChild(current): current.parentNode.removeChild(current)
}


function fnPebbleTextShow(obj,ShowText)
{

  var offsetWidth=0
  var ImageName=""
  var tblID="0"

  fnHideShowElement(new Array("tblPebbleText1","tblPebbleText2","tblPebbleText3","tblPebbleText4","tblPebbleText5","tblPebbleText6"),"none")

  if(ShowText)
  {

     ImageName=obj.src.split("/")[obj.src.split("/").length-1].replace('_over','')
     tblID=ImageName.replace('pebble','').replace('.gif','')
     obj.src="images/pebble"+tblID+"_over.gif"

     if(tblID==4)
       tblID = 3

     if(tblID>=5)
        tblID-=1

      global.getElementById('tblPebbleText'+tblID).style.display=(ShowText ? "" :"none")
      global.getElementById('tblPebbleText'+tblID).style.display=""

  }
   else
  {
   obj.src=obj.src.replace('_over','')
  }

}
