// JavaScript Document
function IsEmailValid(str)
	{
	 //str=document.join_form.email.value;
	var retval=true;
	var AtSym=str.indexOf('@');				
	var Period=str.lastIndexOf('.');		
	var Space=str.indexOf(' ');				
	var Length=str.length-1;
	var index = str.indexOf('@');
    	var substr = str.substring(index+1);
    	var index2 = substr.indexOf('@');
	if ((AtSym<1)||(str.charAt(0)=='_')||(str.charAt(Length)=="_")||				//'@' can't be in first position
		(str.indexOf(".")<=AtSym+1)||
		(str.indexOf("_")==AtSym+1)||(str.charAt(AtSym-1)=="_")||
		(Period<=AtSym+1)||					//Must be atleast one valid char between '@' and '.'
		(Period==Length)||					//Must be atleast one valid char after '.'
		((Space>0) && (Space!=Length))||
		(index2 != -1))                       //No empty spaces permitted
		{
		       //alert("Enter proper mail ID");
			   //document.join_form.email.focus();
			   return false;
		}	   
			  return true;
	
}
function EmailValidation(Element)
	{
		Flag  = 1;
		count = 0;
	
		var alp = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@.-";
		
		if(Element.value.length > 0)
		{
			for (var i=0; i<Element.value.length; i++)
			{
				temp = Element.value.substring(i, i+1);
	
				if (alp.indexOf(temp) == -1)
				{
					Flag = 0;
				}
			} // closing the for loop
		}
		else
		{
			Flag = 0;
		}
	
		for(var i=0; i <= Element.value.length; i++)
		{
			if(Element.value.charAt(0)=='@')
			{
				Flag = 0;
				break;
			}

			if(Element.value.charAt(Element.value.length-1)=='@')
			{
				Flag = 0;
				break;
			}

			if(Element.value.charAt(i)=='@') 
			{
				count = count + 1;

				if(count>1)
				{
					Flag = 0;
					break;
				}
			  
				if((Element.value.charAt(i-1)=='.') || (Element.value.charAt(i+1)=='.'))
				{
					Flag = 0;
					break;
				}
			}
			if(Element.value.indexOf('@')==-1)
			{
				Flag = 0;		    	
				break;
			}
			if(Element.value.charAt(0)=='.')
			{
				Flag = 0;
				break;
			}
			if(Element.value.indexOf('.')==-1)
			{
				Flag = 0;		    	
				break;
			}
		  } //closing the for loop
		
		if(Element.value.charAt(Element.value.length-1) == '.')
			Flag = 0;
			
		if(Flag != 1)
		{
			alert("Invalid Email Address");
			Element.focus();
			return 0;
		}	
		else
		{
			return 1;
		}
	}

