﻿// JScript File
var xmlHttp;
var jsonObjRoom = {"room":{}}; //cart object
var jsonObjOptions = {"options":{}};  //cart object
var jsonObjXOptions = {"Xoptions":{}};  //cart object
var newRoom = 0;
var grdCount;
var noOfDays;
var cartCount = 0;
var roomHTML;
var optionsHeaderHTML;
var exclusiveOptionsHeaderHTML;
var bindOptionsHTML;
var JSONobjRoomList = {};  // all rooms list
var JSONobjOptList = {};  //all options list
var JSONobjExcOptList = {};  // all advanced options
var checkAvailFlag = 0;
var exObj;
var requestURL = 'BookOnline.aspx?rid='; 
var couponHTML="";
var RindexForOptions;
var GindexForOptions;

function ajaxPost(mType,url,method,params,btrue)
{	
	if (window.XMLHttpRequest) 
        xmlHttp = new XMLHttpRequest();
    else if (window.ActiveXObject)
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");        
    xmlHttp.onreadystatechange =function(){eval(method)};   
	xmlHttp.open(mType,url,btrue); 	
	// set the necessary request headers
    xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
   xmlHttp.setRequestHeader("Content-length",params.length);
    xmlHttp.setRequestHeader("Connection", "close"); 	
	xmlHttp.send(params);
} 

function GetData()// get room data from server 
{
    var GetRoomData = "true"; 
    ajaxPost('POST',"BookOnline.aspx?GetRoomData="+GetRoomData,"GetData1()","",true); 
}

function GetData1()// get response from server and fill room data based on customer selected data
{
    if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete')
    {
        var respo = xmlHttp.responseText;
         if (respo == "New Session")
         {
                document.forms[0].action = "index.aspx";
                document.forms[0].submit();
         }
         else
         {
            if(respo != "")
            { 
                //document.getElementById("hdnRoomObj").value = respo;
                 var response = new Array();
                 response = respo.split("#");               
                document.getElementById("hdnRoomObj").value = response[0];
                if(response[1].substring(0,9) != "No Coupon")
                document.getElementById("hdnCouponData").value = response[1];
            }
        }
    }  
    if(document.getElementById("cartdivFull") != null)
    {
        document.getElementById("dispCart").style.display = 'none';
        document.getElementById("cartdivFull").style.display = 'none';
    }
    document.getElementById('step1').style.backgroundPosition= '0px 0px'; 
    roomHTML="";
    var btnHTML="";     
    var roomData = "";    
    if(document.getElementById("hdnRoomData").value != null && document.getElementById("hdnRoomData").value != "")
    {
        roomData = document.getElementById("hdnRoomData").value;        
          JSONobjRoomList= Sys.Serialization.JavaScriptSerializer.deserialize(roomData);
    }  
  
    var noOfRooms = document.getElementById("hdnNoOfRooms").value;   
    var divClass1="";

    roomHTML+="<div class='fullDiv'>";
    roomHTML+="<div class='topDiv'>";
    roomHTML +="<div class='roomNameDiv1'>";
    roomHTML+="<div style='float:left;'>";
    roomHTML+="</div>";
    
        roomHTML+="<div style='float:left;margin-left:0px;font-weight:bold;'>";
        roomHTML+="<span># NOTE  PX : Occupant | EX : Extra Bed / Person | CH : Child </span>";        
        roomHTML+="</div>";

    roomHTML+="<div style='float:right;'>";
    roomHTML+="<a href='#' id='lnkGuestReviews' class='ancClass' onclick='guestReviews(); return false;'>Guest Comments</a>";
    roomHTML+="</div>";
    roomHTML+="</div>";
    //if (1)
    if(JSONobjRoomList != null && JSONobjRoomList != "")
    {
        // for (1)
        var selRoom = new Array();
        var count=0;
         for(var keyVal in JSONobjRoomList)
                        {
                            selRoom[count] = JSONobjRoomList[keyVal];
                            count+=1;
                        }
        for(var i=0;i<selRoom.length;i++)
        {
            var availRooms = selRoom[i].intAvailableRooms.Value;
            var exbedStatus = selRoom[i].intExbedStatus.Value;
            var roomId = selRoom[i].intRoomTypeId.Value;
            var roomName = selRoom[i].strRoomType.Value;
            var description = selRoom[i].strLongDescription.Value;
            roomHTML+="<div class='topDiv'>";
            roomHTML +="<div class='roomNameDiv'>";
            roomHTML+="<div class='roomleftside'>";
            roomHTML+="</div>";
            roomHTML+="<div class='roommiddle'>";        
            roomHTML+="<div class='roomName fontCol'>";
            roomHTML+="<span id='lblRoomName_"+roomId+"' name='RoomName' class='font' style='width:150px;'>"+selRoom[i].strRoomType.Value+"</span>";
            roomHTML+="</div>";
            roomHTML+="<div style='width:90px;float:left;margin-top:6px;margin-left:90px;'>";
            roomHTML+="<span style='width:50px;' class='fontCol' >Room preview</span>";
            roomHTML+="</div>";
            var style1= "onmouseover="+"document.body.style.cursor"+"='pointer' ";
            var style2 = "onmouseout="+"document.body.style.cursor"+"='default'";
            roomHTML+="<div  style='float:right;'>";
            roomHTML+="<img src='./Images/roompreview.gif' title='Preview' alt='Preview' "+style1+" "+style2+"  onclick='javascript:ShowImages("+roomId+",\""+roomName+"\",\""+description+"\")' />";
            roomHTML+="</div>";
            roomHTML+="</div>";
            roomHTML+="<div class='roomrightside'>";
            roomHTML+="</div>";
            roomHTML+="</div>";
            roomHTML +="<div class='roomNameDiv'>";
                RatesHeader(roomId,selRoom,i);
            roomHTML +="</div>";
            roomHTML +="</div>";
            roomHTML+="</div>";       
            roomHTML+="<div class='roomSelectionDiv'>";    
            AvailableRoomsHeader(availRooms);       
            if(availRooms >0)
            {  
                roomHTML+="<div class='controlsDiv bcroom'>";
            }
            if(document.getElementById("hdnRoomObj").value != "" && document.getElementById("hdnRoomObj").value != null)
            {
                var roomData1 = document.getElementById("hdnRoomObj").value;
                jsonObjRoom = Sys.Serialization.JavaScriptSerializer.deserialize(roomData1);
            }
            if(document.getElementById("hdnOptionsObj").value != "" && document.getElementById("hdnOptionsObj").value != null)
            {
                var optionsData1 = document.getElementById("hdnOptionsObj").value;
                jsonObjOptions = Sys.Serialization.JavaScriptSerializer.deserialize(optionsData1);
            }
            if(document.getElementById("hdnExcOptionsObj").value != "" && document.getElementById("hdnExcOptionsObj").value != null)
            {
                var excOptionsData1 = document.getElementById("hdnExcOptionsObj").value;
                jsonObjXOptions = Sys.Serialization.JavaScriptSerializer.deserialize(excOptionsData1);
            }
            // for (2)
            for(var j=0;j<noOfRooms;j++)
            {
                // if (2)        
                if (j < availRooms)
                {         
                    var index=1;  
                    // if (3)     
                    if(jsonObjRoom != null)
                    {
                        var selectedRoomSet = new Array();
                        var selectedRoomCount = 0;
                        
                        for(var keyVal in jsonObjRoom.room)
                        {
                            selectedRoomSet[selectedRoomCount] = jsonObjRoom.room[keyVal];
                            selectedRoomCount+=1;
                        }
                        var roomSelectedStatus = 0;
                        // for (3)
                        for(var m=0;m<selectedRoomSet.length;m++)
                        {
                            if(roomId==selectedRoomSet[m].roomId && j== selectedRoomSet[m].roomRowIndex)
                            {
                                roomSelectedStatus+=1;
                                roomHTML+="<div class='chkBtnDivnew bcroom'>"+parseInt(parseInt(j,10)+parseInt(index,10),10)+"";
                                roomHTML+="</div>";
                                roomHTML+="<div class='chkBtnDiv bcroom'>";
                                roomHTML+="<input type='checkbox' name='chkSelect' id='chkSelect_"+roomId+"_"+j+"' checked='true' onclick='javascript:SetDropDownsEnabled("+roomId+","+j+",1)'/>";
                                roomHTML+="</div>";                            
                                roomHTML+="<div class='adultsControlDiv bcroom'>";
                                var adults = selRoom[i].intAdults.Value;
                                if(exbedStatus == 1)
                                {
                                    adults = (selRoom[i].intAdults.Value)+2;
                                }
                                else
                                {
                                    adults = (selRoom[i].intAdults.Value)+1;
                                }
                                roomHTML +="<select name='ddlAdults' id='ddlAdults_"+roomId+"_"+j+"' selected='"+parseInt(selectedRoomSet[j].adults,10)+parseInt(selectedRoomSet[j].ExtraPersons,10)+"' onchange='javascript:SetDropDownsEnabled("+roomId+","+j+",2)'>";
                                for(var k=0;k<adults;k++)
                                {
                                    if(parseInt(selectedRoomSet[m].adults,10)+parseInt(selectedRoomSet[m].ExtraPersons,10)==k)
                                    {
                                        roomHTML+="<option value='"+k+"' selected='selected'>"+k+"</option>";                                                
                                    }
                                    else
                                    {
                                        roomHTML+="<option value='"+k+"'>"+k+"</option>";
                                    }
                                }
                                roomHTML+="</select>";
                                roomHTML+="</div >";
                                roomHTML+="<div class='adultsControlDiv bcroom'>";
                                roomHTML +="<select name='ddlChilds' id='ddlChilds_"+roomId+"_"+j+"' selected='"+selectedRoomSet[j].children+"' onchange='javascript:SetDropDownsEnabled("+roomId+","+j+",2)'>";
                                for(var l=0;l<(selRoom[i].intChilds.Value)+1;l++)
                                {
                                     if(selectedRoomSet[m].children==l)
                                     {
                                            roomHTML+="<option value='"+l+"' selected='selected'>"+l+"</option>";                                                
                                     }
                                     else
                                     {
                                            roomHTML+="<option value='"+l+"'>"+l+"</option>";
                                     }
                                }
                                roomHTML+="</select>";
                                roomHTML+="</div>";                                
                                roomHTML+="<div class='totalAmountDivtxt bcroom'>";
                                roomHTML+="<input type='text' name='txttotal' style='width:100px;text-align:right;background-color:#D8D4B8;' id='txtTotAmount_"+roomId+"_"+j+"' value='"+selectedRoomSet[m].totRoomrate+"' readOnly='readOnly'/>";
                                roomHTML+="</div>";
                                roomHTML+="<div class='totalAmountDiv2btn bcroom'>";
                                roomHTML+="<input type='image' title='Select Amenities' src='./Images/amenities.gif' id='btnOptions_"+roomId+"_"+j+"' name='btnOptions' onclick='javascript:webrequest("+roomId+","+j+");return false;'/>";
                                roomHTML+="</div>";
                                roomHTML+="<div class='totalAmountDiv2Featn bcroom'>";                                
                                roomHTML+="<img src='./Images/roompreview.gif' title='Features' alt='Preview' "+style1+" "+style2+"  onclick='javascript:ShowImages("+roomId+",\""+roomName+"\",\""+description+"\")' />";
                                roomHTML+="</div>";
                            }
                        } // end of for(3)
                        if(roomSelectedStatus == 0)
                        {
                            roomHTML+="<div class='chkBtnDivnew bcroom'>"+parseInt(parseInt(j,10)+parseInt(index,10),10)+"";
                            roomHTML+="</div>";
                            roomHTML+="<div class='chkBtnDiv bcroom'>";
                            roomHTML+="<input type='checkbox' name='chkSelect' id='chkSelect_"+roomId+"_"+j+"' onclick='javascript:SetDropDownsEnabled("+roomId+","+j+",1)'/>";
                            roomHTML+="</div>";
                            roomHTML+="<div class='adultsControlDiv bcroom'>";
                            var adults = selRoom[i].intAdults.Value;
                            if(exbedStatus == 1)
                            {
                                adults = (selRoom[i].intAdults.Value)+2;
                            }
                            else
                            {
                                adults = (selRoom[i].intAdults.Value)+1;
                            }
                            roomHTML +="<select name='ddlAdults' id='ddlAdults_"+roomId+"_"+j+"' onchange='javascript:SetDropDownsEnabled("+roomId+","+j+",2)'>";
                            for(var k=0;k<adults;k++)
                            {
                                roomHTML+="<option value='"+k+"'>"+k+"</option>";
                            }
                            roomHTML+="</select>";
                            roomHTML+="</div >";
                            roomHTML+="<div class='adultsControlDiv bcroom'>";
                            roomHTML +="<select name='ddlChilds' id='ddlChilds_"+roomId+"_"+j+"' onchange='javascript:SetDropDownsEnabled("+roomId+","+j+",2)'>";
                            for(var l=0;l<(selRoom[i].intChilds.Value)+1;l++)
                            {
                                 roomHTML+="<option value='"+l+"'>"+l+"</option>";
                            }
                            roomHTML+="</select>";
                            roomHTML+="</div>";
                            roomHTML+="<div class='totalAmountDivtxt bcroom'>";
                            roomHTML+="<input type='text' name='txttotal' style='width:100px;text-align:right;background-color:#D8D4B8;' id='txtTotAmount_"+roomId+"_"+j+"' readOnly='readOnly'/>";
                            roomHTML+="</div>";
                            roomHTML+="<div class='totalAmountDiv2btn bcroom'>";
                            roomHTML+="<input type='image' title='Select Amenities' src='./Images/amenities.gif' id='btnOptions_"+roomId+"_"+j+"' name='btnOptions' onclick='javascript:webrequest("+roomId+","+j+");return false;'/>";
                            roomHTML+="</div>";
                            roomHTML+="<div class='totalAmountDiv2Featn bcroom'>";                           
                            roomHTML+="<img src='./Images/roompreview.gif' title='Features' alt='Preview' "+style1+" "+style2+"  onclick='javascript:ShowImages("+roomId+",\""+roomName+"\",\""+description+"\")' />";
                            roomHTML+="</div>";
                        }
                    } // end of if(3)
                    else
                    {
                        roomHTML+="<div class='chkBtnDivnew bcroom'>"+parseInt(parseInt(j,10)+parseInt(index,10),10)+"";
                        roomHTML+="</div>";
                        roomHTML+="<div class='chkBtnDiv bcroom'>";
                        roomHTML+="<input type='checkbox' name='chkSelect' id='chkSelect_"+roomId+"_"+j+"' onclick='javascript:SetDropDownsEnabled("+roomId+","+j+",1)'/>";
                        roomHTML+="</div>";
                        roomHTML+="<div class='adultsControlDiv bcroom'>";
                        var adults = selRoom[i].intAdults.Value;
                        if(exbedStatus == 1)
                        {
                            adults = (selRoom[i].intAdults.Value)+2;
                        }
                        else
                        {
                            adults = (selRoom[i].intAdults.Value)+1;
                        }
                        roomHTML +="<select name='ddlAdults' id='ddlAdults_"+roomId+"_"+j+"' onchange='javascript:SetDropDownsEnabled("+roomId+","+j+",2)'>";
                        for(var k=0;k<adults;k++)
                        {
                            roomHTML+="<option value='"+k+"'>"+k+"</option>";
                        }
                        roomHTML+="</select>";
                        roomHTML+="</div >";
                        roomHTML+="<div class='adultsControlDiv bcroom'>";
                        roomHTML +="<select name='ddlChilds' id='ddlChilds_"+roomId+"_"+j+"' onchange='javascript:SetDropDownsEnabled("+roomId+","+j+",2)'>";
                        for(var l=0;l<(selRoom[i].intChilds.Value)+1;l++)
                        {
                             roomHTML+="<option value='"+l+"'>"+l+"</option>";
                        }
                        roomHTML+="</select>";
                        roomHTML+="</div>";
                        roomHTML+="<div class='totalAmountDivtxt bcroom'>";
                        roomHTML+="<input type='text' name='txttotal' style='width:100px;text-align:right;background-color:#D8D4B8;' id='txtTotAmount_"+roomId+"_"+j+"' readOnly='readOnly'/>";
                        roomHTML+="</div>";
                        roomHTML+="<div class='totalAmountDiv2btn bcroom'>";
                        roomHTML+="<input type='image' title='Select Amenities' src='./Images/amenities.gif' id='btnOptions_"+roomId+"_"+j+"' name='btnOptions' onclick='javascript:webrequest("+roomId+","+j+");return false;'/>";
                        roomHTML+="</div>";
                        roomHTML+="<div class='totalAmountDiv2Featn bcroom'>";                        
                        roomHTML+="<img src='./Images/roompreview.gif' title='Features' alt='Preview' "+style1+" "+style2+"  onclick='javascript:ShowImages("+roomId+",\""+roomName+"\",\""+description+"\")' />";
                        roomHTML+="</div>";
                    } // end of else (3)
                } // end of if (2)
            }    // end of for (2)        
            roomHTML+="</div>";        
            roomHTML+="</div>";           
        } // end of for (1)
    } // end of if(1)
   roomHTML+="</div>"; 
   roomHTML+="</div>";
roomHTML+="<div style='width:550px;float:left;margin-left:20px;height:10px;'>";
 roomHTML+="<span>&nbsp;</span>";
roomHTML+="</div>";
   if(selRoom.length != 0)
   {
        roomHTML+="<div style='float:left;margin-left:0px;font-weight:bold;'>";
        roomHTML+="<span># NOTE  PX : Occupant | EX : Extra Bed / Person | CH : Child </span>";        
        roomHTML+="</div>";
   } 
    else
    {
        roomHTML+="<div class='roomNameDivErr'>";
        roomHTML+="<div>";
        roomHTML+=document.getElementById("hdnNextSeason").value;//"<span>No rooms available for given dates</span>";
        roomHTML+="</div>";
        roomHTML+="</div>";
    }  
   document.getElementById("divRoom").innerHTML = roomHTML;
   GetCartData();
   BuildSelectedDates();
   if(document.getElementById("cartdivFull") != null)
   {
     document.getElementById("btnNext").style.dispaly = 'none';
   }
}

function AvailableRoomsHeader(availRooms)// room data header (only for headings)
{
    if(availRooms > 0)
    {
        roomHTML+="<div class='roomSelectHead bcroom'>";
                    roomHTML+="<div class='serialNo bgBCRate'>S.No";
                    roomHTML+="</div>";
                    roomHTML+="<div class='selectDiv bgBCRate'>Select";
                    roomHTML+="</div>";
                    roomHTML+="<div class='occupentsPerRoomBorder bgBCRate'>";
                        roomHTML+="<div class='occupentsPerRoom'>";
                        roomHTML+="<span >Occupants per room</span>";
                        roomHTML+="</div>";
                        roomHTML+="<div class='adultsDiv bcroom'>Adults";
                        roomHTML+="</div >";
                        roomHTML+="<div class='adultsDiv bcroom'>Children";
                        roomHTML+="</div>";
                    roomHTML+="</div >";
                    roomHTML+="<div class='totalAmountDiv bgBCRate'>Room Rate";
                    roomHTML+="</div>";
                    roomHTML+="<div class='totalAmountDiv2 bgBCRate'>";
                                        roomHTML+="<span >Amenities</span>";
                                    roomHTML+="</div>";
                    roomHTML+="<div class='totalAmountDiv2Feats bgBCRate'>";
                                        roomHTML+="<span >Features</span>";
                                    roomHTML+="</div>";
            roomHTML+="</div>";
     }
     else
     {
        roomHTML+="<div class='roomSelectHeadForNoRooms'>";
            roomHTML+="<span>"+document.getElementById("hdnLimitedRoom").value+"</span>";            
        roomHTML+="</div>";
     }
}
function RedirectToIndex()
{
    
    document.forms[0].action = "Index.aspx";
    document.forms[0].submit();
}

