var err_msg = "";
function submit_form() {
    err_msg = "";
    document.getElementById("name_tr").className = "okdiv";
    document.getElementById("email_tr").className = "okdiv";
    document.getElementById("start_date_order_tr").className = "okdiv";
    document.getElementById("end_date_order_tr").className = "okdiv";
    document.getElementById("terms_tr").className = "okdiv";
    document.getElementById("code_tr").className = "okdiv";
	if (validate()) {
		var frm1 = document.getElementById("main_form");
        frm1.elements["sendForm"].disabled = true;
		frm1.submit();	
	}
}

function validate() {
	var frm1 = document.getElementById("main_form");

    if (frm1.elements["name"].value.length < 1)
	document.getElementById("name_tr").className ="errordiv";
	if (!checkmail(frm1.elements["email"].value))
        document.getElementById("email_tr").className ="errordiv";
	if (!startDate(frm1.elements["start_date_order"].value))
        document.getElementById("start_date_order_tr").className ="errordiv";
    if (!endDate(frm1.elements["end_date_order"].value, frm1.elements["start_date_order"].value))
        document.getElementById("end_date_order_tr").className ="errordiv";
    if (!frm1.elements["terms"].checked)
        document.getElementById("terms_tr").className ="errordiv";
    if (frm1.elements["code"].value != "paris365")
        document.getElementById("code_tr").className ="errordiv";

	if (frm1.elements["name"].value.length < 1) {
        err_msg = "Пожалуйста, заполните все обязательные поля.";
		alert_error();
        document.getElementById("name_tr").className ="errordiv";
        frm1.elements["name"].focus();
		return false;
	} else if (!checkmail(frm1.elements["email"].value)) {
        err_msg = "Please enter valid email.";
		alert_error();
        document.getElementById("email_tr").className ="errordiv";
        frm1.elements["email"].focus();
		return false;
	} else if (!startDate(frm1.elements["start_date_order"].value)) {
		alert_error();
        document.getElementById("start_date_order_tr").className ="errordiv";
        frm1.elements["start_date_order"].focus();
		return false;
	} else if (!endDate(frm1.elements["end_date_order"].value, frm1.elements["start_date_order"].value)) {
		alert_error();
        document.getElementById("end_date_order_tr").className ="errordiv";
        frm1.elements["end_date_order"].focus();
		return false;
	} else if (!frm1.elements["terms"].checked) {
        err_msg = "Пожалуйста, прочитайте условия аренды";
        alert_error();
        document.getElementById("terms_tr").className ="errordiv";
        frm1.elements["terms"].focus();
        return false;
    } else if (frm1.elements["code"].value != "paris365") {
        err_msg = "Введите правильно кодовое слово";
		alert_error();
        document.getElementById("code_tr").className ="errordiv";
        frm1.elements["code"].focus();
		return false;
    }
	return true;
}

function alert_error() {
	var div_error = document.getElementById("form_error");
    div_error.innerHTML = err_msg;
	div_error.style.display = "";
    location.href = "#form_error";
}

function checkmail(mail) {
 if (mail == "") {
    return false;
 }

 if (mail.indexOf(".") == -1) {
    return false;
 }

 dog = mail.indexOf("@");
 if (dog == -1) {
    return false;
 }

 if ((dog < 1) || (dog > mail.length - 5)) {
    return false;
 }

 if ((mail.charAt(dog - 1) == '.') || (mail.charAt(dog + 1) == '.')) {
    return false;
 }
 return true;
 }
 
 function clearField(obj) {
     obj.value = "";
 }

 function isDate(dtStr) {
     if (dtStr.length < 10) return false;
     var expr = /([\d]{1,2})\/([\d]{1,2})\/([\d]{4})/;
     var res  = expr.exec(dtStr);
     var D = new Date();
     if (res != null) {
        var D = new Date(res[3], res[2] - 1 , res[1]);
        if (D.toString() == 'Invalid Date') return false;
        else return true;
     } else {
         err_msg = "Пожалуйста, заполните все обязательные поля";
         return false;
     }
 }

function startDate(dtStr) {
    if (dtStr.length < 10) {
        err_msg = "Пожалуйста, заполните все обязательные поля";
        return false;
    }
     var expr = /([\d]{1,2})\/([\d]{1,2})\/([\d]{4})/;
     var res  = expr.exec(dtStr);
     var D = new Date();
     if (res != null) {
        var D = new Date(res[3], res[2] - 1 , res[1]);
        if (D.toString() == 'Invalid Date') {
            err_msg = "Пожалуйста, заполните все обязательные поля";
            return false;
        } else {
            var ToDay = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate());
            if (D < ToDay) {
                err_msg = "Дата прибытия не может быть меньше текущей даты";
                return false;
            } else return true;
        }
     } else {
         err_msg = "Пожалуйста, заполните все обязательные поля";
         return false;
     }
}

function endDate(dtStr, startDate) {
    if (dtStr.length < 10) {
        err_msg = "Пожалуйста, заполните все обязательные поля";
        return false;
    }
     var expr = /([\d]{1,2})\/([\d]{1,2})\/([\d]{4})/;
     var res  = expr.exec(dtStr);
     var D = new Date();
     if (res != null) {
        var D = new Date(res[3], res[2] - 1 , res[1]);
        if (D.toString() == 'Invalid Date') {
            err_msg = "Пожалуйста, заполните все обязательные поля";
            return false;
        } else {
            var res2  = expr.exec(startDate);
            if (res2 == null) {
                err_msg = "Пожалуйста, заполните все обязательные поля";
                return false;
            }
            var sD = new Date(res2[3], res2[2] - 1 , res2[1]);
            if (sD.toString() == 'Invalid Date') {
                err_msg = "Пожалуйста, заполните все обязательные поля";
                return false;
            }
            if (D <= sD) {
                err_msg = "Дата отъезда не может быть меньше даты прибытия";
                return false;
            }
            else return true;
        }
     } else {
         err_msg = "Пожалуйста, заполните все обязательные поля";
         return false;
     }
     
}


