var dateNow = new Date();
var thisDay = dateNow.getDate();
var curMonth = dateNow.getMonth();
var curYear = dateNow.getFullYear();
var nextYear = curYear + 1;
var months = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");

function addOptionList(selectbox,text,value )
{
 for( var m=curMonth; m < months.length; m++) {

addOption(document.quickbook.monDate1, months[m] + " " + curYear, (m +1) + "/"  + curYear );
addOption(document.quickbook.monDate2, months[m] + " " + curYear, (m +1) + "/"  + curYear );
}
 for( var h=1; h < 32; h++) {
 if( thisDay == h) {

 addOption(document.quickbook.domDate1,  h  , h + "\" selected =\"selected" );
 addOption(document.quickbook.domDate2,  h  , h + "\" selected =\"selected" );
 }
 else{
  addOption(document.quickbook.domDate1, h , h );
 addOption(document.quickbook.domDate2, h , h );

 
 }

 }
} 
function addOption(selectbox,text,value )
{
var optn = document.createElement("OPTION");
optn.text = text;
optn.value = value;
selectbox.options.add(optn);
}
function makeDate(sField) {
    var sTempName = sField.name.slice(3);
    var sForm = document.forms['quickbook'];
    var sMonthYear = eval("sForm.mon" + sTempName + ".options[sForm.mon" + sTempName + ".selectedIndex].value");
    var sDayOfMonth = eval("sForm.dom" + sTempName + ".options[sForm.dom" + sTempName + ".selectedIndex].value");

    sForm.elements[sTempName].value = sDayOfMonth + "/" + sMonthYear;
}

function checkAvail() {
    var theForm, sArrive, sDepart;

    theForm = document.forms['quickbook'];
    sArrive = theForm.Date1.value;
    sDepart = theForm.Date2.value;

    if (!sArrive) {
        sArrive = thisDay + "/" + (curMonth + 1) + "/" + curYear;
    }
    if (!sDepart) {
        sDepart = (thisDay + 1) + "/" + (curMonth + 1) + "/" + curYear;
    }

    //document.location.href = "https://reservations.synxis.com/opbe/rez.aspx?chain=5205&hotel=11050&adult=1&lang=1&locale=en-gb&arrive=" + sArrive + "&depart=" + sDepart;
   document.location.href = "https://gc.synxis.com/rez.aspx?Hotel=11050&Chain=10175&template=Stafford-Template&shell=Stafford-Shell&lang=26&arrive=" + sArrive + "&depart=" + sDepart + "&locale=en-gb&adult=1";
}

function checkrequired(formname) {

    var pass = 0, box = 0, theForm;
    theForm = document.forms[formname];

    if (document.images) {
        for (i = 0; i < theForm.length; i++) {
            var tempobj = theForm.elements[i];
            if (tempobj.name.substring(0, 1) == "*") {

                if (((tempobj.type == "text" || tempobj.type == "textarea") &&
				tempobj.value == '') || (tempobj.type.toString().charAt(0) == "s" &&
				tempobj.selectedIndex == 0)) {
                    pass = 1;
                    break;
                }
            }
        }

        if (pass == 1) {
            shortFieldName = tempobj.name.substring(1, 30).toUpperCase();
            alert("Please make sure the " + shortFieldName + " field is properly filled in.");
        } else {
            theForm.submit();
        }
    }
}
function notEmpty(elem, helperMsg){
	if(elem.value.length == 0){
	alert(helperMsg)
		elem.focus();
		return false;
	}
	return true;
}
function validate_email(field,alerttxt)
{
with (field)
{
apos=value.indexOf("@");
dotpos=value.lastIndexOf(".");
if (apos<1||dotpos-apos<2) 
  {alert(alerttxt);return false;}
else {return true;}
}
}

function stafford_email_validate_form(thisform)
{
with (thisform)
{

if (notEmpty(firstname,"A first name is required")==false)
  {firstname.focus();return false;}

if (notEmpty(lastname,"A last name is required")==false)
  {lastname.focus();return false;}
  
  if (validate_email(email,"A valid e-mail address is required")==false)
  {email.focus();return false;}

if (notEmpty(pcode,"A  post code is required")==false)
  {pcode.focus();return false;}

}
}

function emailCheck(thisControl) {
    var emailStr = thisControl.value

    if (emailStr != "") {
        var emailPat = /^(.+)@(.+)$/
        var specialChars = "\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
        var validChars = "\[^\\s" + specialChars + "\]"
        var quotedUser = "(\"[^\"]*\")"
        var ipDomainPat = /^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
        var atom = validChars + '+'
        var word = "(" + atom + "|" + quotedUser + ")"
        var userPat = new RegExp("^" + word + "(\\." + word + ")*$")
        var domainPat = new RegExp("^" + atom + "(\\." + atom + ")*$")
        var matchArray = emailStr.match(emailPat)
        if (matchArray == null) {
            alert("Email address seems incorrect (check @ and .'s)")
            thisControl.select()
            thisControl.focus()
            return false
        }
        var user = matchArray[1]
        var domain = matchArray[2]

        if (user.match(userPat) == null) {
            alert("The username doesn't seem to be valid.")
            thisControl.select()
            thisControl.focus()
            return false
        }

        var IPArray = domain.match(ipDomainPat)
        if (IPArray != null) {
            for (var i = 1; i <= 4; i++) {
                if (IPArray[i] > 255) {
                    alert("Destination IP address is invalid.")
                    thisControl.select()
                    thisControl.focus()
                    return false
                }
            }
            return true
        }

        var domainArray = domain.match(domainPat)
        if (domainArray == null) {
            alert("The domain name doesn't seem to be valid.")
            thisControl.select()
            thisControl.focus()
            return false
        }

        var atomPat = new RegExp(atom, "g")
        var domArr = domain.match(atomPat)
        var len = domArr.length
        if (domArr[domArr.length - 1].length < 2 || domArr[domArr.length - 1].length > 3) {
            alert("The address must end in a three-letter domain, or two letter country.")
            thisControl.select()
            thisControl.focus()
            return false
        }

        if (len < 2) {
            var errStr = "This address is missing a hostname!"
            alert(errStr)
            thisControl.select()
            thisControl.focus()
            return false
        }
        return true;
    } else {
        return false;
    }
}