function RatesHeader(roomId,selRoom,i) // room data header (only for data like rates etc.)
{
    var hdnCurrType = document.getElementById("hdnCurrType").value;
    var hdnCurrSymbol = trim(document.getElementById("hdnCurrSymbol").value,"both");
    var noOfDays1 = document.getElementById("hdnNoOfDays").value;
               roomHTML +="<div class='currencyTypeDiv bcroom'>";
                  roomHTML+="<div class='px1Div1New1 bgBCRate'>";
                    roomHTML +="<span style='font-weight:bold;font-size:11px;'>Currency</span></div><div class='bcroom' style='border-top-width:1px;border-top-style:solid;padding-top:5px;'><span>"+hdnCurrType+"</span>("+hdnCurrSymbol+")</div>";
                    roomHTML +="</div>";
                roomHTML += "<div class='px2Div bcroom'>";
                  roomHTML+="<div class='px1Div1New3 bgBCRate'>";
                    roomHTML +="<span class='.px1Div2' style='font-weight:bold;font-size:11px;'>1 PX * Nights</span>";//Rate Per Person</span>";
                  roomHTML+="</div>";
                    roomHTML +="<div class='px1Div1New4 bcroom'>";
                        roomHTML+="<span id='lblCurSym'>"+hdnCurrSymbol+"</span>";                        
                        
                        if(selRoom[i].intBillingTypeId.Value == 1)
                        {
                            roomHTML +="<span class='px1Div1' id='lblsinglePersRate_"+roomId+"'>"+parseFloat(selRoom[i].dblSinglePersRate.Value).toFixed(2)+"</span>";//nirupama
                            roomHTML+="<span id='hdnNoofDays1_"+roomId+"'> * "+parseInt(noOfDays1,10)+"</span>";
                        }
                        else if(selRoom[i].intBillingTypeId.Value == 2)
                        {
                            roomHTML +="<span class='px1Div1' id='lblsinglePersRate_"+roomId+"'>"+parseFloat(selRoom[i].dblSinglePersRate.Value).toFixed(2)+"</span>";//nirupama
                            roomHTML+="<span id='hdnNoofDays1_"+roomId+"'> * "+parseInt(noOfDays1,10)+"</span>";
                        }
                        else if(selRoom[i].intBillingTypeId.Value == 3)
                        {
                            roomHTML +="<span class='px1Div1' id='lblsinglePersRate_"+roomId+"'>"+parseFloat(selRoom[i].dblSinglePersRate.Value).toFixed(2)+"</span>";//nirupama
                        }
                        roomHTML +="</div>";

                    roomHTML +="</div>";
                roomHTML +="<div class='px1Div bcroom'>";
                   roomHTML+="<div class='px1Div1New2 bgRate'>";
                    roomHTML +="<span class='px1Div1' style='font-weight:bold;font-size:11px;'>2 PX * Nights</span>";//Minimum Rate</span>";
                   roomHTML+="</div>"; 
                    roomHTML +="<div class='px1Div1New bcroom'>";                                               
                        if (selRoom[i].intAdults.Value!=1)
                        {
                            roomHTML+="<span id='lblCurSym1'>"+hdnCurrSymbol+"</span>";
                            //roomHTML +="<span class='px1Div1' id='lblsinglePersRate_"+roomId+"'>"+parseFloat(objRoomList[i].dblSinglePersRate).toFixed(2)+"</span>";
                            //nirupama 
                            if(selRoom[i].intBillingTypeId.Value == 1)
                            {
                                roomHTML +="<span class='px1Div2' id='hdnRoomRate_"+roomId+"'>"+parseFloat(parseFloat(selRoom[i].dblRate.Value)*2).toFixed(2) +"</span>";
                                roomHTML+="<span id='hdnNoofDays2_"+roomId+"'> * "+parseInt(noOfDays1,10)+"</span>";
                            }
                            else if(selRoom[i].intBillingTypeId.Value == 2)
                            {
                                roomHTML +="<span class='px1Div2' id='hdnRoomRate_"+roomId+"'>"+parseFloat(selRoom[i].dblRate.Value).toFixed(2) +"</span>";
                                roomHTML+="<span id='hdnNoofDays2_"+roomId+"'> * "+parseInt(noOfDays1,10)+"</span>";
                            }
                            else if(selRoom[i].intBillingTypeId.Value == 3)
                            {
                                roomHTML +="<span class='px1Div2' id='hdnRoomRate_"+roomId+"'>"+parseFloat(selRoom[i].dblRate.Value).toFixed(2) +"</span>";
                            }
                         }
                         else
                         {
                            roomHTML+="<span id='lblCurSym1'></span><span class='px1Div2' id='hdnRoomRate_"+roomId+"'>---</span><span id='hdnNoofDays2_"+roomId+"'></span>";
                         }
                        roomHTML +="</div>";

                    roomHTML +="</div>";
                roomHTML +="<div class='px1DivExbed bcroom'>";
                    roomHTML+="<div class='px1Div1New2ExBed bgRate'>";
                     roomHTML +="<span class='px1Div1' style='font-weight:bold;font-size:11px;'>EX * Nights</span>"; 
                    roomHTML+="</div>";
                    roomHTML +="<div class='px1Div1NewExBed bcroom'>";
                    if(document.getElementById("hdnExtrabedStatus").value == "1" && selRoom[i].intExbedStatus.Value == 1)
                    {                        
                        if(selRoom[i].intBillingTypeId.Value == 1)
                        {
                            roomHTML+="<span id='lblCurSym2'>"+hdnCurrSymbol+"</span>";
                            roomHTML +="<span class='px1Div1Exbed' id='lblExbedRate_"+roomId+"'>"+parseFloat(selRoom[i].dblExtrabedCharge.Value).toFixed(2)+"</span>";
                            roomHTML+="<span id='hdnNoofDays3_"+roomId+"'> * "+parseInt(noOfDays1,10)+"</span>";
                        }
                        else if(selRoom[i].intBillingTypeId.Value == 2)
                        {
                            roomHTML+="<span id='lblCurSym2'>"+hdnCurrSymbol+"</span>";
                            roomHTML +="<span class='px1Div1Exbed' id='lblExbedRate_"+roomId+"'>"+parseFloat(selRoom[i].dblExtrabedCharge.Value).toFixed(2)+"</span>";
                            roomHTML+="<span id='hdnNoofDays3_"+roomId+"'> * "+parseInt(noOfDays1,10)+"</span>";
                        }
                        else if(selRoom[i].intBillingTypeId.Value == 3)
                        {
                            roomHTML+="--";                                
                        }
                        roomHTML +="</div>";
                    }
                    else 
                    {
                        if(selRoom[i].intBillingTypeId.Value == 1)
                        {
                            roomHTML+="<span id='lblCurSym2'>"+hdnCurrSymbol+"</span>";
                            roomHTML +="<span class='px1Div1Exbed' id='lblExbedRate_"+roomId+"'>0.00</span>";
                            roomHTML+="<span id='hdnNoofDays3_"+roomId+"'> * "+parseInt(noOfDays1,10)+"</span>";                        
                        }
                        else if(selRoom[i].intBillingTypeId.Value == 2)
                        {
                            roomHTML+="<span id='lblCurSym2'>"+hdnCurrSymbol+"</span>";
                            roomHTML +="<span class='px1Div1Exbed' id='lblExbedRate_"+roomId+"'>0.00</span>";
                            roomHTML+="<span id='hdnNoofDays3_"+roomId+"'> * "+parseInt(noOfDays1,10)+"</span>";                        
                        }
                        else if(selRoom[i].intBillingTypeId.Value == 3)
                        {
                            roomHTML+="--";                                
                        }
                        roomHTML +="</div>";
                    }
                    roomHTML +="</div>";
                roomHTML +="<div class='px1DivChild bcroom'>";
                    roomHTML+="<div class='px1Div1New2child bgRate'>";
                      roomHTML +="<span class='px1Div1' style='font-weight:bold;font-size:11px;'>CH * Nights</span>";
                    roomHTML+="</div>";
                    roomHTML +="<div class='px1Div1Newchild bcroom'>";
//                    if(selRoom[i].intBillingTypeId.Value == 1)
//                    {
                        if(selRoom[i].intBillingTypeId.Value == 1)
                        {
                            roomHTML+="<span id='lblCurSym3'>"+hdnCurrSymbol+"</span>";
                            roomHTML +="<span class='px1Div1' id='lblChildRate_"+roomId+"'>"+parseFloat(selRoom[i].dblChildRate.Value).toFixed(2)+"</span>";
                            roomHTML+="<span id='hdnNoofDays4_"+roomId+"'> * "+parseInt(noOfDays1,10)+"</span>";
                        }
                        else if(selRoom[i].intBillingTypeId.Value == 2)
                        {
                            roomHTML+="<span id='lblCurSym3'>"+hdnCurrSymbol+"</span>";
                            roomHTML +="<span class='px1Div1' id='lblChildRate_"+roomId+"'>"+parseFloat(selRoom[i].dblChildRate.Value).toFixed(2)+"</span>";
                            roomHTML+="<span id='hdnNoofDays4_"+roomId+"'> * "+parseInt(noOfDays1,10)+"</span>";
                        }
                        else if(selRoom[i].intBillingTypeId.Value == 3)
                        {
                            roomHTML+="--";                                
                        }
                        roomHTML +="</div>";
//                    }
//                    else
//                    {
//                        if(selRoom[i].intBillingTypeId.Value == 1)
//                        {
//                            roomHTML+="<span id='lblCurSym3'>"+hdnCurrSymbol+"</span>";
//                            roomHTML +="<span class='px1Div1' id='lblChildRate_"+roomId+"'>0.00</span>";
//                            roomHTML+="<span id='hdnNoofDays4_"+roomId+"'> * "+parseInt(noOfDays1,10)+"</span>";
//                        }
//                        else if(selRoom[i].intBillingTypeId.Value == 2)
//                        {
//                            roomHTML+="<span id='lblCurSym3'>"+hdnCurrSymbol+"</span>";
//                            roomHTML +="<span class='px1Div1' id='lblChildRate_"+roomId+"'>0.00</span>";
//                            roomHTML+="<span id='hdnNoofDays4_"+roomId+"'> * "+parseInt(noOfDays1,10)+"</span>";
//                        }
//                        else if(selRoom[i].intBillingTypeId.Value == 3)
//                        {
//                            roomHTML+="--";                                
//                        }
//                        roomHTML +="</div>";
//                    }
                    roomHTML +="</div>";               


}
function webrequest(Rindex,Gindex)// ajax call for options and adv options based on room id

    {
        var webRequest = new Sys.Net.WebRequest();
        var baseUrl = "BookOnline.aspx";     
        webRequest.set_httpVerb("GET");      
        var rid = Rindex;
        var rowIndex = Gindex;
        var GetHotelRoomOptions = "true";
        var newUrl = baseUrl + "?GetHotelRoomOptions=" +GetHotelRoomOptions+"&rid="+rid+"&rowIndex="+rowIndex;
        webRequest.set_url(newUrl);       
        webRequest.add_completed(completed);
        webRequest.invoke();            
    }


function completed(result, args)// response for options and adv options

{            

    if (result.get_responseAvailable())

    {    
           
            var responseData = result.get_responseData();
            var response = new Array();
            if (responseData == "New Session")
            {
                document.forms[0].action = "index.aspx";
                document.forms[0].submit();
            }
            else
            {
                  response = responseData.split("#");
                var optionsData = response[0];
                var roomId = response[1];//Rindex
                var roomRowIndex = response[2];//Gindex       
                var objOptions1 = Sys.Serialization.JavaScriptSerializer.deserialize(optionsData);
                 var chkStatus = document.getElementById("chkSelect_"+roomId+"_"+roomRowIndex);
                 var ddlAdults = document.getElementById("ddlAdults_"+roomId+"_"+roomRowIndex);
                  var roomOptionsSet=new Array();
                 if(objOptions1.RoomOptions[roomId] != null)
                 {
                    roomOptionsSet=(objOptions1.RoomOptions[roomId]).split("_");
                 }
                 var roomExclusiveOptionsSet = new Array();
                 if(objOptions1.RoomExcOptions[roomId] != null)
                 {
                    roomExclusiveOptionsSet=(objOptions1.RoomExcOptions[roomId]).split("_"); 
                 }  
                  if(roomOptionsSet.length == 0  && roomExclusiveOptionsSet.length == 0)
                  {
                        alert("No options available for this room");
                  }
                  else
                  {
                        if(chkStatus.checked)
                        {  
                            if(ddlAdults.value != "0")
                            {       
                                RoomOptions(objOptions1,roomId,roomRowIndex);
                            }
                            else
                            {                                
                                chkStatus.checked = true;
                                ddlAdults.value = "1";
                                SetDropDownsEnabled(roomId,roomRowIndex,'2');
                                RoomOptions(objOptions1,roomId,roomRowIndex);
                            }
                        }
                        else
                        {  
                                chkStatus.checked = true;
                                ddlAdults.value = "1";
                                SetDropDownsEnabled(roomId,roomRowIndex,'2');
                                RoomOptions(objOptions1,roomId,roomRowIndex);
                        }
                   }
                   RindexForOptions=roomId;
                   GindexForOptions=roomRowIndex;
            }
    }
    else
    {
            if(result.get_timedOut())
            {
                 alert("Timed Out");
            }
            else
            {
                   if (result.get_aborted())
                   {
                        alert("Aborted");
                   }
            }
    }      

}

function OptionsHeader()
{
    optionsHeaderHTML="";
optionsHeaderHTML+="<table class='optionsHeaderTableFullDiv bgWhole' border='1' bordercolor='#cfcfcf'>";
    optionsHeaderHTML+="<tr class='bgRName'>";
        optionsHeaderHTML +="<td align='center' style='width:65px;'>";
        optionsHeaderHTML +="<span>Select</span>";
        optionsHeaderHTML +="</td>";
        optionsHeaderHTML +="<td align='center' style='width:150px;'>";
        optionsHeaderHTML +="<span>Option Name</span>";
        optionsHeaderHTML +="</td>";
        optionsHeaderHTML +="<td align='center' style='width:60px;'>";
        optionsHeaderHTML +="<span>No's</span>";
        optionsHeaderHTML +="</td>";
        optionsHeaderHTML +="<td align='center' style='width:100px;'>";
        optionsHeaderHTML +="<span>Rate</span>";
        optionsHeaderHTML +="</td>";
        optionsHeaderHTML +="<td align='center' style='width:100px;'>";
        optionsHeaderHTML +="<span>Amount</span>";
        optionsHeaderHTML +="</td>";
        optionsHeaderHTML +="<td style='display:none;'>";
        optionsHeaderHTML +="<span>Extra Fields</span>";
        optionsHeaderHTML +="</td>";
    optionsHeaderHTML+="</tr>";
}

function ExclusoveOptionsHeader()
{
    exclusiveOptionsHeaderHTML="";
    exclusiveOptionsHeaderHTML+="<table class='optionsHeaderTableFullDiv bgWhole' border='1' bordercolor='#cfcfcf'>";
        exclusiveOptionsHeaderHTML+="<tr class='bgRName'>";
            exclusiveOptionsHeaderHTML +="<td align='center' style='width:120px;'>";
            exclusiveOptionsHeaderHTML +="<span>Option Set Name</span>";
            exclusiveOptionsHeaderHTML +="</td>";
            exclusiveOptionsHeaderHTML +="<td align='center' style='width:120px;'>";
            exclusiveOptionsHeaderHTML +="<span>Sets</span>";
            exclusiveOptionsHeaderHTML +="</td>";
            exclusiveOptionsHeaderHTML +="<td align='center' style='width:60px;'>";
            exclusiveOptionsHeaderHTML +="<span>No's</span>";
            exclusiveOptionsHeaderHTML +="</td>";
            exclusiveOptionsHeaderHTML +="<td align='center' style='width:80px;'>";
            exclusiveOptionsHeaderHTML +="<span>Rate</span>";
            exclusiveOptionsHeaderHTML +="</td>";
            exclusiveOptionsHeaderHTML +="<td align='center' style='width:80px;'>";
            exclusiveOptionsHeaderHTML +="<span>Amount</span>";
            exclusiveOptionsHeaderHTML +="</td>";
            exclusiveOptionsHeaderHTML +="<td  style='display:none;'>";
            exclusiveOptionsHeaderHTML +="<span>Extra Fields</span>";
            exclusiveOptionsHeaderHTML +="</td>";
        exclusiveOptionsHeaderHTML+="</tr>";
}

//  fill options in popup with the data get from ajax response
function BindOptions(sOptionId,loopIndex,optionName,optionNos,totalSelectedPersons,selectedOptionsNos,optionRate,Amount,selectedOptionId,sBillingTypeId,taxId,taxValue,taxType,optionRateWithTax,roomId,roomRowIndex,chkStatus)
{//S1
    bindOptionsHTML="";
    bindOptionsHTML+="<tr >";	
    bindOptionsHTML +="<td align='center' style='width:65px;'>"; 
    bindOptionsHTML +="<input type='checkbox' name='chkOptSelect' id='chkOptSelect_"+sOptionId+"_"+loopIndex+"' "+chkStatus+" onclick='javascript:SetOptDropDownsEnabled("+sOptionId+","+loopIndex+")'/>";
    bindOptionsHTML +="</td>";
    bindOptionsHTML +="<td align='center' style='width:150px;'>"; 
    bindOptionsHTML +="<span name='lblOptName' id='lblOptName_"+sOptionId+"_"+loopIndex+"'>"+optionName+"</span>";
    bindOptionsHTML +="</td>";
    bindOptionsHTML +="<td align='center' style='width:60px;'>";
        bindOptionsHTML +="<select name='ddlOptNoOfPersons' name='ddlOptNoOfPersons' id='ddlOptNoOfPersons_"+sOptionId+"_"+loopIndex+"' selected='"+optionNos+"' onchange='javascript:SetOptDropDownsEnabled("+sOptionId+","+loopIndex+")'>";
            if(sBillingTypeId == 1)
            {
                 for(var k=1;k<totalSelectedPersons+1;k++)
                 {//S15
                    if(selectedOptionsNos==k)
                    {//S16
                        bindOptionsHTML+="<option value='"+k+"' selected='selected'>"+k+"</option>";
                    }//E16
                    else
                    {//S17
                        bindOptionsHTML+="<option value='"+k+"'>"+k+"</option>";
                    }//E17
                 }//E15
             }
             else
             {
                    if(selectedOptionsNos==1)
                    {//S16
                        bindOptionsHTML+="<option value='1' selected='selected'>1</option>";
                    }//E16
                    else
                    {
                        bindOptionsHTML+="<option value='1'>1</option>";
                    }
             }
         bindOptionsHTML+="</select>";
    bindOptionsHTML +="</td>";
    bindOptionsHTML +="<td align='center' style='width:100px;'>"; 
    bindOptionsHTML +="<span name='lblOptRate' id='lblOptRate_"+sOptionId+"_"+loopIndex+"'>"+parseFloat(optionRate).toFixed(2)+"</span>";
    bindOptionsHTML +="</td>";
    bindOptionsHTML +="<td align='center' style='width:100px;'>"; 

        if(Amount == "")
        {
              bindOptionsHTML +="<label name='lblOptAmount' id='lblOptAmount_"+sOptionId+"_"+loopIndex+"'></label>";
        }
        else
        {
              bindOptionsHTML +="<label name='lblOptAmount' id='lblOptAmount_"+sOptionId+"_"+loopIndex+"'>"+parseFloat(Amount).toFixed(2)+"</label>";
        }
    
    bindOptionsHTML +="</td>";
    bindOptionsHTML +="<td style='display:none;'>";  
    bindOptionsHTML+="<span class='optionsSpan' name='lblOptroomId' id='lblOptroomId_"+sOptionId+"_"+loopIndex+"'>"+roomId+"</span>"; 
    bindOptionsHTML+="<span class='optionsSpan' name='lblOptroomRowIndex' id='lblOptroomRowIndex_"+sOptionId+"_"+loopIndex+"'>"+roomRowIndex+"</span>";                                                                         
    bindOptionsHTML +="</td>";

   
    bindOptionsHTML+="</tr>";   
}//E1

