var dd,dm,dy,rd,rm,ry;function Hotelvalidation()
{//Check_ValidEmail();

    var sendfrom="";
    var sendTO; 
     
    if(document.getElementById("txtEmailID"))//for home page "enter your mail"
    {sendfrom= document.getElementById("txtEmailID").value;}
    if(sendfrom!="")
    {
        sendfrom=trim(sendfrom);
        var fromemail=sendfrom.split(",");
        if(fromemail.length>1)
        {
            alert("Please enter only one email id");     
            document.getElementById("txtEmailID").focus();
            document.getElementById("txtEmailID").select();
            return false;
        }
        else
        {    
            var indexOfAtTheRate = sendfrom.indexOf('@'); 
            var indexOfDot = sendfrom.indexOf('.'); 
            if(sendfrom.length <= 50 && indexOfAtTheRate > 0 && indexOfDot > 0)
            {
                if (sendfrom.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
                {}
                else
                {
                    alert("Please Enter Valid 'Your email'");   
                    document.getElementById("txtEmailID").focus();
                    document.getElementById("txtEmailID").select();                   
                    return false;
                } 
            }   
            else 
            {
                alert("Please Enter Valid 'Your email'");   
                document.getElementById("txtEmailID").focus();
                document.getElementById("txtEmailID").select();            
                return false;
            }           
        }
    }

      var dd = document.getElementById('checkInDate').value.split('/')[0];
     var mm = document.getElementById('checkInDate').value.split('/')[1];
     if(mm=="08")
          mm="8";
      else if(mm=="09")
          mm="9";
     mm = parseInt(mm)-1;
     var yy = document.getElementById('checkInDate').value.split('/')[2];
      var millennium =new Date(yy,mm,dd); //Month is 0-11 in JavaScript
       var dd1 = document.getElementById('checkOutDate').value.split('/')[0];
     var mm1 = document.getElementById('checkOutDate').value.split('/')[1];
      //if(dd1=="08")
          //dd1="8";
      //else if(dd1=="09")
          //dd1="9";
      if(mm1=="08")
          mm1="8";
      else if(mm1=="09")
          mm1="9";
          
     mm1 = parseInt(mm1)-1;
     var yy1 = document.getElementById('checkOutDate').value.split('/')[2];
      var today=new Date(yy1,mm1,dd1);
      var one_day=1000*60*60*24;
      if(Math.ceil((today.getTime()-millennium.getTime())/(one_day))>15)
      {alert("Difference between checkInDate and checkOutDate should not be more than 15 days");
      return false;
      }
var txtFrom=document.getElementById('drpHotelCity').value;txtFrom=trimHotel(txtFrom);if(txtFrom=='' || txtFrom=="0")
{HideIframeHotel('Message1Frame');HideIframeHotel('Message2Frame');alert('Please Select a City');document.getElementById("drpHotelCity").focus();return false;}
var cityCode;cityCode="";var curdate=new Date();var dd=curdate.getDate();var mm=curdate.getMonth()+1;var yy=curdate.getFullYear();todaysdate=dd+"-"+mm+"-"+yy;function date_formatHotel(firstdate)
{var m_arrDate1=firstdate.split("/");var m_DAY1=m_arrDate1[0];var m_MONTH1=m_arrDate1[1];var m_YEAR1=m_arrDate1[2];date1=m_MONTH1+"-"+m_DAY1+"-"+m_YEAR1;return date1;}
var strFromDate=document.getElementById('checkInDate').value;var strToDate=document.getElementById('checkOutDate').value;if(document.getElementById('checkInDate').value=="")
{alert("Please Enter the value of CheckIn Date")
document.getElementById('checkInDate').focus();return false;}
var str=document.getElementById('checkInDate').value;if(!(checkDateHotel(str,'D')))
{if(Date.parse(date_formatHotel(strFromDate))<Date.parse(todaysdate))
{alert("CheckIn date must be greater than Current Date!");return false;}
else
{alert("Please enter a valid CheckIn Date");document.getElementById('checkInDate').focus();return false;}}
if(document.getElementById('checkOutDate').value=="")
{alert("Please Enter the value of CheckOut Date")
document.getElementById('checkOutDate').focus();return false;}
var str=document.getElementById('checkOutDate').value;if(!(checkDateHotel(str,'A')))
{alert("Please enter a valid CheckOut Date");document.getElementById('checkOutDate').focus();return false;}
if(!DepRetDateHotel())
{return false;}
if(document.getElementById('drpHotelRoom').value<1)
{alert("There must be atleast one room selected")
return false;}
var lbl=document.getElementById('txtNews');if(lbl!=null)
{var emailid=trimHotel(document.getElementById('txtNews').value);if(emailid!="")
{if(/\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/.test(emailid)==false)
{alert('Invalid email');return false;}}}
document.getElementsByName('SubmitHotel').enabled=false;
var city = document.getElementById('drpHotelCity').options[document.getElementById('drpHotelCity').selectedIndex].text;
    var fromdate = document.getElementById("checkInDate").value;
    var noOfRoom=document.getElementById('drpHotelRoom').value;
    var dDate = new Date(fromdate.split('/')[2], fromdate.split('/')[1]-1, fromdate.split('/')[0]);                        
    var CheckInDate = dDate.getDate();
    var CheckInMonth = dDate.getMonth()+1;
    var CheckInYear = dDate.getFullYear();
    var rDate; 
    var CheckOutDate;
    var CheckOutMonth;
    var CheckOutYear;
	var _iPopupTimer;
    var oMonths = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
    var coutdate = document.getElementById("checkOutDate").value;
    rDate = new Date(coutdate.split('/')[2], coutdate.split('/')[1]-1, coutdate.split('/')[0]);                            
    CheckOutDate=rDate.getDate();
    CheckOutMonth=rDate.getMonth()+1;
    CheckOutYear=rDate.getFullYear(); 

    if (isTravelCoups(fromdate) && city.toUpperCase() == "GOA")
    {
        var win = window.open("http://www.travelcoups.in/", 'TravelCoups', 'height=500,width=860,top=150,left=250,menubar=1,toolbar=1,location=1,scrollbars=1,resizable=1');
        if(win != null && typeof(win) != "undefined")
            win.focus();
    }

        if(document.getElementById("chkExpidia")!=null && document.getElementById("chkExpidia").checked)
         {
            var newWindow;
            var chRStr="";
            var redirectUrl = "http://www.s2d6.com/x/?x=c&z=s&v=3166781&r=[RANDOM]&k=DOM_HTL_EXP_CBOX&t=";
            //var cityName=document.getElementById('drpHotelCity').options[document.getElementById('drpHotelCity').selectedIndex].text;
            
            for(i=1;i<=noOfRoom;i++)
            {
                chRStr +="&NumAdult"+i+"=1&NumSenior"+i+"=0&NumChild"+i+"=0";
            }
            
            var url="http://www.expedia.co.in/pubspec/scripts/eap.asp?mdpcid=expe.IN.025.004.005.002&CCheck=1&GOTO=HOTSEARCH&SearchType=Place&SearchArea=City&PlaceName=";
            var inDate=document.getElementById("checkInDate").value;
            var outdate =document.getElementById("checkOutDate").value;
            url = url+city+",%20India&InDate="+inDate+"&OutDate="+outdate+"&Class=0&NumRoom="+document.getElementById('drpHotelRoom').value+chRStr+"&rfrr=-0";
            newWindow=window.open(redirectUrl + url,'Expedia','top=90,left=550,width=500,height=500,menubar=1,toolbar=1,location=1,scrollbars=1,resizable=1');
            if(!newWindow || newWindow.closed)
            {
                             $(document).ready(function() {
                                $.blockUI({
                                                message: $('#displayBox'),
                                                centerY: 0,
                                                css: { top: '0px', left: '20px', right: '' }
                                });
                                _iPopupTimer = setTimeout($.unblockUI, 10000);
                            });
                            
                            return false;
                            }
            newWindow.focus();
            }
        
       if(document.getElementById("chkTGUHotel")!=null && document.getElementById("chkTGUHotel").checked)
            {
                var newwindow1;
                var trackingCodetravelguru="http://www.s2d6.com/x/?x=c&z=s&v=2687778&r=[RANDOM]&k=DOM_HTL_TGU_CBOX&t=";
                var hotelurl = "http://hotels.travelguru.com/searchedhotelresult.do?modifySearch=N&strAdultsRoom1=1&strAdultsRoom2=1&strAdultsRoom3=1&strAdultsRoom4=1&strAdultsRoom5=1&strAdultsRoom6=1&strAdultsRoom7=1&strAdultsRoom8=1&strAffiliateCode=00000080&strAgeChild1Room1=0&strAgeChild1Room2=0&strAgeChild1Room3=0&strAgeChild1Room4=0&strAgeChild2Room1=0&strAgeChild2Room2=0&strAgeChild2Room3=0&strAgeChild2Room4=0&strAgeChild3Room1=0&strAgeChild3Room2=0&strAgeChild3Room3=0&strAgeChild3Room4=0&strAgeChild4Room1=0&strAgeChild4Room2=0&strAgeChild4Room3=0&strAgeChild4Room4=0&strBookingType=H&";
                                          
                var dateString = "strCheckindate="+CheckInDate+"&strCheckinmonth="+CheckInMonth+"&strCheckinyear="+CheckInYear+"&strCheckoutdate="+CheckOutDate+"&strCheckoutmonth="+CheckOutMonth+"&strCheckoutyear="+CheckOutYear+"&strChildrenRoom1=0&strChildrenRoom2=0&strChildrenRoom3=0&strChildrenRoom4=0&strChildrenRoom5=0&strChildrenRoom6=0&strChildrenRoom7=0&strChildrenRoom8=0&";
                hotelurl =trackingCodetravelguru+ hotelurl + dateString + "strCity=" +city +"&strCurrency=INR&strDestinationRatePlansTypeId=ALL&strDestinationType=WI&strGroupId=TGU&strRooms=1&strType=D";                        
                newwindow1 = window.open(hotelurl,'Travelguru','top=70,left=450,width=500,height=500,menubar=1,toolbar=1,location=1,scrollbars=1,resizable=1');
               if(!newwindow1 || newwindow1.closed)
                {
                  $(document).ready(function() {
                $.blockUI({
                    message: $('#displayBox'),
                    centerY: 0,
                    css: { top: '0px', left: '20px', right: '' }
                });                
                _iPopupTimer = setTimeout($.unblockUI, 10000);
            });
			
            return false;
                }
                newwindow1.focus();                      
           }
           
}
function trimHotel(str)
{if(str==null)
return"";if(str.length<1)
return"";var i=0;while(str.charAt(i)==' ')
i++;str=str.substr(i);i=str.length;while(str.charAt(--i)==' ');str=str.substr(0,(str.length+1+(i-str.length)));return str;}
function checkDateHotel(v,Z)
{var c=Z;var s=v;if(!(isDateHotel(s,0,c)))
{if(Z=='D')
{alert("The CheckIn date value is not valid!");return false;}
if(Z=='A')
{alert("The CheckOut date value is not valid!");return false;}}
else
{today=new Date();if(y>=today.getFullYear())
{if(y==today.getFullYear())
{if((m>=today.getMonth()+1))
{if(m==today.getMonth()+1)
{if(d>today.getDate())
{}
else
{return false;}}}
else
{return false;}}}
else
{return false;}
if(c=='D')
{dd=d;dm=m;dy=y;}
else
{rd=d;rm=m;ry=y;}
return true;}}
function DepRetDateHotel()
{if(ry>dy)
{return true;}
if(ry==dy)
{if(rm>dm)
{return true;}
if(rm==dm)
{if(rd>dd)
{return true;}
else
{alert("CheckOut Date should be greater than CheckIn Date");return false;}}
if(rm<dm)
{alert("CheckOut Date should be greater than CheckIn Date");return false;}
else if(rm<dm&&ry>dy)
{return true;}}
else
{alert("CheckOut Date should be greater than CheckIn Date");return false;}}
function isDigitHotel(theDigit)
{var digitArray=new Array('0','1','2','3','4','5','6','7','8','9'),j;for(j=0;j<digitArray.length;j++)
{if(theDigit==digitArray[j])
return true}
return false}
function isPositiveIntegerHotel(theString)
{var theData=new String(theString)
if(!isDigitHotel(theData.charAt(0)))
if(!(theData.charAt(0)=='+'))
return false
for(var i=1;i<theData.length;i++)
if(!isDigitHotel(theData.charAt(i)))
return false
return true}
function isDateHotel(s,f,c)
{var a1=s.split("/");var e=true;if((a1.length!=3))
{e=false;}
else
{if(a1.length==3)
var na=a1;if(isPositiveIntegerHotel(na[0])&&isPositiveIntegerHotel(na[1])&&isPositiveIntegerHotel(na[2]))
{if(f==1)
{d=na[1],m=na[0];}
else
{d=na[0],m=na[1];}
if(na[2]>2000)
y=eval(na[2]);else
y=parseInt(2000)+eval(na[2]);var today=new Date();var curyear=today.getFullYear();if(((e)&&(y<curyear)))
{e=false}
if(e)
{v=new Date(m+"/"+d+"/"+y);if(v.getMonth()!=m-1)
{e=false;}}}
else
{e=false;}}
return e}
function CheckVisibilty()
{}
function ChangeDepDt()
{cal3.hide();document.getElementById("toDate").focus();}
function HideDivHotel(div)
{if(document.getElementById(div))
{document.getElementById(div).innerHTML="";document.getElementById(div).style.visibility='hidden';}}
function HideIframeHotel(iframeId)
{var iframe=document.getElementById(iframeId);if(iframe)
{iframe.style.visibility='hidden';}}
function CloseCalender(pressevent)
{var charCode=(pressevent.which)?pressevent.which:(event.keyCode);if(charCode==27)
{if(charCode==27)
{cal3.hide();cal4.hide();}}}
function FormMouseClick()
{}
function populateControls()
{
    var selectedIdx = document.getElementById('cboRecentSearch').selectedIndex;
    if(selectedIdx > 0)
    {
        var Val = document.getElementById('cboRecentSearch').value;
        var Elements = Val.split(',');
        document.getElementById('drpHotelCity').value = Elements[0];
        document.getElementById('checkInDate').value = Elements[2];
        document.getElementById('checkOutDate').value = Elements[3];
        hotelCountShow();
//        var day = Elements[2].substring(0,2);
//        var month = Elements[2].substring(3,5);
//        var year = parseInt(Elements[2].substring(6,Elements[2].length));
//        cal3.select(month + "/" + day + "/" + year);           
//        cal3.setMonth(month-1);
//        cal3.setYear(year);
//        cal3.render();	
//        day = Elements[3].substring(0,2);
//        month = Elements[3].substring(3,5);
//        year = parseInt(Elements[3].substring(6,Elements[2].length));
//        cal4.select(month + "/" + day + "/" + year);           
//        cal4.setMonth(month-1);
//        cal4.setYear(year);
//        cal4.render();	
    }
    else
    {
        document.getElementById('drpHotelCity').value = "0";
        hotelCountShow();
        var today =new Date();
	    var one_day=1000*60*60*24*5;
	    var tmp =  Math.ceil((today.getTime())+(one_day));
 	    var date = new Date(tmp);
     	var d= date.getDate();
	    d= parseInt(d);
	    if(d<9)
	        d= "0" + d;	    
	    var m = date.getMonth();	
	    m= m+1;
	    if(m<10)
	        m = "0"+m;	    
	    var y = date.getFullYear();
	    document.getElementById('checkInDate').value = d+"/"+m+"/"+y;
//	    cal3.select(m + "/" + d + "/" + y);           
//        cal3.setMonth(m-1);
//        cal3.setYear(y);
//        cal3.render();	
	    today =new Date();
	    one_day=1000*60*60*24*8;
	    tmp =  Math.ceil((today.getTime())+(one_day));
 	    date = new Date(tmp);
     	d= date.getDate();
	    d= parseInt(d);
	    if(d<9)
	        d= "0" + d;	    
	    m = date.getMonth();	
	    m= m+1;
	    if(m<10)
	        m = "0"+m;	    
	    y = date.getFullYear();
	    document.getElementById("checkOutDate").value = d+"/"+m+"/"+y;
//	    cal4.select(m + "/" + d + "/" + y);           
//        cal4.setMonth(m-1);
//        cal4.setYear(y);
//        cal4.render();
    }
}

function trim(str) 
{if (str == null)return "";
if (str.length <1)return "";
      var i =0;
      while (str.charAt(i) == ' ')
      i++;
      str = str.substr(i);
      i = str.length;
      while (str.charAt(--i) == ' ')
      ;
      str = str.substr(0, (str.length + 1 + (i - str.length)));
      return str;
}
 //ajax function
    function ReceiveServerData2(arg , context)
{
    //alert(context);
    if(arg.indexOf("change") != -1 || arg.indexOf("forgot") != -1 || arg.indexOf("login") != -1 )
    {
        if(arg.split('#')[0] == "change")
        {
           UpdateChangePwdDiv(arg); 
        }
        else if(arg.split('#')[0] == "forgot")
        {
            UpdateForgotDiv(arg);
        }
        else
        {
            SignInTheUser(arg);        
        }
    }
    else if(arg.indexOf("newsletter") != -1)
    {        
        ShowResults(arg);
    }
    else if(arg.indexOf("referfriends") != -1)
    {        
        MailToFriends(arg);
    }
    else if(arg.indexOf("general") != -1)
    {
        ShowErrorForSpecialCharacters(arg);
    }
    else
    {        
         if(arg==0) 
         {
              arg=document.getElementById(txtName).value
              document.getElementById(cityInput).style.visibility='hidden';
              HideIframe('Message3Frame'); 
              HideIframe('Message4Frame'); 
         }
         else
         {
            NoOfList=arg.substring(arg.length-1,arg.length); 
            NoOfList=arg.substring(arg.length-1,arg.length);       
            if(toCheckVisibiltyOfDiv == true)
            {
                document.getElementById(cityInput).style.visibility='visible';
                document.getElementById(cityInput).innerHTML = arg.substring(0,arg.length - 4); 
                _highlightSuggestionIndex = 0;
                Highlight(0); 
                FillFrame();            
                value2 = arg;                       
            }
            else
            {
                toCheckVisibiltyOfDiv = true;
            }
         }
     }
}
function ProcessCallBackError(arg, context)
{
    Message4.innerText = 'An error has occurred.';
}

function isTravelCoups(dDate)
{
    var arr = dDate.split("/");
    var departureDate = new Date(arr[2], arr[1] - 1, arr[0]);
    var startDate = new Date(2012, 0, 10);
    var endDate = new Date(2012, 3, 30);
    var checkDate = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 0, 0, 0);
    checkDate.setDate(checkDate.getDate() + 5);
    
    if (departureDate < startDate || departureDate > endDate || departureDate <= checkDate)
        return false;
    
    return true;
}