function stripCharsInBag (s, bag)
{   
	var i;
    var returnString = "";
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function check()
{
	if(document.mailus.msg.value == "")
	{
		alert("Enter Your Message ");
		document.mailus.msg.focus();
		return false;
	}
	if(document.mailus.name.value == "")
	{
		alert("Enter Your Name ");
		document.mailus.name.focus();
		return false;
	}
	if(document.mailus.email.value == "")
	{
		alert("Enter Proper Email Id ");
		document.mailus.email.focus();
		return false;
	}
	if(document.mailus.dname.value == "")
	{
		alert("Enter Your Domain Name ");
		document.mailus.dname.focus();
		return false;
	}
return true;
}
function namecheck()
{
	var frm = window.document.contact;
	if( stripCharsInBag (frm.name.value, " ") == "" )
	{
		alert("Enter Your Name ");
		frm.name.focus();
		return false;
	}
	if( stripCharsInBag (frm.phone.value, " ") == "" )
	{
		alert("Enter Your Phone No. ");
		frm.phone.focus();
		return false;
	}
	
	if(isNaN(frm.phone.value))
	{
		alert("Enter Your Phone No. Only in Numerics");
		frm.phone.focus();
		return false;
	}
	
	if(EmailValidation(frm.email) == 0)
	{
		return false;
	}
	if( stripCharsInBag (frm.subject.value, " ") == "" )
	{
		alert("Enter Subject ");
		frm.subject.focus();
		return false;
	}
	if( stripCharsInBag (frm.msg.value, " ") == "" )
	{
		alert("Enter Message ");
		frm.msg.focus();
		return false;
	}
return true;
}

<!-- NOTE: DO NOT MODIFY THIS JAVASCRIPT BLOCK -->

    var adultsPerRoom=new Array(defaultAdults);
    var childrenPerRoom=new Array();
    var childAgesPerRoom=new Array();
    var numRooms=1;
    var maxChildren=0;

    refresh();

    function setChildAge(room, child, age) {
        if (childAgesPerRoom[room] == null) {
            childAgesPerRoom[room] = new Array();
        }
        childAgesPerRoom[room][child] = age;
    }

    function setNumAdults(room, numAdults) {
        adultsPerRoom[room] = numAdults;
    }

    function setNumChildren(room, numChildren) {
        childrenPerRoom[room] = numChildren;
        refresh();
    }

    function setNumRooms(x) {
        numRooms = x;
        for (i = 0; i < x; i++) {
            if (adultsPerRoom[i] == null) {
                adultsPerRoom[i] = 2;
            }
            if (childrenPerRoom[i] == null) {
                childrenPerRoom[i] = 0;
            }
        }
        refresh();
    }

    function renderRoomSelect() {
        var x = '';
        x += '<select name="numberOfRooms" onchange="setNumRooms(this.options[this.selectedIndex].value);">';
        for (var i = 1; i < 9; i++) {
            x += '<option value="'+i+'"'+(numRooms == i ? ' selected' : '')+'>' + i;
        }
        x += '<option value="9"'+(numRooms == 9 ? ' selected' : '')+'>9+';
        x += '</select>';
        return x;
    }

    function refresh() {
        maxChildren = 0;
        for (var i = 0; i < numRooms; i++) {
            if (childrenPerRoom[i] > maxChildren) {
                maxChildren = childrenPerRoom[i];
            }
        }

        var x = '';
        if (adultHelp.length > 0) {
            x = adultHelp + "<p>\n";
        }

        if (numRooms > 8) {
            x += textRooms;
            x += renderRoomSelect();

        } else {
            x += '<table border="0" cellspacing="2" cellpadding="0">\n';
            x += '<tr><td'+cellStyle+'>'+textRooms+pad+'</td>';
            if (numRooms > 1) {
                x += '<td'+cellStyle+'>&nbsp;</td>';
            }
            x +='<td'+cellStyle+'><nobr>'+textAdults+pad+'</nobr></td><td'+cellStyle+'><nobr>'+textChildren+pad+'</nobr></td></tr>\n';
			  for (var i = 0; i < numRooms; i++) {
                x += '<tr><td'+cellStyle+'>';
                if (i == 0) {
                    x += renderRoomSelect();
                } else {
                    x += '&nbsp;';
                }
                x += '</td>';
                if (numRooms > 1) {
                 x += '<td'+cellStyle+'><nobr>'+getValue(textRoomX,i+1)+pad + '</nobr></td>';
                }
                x += '<td'+cellStyle+'>';
                x += buildSelect('room-' + i + '-adult-total','setNumAdults(' + i + ', this.options[this.selectedIndex].value)', 1, 4,adultsPerRoom[i]);
                x += '</td><td'+cellStyle+'>';
                x += buildSelect('room-' + i + '-child-total','setNumChildren(' + i + ', this.options[this.selectedIndex].value)', 0, 6,childrenPerRoom[i]);
                x += '</td></tr>\n';
            }
            x += '</table>\n';

            var didHeader = false;
            for (var i = 0; i < numRooms; i++) {
                if (childrenPerRoom[i] > 0) {
                    if (!didHeader) {
                        x += '<table border="0" cellpadding="0" cellspacing="2">\n';
                        x += '<tr><td'+cellStyle+' colspan="'+(maxChildren+1)+'">';
                        x += '<img src="http://travel.ian.com/images/p.gif" width="1" height="5"><br>';
                        x += childHelp;
                        x += '<img src="http://travel.ian.com/images/p.gif" width="1" height="5"><br>';
                        x +='</td></tr>\n<tr><td'+cellStyle+'>&nbsp;</td>';
                        for (var j = 0; j < maxChildren; j++) {
                            x +='<td'+cellStyle+'><nobr>'+getValue(textChildX, j+1)+pad+'</nobr></td>\n';
                        }
                        didHeader = true;
                    }
                    x +=
'</tr>\n<tr><td'+cellStyle+'><nobr>'+getValue(textRoomX,i+1)+pad+'</nobr></td>';
                    for (var j = 0; j < childrenPerRoom[i]; j++) {
                        x += '<td'+cellStyle+'>';
                        var def = -1;
                        if (childAgesPerRoom[i] != null) {
                            if (childAgesPerRoom[i][j] != null) {
                                def = childAgesPerRoom[i][j];
                            }
                        }
                        x += '<select name="room-'+i+'-child-'+j+'-age" onchange="setChildAge('+i+', '+j+',this.options[this.selectedIndex].value);">';
                        x += '<option value="-1"'+(def == -1 ? ' selected' : '')+'>-?-';
                        x += '<option value="0"'+(def == 0 ? ' selected' : '')+'>&lt;1';
                        for (var k = 1; k <= 18; k++) {
                            x += '<option value="'+k+'"'+(def == k ? 'selected' : '')+'>'+k;
                        }
                        x += '</td>';
                    }
                    if (childrenPerRoom[i] < maxChildren) {
                        for (var j = childrenPerRoom[i]; j < maxChildren;
j++) {
                            x += '<td'+cellStyle+'>&nbsp;</td>';
                        }
                    }
                    x += '</tr>\n';
                }
            }
            if (didHeader) {
                x += '</table>\n';
            }
        }

        document.getElementById("hot-search-params").innerHTML = x;
    }

    function buildSelect(name, onchange, min, max, selected) {
        var x = '<select name="' + name + '"';
        if (onchange != null) {
            x += ' onchange="' + onchange + '"';
        }
        x +='>\n';
        for (var i = min; i <= max; i++) {
            x += '<option value="' + i + '"';
            if (i == selected) {
                x += ' selected';
            }

            x += '>' + i + '\n';
        }
        x += '</select>';
        return x;
    }

    function validateGuests(form) {
        if (numRooms < 9) {
            var missingAge = false;
            for (var i = 0; i < numRooms; i++) {
                var numChildren = childrenPerRoom[i];
                if (numChildren != null && numChildren > 0) {
                    for (var j = 0; j < numChildren; j++) {
                        if (childAgesPerRoom[i] == null ||
childAgesPerRoom[i][j] == null || childAgesPerRoom[i][j] == -1) {
                            missingAge = true;
                        }
                    }
                }
            }

            if (missingAge) {
                alert(textChildError);
                return false;
            } else {
                return true;
            }
        } else {
            return true;
        }
    }

    function submitGuestInfoForm(form) {
        if (!validateGuests(form)) {
            return false;
        }

        return true;
    }

    function getValue(str, val) {
        return str.replace(/\?/g, val);
    }
        loadDates();