//  filling options popup & fill adv options in popup with the data get from ajax response
function RoomOptions(objOptions,roomId,roomRowIndex)
{
    var optionsHTML="";
    var excOptionsHTML="";
    var optButtonsHTML="";
    var mainOptHTML="";   
    var ddlAdults = document.getElementById("ddlAdults_"+roomId+"_"+roomRowIndex);
    var ddlChilds = document.getElementById("ddlChilds_"+roomId+"_"+roomRowIndex);
    var adults = parseInt(ddlAdults.value,10);
    var childs = parseInt(ddlChilds.value,10);
    var totPersons = adults+childs; 
    JSONobjOptList = objOptions.Options;
    JSONobjExcOptList = objOptions.XOptions;
    var roomOptionsSet=new Array();
    if(objOptions.RoomOptions[roomId] != null)
    {
        roomOptionsSet=(objOptions.RoomOptions[roomId]).split("_");
    }
    var roomExclusiveOptionsSet = new Array();
    if(objOptions.RoomExcOptions[roomId] != null)
    {
        roomExclusiveOptionsSet=(objOptions.RoomExcOptions[roomId]).split("_"); 
   }  
    var selectedRoomOptionsCount=0;   
    var selectedOptionsSet = new Array();
    var SelectedOptionsCount = 0;   
    var selectedExclusiveOptionsSet = new Array();
        var SelectedExclusiveOptionsCount = 0;
        var selectedExclusiveRoomOptionsCount=0;
    var checkedStatus; 
    if(document.getElementById("hdnRoomObj").value != "" &&  document.getElementById("hdnRoomObj").value != null)
    {
        var roomData2 = document.getElementById("hdnRoomObj").value;
        jsonObjRoom = Sys.Serialization.JavaScriptSerializer.deserialize(roomData2); 
    }
    if(document.getElementById("hdnOptionsObj").value != "" && document.getElementById("hdnOptionsObj").value != null)
    {
        var optionsData1 = document.getElementById("hdnOptionsObj").value;
        jsonObjOptions = Sys.Serialization.JavaScriptSerializer.deserialize(optionsData1);
    } 
    if(roomOptionsSet.length == 0  && roomExclusiveOptionsSet.length == 0  && jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["options"] == undefined && jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options == undefined && jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["Xoptions"] == undefined && jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions == undefined ) 
    {
        alert("No options available for this room");
    }
    else
    {
         Popup.showModal('divOpt');
        if(jsonObjRoom!=null)
        {//S1
              if (jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["options"] != null)
              {
                 if (jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options != undefined)
                 {
                                                                
                        var j = 0;
                        while (jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options[j]!= undefined)
                        {
                            if(roomId == jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options[j].roomId)
                            {
                               selectedRoomOptionsCount+=1;
                            }
                            j = j+1;
                        }
                  }
              }
        }//E1
        if(jsonObjRoom!=null && selectedRoomOptionsCount!=0)
        {//S5
            if(roomOptionsSet!=null && roomOptionsSet!="")
            {//S6    
                for(var i=0;i<roomOptionsSet.length-1;i++)
                {//S7
                    if(roomOptionsSet[i]!=null && roomOptionsSet[i]!="")
                    {//S8   
                        if(objOptions.Options[roomOptionsSet[i]].intOptionTypeId == 2)
                        {//S9
                            OptionsHeader();
                            optionsHTML+=optionsHeaderHTML;
                            i=roomOptionsSet.length;
                        }//E9
                    }//E8               
                }//E7
                for(var i=0; i<roomOptionsSet.length-1;i++)
                {//S10   
                    if(roomOptionsSet[i]!=null && roomOptionsSet[i]!="")
                    {//S11   
                        var optionId = objOptions.Options[roomOptionsSet[i]].intOptionId;
                        if(objOptions.Options[roomOptionsSet[i]].intOptionTypeId == 2)
                        {//S12   
                            var perticularRoomOptionHTMLCreateCount=0;  
                            if (jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options != undefined)
                            {
                                                                        
                                var n = 0;
                                while (jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options[n]!= undefined)
                                {
                                    if(roomId == jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options[n].roomId && optionId==jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options[n].optId && roomRowIndex==jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options[n].roomRowIndex )
                                    {
                                            perticularRoomOptionHTMLCreateCount+=1;
                                             checkedStatus="checked='true'";
                                            BindOptions(optionId,jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options[n].optRowIndex,jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options[n].optName,jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options[n].nos,totPersons,jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options[n].nos,jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options[n].optRate,jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options[n].Amt,jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options[n].optId,jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options[n].BillingType,jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options[n].taxid,jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options[n].taxvalue,jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options[n].taxtype,jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options[n].optRateWithTax,jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options[n].roomId,jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options[n].roomRowIndex,checkedStatus);
                                            optionsHTML+=bindOptionsHTML;                                
             
                                    }//E14   
                                    n=n+1;
                                }
                            }//E13
                            if(perticularRoomOptionHTMLCreateCount == 0)
                            {//S18
                                checkedStatus="";
                                BindOptions(optionId,i,objOptions.Options[roomOptionsSet[i]].strOptionName,-1,totPersons,-1,objOptions.Options[roomOptionsSet[i]].dblAdultRate,"",objOptions.Options[roomOptionsSet[i]].intOptionId,objOptions.Options[roomOptionsSet[i]].intBillingTypeId,objOptions.Options[roomOptionsSet[i]].intTaxId,objOptions.Options[roomOptionsSet[i]].dblTaxValue,objOptions.Options[roomOptionsSet[i]].strTaxType,"",roomId,roomRowIndex,checkedStatus);
                                optionsHTML+=bindOptionsHTML;                            

                            }//E18
                        }//E12                    
                    }//E11
                }//E10
            }//E6 
        }//E5
        else
        {//S20
            if(roomOptionsSet!=null && roomOptionsSet!="")
            {//S21       
                for(var i=0;i<roomOptionsSet.length-1;i++)
                {//S22   
                    if(roomOptionsSet[i]!=null && roomOptionsSet[i]!="")
                    {//S23   
                        if(objOptions.Options[roomOptionsSet[i]].intOptionTypeId == 2)
                        {//S24   
                            OptionsHeader();
                            optionsHTML+=optionsHeaderHTML;
                            i=roomOptionsSet.length;
                        }//E24
                    }//E23
                }//E22
                for(var i=0;i<roomOptionsSet.length-1;i++)
                {//S25
                    if(roomOptionsSet[i]!=null && roomOptionsSet[i]!="")
                    {//S26
                        var optionId = objOptions.Options[roomOptionsSet[i]].intOptionId;
                        if(objOptions.Options[roomOptionsSet[i]].intOptionTypeId == 2)
                        {//S27 
                             checkedStatus="";
                             BindOptions(optionId,i,objOptions.Options[roomOptionsSet[i]].strOptionName,-1,totPersons,-1,objOptions.Options[roomOptionsSet[i]].dblAdultRate,"",objOptions.Options[roomOptionsSet[i]].intOptionId,objOptions.Options[roomOptionsSet[i]].intBillingTypeId,objOptions.Options[roomOptionsSet[i]].intTaxId,objOptions.Options[roomOptionsSet[i]].dblTaxValue,objOptions.Options[roomOptionsSet[i]].strTaxType,"",roomId,roomRowIndex,checkedStatus);
                             optionsHTML+=bindOptionsHTML;
                              

                        }//E27                    
                    }//E26
                }//E25
                optionsHTML+="</table>";
            }//E21   
        }//E20
        
        
        excOptionsHTML+="<div class='optionsHeaderFullDivForBorder' style='border-top:0px;'>";
        excOptionsHTML+="</div>";
        
        
        if(document.getElementById("hdnExcOptionsObj").value != "" && document.getElementById("hdnExcOptionsObj").value != null)
                    {
                         var excOptionsData1 = document.getElementById("hdnExcOptionsObj").value;
                        jsonObjXOptions = Sys.Serialization.JavaScriptSerializer.deserialize(excOptionsData1);
                    } 

     if(jsonObjRoom!=null)
        {//S1
             if (jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["Xoptions"] != null)
             {
                 if (jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions != undefined)
                 {                                                            
                        var p = 0;
                        while (jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions[p]!= undefined)
                        {
                            if(roomId == jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions[p].roomId)
                            {
                               selectedExclusiveRoomOptionsCount+=1;
                            }
                            p = p+1;
                        }
                  }
             }
        }//E1

           if(jsonObjRoom!=null &&  selectedExclusiveRoomOptionsCount!=0)
           {//S1
            if(roomExclusiveOptionsSet!=null && roomExclusiveOptionsSet!="")
            {//S2    
                    for(var i=0;i<roomExclusiveOptionsSet.length-1; i++)
                    {//S3
                        if(roomExclusiveOptionsSet[i]!=null && roomExclusiveOptionsSet[i]!="")
                        {//S4   
                            if(objOptions.XOptions[roomExclusiveOptionsSet[i]].intOptionTypeId == 3)
                            {//S5
                                ExclusoveOptionsHeader();
                                excOptionsHTML+=exclusiveOptionsHeaderHTML;
                                 i=roomExclusiveOptionsSet.length;
                            }//E5
                        }//E4
                    }//E3
                for(var i=0;i<roomExclusiveOptionsSet.length-1;i++)
                {//S6   
                    if(roomExclusiveOptionsSet[i]!=null && roomExclusiveOptionsSet[i]!="")
                    {//S7   
                         var excOptionSetId = objOptions.XOptions[roomExclusiveOptionsSet[i]].intOptionSetId;                    
                        if(objOptions.XOptions[roomExclusiveOptionsSet[i]].intOptionTypeId == 3)
                        {//S8   
                            var perticularRoomExcOptionHTMLCreateCount=0;
                             if (jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions != undefined)
                             {//S9
                                                                
                                var n = 0;
                                while (jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions[n]!= undefined)
                                {//S10
                                    if(roomId == jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions[n].roomId  && roomRowIndex==jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions[n].roomRowIndex && excOptionSetId == jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions[n].optSetId)
                                    {//S11  
                                        perticularRoomExcOptionHTMLCreateCount+=1;                                            
                                            var XOptRowIndex= jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions[n].xoptRowIndex;                                                                                               
                                            excOptionsHTML+="<tr onload='javascript:SetExcOptToSetsDropDown("+excOptionSetId+","+XOptRowIndex+")'>";     
                                            excOptionsHTML +="<td align='center' style='width:120px;'>";
                                            excOptionsHTML +="<span name='lblOptSetName' id='lblOptSetName_"+excOptionSetId+"_"+XOptRowIndex+"'>"+jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions[n].optSetName+"</span>";
                                            excOptionsHTML +="<input type='hidden'  name='hdnExcOptRowIndex1' id='hdnExcOptRowIndex1_"+excOptionSetId+"_"+XOptRowIndex+"' value='"+XOptRowIndex+"' />";
                                            excOptionsHTML +="</td>";
                                            excOptionsHTML +="<td align='center' style='width:120px;'>"; 
                                            excOptionsHTML +="<select name='ddlExcOptSets' id='ddlExcOptSets_"+excOptionSetId+"_"+XOptRowIndex+"' style='width:100px;' selected='"+jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions[n].optId+"' onchange='javascript:getXOptionRate("+roomId+","+roomRowIndex+","+excOptionSetId+","+XOptRowIndex+")' style='width:50px;'>";
                                            excOptionsHTML+="<option value='0'>Select</option>";
                                            var  val2= new Array();
                                            for(var keyVal in objOptions.OptionIds)
                                             {//S12  
                                                 if(keyVal == jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions[n].optSetId)
                                                 {//S13      
                                                       val2 =   (objOptions.OptionIds[keyVal]).split("_"); 
                                                         if(val2 != null || val2 != "")
                                                         {//S14
                                                            for(var l=0;l<val2.length;l++)
                                                             {//S15
                                                                    if(val2[l]!=null && val2[l]!="")
                                                                     {//S16 
                                                                            if(jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions[n].optId == objOptions.OptionNamesForXSet[val2[l]].intOptionId)
                                                                            {//S17
                                                                                excOptionsHTML+="<option value='"+objOptions.OptionNamesForXSet[val2[l]].intOptionId+"' selected='selected'>"+objOptions.OptionNamesForXSet[val2[l]].strOptionName+"</option>";
                                                                            }//S17
                                                                            else
                                                                            {//S18
                                                                                
                                                                                excOptionsHTML+="<option value='"+objOptions.OptionNamesForXSet[val2[l]].intOptionId+"'>"+objOptions.OptionNamesForXSet[val2[l]].strOptionName+"</option>";
                                                                            }//E18
                                                                     }//E16  
                                                              }//E15                      
                                                                    
                                                          }//E14
                                                      }//E13
                                              }//E12
                                            excOptionsHTML+="</select>";
                                            excOptionsHTML +="</td>";
                                            excOptionsHTML +="<td align='center' style='width:60px;'>";
                                            excOptionsHTML +="<select name='ddlExcOptNoOfPersons' id='ddlExcOptNoOfPersons_"+excOptionSetId+"_"+XOptRowIndex+"' selected='"+jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions[n].nos+"' onchange='javascript:GetXOptionsRate1("+excOptionSetId+","+XOptRowIndex+")'>";
                                            if(jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions[n].BillingType == 1)
                                            {//S19
                                                 for(var k=1;k<totPersons+1;k++)
                                                 {//S20
                                                        if(jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions[n].nos==k)
                                                        {//S21
                                                            excOptionsHTML+="<option value='"+k+"' selected='selected'>"+k+"</option>";
                                                        }//E21
                                                        else
                                                        {//S22
                                                            excOptionsHTML+="<option value='"+k+"'>"+k+"</option>";
                                                        }//E22
                                                 }//E20
                                             }//E19
                                             else
                                             {//S23
                                                 if(jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions[n].nos==1)
                                                    {//S24
                                                        excOptionsHTML+="<option value='1' selected='selected'>1</option>";
                                                    }//E24
                                                    else
                                                    {//S25
                                                        excOptionsHTML+="<option value='1'>1</option>";
                                                    }//E25
                                             }//E23
                                             excOptionsHTML+="</select>";
                                            excOptionsHTML +="</td>";
                                            excOptionsHTML +="<td align='center' style='width:80px;'>";
                                            excOptionsHTML +="<span name='lblExcOptRate' id='lblExcOptRate_"+excOptionSetId+"_"+XOptRowIndex+"'>"+parseFloat(jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions[n].optRate).toFixed(2)+"</span>";
                                            excOptionsHTML +="</td>";
                                            excOptionsHTML +="<td align='center' style='width:80px;'>";
                                            
                                            if(jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions[n].Amt == "")
                                            {//S26
                                                excOptionsHTML +="<span name='lblExcOptAmount' id='lblExcOptAmount_"+excOptionSetId+"_"+XOptRowIndex+"'></span>";
                                            }//E26
                                            else
                                            {//S27
                                                excOptionsHTML +="<span name='lblExcOptAmount' id='lblExcOptAmount_"+excOptionSetId+"_"+XOptRowIndex+"'>"+parseFloat(jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions[n].Amt).toFixed(2)+"</span>";
                                            }//E27
                                            excOptionsHTML +="</td>";
                                            excOptionsHTML +="<td  style='display:none;'>";
                                            excOptionsHTML+="<span  name='lblExcOptroomId' id='lblExcOptroomId_"+excOptionSetId+"_"+XOptRowIndex+"'>"+jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions[n].roomId+"</span>";
                                            excOptionsHTML+="<span  name='lblExcOptSetId' id='lblExcOptSetId_"+excOptionSetId+"_"+XOptRowIndex+"'>"+jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions[n].optSetId+"</span>";                                            
                                            excOptionsHTML+="<span  name='lblExcOptRoomRowIndex' id='lblExcOptRoomRowIndex_"+excOptionSetId+"_"+XOptRowIndex+"'>"+jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions[n].roomRowIndex+"</span>";
                                            excOptionsHTML +="</td>";
                                            excOptionsHTML+="</tr>";                                                                           
                                    }//E11
                                    n=n+1;                      
                                }//E10
                            }//E9
                            if(perticularRoomExcOptionHTMLCreateCount == 0)
                            {//S28
                                 var optionSetId = objOptions.XOptions[roomExclusiveOptionsSet[i]].intOptionSetId;                 
                                excOptionsHTML+="<tr onload='javascript:SetExcOptToSetsDropDown("+optionSetId+","+i+")'>"; 
                                    excOptionsHTML +="<td align='center' style='width:120px;'>";
                                        excOptionsHTML +="<span style='width:80px;' name='lblOptSetName' id='lblOptSetName_"+optionSetId+"_"+i+"'>"+objOptions.XOptions[roomExclusiveOptionsSet[i]].strOptionSetName+"</span>";
                                        excOptionsHTML +="<input type='hidden'  name='hdnExcOptRowIndex1' id='hdnExcOptRowIndex1_"+optionSetId+"_"+i+"' value='"+i+"' />";
                                        excOptionsHTML +="</td>";
                                        excOptionsHTML +="<td align='center' style='width:120px;'>";
                                        excOptionsHTML +="<select name='ddlExcOptSets' id='ddlExcOptSets_"+optionSetId+"_"+i+"' style='width:100px;' onchange='javascript:getXOptionRate("+roomId+","+roomRowIndex+","+optionSetId+","+i+")'>";
                                        excOptionsHTML+="<option value='0'>Select</option>";
                                        var  val2= new Array();
                                        for(var keyVal in objOptions.OptionIds)
                                         { //S29   
                                             if(keyVal == optionSetId)
                                             {  //S30   
                                                   val2 =   (objOptions.OptionIds[keyVal]).split("_"); 
                                                     if(val2 != null || val2 != "")
                                                     {//S31
                                                        for(var l=0;l<val2.length;l++)
                                                         {//S32
                                                            if(val2[l]!=null && val2[l]!="")
                                                             { //S33
                                                                
                                                                excOptionsHTML+="<option value='"+objOptions.OptionNamesForXSet[val2[l]].intOptionId+"'>"+objOptions.OptionNamesForXSet[val2[l]].strOptionName+"</option>";
                                                             } //E33 
                                                          }//E32                    
                                                                
                                                      }//E31
                                                }//E30
                                          }//E29
                                        excOptionsHTML+="</select>";
                                        excOptionsHTML +="</td>";
                                        excOptionsHTML +="<td align='center' style='width:60px;'>";
                                        excOptionsHTML +="<select name='ddlExcOptNoOfPersons' id='ddlExcOptNoOfPersons_"+optionSetId+"_"+i+"' onchange='javascript:GetXOptionsRate1("+optionSetId+","+i+")'>";
                                        if(objOptions.XOptions[roomExclusiveOptionsSet[i]].intBillingTypeId == 1)
                                        {//S34
                                             for(var k=1;k<totPersons+1;k++)
                                             {//S35
                                                excOptionsHTML+="<option value='"+k+"'>"+k+"</option>";
                                             }//E35
                                         }//E34
                                         else
                                         {//S36
                                            excOptionsHTML+="<option value='1'>1</option>";
                                         }//E36
                                         excOptionsHTML+="</select>";
                                        excOptionsHTML +="</td>";
                                        excOptionsHTML +="<td align='center' style='width:80px;'>";
                                        excOptionsHTML +="<span style='width:80px;' name='lblExcOptRate' id='lblExcOptRate_"+optionSetId+"_"+i+"'></span>";
                                        excOptionsHTML +="</td>";
                                        excOptionsHTML +="<td align='center' style='width:80px;'>";                                        
                                       excOptionsHTML +="<span style='width:80px;' name='lblExcOptAmount' id='lblExcOptAmount_"+optionSetId+"_"+i+"'></span>";
                                        excOptionsHTML +="</td>";
                                        excOptionsHTML +="<td style='display:none;'>";                                
                                        excOptionsHTML+="<span  name='lblExcOptroomId' id='lblExcOptroomId_"+optionSetId+"_"+i+"'>"+roomId+"</span>";
                                        excOptionsHTML+="<span  name='lblExcOptSetId' id='lblExcOptSetId_"+optionSetId+"_"+i+"'>"+optionSetId+"</span>";                                       
                                        excOptionsHTML+="<span  name='lblExcOptRoomRowIndex' id='lblExcOptRoomRowIndex_"+optionSetId+"_"+i+"'>"+roomRowIndex+"</span>";
                                        excOptionsHTML +="</td>";
                                excOptionsHTML+="</tr>";                                            
                            }//E28
                        }//E8                    
                    }//E7
                }//E6
            }//E2 
         } //E1         
        //}//E5
        
         else
        {//S20
            if(roomExclusiveOptionsSet!=null && roomExclusiveOptionsSet!="")
            {//S21       
                for(var i=0;i<roomExclusiveOptionsSet.length-1;i++)
                {//S22   
                    if(roomExclusiveOptionsSet[i]!=null && roomExclusiveOptionsSet[i]!="")
                    {//S23   
                        if(objOptions.XOptions[roomExclusiveOptionsSet[i]].intOptionTypeId == 3)
                        {//S24   
                            ExclusoveOptionsHeader();
                            excOptionsHTML+=exclusiveOptionsHeaderHTML;
                             i=roomExclusiveOptionsSet.length;
                        }//E24
                    }//E23
                }//E22
                for(var i=0;i<roomExclusiveOptionsSet.length-1;i++)
                {//S25
                    if(roomExclusiveOptionsSet[i]!=null && roomExclusiveOptionsSet[i]!="")
                    {//S26                   
                        if(objOptions.XOptions[roomExclusiveOptionsSet[i]].intOptionTypeId == 3)
                        {//S27                         
                             var optionSetId = objOptions.XOptions[roomExclusiveOptionsSet[i]].intOptionSetId;                  
                                  excOptionsHTML+="<tr onload='javascript:SetExcOptToSetsDropDown("+optionSetId+","+i+")'>";                                   
                                        excOptionsHTML +="<td align='center' style='width:120px;'>";
                                        excOptionsHTML +="<span style='width:80px;' name='lblOptSetName' id='lblOptSetName_"+optionSetId+"_"+i+"'>"+objOptions.XOptions[roomExclusiveOptionsSet[i]].strOptionSetName+"</span>";
                                        excOptionsHTML +="<input type='hidden'  name='hdnExcOptRowIndex1' id='hdnExcOptRowIndex1_"+optionSetId+"_"+i+"' value='"+i+"' />";
                                        excOptionsHTML +="</td>";
                                        excOptionsHTML +="<td align='center' style='width:120px;'>";
                                        excOptionsHTML +="<select name='ddlExcOptSets' id='ddlExcOptSets_"+optionSetId+"_"+i+"' style='width:100px;' onchange='javascript:getXOptionRate("+roomId+","+roomRowIndex+","+optionSetId+","+i+")'>";
                                        excOptionsHTML+="<option value='0'>Select</option>";
                                        var  val2= new Array();
                                        for(var keyVal in objOptions.OptionIds)
                                         {        
                                            if(keyVal == optionSetId)
                                            { 
                                               val2 =   (objOptions.OptionIds[keyVal]).split("_"); 
                                                 if(val2 != null || val2 != "")
                                                 {
                                                    for(var l=0;l<val2.length;l++)
                                                     {
                                                        if(val2[l]!=null && val2[l]!="")
                                                         { 
                                                            
                                                            excOptionsHTML+="<option value='"+objOptions.OptionNamesForXSet[val2[l]].intOptionId+"'>"+objOptions.OptionNamesForXSet[val2[l]].strOptionName+"</option>";
                                                         }  
                                                      }                      
                                                            
                                                  }
                                              }
                                          }
                                        excOptionsHTML+="</select>";
                                        excOptionsHTML +="</td>";
                                        excOptionsHTML +="<td align='center' style='width:60px;'>";
                                        excOptionsHTML +="<select name='ddlExcOptNoOfPersons' id='ddlExcOptNoOfPersons_"+optionSetId+"_"+i+"' onchange='javascript:GetXOptionsRate1("+optionSetId+","+i+")'>";
                                        if(objOptions.XOptions[roomExclusiveOptionsSet[i]].intBillingTypeId == 1)
                                        {
                                             for(var k=1;k<totPersons+1;k++)
                                             {
                                                excOptionsHTML+="<option value='"+k+"'>"+k+"</option>";
                                             }
                                         }
                                         else
                                         {
                                            excOptionsHTML+="<option value='1'>1</option>";
                                         }
                                         excOptionsHTML+="</select>";
                                        excOptionsHTML +="</td>";
                                        excOptionsHTML +="<td align='center' style='width:80px;'>";
                                        excOptionsHTML +="<span style='width:80px;' name='lblExcOptRate' id='lblExcOptRate_"+optionSetId+"_"+i+"'></span>";
                                        excOptionsHTML +="</td>";
                                        excOptionsHTML +="<td align='center' style='width:80px;'>";
                                        excOptionsHTML +="<span style='width:80px;' name='lblExcOptAmount' id='lblExcOptAmount_"+optionSetId+"_"+i+"'></span>";                                    
                                        excOptionsHTML +="</td>";
                                        excOptionsHTML +="<td  style='display:none;'>";                             
                                        excOptionsHTML+="<span  name='lblExcOptroomId' id='lblExcOptroomId_"+optionSetId+"_"+i+"'>"+roomId+"</span>";
                                        excOptionsHTML+="<span  name='lblExcOptSetId' id='lblExcOptSetId_"+optionSetId+"_"+i+"'>"+optionSetId+"</span>";                                        
                                        excOptionsHTML+="<span  name='lblExcOptRoomRowIndex' id='lblExcOptRoomRowIndex_"+optionSetId+"_"+i+"'>"+roomRowIndex+"</span>";
                                        excOptionsHTML +="</td>";
                                excOptionsHTML+="</tr>";                                                
                        }//E27                    
                    }//E26
                }//E25
            }//E21   
        }//E20         
       excOptionsHTML+="</table>";
       excOptionsHTML+="<div class='optionsHeaderFullDivForBorder1' style='border-top:0px;'>";
        excOptionsHTML+="</div>";        

                 document.getElementById("divOptions").innerHTML = optionsHTML;
                document.getElementById("divExcOptions").innerHTML = excOptionsHTML;          
    }
  
}  

function getXOptionRate(xroomId,xRoomRowIndex,optionSetId,ExcOptRowIndex)// ajax call for adv options data
{
    var webRequest = new Sys.Net.WebRequest();
        var baseUrl = "BookOnline.aspx";       

        webRequest.set_httpVerb("GET");       
        var OptSetId = optionSetId;
        var rowIndex = ExcOptRowIndex;
        var GetOptionRate = "true";
        var ddlOptionId = document.getElementById("ddlExcOptSets_"+OptSetId+"_"+rowIndex);
        document.getElementById("lblExcOptAmount_"+OptSetId+"_"+rowIndex).value = "";        
        var optionId =document.getElementById("ddlExcOptSets_"+OptSetId+"_"+rowIndex)[document.getElementById("ddlExcOptSets_"+OptSetId+"_"+rowIndex).selectedIndex].value;     
        var newUrl = baseUrl + "?GetOptionRate=" +GetOptionRate+"&optionId="+optionId+"&rowIndex="+rowIndex+"&optSetId="+OptSetId+"&roomId="+xroomId+"&roomRowIndex="+xRoomRowIndex;
        webRequest.set_url(newUrl);        
        webRequest.add_completed(optCompleted);

        webRequest.invoke();
}

