var errObj;
var vMs = new Array("Single room", "Double room", "Triple room","Suite","Apartments","Persons","Children");
var vIDs = new Array("Singleroom", "Doubleroom", "Tripleroom","Suite","Apartments","Persons","Children");
var vArr = new Array(0,0,0,0,0,0,0);
function addImages(){
    var sendDown = new Image(67,33);
    sendDown.src = "send_down.gif";
    var clearDown = new Image(67,33);
    clearDown.src = "clear_down.gif"
}
function bDown(obj){
    obj.src = obj.name+"_down.gif";
}
function bOut(obj){
    obj.src = obj.name+"_out.gif";
}
function checkClear(obj){
    if(!window.confirm(sMess3)) {bOut(obj);return;}
    clearVals();bOut(obj);
}
function checkSend(obj){
    var resCheck = checkInfo();
    if (resCheck == false) { bOut(obj);return;}
    if(window.confirm(resCheck+"\n"+sMess2)) {
        document.getElementById("eMessage").value=resCheck;
        document.getElementById("form1").submit();
    }
    else {bOut(obj);return;}
    bOut(obj); clearVals();
}
function clearVals(){
    document.getElementById("Name").value="";
    document.getElementById("Surname").value="";
    document.getElementById("Singleroom").value="";
    document.getElementById("Doubleroom").value="";
    document.getElementById("Tripleroom").value="";
    document.getElementById("Suite").value="";
    document.getElementById("Apartments").value="";
    document.getElementById("Children").value="";
    document.getElementById("Persons").value="";
    document.getElementById("checkbox").checked=false;
    document.getElementById("Phone").value="";
    document.getElementById("eMail").value="";
    document.getElementById("txt1").value="";
    document.getElementById("txt2").value="";
}
function isInteger(v){
    // lets check, if the value is numeric
    for(j=0; j<v.length;j++){
        var cStr = new String(v.substr(j,1));
        if (isNaN(parseInt(cStr))) return false;
    }
    return true;
}
function trim(str){
	var wStr = new String();
	var tStr = new String();
	wStr = str;
	while (wStr.length != 0 && wStr.charAt(wStr.length - 1) == " "){
		tStr = wStr.substr(1, wStr.length -1);
		wStr = tStr;
	}
	return wStr;
}
function checkRooms(){
//    var vMs = new Array("Single room", "Double room", "Triple room","Suite","Apartments","Persons","Children");
//    var vIDs = new Array("Singleroom", "Doubleroom", "Tripleroom","Suite","Apartments","Persons","Children");
    vArr = new Array(0,0,0,0,0,0,0);
    var cNt = vIDs.length;
    // lets get information
    for (i=0; i<cNt; i++){
        var obj = document.getElementById(vIDs[i]);
        var val = new String(trim(obj.value));
        if (val.length ==0) continue;
        if(!isInteger(val)) {
            alert("The value of \'"+vMs[i]+"\' must be integer!");
            errObj = obj;
            return null;
        }
        vArr[i] = parseInt(val);
    }
    return true;
}
function checkPhone(){
    var obj = document.getElementById("Phone");
    var vPhone = trim(obj.value);
    while((iPos = vPhone.search(" ")) != -1){
        vPhone = vPhone.replace(" ","");
    }
    if (vPhone.charAt(0) == "+") vPhone = vPhone.substr(1);
    if(!isInteger(vPhone)){
        alert("Invalid phone number!");
        errObj = obj;
        return null;
    }
    return trim(obj.value);
}
function checkMail(){
    var obj = document.getElementById("eMail");
    checkThisEmail = trim(obj.value);
    if(checkThisEmail.length == 0) return checkThisEmail;
    var myEMailIsValid = true;
    var myAtSymbolAt = checkThisEmail.indexOf('@');
    var myLastDotAt = checkThisEmail.lastIndexOf('.');
    var mySpaceAt = checkThisEmail.indexOf(' ');
    var myLength = checkThisEmail.length;
    // at least one @ must be present and not before position 2
    // @yellow.com : NOT valid
    // x@yellow.com : VALID
    if (myAtSymbolAt < 1 ) {myEMailIsValid = false}
    // at least one . (dot) afer the @ is required
    // x@yellow : NOT valid
    // x.y@yellow : NOT valid
    // x@yellow.org : VALID
    if (myLastDotAt < myAtSymbolAt) {myEMailIsValid = false}
    // at least two characters [com, uk, fr, ...] must occur after the last . (dot)
    // x.y@yellow. : NOT valid
    // x.y@yellow.a : NOT valid
    // x.y@yellow.ca : VALID
    if (myLength - myLastDotAt <= 2) {myEMailIsValid = false}
    // no empty space " " is permitted (one may trim the email)
    // x.y@yell ow.com : NOT valid
    if (mySpaceAt != -1) {myEMailIsValid = false}
    if(myEMailIsValid) return checkThisEmail;
    else{
        alert("Invalid eMail value!");
        return null;
    }
}
function checkInfo(){
    if (!checkDat(fromDate, toDate)) return false;
    // must fill variables: Name, Surname
    // one of rooms
    // Persons
    var fName = new String(document.getElementById("Name").value);
    if (fName.length == 0) {
        alert("You should fill the \'Name\' value!");
        document.getElementById("Name").focus();
        return false;
    }
    var sName = new String(document.getElementById("Surname").value);
    if (sName.length == 0) {
        alert("You should fill the \'Surname\' value!");
        document.getElementById("Surname").focus();
        return false;
    }
    if(!checkRooms()) {
        errObj.focus();return false;
    } else {
        if (vArr[0]==0 && vArr[1]==0 && vArr[2]==0 && vArr[3]==0 && vArr[4]==0){
            alert("You should select&fill count of the one of the rooms!");
            return false;
        }
    }
    var pHone = checkPhone();
    if(pHone == null) return false;
    var eMail = checkMail();
    if(eMail == null) return false;
    if((pHone.length == 0) && (eMail.length == 0)){
        alert("You shuld fill your contact information (phone or eMail)!");
        return false;
    }
    var mailMess = "Name/SurName: "+fName+" "+sName+"\n";
    var fDate = fromDate.getDateObj();
    var tDate = toDate.getDateObj();
    mailMess += "Arrival: "+fDate.getDate()+"/"+(fDate.getMonth())+"/"+fDate.getFullYear()+
        " Departure:"+tDate.getDate()+"/"+(tDate.getMonth())+"/"+tDate.getFullYear()+"\n";
    for(i2=0;i2<=6;i2++){
        if(vArr[i2] !=0) mailMess += vMs[i2] + ":" + vArr[i2] + "\n";
    }
    var halfBoard = document.getElementById("checkbox").checked;
    if(halfBoard) mailMess += "With halfboard"+'\n';
    var addInfo = "";
    addInfo += "\n"+document.getElementById("txt1").value;
    addInfo += "\n"+document.getElementById("txt2").value;
    mailMess += "\n"+addInfo+"\n";
    mailMess += "Contact: "+((pHone.length!=0)?pHone:"")+" "+((eMail.length!=0)?eMail:"")+'\n';
    return mailMess;
}