function optCompleted(result, args)  //calculate adv options rate

{           

    if (result.get_responseAvailable())

    {          
             
           
            var responseData = result.get_responseData();
            var response = new Array();
            if (responseData == "New Session")
            {
                document.forms[0].action = "index.aspx";
                document.forms[0].submit();
            }
            else
            {
                  response = responseData.split("#");
                var optionsRate = response[0];
                var OptionSetId = response[1];
                var optionId = response[2];
                var optRowIndex = response[3];  
                var xroomId = response[4];
                var xroomRowIndex = response[5];          
                var objOptionRate = Sys.Serialization.JavaScriptSerializer.deserialize(optionsRate);
             
                   var ddlExcOptSets = document.getElementById("ddlExcOptSets_"+OptionSetId+"_"+optRowIndex);
                   var excOptSetValue = ddlExcOptSets.value;
                   if(excOptSetValue != 0)
                   {    
                        document.getElementById("lblExcOptRate_"+OptionSetId+"_"+optRowIndex).innerHTML=parseFloat(objOptionRate.dblAdultRate).toFixed(2);
                        GetXOptionsRate1(OptionSetId,optRowIndex);
                    }
                    else
                    {
                        document.getElementById("lblExcOptRate_"+OptionSetId+"_"+optRowIndex).innerHTML="";
                        document.getElementById("lblExcOptAmount_"+OptionSetId+"_"+optRowIndex).innerHTML="";
                        document.getElementById("ddlExcOptNoOfPersons_"+OptionSetId+"_"+optRowIndex).selectedIndex = 0;                    
                            if (jsonObjRoom["room"][xroomId.toString()+xroomRowIndex.toString()].Xoptions != undefined)
                            {
                                  
                                var k = 0;                       
                                while (jsonObjRoom["room"][xroomId.toString()+xroomRowIndex.toString()].Xoptions[k]!= undefined)
                                {   
                                    if(OptionSetId == jsonObjRoom["room"][xroomId.toString()+xroomRowIndex.toString()].Xoptions[k].optSetId && optRowIndex == jsonObjRoom["room"][xroomId.toString()+xroomRowIndex.toString()].Xoptions[k].xoptRowIndex )
                                    {
                                        jsonObjRoom["room"][xroomId.toString()+xroomRowIndex.toString()]["Xoptions"][k]="";
                                    }
                                    k=k+1;
                                }
                            }                 
                        
                    } 
              }          
            
    }
}
function optBtnCancel()
{                   
    Popup.hide('divOpt');       
}

function getOutPuts() // add options & adv options to cart object i.e, jsonObjRoom 
{      
    var roomId= RindexForOptions;
    var roomRowIndex = GindexForOptions;
    document.getElementById('step1').style.backgroundPosition= '0px 0px';               
    document.getElementById('step2').style.backgroundPosition= '0px 0px'; 
    document.getElementById('step3').style.backgroundPosition= '0px 0px';         
    var optionsSelected;
    var exOptionsSelected;
     var NoOfOpts =-1;
     var NoOfXOpts = -1;
    var NoOfOptions=document.getElementsByName("chkOptSelect").length;
    var NoOfExOptions=0;
    for (var i=0;i<document.getElementsByName("ddlExcOptSets").length;i++)
    {
        if (document.getElementsByName("ddlExcOptSets")[i].selectedIndex != 0)
        {
            NoOfExOptions +=1;
        }
    }
    
    // for selected options
    if (NoOfOptions==0)
    {
        jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["options"] = {};
    }      
    else
    {
        for (var i=0;i<document.getElementsByName("chkOptSelect").length;i++)
        {        
            var chkId = document.getElementsByName("chkOptSelect")[i].id;
            var Rindex = chkId.split('_')[chkId.split('_').length-2];
            var Gindex = chkId.split('_')[chkId.split('_').length-1];               
            if (document.getElementsByName("chkOptSelect")[i].checked)
            {
                NoOfOpts = NoOfOpts+1;
                
                var ddlNoOfPersons = document.getElementById("ddlOptNoOfPersons_"+Rindex+"_"+Gindex);
                var optionAmount = document.getElementById("lblOptAmount_"+Rindex+"_"+Gindex).innerHTML;
                var totOptAmountWithTax;
                var taxPerc = JSONobjOptList[Rindex].dblTaxValue; 
                var optTaxAmount = parseFloat((optionAmount*taxPerc)/100).toFixed(2);
                totOptAmountWithTax = parseFloat(parseFloat(optionAmount)+parseFloat(optTaxAmount)).toFixed(2);              
                
                var optionId = JSONobjOptList[Rindex].intOptionId; 
                var optRowIndex = Gindex; 
                if(NoOfOpts == 0)                                             
                  jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["options"] = {};
                jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["options"][NoOfOpts] = {};
                jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["options"][NoOfOpts]["optName"]= JSONobjOptList[Rindex].strOptionName;
                jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["options"][NoOfOpts]["nos"]= ddlNoOfPersons.value;
                jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["options"][NoOfOpts]["optRate"]= JSONobjOptList[Rindex].dblAdultRate; 
                jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["options"][NoOfOpts]["Amt"]= document.getElementById("lblOptAmount_"+Rindex+"_"+Gindex).innerHTML ;
                jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["options"][NoOfOpts]["BillingType"]= JSONobjOptList[Rindex].intBillingTypeId; 
                jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["options"][NoOfOpts]["optId"]= optionId; 
                jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["options"][NoOfOpts]["taxid"]= JSONobjOptList[Rindex].intTaxId; 
                jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["options"][NoOfOpts]["taxtype"]= JSONobjOptList[Rindex].strTaxType; 
                jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["options"][NoOfOpts]["taxvalue"]= JSONobjOptList[Rindex].dblTaxValue;
                jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["options"][NoOfOpts]["optRateWithTax"] = totOptAmountWithTax;
                jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["options"][NoOfOpts]["roomId"] = roomId.toString();
                jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["options"][NoOfOpts]["roomRowIndex"] = roomRowIndex.toString();
                jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["options"][NoOfOpts]["optRowIndex"]=optRowIndex.toString();
                jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["options"][NoOfOpts]["optTaxAmount"] = optTaxAmount;
                 
            }
            else
            {
                if(NoOfOpts < 0)
                {
                    jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["options"] = {};
                }
                
            }
        }
    }
    
    //For Exclusive options
     if (NoOfExOptions==0)
     {
        jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["Xoptions"] = {};
     }     
    else 
    {
        for (var i=0;i<document.getElementsByName("ddlExcOptSets").length;i++)
        {                
                var hdnExcOptRowIndex = document.getElementsByName("hdnExcOptRowIndex1")[i].id;
                var Rindex = hdnExcOptRowIndex.split('_')[hdnExcOptRowIndex.split('_').length-2];
                var Gindex = hdnExcOptRowIndex.split('_')[hdnExcOptRowIndex.split('_').length-1];                
                var XOptionId = document.getElementById("lblExcOptSetId_"+Rindex+"_"+Gindex).innerHTML;        
                 var XOptRowIndex = Gindex;     
                var ddlNoOfPersons = document.getElementById("ddlExcOptNoOfPersons_"+Rindex+"_"+Gindex);
                var XoptionAmount = document.getElementById("lblExcOptAmount_"+Rindex+"_"+Gindex).innerHTML;
                var totXOptAmountWithTax;
                var taxPerc = JSONobjExcOptList[Rindex].dblTaxValue; 
                var XoptTaxAmount = parseFloat((XoptionAmount*taxPerc)/100).toFixed(2);
                totXOptAmountWithTax = parseFloat(parseFloat(XoptionAmount)+parseFloat(XoptTaxAmount)).toFixed(2);              
                
                if(document.getElementById("ddlExcOptNoOfPersons_"+Rindex+"_"+Gindex).value > 0)
                {
                    if(document.getElementById("ddlExcOptSets_"+Rindex+"_"+Gindex).value != 0)
                    {         
                                NoOfXOpts=NoOfXOpts+1;                       
                                if(NoOfXOpts == 0)
                                    jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["Xoptions"] = {};
                                jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["Xoptions"][NoOfXOpts] = {};
                                jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["Xoptions"][NoOfXOpts]["optSetName"]=document.getElementById("lblOptSetName_"+Rindex+"_"+Gindex).innerHTML;
                                jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["Xoptions"][NoOfXOpts]["optName"]=document.getElementById("ddlExcOptSets_"+Rindex+"_"+Gindex)[document.getElementById("ddlExcOptSets_"+Rindex+"_"+Gindex).selectedIndex].text;
                                jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["Xoptions"][NoOfXOpts]["nos"]=document.getElementById("ddlExcOptNoOfPersons_"+Rindex+"_"+Gindex).value;
                                jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["Xoptions"][NoOfXOpts]["optRate"]=document.getElementById("lblExcOptRate_"+Rindex+"_"+Gindex).innerHTML;
                                jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["Xoptions"][NoOfXOpts]["Amt"] = document.getElementById("lblExcOptAmount_"+Rindex+"_"+Gindex).innerHTML;                       
                                jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["Xoptions"][NoOfXOpts]["Amt"]=parseFloat(jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["Xoptions"][NoOfXOpts]["Amt"]).toFixed(2);  
                                jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["Xoptions"][NoOfXOpts]["BillingType"]= JSONobjExcOptList[Rindex].intBillingTypeId;
                                jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["Xoptions"][NoOfXOpts]["optId"]= document.getElementById("ddlExcOptSets_"+Rindex+"_"+Gindex).value;
                                jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["Xoptions"][NoOfXOpts]["taxid"]= JSONobjExcOptList[Rindex].intTaxId; 
                                jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["Xoptions"][NoOfXOpts]["taxtype"]= JSONobjExcOptList[Rindex].strTaxType; 
                                jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["Xoptions"][NoOfXOpts]["taxvalue"]= JSONobjExcOptList[Rindex].dblTaxValue; 
                                jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["Xoptions"][NoOfXOpts]["optAmountWithTax"] = totXOptAmountWithTax;
                                jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["Xoptions"][NoOfXOpts]["roomId"]=roomId.toString();
                                jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["Xoptions"][NoOfXOpts]["optSetId"]=XOptionId.toString();
                                jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["Xoptions"][NoOfXOpts]["roomRowIndex"] = roomRowIndex.toString();
                                jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["Xoptions"][NoOfXOpts]["xoptRowIndex"]=XOptRowIndex.toString();
                                jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["Xoptions"][NoOfXOpts]["xoptTaxAmount"] = XoptTaxAmount;
                               
              
                    }
                }
                else
                {
                    if(NoOfXOpts < 0)
                    {
                        jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["Xoptions"] = {};
                    }
                
                }
            
        }
    }
    
    if(jsonObjRoom != null)
    {
        document.getElementById("hdnRoomObj").value = Sys.Serialization.JavaScriptSerializer.serialize(jsonObjRoom);
                             
    }
    
     
    Popup.hide('divOpt');      
     GetDataForCart();
    
}

function GetDataForCart()  //  check the selection and build the cart
{       
 
     var selectedRoomDataSet3 = new Array();
     var roomCount3 = 0;
     
      if(jsonObjRoom!=null && jsonObjRoom != "")
        {
            var jsonRoom = Sys.Serialization.JavaScriptSerializer.serialize(jsonObjRoom);
            document.getElementById("hdnRoomObj").value = jsonRoom;
              for(var keyVal in jsonObjRoom.room)
              {
                    selectedRoomDataSet3[roomCount3] = jsonObjRoom.room[keyVal];
                    roomCount3+=1;
              }              
       }
       else
       {
          alert("please Select Room");
       }
       if(jsonObjOptions != null)
       {
         var jsonOptions = Sys.Serialization.JavaScriptSerializer.serialize(jsonObjOptions);
         document.getElementById("hdnOptionsObj").value = jsonOptions; 
     }
     if(jsonObjXOptions != null)
     {
         var jsonExcOptions = Sys.Serialization.JavaScriptSerializer.serialize(jsonObjXOptions);      
         document.getElementById("hdnExcOptionsObj").value = jsonExcOptions;
     }
     GetCartData();   
}
//function ChangeRooms()
//{
//     window.location.href="BookOnline.aspx";   
//}
function RemoveRooms()// (not in use) delete multiple rooms from cart 
{     
     var selectedRoomDataSet = new Array();
     var roomCount = 0;
     if(jsonObjRoom != null)
     {
            for(var keyVal in jsonObjRoom.room)
            {
                selectedRoomDataSet[roomCount] = jsonObjRoom.room[keyVal];
                roomCount+=1;
            }
        if(selectedRoomDataSet.length != 0)
        {
            var checkedLength=0;
            for(var i=0,j=0;i<selectedRoomDataSet.length;i++)
            {
                var roomId = selectedRoomDataSet[i].roomId;
                var roomRowIndex = selectedRoomDataSet[i].roomRowIndex;
                if(document.getElementById("chkSelectCart_"+roomId+"_"+j) != null)
                {        
                           
                    var chkStatus1 = document.getElementById("chkSelectCart_"+roomId+"_"+j);                            
                    if(chkStatus1.checked)
                    {
                        checkedLength+=1; 
                    }
                    j+=1; 
                }
            }
            if(checkedLength!=0)
            {
            
                for(var i=0,j=0;i<selectedRoomDataSet.length;i++)
                {
                    var roomId = selectedRoomDataSet[i].roomId;
                    var roomRowIndex = selectedRoomDataSet[i].roomRowIndex;
                    if(document.getElementById("chkSelectCart_"+roomId+"_"+j) != null)
                    {
                        var chkStatus1 = document.getElementById("chkSelectCart_"+roomId+"_"+j);                            
                        if(chkStatus1.checked)
                        {                
                           
                            var selectedRoomOptionsSet = new Array();                                        
                            jsonObjRoom.room[roomId.toString()+roomRowIndex.toString()] = "";                            
                     
                        }
                        j+=1;
                    }
                  }
                }
                else
                {
                    alert("Please select the Check Box to Remove Room");
                } 
            }
               
          
        }

            var strRoom = Sys.Serialization.JavaScriptSerializer.serialize(jsonObjRoom);
             document.getElementById("hdnRoomObj").value = strRoom;  
        if(document.getElementById("txtCouponCode")!=null && document.getElementById("txtCouponCode").value!="")
            {
                valiadeteCouponCode();
            }   
            GetData();
           //GetCartData();
           
}

function RemoveRooms1(roomId,roomRowIndex)  // remove single room from cart
{
    jsonObjRoom.room[roomId.toString()+roomRowIndex.toString()] = "";    
    var strRoom = Sys.Serialization.JavaScriptSerializer.serialize(jsonObjRoom);
    document.getElementById("hdnRoomObj").value = strRoom;      
    var selectedRooms =0;
    if(jsonObjRoom != null)
    {
            for(var keyVal in jsonObjRoom.room)
            {
                if (jsonObjRoom.room[keyVal].roomId != undefined) selectedRooms +=1;
            } 
            if (selectedRooms>0)
            {
            }
            else
            {
                couponDetails={"coupon_code":null,"discount_type":null,"discount":null,"discount_amount":0.00,"coupon_id":null,"discPerc":null};
                document.getElementById("hdnCouponData").value= Sys.Serialization.JavaScriptSerializer.serialize(couponDetails);           
            }
     }
    // GetData(); 
}
  
 function GetCartData() // build cart
    {          
                var cartHTML="";
                var btnHTML="";
                var hdnCurrType = document.getElementById("hdnCurrType").value;
                var hdnCurrSymbol = trim(document.getElementById("hdnCurrSymbol").value,"both");
                var hdnNoOfDays = document.getElementById("hdnNoOfDays").value;
                var hdnNoOfRooms = document.getElementById("hdnNoOfRooms").value;
                if(document.getElementById("cartdivFull") != null)
                {
                     document.getElementById("btnNext").style.dispaly = 'block';
                }
                var roomDataForCart = document.getElementById("hdnRoomObj").value;
                if(roomDataForCart != "")
                {
                    jsonObjRoom = Sys.Serialization.JavaScriptSerializer.deserialize(roomDataForCart);
                }  
                  var couponData = "";
                if(document.getElementById("hdnCouponData").value != null && document.getElementById("hdnCouponData").value != "")
                {
                    couponData=document.getElementById("hdnCouponData").value;
                    var objCouponData = Sys.Serialization.JavaScriptSerializer.deserialize(couponData);
                    couponDetails["coupon_code"]=objCouponData.coupon_code;
                    couponDetails["discount_type"]=objCouponData.discount_type;
                    couponDetails["discount"]=objCouponData.discount;
                     couponDetails["discPerc"]=objCouponData.discPerc;
                    couponDetails["discount_amount"]=objCouponData.discount_amount;
                    couponDetails["coupon_id"]=objCouponData.coupon_id;
                    discount_details["discountDetails"][0]=couponDetails;
                }              
                var checkinDate = document.getElementById("hdnCheckinDate").value;
                var checkoutDate = document.getElementById("hdnCheckoutDate").value;
                var checkinTime = document.getElementById("hdnCheckinTime").value;
                var checkoutTime = document.getElementById("hdnCheckOutTime").value;
                var selectedRoomDataSet = new Array();
                var roomCount = 0;
               var totalAmount1 = 0.0;
               var couponAmount = 0.00;              

                                if(document.getElementById("cartdivFull") != null)
                                {
                                    document.getElementById("dispCart").style.display = 'block';
                                    document.getElementById("cartdivFull").style.display = 'block';
                                }
                                    cartHTML+="<div class='cartFullDiv'>"; //S1
                                    cartHTML+="<div class='cartFullDiv'>";                                    
                                    
                                    cartHTML+="<div class='cartFullDiv'>";
                                         cartHTML+="<div class='roomleftside'>";
                                         cartHTML+="</div>";
                                        cartHTML+="<div class='roommiddlecart'>";        
                                            cartHTML+="<div class='roomName fontCol'>";
                                            cartHTML+="<span id='lblBillingName' name='BillingName'>Billing Information</span>";
                                            cartHTML+="</div>";                                        
                                        cartHTML+="</div>";
                                        cartHTML+="<div class='roomrightside'>";
                                        cartHTML+="</div>";
                                    cartHTML+="</div>";                              
   
            if(jsonObjRoom != null)
            {
                     var subTotal = 0.0;
                   
                           var emptyRoomLength = 0;
                            for(var keyVal in jsonObjRoom.room)
                            {
                                if (jsonObjRoom.room[keyVal].roomId != undefined)
                                {
                                    selectedRoomDataSet[roomCount] = jsonObjRoom.room[keyVal];
                                    roomCount+=1;
                                }
                            }
                             if(selectedRoomDataSet.length !=0)
                             {
                             }
                             else
                             {
                                 cartHTML+="<div class='cartFullDivNoRooms'>";
                                 cartHTML+="<span>No rooms have been chosen</span>";
                                 cartHTML+="</div>";            
                            }                                                                                                        
                                for(var i=0;i<selectedRoomDataSet.length;i++)
                                {
                                   var roomRateWithTax1 = 0.0; 
                                   var couponAmount1 = 0.00;                                  
                                   if(selectedRoomDataSet[i] != "")
                                   {
                                        roomRateWithTax1 = selectedRoomDataSet[i].roomRateWithTax;
                                        couponAmount1 = selectedRoomDataSet[i].couponDiscount;
                                        var roomId = selectedRoomDataSet[i].roomId;
                                        var roomRowIndex = selectedRoomDataSet[i].roomRowIndex;  
                                      cartHTML+="<div class='cartRoomDiv'>";              
                                        cartHTML+="<div class='cartFullDiv' id='divRoom1_"+i+"'>"; //S2
                                            cartHTML+="<div class='cartFullDivForRoomName bgCkkin'>"; //S3                                               
                                                   cartHTML+="<div class='cartroomname'>";
                                                     cartHTML+="<span id='lblRoomName1_"+roomId+"_"+i+"'>"+selectedRoomDataSet[i].room+"</span>";
                                                   cartHTML+="</div>";
                                                   cartHTML+="<div class='deletebutton'>";
                                                   cartHTML+="<input type='image' title='Delete' src='./Images/deletebutton.gif' id='btnRemoveRooms' name='btnRemoveRooms' onclick='javascript:RemoveRooms1("+roomId+","+roomRowIndex+")'/>";                                                    
                                                   cartHTML+="</div>";            
                                        cartHTML+="</div>"; //E3
                                        //checkin div
                                        cartHTML+="<div class='cartFullDiv'>"; //S12 
                                        cartHTML+="<div class='cartFullDiv'>"; 
                                            cartHTML+="<div class='occupantdv'>"; //S13 
                                                cartHTML+="<span id='lblOccupancy1_"+roomId+"_"+i+"'>Occupants:</span>";
                                            cartHTML+="</div>"; //E13
                                            cartHTML+="<div class='suboccupantdv'>"; //S14
                                                cartHTML+="<div style='float:left;width:60px;text-align:left;'>"; //S15
                                                    if(selectedRoomDataSet[i].adults != null && selectedRoomDataSet[i].adults != "" && selectedRoomDataSet[i].adults!=0)
                                                    {
                                                        cartHTML+="<span id='lblAdults1_"+roomId+"_"+i+"'>"+selectedRoomDataSet[i].adults+"</span>";                                                        
                                                        if(selectedRoomDataSet[i].adults >1)
                                                        {
                                                            cartHTML+="<span id='spanAdults1_"+roomId+"_"+i+"'>&nbsp;Adults</span>";
                                                        }
                                                        else
                                                        {
                                                            cartHTML+="<span id='spanAdult1_"+roomId+"_"+i+"'>&nbsp;Adult</span>";
                                                        }
                                                    }
                                                cartHTML+="</div>"; //E15                                               
                                                cartHTML+="<div style='float:left;width:60px;text-align:left;'>";//S18
                                                    if(selectedRoomDataSet[i].children != null && selectedRoomDataSet[i].children != "" && selectedRoomDataSet[i].children!=0)
                                                    {
                                                        cartHTML+="<span id='lblChilds1_"+roomId+"_"+i+"'>"+selectedRoomDataSet[i].children+"</span>";
                                                        if(selectedRoomDataSet[i].children >1)
                                                        {
                                                            cartHTML+="<span id='spanChilds1_"+roomId+"_"+i+"'>&nbsp;Children</span>";
                                                        }
                                                        else
                                                        {
                                                            cartHTML+="<span id='spanChild1_"+roomId+"_"+i+"'>&nbsp;Child</span>";
                                                        }
                                                    }
                                                cartHTML+="</div>"; //E18                                               
                                                cartHTML+="<div style='float:left;width:110px;text-align:left;'>"; //S21
                                                    if(selectedRoomDataSet[i].ExtraPersons != null && selectedRoomDataSet[i].ExtraPersons != "" && selectedRoomDataSet[i].ExtraPersons != 0)
                                                    {
                                                        cartHTML+="<span id='lblExtraPersons1_"+roomId+"_"+i+"'>"+selectedRoomDataSet[i].ExtraPersons+"</span>";
                                                       
                                                        if(selectedRoomDataSet[i].ExtraPersons >1)
                                                        {
                                                            cartHTML+="<span id='spanExtraPersons1_"+roomId+"_"+i+"'>&nbsp;Extra Persons</span>";
                                                        }
                                                        else
                                                        {
                                                            cartHTML+="<span id='ExtraPerson1_"+roomId+"_"+i+"'>&nbsp;Extra Person</span>";
                                                        }
                                                    }
                                                cartHTML+="</div>"; //E21
                                                cartHTML+="</div>";
                                                cartHTML+="</div>";
                                                cartHTML+="<div class='cartFullDiv'>";
                                                    cartHTML+="<div class='newcartInnerDiv'>";
                                                        cartHTML+="<span id='spanroomRate1_"+roomId+"_"+i+"'>Room Rate: </span>";
                                                    cartHTML+="</div>";    //1                         
                                                                            
                                                    cartHTML+="<div class='cartInnerDiv'>";
                                                       cartHTML+="<span id='spanCurrSymbol1' style='width:5px;'>"+hdnCurrSymbol+"</span>";
                                                        cartHTML+="<span id='lblRoomRate1_"+roomId+"_"+i+"'>"+selectedRoomDataSet[i].totRoomrate+"</span>";
                                                    cartHTML+="</div>";  //3                          
                                                 cartHTML+="</div>"; //E26
                                                 
                                                  if(selectedRoomDataSet[i].couponDiscount >0.00)
                                                 {
                                                     cartHTML+="<div class='cartFullDiv'>";
                                                        cartHTML+="<div class='newcartInnerDiv'>";
                                                            cartHTML+="<span id='spanCoupon1_"+roomId+"_"+i+"'>Coupon Discount: </span>";
                                                        cartHTML+="</div>";    //1                         
                                                                                
                                                        cartHTML+="<div class='cartInnerDiv'>";
                                                           cartHTML+="<span id='spanCurrSymbol16' style='width:5px;'>"+hdnCurrSymbol+"</span>";
                                                            cartHTML+="<span id='lblCouponDisc1_"+roomId+"_"+i+"'>"+selectedRoomDataSet[i].couponDiscount+"</span>";
                                                        cartHTML+="</div>";  //3                          
                                                     cartHTML+="</div>"; //E26
                                                 }
                                                 
                                                 cartHTML+="<div class='cartFullDiv'>";
                                                 
                                                    cartHTML+="<div class='newcartInnerDiv'>";
                                                        cartHTML+="<span id='spanRoomTaxType1_"+roomId+"_"+i+"'>"+selectedRoomDataSet[i].taxtype+":</span>";
                                                        cartHTML+="<span id='lblRoomTaxPerc1_"+roomId+"_"+i+"'>("+selectedRoomDataSet[i].taxvalue+"%)</span>";
                                                    cartHTML+="</div>";    //1                          
                                                                                
                                                    cartHTML+="<div class='cartInnerDiv'>";
                                                       cartHTML+="<span id='spanCurrSymbol2' style='width:5px;'>"+hdnCurrSymbol+"</span>";
                                                        cartHTML+="<span id='lblRoomTaxAmount1_"+roomId+"_"+i+"'>"+selectedRoomDataSet[i].roomTaxAmount+"</span>";
                                                    cartHTML+="</div>";  //3  
                                                 cartHTML+="</div>";
                                                 
                                                
                                                 var selectedRoomOptionsSet = new Array();                                                 
                                                 var optCount = 0;
                                                  var OptRatewithTax1 = 0.0;    
                                                  var opcount = 0;                               
                                                    if(jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["options"] != null) 
                                                    {                                         
                                                       if (jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options != undefined)
                                                      {
                                                         if (jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options[opcount] != undefined && jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options[opcount] != "")
                                                          {
                                                                 cartHTML+="<div class='cartFullDiv'>";
                                                                                        cartHTML+="<div style='width:100px;float:left;font-weight:bold;text-align:left;padding-left:3px;'>"; //S32 
                                                                                            cartHTML+="<span id='spanOptHeader1'>Options:</span>";
                                                                                        cartHTML+="</div>"; //E32
                                                                                        cartHTML+="<div >"; 
                                                                                        cartHTML+="</div>"; 
                                                                
                                                                cartHTML+="</div>";
                                                            }
                                                            var j = 0;
                                                            while (jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options[j]!= undefined)
                                                            {
                                                                if(jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options[j] != "")
                                                                {
                                                                     var optId = jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options[j].optId;
                                                                         var optroomId = jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options[j].roomId;
                                                                        var optRoomRowIndex = jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options[j].roomRowIndex;
                                                                        var optRowIndex = jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options[j].optRowIndex;
                                                                       OptRatewithTax1 = parseFloat(OptRatewithTax1)+parseFloat(jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options[j].optRateWithTax);                                                                    
                                                                                cartHTML+="<div class='cartFullDiv'>"; //S34
                                                                                        cartHTML+="<div class='newcartInnerDiv'>";
                                                                                            cartHTML+="<span id='lblOptName1_"+optId+"_"+j+"'>"+jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options[j].optName+"</span>";
                                                                                        cartHTML+="</div>"; //1                                              
                                                                                                                                   
                                                                                        cartHTML+="<div class='cartInnerDiv'>";
                                                                                            cartHTML+="<span id='spanCurrSymbol4'>"+hdnCurrSymbol+"</span>";
                                                                                            cartHTML+="<span id='lblOptAmount1_"+optId+"_"+j+"'>"+jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options[j].Amt+"</span>";
                                                                                        cartHTML+="</div>";  //3                                       
                                                                            
                                                                             cartHTML+="</div>"; //E34
                                                                             
                                                                             cartHTML+="<div class='cartFullDiv'>"; //S34
                                                                                        cartHTML+="<div class='newcartInnerDiv'>";
                                                                                             cartHTML+="<span id='lblOptTaxType1_"+optId+"_"+j+"'>"+jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options[j].taxtype+":</span>";
                                                                                             cartHTML+="<span id='lblOptTaxPerc1_"+optId+"_"+j+"'>("+jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options[j].taxvalue+"%)</span>";
                                                                                        cartHTML+="</div>"; //1                                             
                                                                                                                                      
                                                                                        cartHTML+="<div class='cartInnerDiv'>";
                                                                                             cartHTML+="<span id='spanCurrSymbol5'>"+hdnCurrSymbol+"</span>";
                                                                                        cartHTML+="<span id='lblOptTaxAmount1_"+optId+"_"+j+"'>"+jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options[j].optTaxAmount+"</span>";
                                                                                        cartHTML+="</div>";  //3                                         
                                                                          
                                                                             cartHTML+="</div>"; //E34
                                                                      }
                                                                      j=j+1;
                                                                      
                                                            }
                                                      }
                                                   }
                                                var selectedRoomExcOptionsSet = new Array();
                                                var excOptionsCount = 0;
                                                var xopCount = 0;
                                                var excOptRateWithTax1 = 0.0;
                                                if(jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["Xoptions"] != null)
                                                {
                                                   if (jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions != undefined)
                                                          {
                                                          if (jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions[xopCount] != undefined && jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions[xopCount] != "")
                                                          {
                                                             cartHTML+="<div class='cartFullDiv'>"; //S31
                                                                    cartHTML+="<div style='width:170px;float:left;font-weight:bold;text-align:left;padding-left:3px;'>"; //S32 
                                                                        cartHTML+="<span id='spanExcHeader1'>Advanced Options:</span>";
                                                                    cartHTML+="</div>"; //E32
                                                                    cartHTML+="<div style='font-size:1.0em;'>"; //S33 
                                                                    cartHTML+="</div>"; 
                                                            
                                                            cartHTML+="</div>";
                                                          }    
                                                                var k = 0;
                                                                while (jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions[k]!= undefined)
                                                                {                                                  
                                                       
                                                                    if(jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions[k] != "")
                                                                    {
                                                                            var optSetId = jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions[k].optSetId;
                                                                            var ExcRoomId  = jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions[k].roomId;
                                                                            var ExcRoomRowIndex = jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions[k].roomRowIndex;
                                                                            var ExcOptRowIndex = jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions[k].xoptRowIndex;
                                                                            excOptRateWithTax1 = parseFloat(excOptRateWithTax1)+parseFloat(jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions[k].optAmountWithTax);
                                                                            
                                                                                     cartHTML+="<div class='cartFullDiv'>";//S43
                                                                                        cartHTML+="<div class='cartFullDiv'>"; //S34
                                                                                            cartHTML+="<div class='newcartInnerDiv'>";
                                                                                                cartHTML+="<span id='lblExcOptSetName1_"+optSetId+"_"+k+"'>"+jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions[k].optSetName+"-</span>";
                                                                                                cartHTML+="<span id='lblOptNameForSet1_"+optSetId+"_"+k+"'>"+jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions[k].optName+"</span>";
                                                                                            cartHTML+="</div>";   //1                                          
                                                                                                                                  
                                                                                            cartHTML+="<div class='cartInnerDiv'>";
                                                                                                cartHTML+="<span id='spanCurrSymbol7'>"+hdnCurrSymbol+"</span>";
                                                                                                cartHTML+="<span id='lblExcOptAmount1_"+optSetId+"_"+k+"'>"+jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions[k].Amt+"</span>";
                                                                                            cartHTML+="</div>";   //3                                           
                                                                                             
                                                                                    cartHTML+="</div>"; //E34                                                                   
                                                                                
                                                                                cartHTML+="<div class='cartFullDiv'>";//S43
                                                                                        cartHTML+="<div class='cartFullDiv'>"; //S34
                                                                                            cartHTML+="<div class='newcartInnerDiv'>";
                                                                                                cartHTML+="<span id='lblExcOptTaxType1_"+optSetId+"_"+k+"'>"+jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions[k].taxtype+":</span>";
                                                                                                cartHTML+="<span id='lblExcOptTaxPerc1_"+optSetId+"_"+k+"'>("+jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions[k].taxvalue+"%)</span>";
                                                                                            cartHTML+="</div>";   //1                                           
                                                                                                                                      
                                                                                            cartHTML+="<div class='cartInnerDiv'>";
                                                                                                cartHTML+="<span id='spanCurrSymbol8'>"+hdnCurrSymbol+"</span>";
                                                                                                cartHTML+="<span id='lblExcOptTaxAmount1_"+optSetId+"_"+k+"'>"+jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].Xoptions[k].xoptTaxAmount+"</span>";
                                                                                            cartHTML+="</div>";   //3                                           
                                                                                             
                                                                                    cartHTML+="</div>"; //E34      
                                                                         }
                                                                         k=k+1;
                                                               
                                                            }
                                                       } 
                                                    }                                                 
                                               subTotal = parseFloat(parseFloat(roomRateWithTax1)+OptRatewithTax1+excOptRateWithTax1).toFixed(2);
                                                totalAmount1 = parseFloat(parseFloat(totalAmount1)+parseFloat(subTotal)).toFixed(2);                                               
                                                couponAmount = parseFloat(parseFloat(couponAmount1)+parseFloat(couponAmount)).toFixed(2);
                                                   
                                                                                    cartHTML+="<div class='cartFullDiv' style='margin-bottom:0px;'>"; //S34

                                                                                        cartHTML+="<div class='newcartInnerDiv'>";
                                                                                           cartHTML+="<span id='subTotal_"+roomId+"_"+i+"'>Sub Total:</span>"; 
                                                                                        cartHTML+="</div>";//1                                                                                                                                    
                                                                                                                   
                                                                                        cartHTML+="<div class='cartInnerDiv'>";
                                                                                            cartHTML+="<span id='spanCurrSymbol10'>"+hdnCurrSymbol+"</span>";
                                                                                            cartHTML+="<span id='subTotal1_"+roomId+"_"+i+"'>"+subTotal+"</span>";
                                                                                        cartHTML+="</div>";  //3
                                                                                cartHTML+="</div>"; //E34                                                                               

                                                   
                                        cartHTML+="</div>"; //E12
                                    cartHTML+="</div>";  //E2    
                                    cartHTML+="</div>";//end of cartRoomDiv                                    
                                  }       
                                }
                                       if(selectedRoomDataSet.length != 0)
                                       {
                                            document.getElementById("divNextButton").style.display = 'block';
                                             cartHTML+="<div class='cartFullDiv'>";//S43
                                            cartHTML+="<div class='cartFullDiv bgBCRate' style='border:0px;margin-top:2px;padding-bottom:1px;'>"; //S34   
                                            cartHTML+="<div class='newcartInnerDivTotal'>"; 
                                                    cartHTML+="<span id='Total'>Total Amount:</span>";
                                                cartHTML+="</div>";//1                            
                                                cartHTML+="<div class='cartInnerDivTotalAmnt'>"; 
                                                    cartHTML+="<span id='spanCurrSymbol11'>"+hdnCurrSymbol+"</span>";
                                                   cartHTML+="<span id='Total1'>"+totalAmount1+"</span>";
                                                cartHTML+="</div>";  //3
                                        cartHTML+="</div>"; //E34   
                                       /// padma /////
                                      
                                           cartHTML+="<div  id='coupondv'>"; //S34
                                           cartHTML+="</div>";
                                        /// padma /////         


                              }
                              else
                              {
                                if(document.getElementById("cartdivFull") != null)
                                {
                                    document.getElementById("divNextButton").style.display = 'none';
                                    document.getElementById("chkTerms").checked = false;
                                }                                           
                              }
                        cartHTML+="</div>";//E1 
                        
                     for(var i=0;i<selectedRoomDataSet.length;i++)
                     {            
                            cartHTML+="<div class='cartFullDivForRoomName bgCkkin'>";
                                cartHTML+="<span class='cartroomname'>Coupon Information</span>";
                             cartHTML+="</div>";                      
                            cartHTML+="<div class='cartFullDivCoupon'>";
                            cartHTML+="<span id='lblCouponCode' style='padding-left:3px;'>Coupon Code: </span>";                           
                            if(couponDetails.coupon_code != undefined)
                            {
                                cartHTML+="<input type='text' id='txtCouponCode' value='"+couponDetails.coupon_code+"' style='width:100px;' onkeypress='return clickButton(event)'/>"; // Padma 24-06-2009 coupon code functionality onBlur='return valiadeteCouponCode()'
                            }
                            else
                            {
                             cartHTML+="<input type='text' id='txtCouponCode'  style='width:100px;' onkeypress='return clickButton(event)'/>"; // Padma 24-06-2009 coupon code functionality onBlur='return valiadeteCouponCode()'
                            }
                            cartHTML+="<a href='#' id='lnkBtnApplyPromo' style='padding-left:10px;' onclick='valiadeteCouponCode();return false;'><img border='0' valign='top' alt='' src='./Images/primary.gif' style='vertical-align: text-bottom;'/> Apply</a>";
                            cartHTML+="</div>";
                            cartHTML+="</div>"; 
                             i=selectedRoomDataSet.length;
                     }                        
                        
            }
            else
            {
                 if(document.getElementById("cartdivFull") != null)
                 {
                    document.getElementById("dispCart").style.display = 'none';
                    document.getElementById("cartdivFull").style.display = 'none';
                }
            }
            if(document.getElementById("cartdivFull") != null)
            {
                document.getElementById("divCart").innerHTML =cartHTML;
            }
           jsonObjRoom["TotalAmount"] = totalAmount1;          
           cart1["amount"]=  totalAmount1;
            jsonObjRoom["couponAmount"] = couponAmount;            
           cart1["couponDiscount"] = couponAmount;                    
           
//            if(couponDetails["coupon_code"]!=undefined)
//                calculateCouponCodeDiscount(); 
                    //valiadeteCouponCode();                 
               
  }  
   function SetDropDownsEnabled(Rindex,Gindex,flag)  //no. of adults/children validation and rate calculation based on selection
    {        
        var ddlAdults = document.getElementById("ddlAdults_"+Rindex+"_"+Gindex);
        var ddlChilds = document.getElementById("ddlChilds_"+Rindex+"_"+Gindex);
        var chkSelect = document.getElementById("chkSelect_"+Rindex+"_"+Gindex);
        var maxIndividuals = JSONobjRoomList[Rindex].intMaxIndividuals.Value; 
        var txtAdultAmount =document.getElementById("txtTotAmount_"+Rindex+"_"+Gindex); 
        var validateAdults = 0;
        var adults = ddlAdults.value;
        var childs = ddlChilds.value;
            if(adults == 0 && childs != 0 && chkSelect.checked == false)
            {
                ddlAdults.selectedIndex = 0;
                ddlChilds.selectedIndex = 0;
                alert("please select adults");
                return;
            }
            else
            {           
                if( flag == "2")
                {
                    chkSelect.checked = true;
                }
                
            }
        var roomName = JSONobjRoomList[Rindex].strRoomType.Value; 
        var totpersons = parseInt(adults,10)+parseInt(childs,10);
        if(parseInt(totpersons,10)>maxIndividuals)
        {
            alert("Only "+ maxIndividuals +" member(s) are allowed for "+roomName);         
            ddlChilds.selectedIndex = 0;                  
            if(ddlAdults.value > parseInt(maxIndividuals,10))
            {
                ddlAdults.selectedIndex = 0;
            }    
        }
            if(jsonObjRoom["room"] != null)
            {   //room object selection check
                if(jsonObjRoom["room"][Rindex.toString()+Gindex.toString()] != undefined)
                {   //check options object set or not  
                    if(ddlAdults.value =="0" &&  ddlChilds.value != "0" && txtAdultAmount.value == "0.00")
                    {
                        validateAdults+=1;
                        alert("Please select adults");
                        ddlChilds.selectedIndex = 0;
                    }   
                   
                    var previous_adults = parseInt(jsonObjRoom["room"][Rindex.toString()+Gindex.toString()].adults,10)+parseInt(jsonObjRoom["room"][Rindex.toString()+Gindex.toString()].ExtraPersons,10);
                    var previous_children = parseInt(jsonObjRoom["room"][Rindex.toString()+Gindex.toString()].children,10);          
                    if ((ddlAdults.value =="0"  && jsonObjRoom["room"][Rindex.toString()+Gindex.toString()] != "") || (jsonObjRoom["room"][Rindex.toString()+Gindex.toString()] == "" && ddlAdults.value != "0" ) || chkSelect.checked==false) // && txtAdultAmount.value != ""
                    {     
                        if(validateAdults == 0)
                        {     
                            
                            if(ddlAdults.value =="0" && chkSelect.checked == false) 
                            {                                
                                ddlChilds.value = "0";
                                chkSelect.checked = false;
                                    jsonObjRoom["room"][Rindex.toString()+Gindex.toString()] = {};                  
                                    document.getElementById("hdnRoomObj").value = Sys.Serialization.JavaScriptSerializer.serialize(jsonObjRoom);                                      
                            }
                            else
                            {        
                                if(jsonObjRoom["room"][Rindex.toString()+Gindex.toString()] == "" && ddlAdults.value != "0")
                                {  
                                    chkSelect.checked = true;
                                }
                                else
                                {         
                                    if (jsonObjRoom["room"][Rindex.toString()+Gindex.toString()].roomId != undefined && jsonObjRoom["room"][Rindex.toString()+Gindex.toString()].roomId != "")
                                    {                     
                                         var unselectRoom = confirm("Do you want to unselect the room?");   
                                         if (unselectRoom) 
                                        {
                                            chkSelect.checked = false;
                                            jsonObjRoom["room"][Rindex.toString()+Gindex.toString()] = {};                  
                                            document.getElementById("hdnRoomObj").value = Sys.Serialization.JavaScriptSerializer.serialize(jsonObjRoom);                                      
                                        }
                                        else
                                        {
                                            chkSelect.checked = true;
                                            document.getElementById("ddlAdults_"+Rindex+"_"+Gindex).selectedIndex= previous_adults; 
                                            return false;
                                        }
                                    }
                                    else
                                    {
                                        chkSelect.checked= false;
                                        jsonObjRoom["room"][Rindex.toString()+Gindex.toString()] = {};                  
                                        document.getElementById("hdnRoomObj").value = Sys.Serialization.JavaScriptSerializer.serialize(jsonObjRoom);                                      
                                    }
                                }                     
                            }
                           
                        }
                        
                    }
                    else
                    {
                        if(jsonObjRoom["room"][Rindex.toString()+Gindex.toString()].options!=undefined || jsonObjRoom["room"][Rindex.toString()+Gindex.toString()].Xoptions!=undefined)
                        {   //check options selected or not 
                            if(jsonObjRoom["room"][Rindex.toString()+Gindex.toString()].options[0] != undefined && jsonObjRoom["room"][Rindex.toString()+Gindex.toString()].options[0] != "" || jsonObjRoom["room"][Rindex.toString()+Gindex.toString()].Xoptions[0] != undefined && jsonObjRoom["room"][Rindex.toString()+Gindex.toString()].Xoptions[0] != "")
                            {                         
                                if (parseInt(ddlAdults.value,10)<previous_adults)
                                {
                                    var clearOptions  = confirm("You are about to clear the options for this room.");
                                    if (clearOptions) 
                                    {
                                        jsonObjRoom["room"][Rindex.toString()+Gindex.toString()]["options"] = {};
                                        jsonObjRoom["room"][Rindex.toString()+Gindex.toString()]["Xoptions"] = {};                    
                                        document.getElementById("hdnRoomObj").value = Sys.Serialization.JavaScriptSerializer.serialize(jsonObjRoom);                
                              
                                    }
                                    else
                                    {
                                        document.getElementById("ddlAdults_"+Rindex+"_"+Gindex).selectedIndex= previous_adults; 
                                        return false;
                                    }
                                }
                                else if (parseInt(ddlChilds.value,10)<previous_children)
                                {
                                    var clearOptions  = confirm("You are about to clear the options for this room.");
                                    if (clearOptions) 
                                    {
                                        jsonObjRoom["room"][Rindex.toString()+Gindex.toString()]["options"] = {};
                                        jsonObjRoom["room"][Rindex.toString()+Gindex.toString()]["Xoptions"] = {};
                                        document.getElementById("hdnRoomObj").value = Sys.Serialization.JavaScriptSerializer.serialize(jsonObjRoom);                
                                    }
                                    else
                                    {
                                        document.getElementById("ddlChilds_"+Rindex+"_"+Gindex).selectedIndex= previous_children; 
                                        return false;
                                    }
                                }
                             }
                           // } 
                        }//end of options selected or not
                    }
                }// end of optios object set or not
            }// end of room object selection check            

              if(document.getElementById("hdnRoomObj").value != "" && document.getElementById("hdnRoomObj").value != null)
              {
                    var roomData1 = document.getElementById("hdnRoomObj").value;
                    jsonObjRoom = Sys.Serialization.JavaScriptSerializer.deserialize(roomData1);
              }         

            if(chkSelect.checked)
            {
                newRoom+=1;           
                GetRoomRatesForAdult(Rindex,Gindex);
                GetRoomRatesForChild(Rindex,Gindex);
                txtAdultAmount.readOnly="readOnly";          
                
            }
            else
            {
                newRoom=0;
                ddlAdults.selectedIndex = 0;
                ddlChilds.selectedIndex = 0;
                txtAdultAmount.value = "";
                jsonObjRoom["room"][Rindex.toString()+Gindex.toString()] = "";
                
                 var jsonRoom = Sys.Serialization.JavaScriptSerializer.serialize(jsonObjRoom);
         var jsonOptions = Sys.Serialization.JavaScriptSerializer.serialize(jsonObjOptions); 
         var jsonExcOptions = Sys.Serialization.JavaScriptSerializer.serialize(jsonObjXOptions);  
          document.getElementById("hdnRoomObj").value = jsonRoom;
         document.getElementById("hdnOptionsObj").value = jsonOptions;
         document.getElementById("hdnExcOptionsObj").value = jsonExcOptions;            
               
               txtAdultAmount.readOnly="readOnly";
               if(document.getElementById("txtCouponCode")!=null && document.getElementById("txtCouponCode").value!="")
               {
                    valiadeteCouponCode();
               }
            }
    GetDataForCart();
       
   }
   
   
   function GetRoomRatesForAdult(Rindex,Gindex)  // rate calculation for adults dropdown change
    {
              if(document.getElementById("hdnRoomObj").value != "" && document.getElementById("hdnRoomObj").value != null)
              {
                    var roomData1 = document.getElementById("hdnRoomObj").value;
                    jsonObjRoom = Sys.Serialization.JavaScriptSerializer.deserialize(roomData1);
              }  
             noOfDays = document.getElementById("hdnNoOfDays").value;
            //nirupama
            var billing_type_id = JSONobjRoomList[Rindex].intBillingTypeId.Value;
            var singlePersRate = JSONobjRoomList[Rindex].dblSinglePersRate.Value;
            var doublePersRate ;
            if (billing_type_id==1)
            {
                doublePersRate=JSONobjRoomList[Rindex].dblRate.Value*2;
            }
            else
            {
                doublePersRate = JSONobjRoomList[Rindex].dblRate.Value;
            }
            var suple_pec = JSONobjRoomList[Rindex].dblSupplementPercent.Value;
            var exbedRate = JSONobjRoomList[Rindex].dblExtrabedCharge.Value;
            var childRate = JSONobjRoomList[Rindex].dblChildRate.Value;
            var ddlAdults = document.getElementById("ddlAdults_"+Rindex+"_"+Gindex); 
            var ddlChilds = document.getElementById("ddlChilds_"+Rindex+"_"+Gindex); 
            var roomRate =  JSONobjRoomList[Rindex].dblRate.Value;// per person 
            var taxPerc = JSONobjRoomList[Rindex].deciTaxValue.Value;
            var roomId = Rindex;
            var exbedStatus = JSONobjRoomList[Rindex].intExbedStatus.Value;
            var totamount=0.0;
            var amount=0.0;
            var adultCount = ddlAdults.length-1;
            var childAmount = 0.0;
            var adults = ddlAdults.value;
            var child = ddlChilds.value;
            var adultRate = 0.0;
            var adultWithSuplePerc=0.0;
            var totNoOfPersons=0;          
            var taxAmount=0.0;
            var totRoomRate = 0.0;
            totNoOfPersons = parseInt(adults,10)+parseInt(child,10);         
             
            adultWithSuplePerc = parseFloat(parseFloat(roomRate)+parseFloat(suple_pec)).toFixed(2);
            var ddlAdultvalue = ddlAdults.value;
            if(ddlAdults.value == adultCount)
            {
            
                if(ddlAdults.value == "1")
                {
                   if(billing_type_id == 1)
                   {
                        amount = parseFloat(parseFloat(singlePersRate)*parseInt(noOfDays,10)).toFixed(2);
                   }
                   else if(billing_type_id == 2)
                   {
                        amount = parseFloat(parseFloat(roomRate)*parseInt(noOfDays,10)).toFixed(2);
                   }
                   else if(billing_type_id == 3)
                   {
                        amount = roomRate;
                   }
                    adultRate = amount;
                }
                else 
                {
                    if(exbedStatus == "1")
                    {   
                        if(billing_type_id == 3)
                        {                                               
                            amount = parseFloat(roomRate).toFixed(2); 
                            exbedRate =0;
                        }
                        else if(billing_type_id == 2)
                        {
                            amount = parseFloat(parseFloat(roomRate)*parseInt(noOfDays,10)).toFixed(2); 
                        }
                        else if(billing_type_id == 1)
                        {
                            amount = parseFloat(parseFloat(roomRate)*parseInt((adults-1),10)*parseInt(noOfDays,10)).toFixed(2);                           
                        }
                            adultRate = parseFloat(parseFloat(amount)+parseFloat(parseFloat(exbedRate)*parseInt(noOfDays,10))).toFixed(2);
                    }
                    else
                    {
                        if(billing_type_id == 3)
                        {                                               
                            amount = parseFloat(roomRate).toFixed(2);
                        }
                        else if(billing_type_id == 1)
                        {
                            amount = parseFloat(parseFloat(roomRate)*parseInt(adults,10)*parseInt(noOfDays,10)).toFixed(2);                           
                        }
                         else if(billing_type_id == 2)
                        {
                            amount = parseFloat(parseFloat(roomRate)*parseInt(noOfDays,10)).toFixed(2);
                        }
                            adultRate = parseFloat(amount).toFixed(2);
                    }
                }              
            }
            else if(ddlAdults.value == "0")       
            {
                adultRate = 0.0;  
            }
            else if(ddlAdults.value == "1")
            {
                if(billing_type_id == 1)
                {
                    adultRate = parseFloat(parseFloat(singlePersRate)*parseInt(noOfDays,10)).toFixed(2);
                }
                else if(billing_type_id == 2)
                {
                    adultRate = parseFloat(parseFloat(roomRate)*parseInt(noOfDays,10)).toFixed(2);
                }
                else if(billing_type_id == 3)
                {
                    adultRate = roomRate;
                }
            }
            else   
            {
                if(billing_type_id == 3)
                {
                    adultRate = parseFloat(roomRate).toFixed(2); 
                }
                else if(billing_type_id == 1)
                {
                    adultRate = parseFloat(parseFloat(roomRate)*parseInt(adults,10)*parseInt(noOfDays,10)).toFixed(2);
                }
                else if(billing_type_id == 2)
                {
                    adultRate = parseFloat(parseFloat(roomRate)*parseInt(noOfDays,10)).toFixed(2);

                }
            }
       
            var txtamount = document.getElementById("txtTotAmount_"+Rindex+"_"+Gindex).value;

            if(txtamount == "" && ddlChilds.value == "0")
            {
                document.getElementById("txtTotAmount_"+Rindex+"_"+Gindex).value = parseFloat(adultRate).toFixed(2);
            }
            else if(txtamount != "" && ddlChilds.value == "0")
            {
                document.getElementById("txtTotAmount_"+Rindex+"_"+Gindex).value = parseFloat(adultRate).toFixed(2);
            }
            else if(txtamount != "" && ddlChilds.value != "0")
            {
                if(ddlChilds.value == "1")
                {
                    childAmount = parseFloat(parseFloat(childRate)*parseInt(noOfDays,10)).toFixed(2);
                }
                else
                {
                    childAmount = parseFloat(parseFloat(childRate)*parseInt(child,10)*parseInt(noOfDays,10)).toFixed(2);
                }
                document.getElementById("txtTotAmount_"+Rindex+"_"+Gindex).value = parseFloat(adultRate+childAmount).toFixed(2);
            } 
      
             sendRoomRateTOJSON(Rindex,Gindex); 
}


 function GetRoomRatesForChild(Rindex,Gindex)  // rate calculation for child dropdown change
    {
        document.getElementById('step1').style.backgroundPosition= '0px 0px';               
        document.getElementById('step2').style.backgroundPosition= '0px 0px'; 
         if(document.getElementById("hdnRoomObj").value != "" && document.getElementById("hdnRoomObj").value != null)
         {
                    var roomData1 = document.getElementById("hdnRoomObj").value;
                    jsonObjRoom = Sys.Serialization.JavaScriptSerializer.deserialize(roomData1);
         } 
        noOfDays = document.getElementById("hdnNoOfDays").value;
        var childRate = JSONobjRoomList[Rindex].dblChildRate.Value;
        var ddlChilds = document.getElementById("ddlChilds_"+Rindex+"_"+Gindex);   
        var exbedRate = JSONobjRoomList[Rindex].dblExtrabedCharge.Value;
        var billing_type_id = JSONobjRoomList[Rindex].intBillingTypeId.Value;
        var singlePersRate = JSONobjRoomList[Rindex].dblSinglePersRate.Value;
        var doublePersRate ;
        if (billing_type_id==1)
        {
            doublePersRate=JSONobjRoomList[Rindex].dblRate.Value*2;
        }
        else
        {
            doublePersRate = JSONobjRoomList[Rindex].dblRate.Value;
        }
        var ddlAdults = document.getElementById("ddlAdults_"+Rindex+"_"+Gindex);  
        var roomRate =  JSONobjRoomList[Rindex].dblRate.Value;// per person 
        var exbedStatus = JSONobjRoomList[Rindex].intExbedStatus.Value;
        var adultAmount=0.0; 
        var adultCount = ddlAdults.length-1;        
        var totamount=0.0;
        var amount=0.0;
        var childCount = ddlChilds.length-1;
        var childAmount=0.0;
        var adults = ddlAdults.value;
        var child = ddlChilds.value;
        var adultRate=0.0;
        var adultWithSuplePerc=0.0;
        var ddlAdultvalue = ddlAdults.value;
        var totNoOfPersons=0;      
        totNoOfPersons = parseInt(adults,10)+parseInt(child,10);
        if(ddlChilds.value == childCount)
        {
            if(ddlChilds.value == "1")
            {
                amount = parseFloat(parseFloat(childRate)*parseInt(noOfDays,10)).toFixed(2);
            }
            else 
            {
                amount = parseFloat(parseFloat(childRate)*parseInt(child,10)*parseInt(noOfDays,10)).toFixed(2);
            }
            totamount = parseFloat(amount);
        }
        else if(ddlChilds.value == "0")       
        {
            totamount = 0.0;  
        }
        else if(ddlChilds.value == "1")
        {
            totamount = parseFloat(parseFloat(childRate)*parseInt(noOfDays,10)).toFixed(2);
        }
        else 
        {
            totamount = parseFloat(parseFloat(childRate)*parseInt(child,10)*parseInt(noOfDays,10)).toFixed(2);
        }
        var txtamount = document.getElementById("txtTotAmount_"+Rindex+"_"+Gindex).value;     

        if(txtamount == "" && ddlAdults.value == "0")
        {
            document.getElementById("txtTotAmount_"+Rindex+"_"+Gindex).value = parseFloat(totamount).toFixed(2);
        }
        else if(txtamount != "" && ddlAdults.value == "0")
        {
            document.getElementById("txtTotAmount_"+Rindex+"_"+Gindex).value = parseFloat(totamount).toFixed(2);
        }
        else if(txtamount != "" && ddlAdults.value != "0")
        {
            if(ddlAdults.value == adultCount)
            {
                if(ddlAdults.value == "1")
                {
                    if(billing_type_id == 1)
                    {
                        adultAmount = parseFloat(parseFloat(singlePersRate)*parseInt(noOfDays,10)).toFixed(2);
                    }
                    else if(billing_type_id == 2)
                    {
                        adultAmount = parseFloat(parseFloat(roomRate)*parseInt(noOfDays,10)).toFixed(2);
                    }
                    else if(billing_type_id == 3)
                    {
                        adultAmount = roomRate;
                        exbedRate=0;
                    }
                }
                else 
                {    
                    if(exbedStatus == "1")
                    {        
                        if(billing_type_id == 3)
                        {
                            adultAmount = parseFloat(roomRate).toFixed(2); 
                            exbedRate=0;
                        }
                        else if(billing_type_id == 1)
                        {
                            adultAmount = parseFloat(parseFloat(roomRate)*parseInt((adults-1),10)*parseInt(noOfDays,10)).toFixed(2);   
                        } 
                        else if(billing_type_id == 2)
                        {
                            adultAmount = parseFloat(parseFloat(roomRate)*parseInt(noOfDays,10)).toFixed(2);   
                        }  
                        adultAmount = parseFloat(parseFloat(adultAmount)+(parseFloat(exbedRate)*parseInt(noOfDays,10))).toFixed(2);             
                    }
                    else
                    {
                        if(billing_type_id == 3)
                        {
                            adultAmount = parseFloat(roomRate).toFixed(2);
                            exbedRate=0; 
                        }
                        else if(billing_type_id == 1)
                        {
                            adultAmount = parseFloat(parseFloat(roomRate)*parseInt(adults,10)*parseInt(noOfDays,10)).toFixed(2);   
                        }
                        else if(billing_type_id == 2)
                        {
                            adultAmount = parseFloat(parseFloat(roomRate)*parseInt(noOfDays,10)).toFixed(2);   
                        }    
                        adultAmount = parseFloat(adultAmount).toFixed(2); 
                    }
               }
           }
           else
           {
                if(ddlAdults.value == "1")
                {
                    if(billing_type_id == 1)
                    {
                        adultAmount = parseFloat(parseFloat(singlePersRate)*parseInt(noOfDays,10)).toFixed(2);
                    }
                    else if(billing_type_id == 2)
                    {
                        adultAmount = parseFloat(parseFloat(roomRate)*parseInt(noOfDays,10)).toFixed(2);
                    }
                    else if(billing_type_id == 3)
                    {
                        adultAmount = roomRate;
                        exbedRate=0;
                    }
                }
                else 
                {
                    if(billing_type_id == 3)
                    {
                        adultAmount = parseFloat(roomRate).toFixed(2);
                        exbedRate=0; 
                      
                    }
                    else if(billing_type_id == 1)
                    {
                        adultAmount = parseFloat(parseFloat(roomRate)*parseInt(adults,10)*parseInt(noOfDays,10)).toFixed(2);
   
                    }
                    else if(billing_type_id == 2)
                    {
                        adultAmount = parseFloat(parseFloat(roomRate)*parseInt(noOfDays,10)).toFixed(2);
   
                    }
                }
            }      
            document.getElementById("txtTotAmount_"+Rindex+"_"+Gindex).value = parseFloat(parseFloat(totamount)+parseFloat(adultAmount)).toFixed(2);
       }       
       
       sendRoomRateTOJSON(Rindex,Gindex);
   }
   
   function sendRoomRateTOJSON(Rindex,Gindex)// calculated data for selected room is inserted into cart object(jsonObjRoom)
   {
        noOfDays = document.getElementById("hdnNoOfDays").value; 
        var ddlAdults = document.getElementById("ddlAdults_"+Rindex+"_"+Gindex); 
        var ddlChilds = document.getElementById("ddlChilds_"+Rindex+"_"+Gindex); 
        var adults ;
        var taxId;
        var taxType;
        var child;
        var taxPerc;
        var roomRate;
        var taxAmount;
        var totRoomRate;
        var exbedStatus;
        var roomRate1=0.00;
        var exbedRate;
        adults = ddlAdults.value;         
        child = ddlChilds.value; 
        var roomId = JSONobjRoomList[Rindex].intRoomTypeId.Value; 
        taxId = JSONobjRoomList[Rindex].intTaxId.Value;  
        taxType = JSONobjRoomList[Rindex].strTaxType.Value; 
        var chkRoomStatus = document.getElementById("chkSelect_"+Rindex+"_"+Gindex);
        taxPerc = JSONobjRoomList[Rindex].deciTaxValue.Value; 
        roomRate = document.getElementById("txtTotAmount_"+Rindex+"_"+Gindex).value;        
        exbedStatus = JSONobjRoomList[Rindex].intExbedStatus.Value; 
        exbedRate = JSONobjRoomList[Rindex].dblExtrabedCharge.Value;
        //taxAmount = parseFloat(parseFloat(roomRate)*parseFloat(taxPerc)/100).toFixed(2);
        //totRoomRate = parseFloat(parseFloat(roomRate)+parseFloat(taxAmount)).toFixed(2);
        var adults1;
        var childs1;
        var expers1=0;
        var discount_amount = 0.00;
        var roomRateDisc = 0.00;         
        var couponData = "";
        
        
    if(jsonObjRoom != null) //Main Jsonobjroom
    {
        var selectedRoomDataSet = new Array();
        var roomCount = 0;
         for(var keyVal in jsonObjRoom.room)
         {
            if (jsonObjRoom.room[keyVal].roomId != undefined)
            {
                selectedRoomDataSet[roomCount] = jsonObjRoom.room[keyVal];
                roomCount+=1;
            }
         }   
        if(jsonObjRoom["room"][roomId.toString()+Gindex.toString()] != undefined && jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["coupon_code"] != undefined && jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["coupon_code"] != null && jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["coupon_code"] != "" && jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["coupon_code"] == couponDetails["coupon_code"])  
        {
            var adultsForCoupon = jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["adults"];
            var exPersForCoupon = jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["ExtraPersons"];
            if(couponDetails["discount_type"]==0)// For  Discount percentage
            {
                    discount_amount=(roomRate*couponDetails["discPerc"])/100;
                     roomRateDisc = parseFloat(roomRate)-parseFloat(discount_amount);
                    taxAmount = parseFloat(parseFloat(roomRateDisc)*parseFloat(taxPerc)/100).toFixed(2);
                    totRoomRate = parseFloat(parseFloat(roomRateDisc)+parseFloat(taxAmount)).toFixed(2);
            } 
            else
            { 
                if((parseInt(adults) < parseInt(parseInt(adultsForCoupon)+parseInt(exPersForCoupon)) || child < jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["children"]) && jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["couponDiscount"] > 0.00)
                {
                    if(parseFloat(couponDetails["discount"]) > parseFloat(jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["couponDiscount"]))
                       discount_amount = couponDetails["discount"];
                    else 
                        discount_amount = jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["couponDiscount"] ;
                    if(parseFloat(roomRate) > parseFloat(discount_amount))
                    {                      
                       couponDetails["coupon_code"] = jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["coupon_code"];
                       couponDetails["discount_type"] = jsonObjRoom["CoupDiscOrPerc"];
                       roomRateDisc = parseFloat(roomRate)-parseFloat(discount_amount);
                        couponDetails["discount"] = 0.00;
                        taxAmount = parseFloat(parseFloat(roomRateDisc)*parseFloat(taxPerc)/100).toFixed(2);
                        totRoomRate = parseFloat(parseFloat(roomRateDisc)+parseFloat(taxAmount)).toFixed(2);

                    }
                    else
                    {
                        discount_amount = 0.00;
                        couponDetails={"coupon_code":null,"discount_type":null,"discount":null,"discount_amount":0.00,"coupon_id":null,"discPerc":null};                 
                         document.getElementById("txtCouponCode").value = "";                               
                         for(var i=0;i<selectedRoomDataSet.length;i++)
                         {
                            selectedRoomDataSet[i].couponDiscount = 0.00;                    
                            var roomRateAssign = selectedRoomDataSet[i].totRoomrate;
                            var taxVal = selectedRoomDataSet[i].taxvalue;                    
                           var taxAmountAssign = parseFloat(parseFloat(roomRateAssign)*parseFloat(taxVal)/100).toFixed(2);
                           var totRoomRateAssign = parseFloat(parseFloat(roomRateAssign)+parseFloat(taxAmountAssign)).toFixed(2); 
                           selectedRoomDataSet[i].roomTaxAmount = parseFloat(taxAmountAssign).toFixed(2);                                       
                           selectedRoomDataSet[i].roomRateWithTax = parseFloat(totRoomRateAssign).toFixed(2);
                            
                         }
                         jsonObjRoom["couponAmount"]=0.00;                 
                          if(jsonObjRoom != null)
                          {
                                document.getElementById("hdnRoomObj").value = Sys.Serialization.JavaScriptSerializer.serialize(jsonObjRoom);
                                                     
                          } 
                          roomRateDisc = parseFloat(roomRate)-parseFloat(discount_amount);
                          taxAmount = parseFloat(parseFloat(roomRateDisc)*parseFloat(taxPerc)/100).toFixed(2);
                          totRoomRate = parseFloat(parseFloat(roomRateDisc)+parseFloat(taxAmount)).toFixed(2);                
                     }
                }
                else
                {
                   if(parseFloat(couponDetails["discount"]) > parseFloat(jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["couponDiscount"]))
                       discount_amount = couponDetails["discount"];
                    else 
                        discount_amount = jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["couponDiscount"] ;
                   couponDetails["coupon_code"] = jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["coupon_code"];
                   couponDetails["discount_type"] = jsonObjRoom["CoupDiscOrPerc"]; 
                   if(parseFloat(discount_amount) > parseFloat(roomRate))
                    {
                        var remainDisc = parseFloat(discount_amount)-parseFloat(roomRate);
                        couponDetails["discount"] = parseFloat(remainDisc).toFixed(2); 
                        discount_amount = roomRate;
                        roomRateDisc = 0.00; 
                        taxAmount = parseFloat(parseFloat(roomRateDisc)*parseFloat(taxPerc)/100).toFixed(2);
                        totRoomRate = parseFloat(parseFloat(roomRateDisc)+parseFloat(taxAmount)).toFixed(2);                   
                        
                    }
                    else
                    {
                        roomRateDisc = parseFloat(roomRate)-parseFloat(discount_amount);
                        couponDetails["discount"] = 0.00;
                        taxAmount = parseFloat(parseFloat(roomRateDisc)*parseFloat(taxPerc)/100).toFixed(2);
                        totRoomRate = parseFloat(parseFloat(roomRateDisc)+parseFloat(taxAmount)).toFixed(2);
                    }
               } 
           } 
        }
        else
        {             
            if(couponDetails["discount_type"] != undefined)
            {
               if(couponDetails["discount_type"]==0)// For  Discount percentage
                {
                    couponDetails["discPerc"] = couponDetails["discount"];
                    discount_amount=(roomRate*couponDetails["discount"])/100;
                     roomRateDisc = parseFloat(roomRate)-parseFloat(discount_amount);
                    taxAmount = parseFloat(parseFloat(roomRateDisc)*parseFloat(taxPerc)/100).toFixed(2);
                    totRoomRate = parseFloat(parseFloat(roomRateDisc)+parseFloat(taxAmount)).toFixed(2);
                }        
                else
                {  
                    couponDetails["discPerc"] = null;             
                    discount_amount=couponDetails["discount"];  
                    if(parseFloat(discount_amount) > parseFloat(roomRate))
                    {
                        var remainDisc = parseFloat(discount_amount)-parseFloat(roomRate);
                        couponDetails["discount"] = parseFloat(remainDisc).toFixed(2); 
                        discount_amount = roomRate;
                        roomRateDisc = 0.00;
                        taxAmount = parseFloat(parseFloat(roomRateDisc)*parseFloat(taxPerc)/100).toFixed(2);
                        totRoomRate = parseFloat(parseFloat(roomRateDisc)+parseFloat(taxAmount)).toFixed(2);
                        
                    }
                    else
                    {
                        roomRateDisc = parseFloat(roomRate)-parseFloat(discount_amount);
                        couponDetails["discount"] = 0.00;
                        taxAmount = parseFloat(parseFloat(roomRateDisc)*parseFloat(taxPerc)/100).toFixed(2);
                        totRoomRate = parseFloat(parseFloat(roomRateDisc)+parseFloat(taxAmount)).toFixed(2);
                    }              
                }
            } 
            else
            {
                roomRateDisc = parseFloat(roomRate)-parseFloat(discount_amount);
                taxAmount = parseFloat(parseFloat(roomRateDisc)*parseFloat(taxPerc)/100).toFixed(2);
                totRoomRate = parseFloat(parseFloat(roomRateDisc)+parseFloat(taxAmount)).toFixed(2);
            }
        }
    }//End of Main JsonObjRoom
    
    document.getElementById("hdnCouponData").value= Sys.Serialization.JavaScriptSerializer.serialize(couponDetails);
        discount_details["discountDetails"][0]=couponDetails;     
        
        
        if(exbedStatus == "1")
        {
               if(ddlAdults.selectedIndex == ddlAdults.length-1)
               {
                   adults1 = ddlAdults.length-2;
                   expers1 = 1;                                      
               }
               else
               {
                   adults1=adults;
                   expers1=0;                 
               }
        }
        else
        {
            adults1=adults;
            expers1=0;   
        }
        
        
        if(expers1 > 0)
        {
            roomRate1 = parseFloat(parseFloat(roomRate)-parseFloat(exbedRate)).toFixed(2);            
        }
        else
        {
            roomRate1 = parseFloat(roomRate).toFixed(2);
        }        
         
        
         if(document.getElementById("hdnRoomObj").value != "" && document.getElementById("hdnRoomObj").value != null)
          {
                var roomData1 = document.getElementById("hdnRoomObj").value;
                jsonObjRoom = Sys.Serialization.JavaScriptSerializer.deserialize(roomData1);
          }           
       
        if(chkRoomStatus.checked)
         {
                if(roomId != "")
                { 
                   
                        if(jsonObjRoom["room"][roomId.toString()+Gindex.toString()] == undefined || jsonObjRoom["room"][roomId.toString()+Gindex.toString()] == "")
                        {                               
                            jsonObjRoom["room"][roomId.toString()+Gindex.toString()] = {};
                        }
                        if (ddlAdults.value =="0" )
                        {
                            jsonObjRoom["room"][roomId.toString()+Gindex.toString()] = {};
                        }
                        else
                        {
                   
                           jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["roomId"] = roomId;           
                           jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["room"]=document.getElementById("lblRoomName_"+Rindex).innerHTML;
                           if(exbedStatus == "1")
                           {
                               if(ddlAdults.selectedIndex == ddlAdults.length-1)
                               {
                                   jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["adults"] = ddlAdults.length-2;
                                   jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["ExtraPersons"] = 1;
                                   jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["Expercharge"] = JSONobjRoomList[Rindex].dblExtrabedCharge.Value;//document.getElementById("lblExbedRate_"+Rindex).innerHTML;                                      
                               }
                               else
                               {
                                   jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["adults"]=adults;
                                   jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["ExtraPersons"]=0;  
                                   jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["Expercharge"] = 0.00;               
                               }
                           }
                           else
                           {
                                jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["adults"]=adults;
                                   jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["ExtraPersons"]=0; 
                                   jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["Expercharge"] = 0.00;  
                           }
                          jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["children"] = child;  
                          jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["taxid"] = taxId; 
                          jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["taxtype"] = taxType;               
                          jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["taxvalue"] = taxPerc; 
                          jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["roomTaxAmount"] = taxAmount;                                        
                          jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["rate"] =roomRate1;                          
                          jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["totRoomrate"] =roomRate;                 
                          jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["roomRateWithTax"] = parseFloat(totRoomRate).toFixed(2);
                          jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["roomRowIndex"] = Gindex.toString();                          
                          jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["childRate"] = JSONobjRoomList[Rindex].dblChildRate.Value;//document.getElementById("lblChildRate_"+Rindex).innerHTML;
                          jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["couponDiscount"] = parseFloat(discount_amount).toFixed(2);
                          jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["coupon_code"] = couponDetails["coupon_code"];
                          jsonObjRoom["CoupDiscOrPerc"] = couponDetails["discount_type"];
                          
                          if(newRoom == 0)
                          {
                              jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["options"] = {};
                              jsonObjRoom["room"][roomId.toString()+Gindex.toString()]["Xoptions"] = {};
                          }                        
                         if(jsonObjRoom != null)
                         {
                            document.getElementById("hdnRoomObj").value = Sys.Serialization.JavaScriptSerializer.serialize(jsonObjRoom);
                     
                         }   
                     }
                }
                  
        }   
        var selectedRooms =0;
        for(var keyVal in jsonObjRoom.room)
        {
            if (jsonObjRoom.room[keyVal].roomId != undefined) selectedRooms +=1;
        } 
        if (selectedRooms>0)
        {
//            if(document.getElementById("txtCouponCode")!=null && document.getElementById("txtCouponCode").value!="")
//            {
//                valiadeteCouponCode();
//            }
            GetDataForCart(); 
        }
        else
        {
            document.getElementById("divCart").innerHTML = "";
            if(document.getElementById("cartdivFull") != null)
            {
                document.getElementById("dispCart").style.display = 'none';
                document.getElementById("cartdivFull").style.display = 'none';
            }
        }          
             
    }
    
    
     function SetOptDropDownsEnabled(Rindex,Gindex)  // rate calculation for options on selection.
    {  
        var ddlNoOfPersons = document.getElementById("ddlOptNoOfPersons_"+Rindex+"_"+Gindex);             
        var chkOptSelect = document.getElementById("chkOptSelect_"+Rindex+"_"+Gindex);
        var txtOptAmount = document.getElementById("lblOptAmount_"+Rindex+"_"+Gindex);
        var optionId = Rindex;
        var roomId=document.getElementById("lblOptroomId_"+Rindex+"_"+Gindex).innerHTML;
        var optRowIndex= Gindex;
        var roomRowIndex = document.getElementById("lblOptroomRowIndex_"+Rindex+"_"+Gindex).innerHTML;      
        
        if(newRoom==0)
        {
                if(document.getElementById("hdnRoomObj").value != "" && document.getElementById("hdnRoomObj").value != null)
              {
                    var roomData1 = document.getElementById("hdnRoomObj").value;
                    jsonObjRoom = Sys.Serialization.JavaScriptSerializer.deserialize(roomData1);
              }  

        } 

        if(chkOptSelect.checked == false)
        {            
            ddlNoOfPersons.selectedIndex = 0;               
            txtOptAmount.innerHTML = "";            
              if (jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options != undefined)
              {
                  
                    var k = 0;
                    while (jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options[k]!= undefined)
                    {   
                        if(Rindex == jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options[k].optId && Gindex == jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()].options[k].optRowIndex )
                        {
                            jsonObjRoom["room"][roomId.toString()+roomRowIndex.toString()]["options"][k]="";
                        }
                        k=k+1;
                    }
               }
        }
        else
        {           
            GetOptionsRate(Rindex,Gindex);
        }
        GetDataForCart();        
   }
   
  function GetOptionsRate(Rindex,Gindex) // amount calculation for options based on no. of persons.
  {
        var ddlNoOfPersons = document.getElementById("ddlOptNoOfPersons_"+Rindex+"_"+Gindex);
        var NoOfPersons = ddlNoOfPersons.value;
        var days = document.getElementById("hdnNoOfDays").value;
        var persons = NoOfPersons;
        var billingType = JSONobjOptList[Rindex].intBillingTypeId;
        var optionsRate = JSONobjOptList[Rindex].dblAdultRate; 
        if(billingType == 1)
        {
            persons = ddlNoOfPersons.value; 
        }
        if(billingType == 2)
        {
            if(ddlNoOfPersons.selectedIndex > 1)
            {
                persons = 1;
            }
            else
            {
                persons = ddlNoOfPersons.value;
            }
        }
        if(billingType == 3)
        {
            if(ddlNoOfPersons.selectedIndex > 1)
            {
                persons = 1;
            }
            else
            {
                persons = ddlNoOfPersons.value;
            }
            days = 1;
        }
        var OptionAmount = parseFloat(parseFloat(optionsRate)*parseInt(persons,10)*parseInt(days,10)).toFixed(2); 
        document.getElementById("lblOptAmount_"+Rindex+"_"+Gindex).innerHTML = OptionAmount;        
  }   
   function GetXOptionsRate1(Rindex,Gindex)
   {
   
                    var ddlXNoOfPersons = document.getElementById("ddlExcOptNoOfPersons_"+Rindex+"_"+Gindex);  
                    var persons = ddlXNoOfPersons.value;     
                    var days =  document.getElementById("hdnNoOfDays").value;
                    var XRate = document.getElementById("lblExcOptRate_"+Rindex+"_"+Gindex).innerHTML;  
                    var NoOfXPersons = ddlXNoOfPersons.value;
                    var billingType = JSONobjExcOptList[Rindex].intBillingTypeId; 
                    var XOptionId = Rindex;
                    var XOptRowIndex = Gindex;
                    var roomId = document.getElementById("lblExcOptroomId_"+Rindex+"_"+Gindex).innerHTML; 
                    var roomRowIndex = document.getElementById("lblExcOptRoomRowIndex_"+Rindex+"_"+Gindex).innerHTML;
                    if(billingType == 1)
                    {
                        persons = ddlXNoOfPersons.value; 
                    }
                    if(billingType == 2)
                    {
                        if(ddlXNoOfPersons.selectedIndex > 1)
                        {
                            persons = 1;
                        }
                        else
                        {
                            persons = ddlXNoOfPersons.value;
                        }
                    }
                    if(billingType == 3)
                    {
                        if(ddlXNoOfPersons.selectedIndex > 1)
                        {
                            persons = 1;
                        }
                        else
                        {
                            persons = ddlXNoOfPersons.value;
                        }
                        days = 1;
                    }
                    if(XRate != "")
                    {
                        var totXAmount = parseFloat(parseFloat(XRate)*parseInt(persons,10)*parseInt(days,10)).toFixed(2);
                        document.getElementById("lblExcOptAmount_"+Rindex+"_"+Gindex).innerHTML=totXAmount;  
                    }   
                    else
                    {
                        document.getElementById("lblExcOptAmount_"+Rindex+"_"+Gindex).innerHTML="";  
                    }               
 
        if(newRoom==0)
        {
              if(document.getElementById("hdnRoomObj").value != "" && document.getElementById("hdnRoomObj").value != null)
              {
                    var roomData1 = document.getElementById("hdnRoomObj").value;
                    jsonObjRoom = Sys.Serialization.JavaScriptSerializer.deserialize(roomData1);
              }   

        }                         

          
     
    }  
   function AgreeTerms()
   {
        if(!document.getElementById("chkTerms").checked)
        {
            alert("Please agree the Terms & Conditions");
            return false;
        }
        buildOldCartObject();
        if (window.XMLHttpRequest) 
            xmlHttp = new XMLHttpRequest();
        else if (window.ActiveXObject)
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        xmlHttp.onreadystatechange = gotoProtx;
//        var str ="cart="+Sys.Serialization.JavaScriptSerializer.serialize(cart1);//"&chkin="+document.getElementById("Txtchkin_date").value+"&chkout="+document.getElementById("Txtchkout_date").value+"&adults="+document.getElementById("drpadults")[document.getElementById("drpadults").selectedIndex].value+"&childs="+document.getElementById("drpchilds")[document.getElementById("drpchilds").selectedIndex].value+"&ferry="+document.getElementById("chkFerry").checked+"&Total="+document.getElementById("TotalAmt").innerHTML;
//        var discount_str="&discount_details="+Sys.Serialization.JavaScriptSerializer.serialize(discount_details);
        //var couponcode=document.getElementById("txtCouponCode").value; // padma 24-06-2009 for coupon code functionality
       // document.getElementById("hdnRoomObj").value = Sys.Serialization.JavaScriptSerializer.serialize(cart1);
       document.getElementById("hdnCart").value = Sys.Serialization.JavaScriptSerializer.serialize(cart1);
       document.getElementById("hdnDiscountDetails").value = Sys.Serialization.JavaScriptSerializer.serialize(discount_details);       
        var params =Form.serialize($('form1'));
        var asyn=false;
        xmlHttp.open('POST', "BookOnline.aspx?id=saveDB", asyn);
        xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        xmlHttp.send(params);
         try 
        { 
            if(browser.mozilla && !asyn && xmlHttp.onreadystatechange==null) gotoProtx();
        }catch(e){
            gotoProtx();
        }
   }
   
   function gotoProtx()
    {
        if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete')
        {
            var respo = xmlHttp.responseText;
            if (respo == "Error: New Session")
            {
                document.forms[0].action = "index.aspx";
                document.forms[0].submit();
            }
            else
            {
                document.getElementById("btnNext").disabled = false;
                if (respo.substring(0,10) == "Data saved")
                {
                    var redirect_url;// = "Customer/protex.aspx";//"https://"+ location.host + "/farringford/Customer/protex.aspx";        
                    document.getElementById("btnNext").disabled = false;
                    var x =document.getElementById("anclogin");
                    
                    if(respo.substring(10,11) == "4")
                    {
                       if(respo.substring(11,15) == "Over")
                        {
                            alert("Your account credit limit has exceeded");                           
                        }
                        else
                        {
                            if (x != null)    redirect_url = "register.aspx?id=pay";
                            else              redirect_url = "Customer/Router.aspx";
                            
                            document.forms[0].action = redirect_url;
                            document.forms[0].submit();
                        }
                    }
                    else 
                    {
                     if (x != null)    redirect_url = "register.aspx?id=pay";
                            else              redirect_url = "Customer/Router.aspx";
                            
                            document.forms[0].action = redirect_url;
                            document.forms[0].submit();
                    }                    
                }
                else if (respo.substring(0,15) == "Edit data saved")
                {                
                    document.forms[0].action = "ReceiptToHTML.aspx";
                    document.forms[0].submit();
                }
                else
                {
                    alert(respo);                    
                }
            }
        }
    }    
   
   function guestReviews()
   {
   var path = 'guestreviews.aspx?id=GuestReviews';
    window.open(path,'CHOBS','fullscreen=yes,toolbar=no,status=no,menubar=no,scrollbars=yes,resizable=yes,directories=no,location=yes');
   }
   function guestreviewClose()
   {
    window.close();
   }
   


 
 function ShowImages(room_type_id,roomName,description)// display room preview  
 {
     Popup.showModal('PreviewImg');
     ShowImages1(room_type_id,roomName,description);
     ChangeRoomFeature(room_type_id);
     //GetDataForCart();
     return false;
 }
function ShowImages1(room_type_id,roomName,description) // show images for room in preview popup
 {        
      var ImgAry = new Array();
      if (document.getElementById("hdn"+room_type_id)!= null)
      {
          ImgAry = document.getElementById("hdn"+room_type_id).value.split('|');
          
          hashImages[room_type_id]=ImgAry;
          ImagesTable(room_type_id);
      }
      else
      {
            document.getElementById("custMainImg").src = document.getElementById("theme_folder").value;
            document.getElementById("custMainImg").alt="Room images not available";
      }
      var tab = document.getElementById("lblRoomDesc");  
      tab.innerHTML=roomName;
      document.getElementById("tblroomdetails1").innerHTML =description;    

}   
function  HideImgDiv() 
{
    Popup.hide('PreviewImg');
}
 function showTermsandConditions()// hotel booking terms& conditions in cart(not footer)
  {    
   var path = 'TermsAndConditions.aspx';
    window.open(path,'CHOBS','fullscreen=no,toolbar=no,status=no,menubar=no,scrollbars=yes,height=500,resizable=no,width=730,top=150,directories=no,location=no');                             
  }
 
 function buildOldCartObject()  //new cart object to old cart object for server side calculation
 {
    var cart=new Array();
    var i=0;
    for(var keyVal in jsonObjRoom.room)
      {
        if (jsonObjRoom.room[keyVal].roomId != undefined)
        {
            if (jsonObjRoom.room[keyVal].options==undefined) jsonObjRoom.room[keyVal].options={};
            if (jsonObjRoom.room[keyVal].Xoptions==undefined) jsonObjRoom.room[keyVal].Xoptions={};
            cart[i++] = jsonObjRoom.room[keyVal];
        }
      }    
    cart1["cart"] = cart;
    cart1["amount"] =jsonObjRoom.TotalAmount;
    cart1["couponDiscount"] = jsonObjRoom.couponAmount;
 }  
 
 
   
   
   
function UpdateCheOutDateAjaxForBookOnlineTxtForBook()
{
        var stDate = createDDMMYYY(document.getElementById("Txtchkin_dateBook").value);
        var noOfNights=document.getElementById("setNightsBook").value;
        document.getElementById("Txtchkout_dateBook").value= DateToString(addDays(stDate,noOfNights));
        document.getElementById("hdnCheckinDate").value=document.getElementById("Txtchkin_dateBook").value;
        document.getElementById("hdnCheckoutDate").value=document.getElementById("Txtchkout_dateBook").value;
        DateValForBook(); 
}     
function UpdateCheOutDateAjaxForBookOnlineForBook()
{
        var stDate = createDDMMYYY(document.getElementById("Txtchkin_dateBook").value);
        var noOfNights=document.getElementById("setNightsBook").value;
        document.getElementById("Txtchkout_dateBook").value= DateToString(addDays(stDate,noOfNights));
        document.getElementById("hdnCheckinDate").value=document.getElementById("Txtchkin_dateBook").value;
        document.getElementById("hdnCheckoutDate").value=document.getElementById("Txtchkout_dateBook").value;   
}  
   // Padma 24-06-2009 coupon code functionality   
function  valiadeteCouponCode()
{         
       if(document.getElementById("txtCouponCode") != null && document.getElementById("txtCouponCode").value!="")
       {
            var couponcode=document.getElementById("txtCouponCode").value; 
            ajaxPost('GET',"BookOnline.aspx?id=ValidateCouponCode&coupon="+couponcode+"&rnd="+Math.round(Math.random()*100),"CouponcodeValidationResponse()","",false);   
            if("\v"=="v")
            {
            }
            else
            {
                CouponcodeValidationResponse();
            }
        }
        else
        {
            couponDetails={"coupon_code":null,"discount_type":null,"discount":null,"discount_amount":0.00,"coupon_id":null,"discPerc":null};
            document.getElementById("hdnCouponData").value= Sys.Serialization.JavaScriptSerializer.serialize(couponDetails);           
              for(var keyVal in jsonObjRoom.room)
              {        
                    if (jsonObjRoom.room[keyVal].roomId != undefined)
                    {
                        var roomId = jsonObjRoom.room[keyVal].roomId;
                        var roomRowIndex = jsonObjRoom.room[keyVal].roomRowIndex;                                            
                        sendRoomRateTOJSON(roomId,roomRowIndex);
                    }
              } 
            //GetCartData();
        }
}  
   
   function CouponcodeValidationResponse()
   {
        if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete')
        {
            var respo = xmlHttp.responseText;
            if (respo == "New Session")
            {
                document.forms[0].action = "index.aspx";
                document.forms[0].submit();
            }
            else
            {
                if (respo == 0) // Invalid Coupon Code
                {
                   couponDetails={"coupon_code":null,"discount_type":null,"discount":null,"discount_amount":0.00,"coupon_id":null,"discPerc":null};
                   document.getElementById("coupondv").innerHTML="";                                       
                    alert("Please enter valid coupon code");
                    document.getElementById("txtCouponCode").value = "";
                    document.getElementById("txtCouponCode").focus();
                }
                else // Valid Coupon Code
                {
                   var discount = respo.split(',');
                   var discount_amount=0.00;
                   couponDetails["discount_type"]=discount[1];
                   couponDetails["discount"]=discount[0]; 
                   couponDetails["discPerc"] = discount[0];                  
                   couponDetails["coupon_id"]=discount[2];                   
                   couponDetails["coupon_code"]=couponDetails["coupon_code"];
                   couponDetails["coupon_code"]=document.getElementById("txtCouponCode").value;
                   //calculateCouponCodeDiscount();
                }
                calculateCouponCodeDiscount();
            }            
        }
   } 
   function calculateCouponCodeDiscount()
{    
     document.getElementById("hdnCouponData").value= Sys.Serialization.JavaScriptSerializer.serialize(couponDetails);           
     discount_details["discountDetails"][0]=couponDetails;  
     for(var keyVal in jsonObjRoom.room)
      {        
            if (jsonObjRoom.room[keyVal].roomId != undefined)
            {
                var roomId = jsonObjRoom.room[keyVal].roomId;
                var roomRowIndex = jsonObjRoom.room[keyVal].roomRowIndex;                                            
                sendRoomRateTOJSON(roomId,roomRowIndex);
            }
      }     
}      
//   function calculateCouponCodeDiscount()
//   {
//        couponHTML="";
//        var discount_amount=0.00;
//        if(couponDetails["discount_type"]==0)// For  Discount percentage
//        {
//            discount_amount=(cart1["amount"]*couponDetails["discount"])/100;
//        }
//        else
//        {
//            discount_amount=couponDetails["discount"];
//        }
//        couponDetails["discount_amount"]=parseFloat(discount_amount).toFixed(2);
//        discount_details["discountDetails"][0]=couponDetails;              
//        discount_details["total_discount_amount"] =parseFloat(discount_amount).toFixed(2);   
//        document.getElementById("hdnCouponData").value= Sys.Serialization.JavaScriptSerializer.serialize(couponDetails);           
//        
//         if(couponDetails["discount_amount"] > 0.00)
//           {
//                couponHTML+="<div class='cartFullDiv'>";
//                        couponHTML+="<div class='newcartInnerDiv'>"; 
//                            couponHTML+="<span id='Total'>Discounted Amount:</span>";
//                        couponHTML+="</div>";//1                                       
//                        couponHTML+="<div class='cartInnerDiv'>";
//                            couponHTML+="<span id='spanCurrSymbol12'>"+trim(document.getElementById("hdnCurrSymbol").value,"both")+"</span>";
//                           couponHTML+="<span id='Total1'>"+parseFloat(couponDetails["discount_amount"]).toFixed(2)+"</span>";
//                        couponHTML+="</div>";  //3
//                couponHTML+="</div>"; //E34                 
//                
//                 couponHTML+="<div class='cartFullDiv bgBCRate' style='border:0px;'>"; //S34  
//                        couponHTML+="<div class='newcartInnerDivTotal'>"; 
//                            couponHTML+="<span id='Total'>Grand Total:</span>";
//                        couponHTML+="</div>";//1                             
//                        couponHTML+="<div class='cartInnerDivTotalAmnt'>"; 
//                            couponHTML+="<span id='spanCurrSymbol13'>"+trim(document.getElementById("hdnCurrSymbol").value,"both")+"</span>";
//                           couponHTML+="<span id='Total1'>"+ parseFloat(parseFloat(cart1["amount"]) -parseFloat(couponDetails["discount_amount"])).toFixed(2)+"</span>";
//                        couponHTML+="</div>";  //3
//                couponHTML+="</div>"; //E34
//                if(document.getElementById("coupondv") != null)
//                {                    
//                 document.getElementById('coupondv').className='cartFullDiv';                        
//                 document.getElementById("coupondv").innerHTML=couponHTML;  
//                }
//            }
//   } 
   
   function ChangeRoomFeature(Rid)// features, options and adv options for room preview
  {  
     var features = null;
     var options = null;
     var excOptions = null;
     var bullets = "";
     features = roomFeatures[Rid];
     options = roomOptions[Rid];
     excOptions = roomExcOptions[Rid];
	  document.getElementById("fff").className = "noFeaturesDiv";
     if (features == null && options == null && excOptions == null)
     {
          document.getElementById("divFeatures").innerHTML = "";
          return;
     }  
      if( features != null)
	  {
		  var arrayFeatures = features.split("||");
		  if(arrayFeatures.length > 0)
		  {
			  bullets += "<br /><b><u><div class='featurepopup'>Features :</div> </u></b>";
			  bullets += "<ul>";
			  for(x=0;x<arrayFeatures.length;x++)
			   {
				 document.getElementById("fff").className = "featuresDiv";				 
				 bullets +=  "<li>" + arrayFeatures[x] + "</li>"; 
			   } 
			   bullets +="</ul>";
		   } 
	   }
	   if(options != null)
	  {
		   var arrayOptions = options.split("||");
		   if(arrayOptions.length > 0)
		   {
			  bullets += "<br /><b><u><div class='featurepopup'>Options:</div> </u></b>";
			  bullets += "<ul >";
			  for(y=0;y<arrayOptions.length;y++)
			   {
				 document.getElementById("fff").className = "featuresDiv";				
				 bullets += "<li>" + arrayOptions[y] + "</li>";
			   } 
			   bullets +="</ul>";
		   }
	  }
	  if(excOptions != null)
	  {
		  var arrayExcOptions = excOptions.split("||");
		  if(arrayExcOptions.length > 0)
		  {
			  bullets += "<br /><b><u><div class='featurepopup'>Exclusive Options :</div> </u></b>";
			  bullets += "<ul>";
			  for(z=0;z<arrayExcOptions.length;z++)
			   {
				 document.getElementById("fff").className = "featuresDiv";				 
				 bullets +=  "<li>" + arrayExcOptions[z] + "</li>";
			   } 
			   bullets +="</ul>";
		   }
	  }
      document.getElementById("divFeatures").innerHTML = bullets;
      
  } 
function DateValForBook()  // validate dates when dates changed
{
        if (!ValidateBookingDatesForBook(document.form1.Txtchkin_dateBook,document.form1.Txtchkout_dateBook))
            return false;
        var ONE_DAY = 1000 * 60 * 60 * 24;
        var difference_ms = createDDMMYYY(document.getElementById("Txtchkout_dateBook").value).getTime() - createDDMMYYY(document.getElementById("Txtchkin_dateBook").value).getTime();
        var days = Math.round(difference_ms/ONE_DAY);
        if(createDDMMYYY(document.form1.Txtchkin_dateBook.value).getDate() == createDDMMYYY(document.form1.Txtchkout_dateBook.value).getDate())
        {
                 document.form1.setNightsBook.selectedIndex.value=1;
        }
        else
        {
                 document.form1.setNightsBook.value=parseInt(days,10);
        }  
         document.getElementById("hdnCheckinDate").value=document.getElementById("Txtchkin_dateBook").value;
         document.getElementById("hdnCheckoutDate").value=document.getElementById("Txtchkout_dateBook").value;                          
}
function DateValForBookCheckAvail()  // validate dates and show check availability details above the cart
{
        if (!ValidateBookingDatesForBook(document.form1.Txtchkin_dateBook,document.form1.Txtchkout_dateBook))
            return false;
        var ONE_DAY = 1000 * 60 * 60 * 24;
        var difference_ms = createDDMMYYY(document.getElementById("Txtchkout_dateBook").value).getTime() - createDDMMYYY(document.getElementById("Txtchkin_dateBook").value).getTime();
        var days = Math.round(difference_ms/ONE_DAY);
        if(createDDMMYYY(document.form1.Txtchkin_dateBook.value).getDate() == createDDMMYYY(document.form1.Txtchkout_dateBook.value).getDate())
        {
                 document.form1.setNightsBook.selectedIndex.value=1;
        }
        else
        {
                 document.form1.setNightsBook.value=parseInt(days,10);
        }  
         document.getElementById("hdnCheckinDate").value=document.getElementById("Txtchkin_dateBook").value;
         document.getElementById("hdnCheckoutDate").value=document.getElementById("Txtchkout_dateBook").value;
         var chkin = document.getElementById("Txtchkin_dateBook").value;
         var chkout = document.getElementById("Txtchkout_dateBook").value;
         var nights = document.getElementById("setNightsBook").value;
         var noOfRooms = document.getElementById("roomReq").value;        
        showCheckAvail();      
}
function showCheckAvail()// put valid data in JSON object and hidden field
{  
    checkAvailFlag = 1;
    var selectedRoomDataSet = new Array();
    var roomCount = 0;
    if(jsonObjRoom != null)
    {
        for(var keyVal in jsonObjRoom.room)
        {
            if (jsonObjRoom.room[keyVal].roomId != undefined)
            {
                selectedRoomDataSet[roomCount] = jsonObjRoom.room[keyVal];
                roomCount+=1;
            }
        }                                  
        if(selectedRoomDataSet.length !=0)
        {
            var clearRoom = confirm("Do you want to clear the cart?");
            if(clearRoom)
            {    
                cart1["chkin"]=document.getElementById("Txtchkin_dateBook").value;
                cart1["chkout"]=document.getElementById("Txtchkout_dateBook").value;
                cart1["days"]=parseInt(document.getElementById("setNightsBook").value,10);
                cart1["noofRooms"]=parseInt(document.getElementById("roomReq").value,10);
                jsonObjRoom["room"] = "";
                jsonObjRoom["TotalAmount"]="";
                jsonObjRoom["couponAmount"] = "";
                newRoom =0 ;
                if(jsonObjRoom["room"] == "")
                {
                    document.getElementById("hdnRoomObj").value = "";
                }
                if(cart1 != null)
                 {
                    var strCheckData = Sys.Serialization.JavaScriptSerializer.serialize(cart1);
                    document.getElementById("hdnCart").value = strCheckData;
                 }    
                //GetData(); 
                 couponDetails={"coupon_code":null,"discount_type":null,"discount":null,"discount_amount":0.00,"coupon_id":null,"discPerc":null};
                 discount_details["discountDetails"][0]=couponDetails;
                 document.getElementById("hdnCouponData").value= Sys.Serialization.JavaScriptSerializer.serialize(couponDetails);                                 
                document.getElementById("btnchkavailability").href ="javascript:__doPostBack('btnchkavailability','')";
                return true;                              
            }
            else 
            {
                document.getElementById("btnchkavailability").href ="#";
                return false;    
            }                   
         }
        }
            cart1["chkin"]=document.getElementById("Txtchkin_dateBook").value;
            cart1["chkout"]=document.getElementById("Txtchkout_dateBook").value;
            cart1["days"]=parseInt(document.getElementById("setNightsBook").value,10);
            cart1["noofRooms"]=parseInt(document.getElementById("roomReq").value,10);
            if(cart1 != null)
            {
                var strCheckData = Sys.Serialization.JavaScriptSerializer.serialize(cart1);
                document.getElementById("hdnCart").value = strCheckData;
            }
            BuildSelectedDates();  
            document.getElementById("btnchkavailability").href ="javascript:__doPostBack('btnchkavailability','')";
      
  }  
  function ValidateBookingDatesForBook(chkin,chkout)
		{
		     var message="";
		            
		            if(trim(chkin.value) == "") 
		            {
		                message = "Enter Check in date";		                
		            }
		            if(trim(chkout.value) == "") 
		            {
		                message += "\nEnter Check out date";		                
		            }
		            if (message !="")
		            {
		                alert(message);
		                return false;
		            }	                
                    var validdate = checkDateDMY(chkin.value);
                    if(validdate == false)
                        message = message + chkChkIn;

                    validdate = checkDateDMY(chkout.value);
                    if(validdate == false)
                        message = message + chkChkOut ;
       
                    if(message != "")
                    {
                        alert(message);
                        return false;
                    }                   
                    var check_in_date = createDDMMYYY(chkin.value);
                    var check_out_date = createDDMMYYY(chkout.value);
                    var ONE_DAY = 1000 * 60 * 60 * 24;
                    var difference_ms = check_out_date.getTime() - check_in_date.getTime();
       
                    var nowdt = new Date();
                    var UTCDate =new Date(nowdt.getUTCFullYear(),nowdt.getUTCMonth(),nowdt.getUTCDate(),nowdt.getUTCHours(),nowdt.getUTCMinutes(),nowdt.getUTCSeconds(),0);
                    var hoteldate = new Date(UTCDate).addMinutes(document.getElementById("hdnGmtDelta").value);                    
                    curTime =(new Date(hoteldate.getFullYear(),hoteldate.getMonth(),hoteldate.getDate())).getTime();
                    if(difference_ms < 0)
                    {
                             alert("Check out Date should be greater than or equal to Check in Date");
                             return false;
                    }
                    if(curTime > check_in_date.getTime())
                    {                             
                             alert("Hoteldate is "+hoteldate.getDate().toString()+"/"+(hoteldate.getMonth()+1).toString()+"/"+hoteldate.getFullYear().toString());
                             alert("Check in Date should be greater than Today's Date");
                             return false;
                    }  
                    return true;                                       
		}


function BuildSelectedDates()
{                  
    var datesHTML = "";
    var hdnNoOfDays = 0; 
    var hdnNoOfRooms = 0;           
    var checkinDate = "";
    var checkoutDate = "";
    var checkinTime = "";
    var checkoutTime = ""; 
    var checkAvailData =  document.getElementById("hdnCart").value ; 
    var ferryText = document.getElementById("hdnPickup").value;
    var ferryValue = document.getElementById("hdnPickupValue").value;
    var boardingType = "";
    if(document.getElementById("hdnBoardingtype").value != null && document.getElementById("hdnBoardingtype").value != "")
    {
        boardingType = document.getElementById("hdnBoardingtype").value;
    }
    if(checkAvailData != "")
    {
         cart1 = Sys.Serialization.JavaScriptSerializer.deserialize(checkAvailData);
         hdnNoOfDays = cart1["days"];
         hdnNoOfRooms = cart1["noofRooms"];             
         checkinDate = cart1["chkin"];
         checkoutDate = cart1["chkout"];
         checkinTime = document.getElementById("hdnCheckinTime").value;
         checkoutTime = document.getElementById("hdnCheckOutTime").value; 
       
     }
     else
     {        
        hdnNoOfDays = document.getElementById("setNightsBook").value;
        hdnNoOfRooms = document.getElementById("roomReq").value;             
        checkinDate = document.getElementById("Txtchkin_dateBook").value;
        checkoutDate = document.getElementById("Txtchkout_dateBook").value;
        checkinTime = document.getElementById("hdnCheckinTime").value;
        checkoutTime = document.getElementById("hdnCheckOutTime").value; 
        cart1["days"]=hdnNoOfDays;
        cart1["noofRooms"]=hdnNoOfRooms;             
        cart1["chkin"]=checkinDate;
        cart1["chkout"]=checkoutDate;
        
     }    
                        datesHTML+="<div class='cartFullDivBook'>";                                    
                        
                        datesHTML+="<div class='cartFullDivBook'>";
                             datesHTML+="<div class='roomleftside'>";
                             datesHTML+="</div>";
                            datesHTML+="<div class='roommiddlecart'>";        
                                datesHTML+="<div class='roomName fontCol'>";
                                datesHTML+="<span id='lblBookingInfo' name='BookingInfo'>Booking Information</span>";
                                datesHTML+="</div>";                                        
                            datesHTML+="</div>";
                            datesHTML+="<div class='roomrightside'>";
                            datesHTML+="</div>";
                        datesHTML+="</div>";                                   
                        

                        datesHTML+="<div class='cartFullDivDate1'>"; //S6
                            datesHTML+="<div class='cartFullDivDate1'>";
                                datesHTML+="<div class='chkin'>"; 
                                    datesHTML+="<span id='spanCheckin2'>Check-in: </span>";
                                datesHTML+="</div>";
                                datesHTML+="<div class='chkintime'>";
                                    datesHTML+="<span id='lblCheckin2'>"+checkinDate+"</span>";
                                datesHTML+="</div>";
                                datesHTML+="<div class='chkintime'>";
                                    datesHTML+="<span id='lblCheckintime2' >"+checkinTime+"</span>";
                                datesHTML+="</div>";
                            datesHTML+="</div>";
                            datesHTML+="<div class='cartFullDivDate'>";
                                datesHTML+="<div class='chkin'>";
                                    datesHTML+="<span id='spanCheckout2'>Check-out: </span>";
                                datesHTML+="</div>";
                                datesHTML+="<div class='chkintime'>";
                                    datesHTML+="<span id='lblCheckOut2'>"+checkoutDate+"</span>";
                                datesHTML+="</div>";
                                datesHTML+="<div class='chkintime'>";
                                    datesHTML+="<span id='lblCheckOuttime2'>"+checkoutTime+"</span>";
                                datesHTML+="</div>";
                            datesHTML+="</div>";
                             datesHTML+="<div class='cartFullDivDate'>";
                                datesHTML+="<div class='chkin'>";
                                    datesHTML+="<span id='spanNoOfNights2'>No. of nights: </span>";
                                datesHTML+="</div>";
                                datesHTML+="<div class='chkintime1'>";
                                    datesHTML+="<span id='lblNoOfDays2'>"+hdnNoOfDays+"</span>";
                                datesHTML+="</div>";
                                datesHTML+="<div class='chkouttime'>";
                                    datesHTML+="<span id='spanNoOfRooms2'>No. of rooms: </span>";
                                datesHTML+="</div>";
                                 datesHTML+="<div class='chkintime1'>";
                                    datesHTML+="<span id='lblNoOfRooms2'>"+hdnNoOfRooms+"</span>";
                                datesHTML+="</div>";
                            datesHTML+="</div>";                           
                            datesHTML+="<div class='cartFullDivDate'>";
                                datesHTML+="<div class='chkin'>";
                                    datesHTML+="<span id='spanCheckout2'>Boarding Type: </span>";
                                datesHTML+="</div>";
                                if(boardingType == "")
                                {
                                    datesHTML+="<div class='chkintime' style='width:222px;'>";
                                        datesHTML+="<span id='lblCheckOut2'>No Boarding type</span>";
                                    datesHTML+="</div>";  
                                }    
                                else
                                {
                                     datesHTML+="<div class='chkintime' style='width:222px;'>";
                                        datesHTML+="<span id='lblCheckOut2'>"+boardingType+"</span>";
                                    datesHTML+="</div>";
                                } 
                                 if(ferryText == "No Ferry")
                            {
                                 datesHTML+="<div class='cartFullDivDate'>";
                                    datesHTML+="<div class='chkin' style='border:0px;height:10px;'>";                                        
                                    datesHTML+="</div>";                                   
                                    datesHTML+="<div class='chkintime' style='border:0px;width:222px;height:10px;'>";                                       
                                    datesHTML+="</div>";                                                                
                                datesHTML+="</div>";
                            }
                            else
                            {
                                datesHTML+="<div class='cartFullDivDate'>";
                                    datesHTML+="<div class='chkin'>";
                                        datesHTML+="<span id='spanCheckout2'>Transport: </span>";
                                    datesHTML+="</div>";
                                    if(ferryValue == "0")
                                    {
                                    datesHTML+="<div class='chkintime' style='width:222px;'>";
                                        datesHTML+="<span id='lblCheckOut2'>No Transport</span>";
                                    datesHTML+="</div>";
                                    }
                                    else
                                    {
                                        datesHTML+="<div class='chkintime' style='width:222px;'>";
                                        datesHTML+="<span id='lblCheckOut2'>"+ferryText+"</span>";
                                    datesHTML+="</div>";
                                    }                               
                                datesHTML+="</div>";
                            }                         
                            datesHTML+="</div>";
                            
                            
                            datesHTML+="</div>";

                        datesHTML+="</div>"; //E6 
                    datesHTML+="</div>"; 
                document.getElementById("dateDv").innerHTML = datesHTML;
}

  
  ///// from imagetables.js
  
  function ImagesTable(Rid)// show room images in preview
  {  
      var arrImages = hashImages[Rid];    //for single roomtype images array
     if (arrImages == null) 
     {         
         document.images["imgMainPhoto"].src = document.getElementById("theme_folder").value; //"~/HotelData/"+document.getElementById("theme_folder").value+"/Images/main1.jpg";
         window.document.images["imgMainPhoto"].alt = "Room images not available";
         document.getElementById("imagesCell").innerHTML = "";
         return;
     }
     if (arrImages.length == 0) return;
     var dynRow = document.getElementById("imagesCell");
     var rows = Math.ceil(arrImages.length/4);
     dynRow.innerHTML = "";
     if (arrImages.length>1)
     {
         for ( var i=0; i<rows ; i++)
         {
            dynRow.innerHTML = dynRow.innerHTML + "<br />";
            for (var j=0;j<4;j++)
            {
                if (arrImages.length <= i*4+j)
                   dynRow.innerHTML = dynRow.innerHTML + "";// return;
                 else
                   dynRow.innerHTML = dynRow.innerHTML + arrImages[i*4+j]  ;
            }
         }  
     }       
     document.images["imgMainPhoto"].src = arrImages[0].split("\"")[1].split("\"")[0];//var2[0].substring(1,var2[0].length-1)     
 }
function checkBoardingOptions()
{
    if (document.getElementById("BoardingOptionsList_1")== null)
    {
        if (document.getElementById("BoardingOptionsList_0")!= null)
        {
            document.getElementById("BoardingOptionsList_0").style.display="none";
            document.getElementById("SingleBoardingOption").innerHTML="Boarding Type:  ";
        }
    }
 }

function attachCal()// attach calendar
{
    Calendar.setup ({inputField : "Txtchkin_dateBook", ifFormat : "%d/%m/%Y", showsTime : false, button : "img_startdate", singleClick : true, step : 1});
    Calendar.setup ({inputField : "Txtchkout_dateBook", ifFormat : "%d/%m/%Y", showsTime : false, button : "img_enddate", singleClick : true, step : 1});
}
function clickButton(e)
{
      var evt = e ? e : window.event;     

          if (evt.keyCode == 13){               
               valiadeteCouponCode();
                return false;

          }  

}

function ShowPhotoLocal(strHttpAdr)
{
   window.document.images["imgMainPhoto"].src = strHttpAdr;
}	
	
function couponCodeClick(e)
{
	 var key;
	if(window.event) key = window.event.keyCode;
	else key = e.which;
    if(key == 13)
	{
		valiadeteCouponCode();
	}
 }
