/**/
var required = new Array("contact_en[name]", "contact_en[email]", "contact_en[body]");
var required_show = new Array("Your name", "Your e-mail", "Questions, Offers, Wish");
var required_preg = new Array("word", "email", "wordAll");
var required_length = new Array("40", "40", "400");
$(function () {
    var curD = new Date();
    var curDay = curD.getDate();
    $("#checkIn").datepicker({
        minDate: new Date(curD.getFullYear(), addZero((parseInt(curD.getMonth()))), addZero(curD.getDate())),
        dateFormat: 'yy-mm-dd',
        numberOfMonths: 2,
        onSelect: function (dateText, inst) {
            var m = new Date($('#checkIn').datepicker('getDate'));
            var s = new Date($('#checkIn').datepicker('getDate'));
            m.setDate(m.getDate() + 1);
            s.setDate(s.getDate() + 1);
            $('#checkOut').datepicker('option', 'minDate', m);
            $('#checkOut').datepicker('setDate', s)
        }
    });
    curD.setDate(curDay + 1);
    $("#checkOut").datepicker({
        minDate: new Date(curD.getFullYear(), addZero((parseInt(curD.getMonth()))), addZero(curD.getDate())),
        dateFormat: 'yy-mm-dd'
    });
    $('#buttonSHC').click(function () {
        showLoad();
        var sendData = {};
        var dIn = new Date($('#checkIn').datepicker('getDate'));
        var dOut = new Date($('#checkOut').datepicker('getDate'));
        sendData.NumberOfAdults = $('#adults').val();
        sendData.NumberOfChildren = 0;
        sendData.NumberOfRooms = $('#rooms').val();
        sendData.charset = 'UTF-8';
        sendData.city = 'ROME';
        sendData.cityId = 11643;
        sendData.currency = 'USD';
        sendData.dtIn = dIn.getDate();
        sendData.dtOut = dOut.getDate();
        sendData.mnIn = dIn.getMonth() + 1;
        sendData.mnOut = dOut.getMonth() + 1;
        if (typeof $('#pc').val()) {
            sendData.curHotel = 1;
            sendData.pc = $('#pc').val();
        }
        $.ajax({
            type: "POST",
            url: "/bookrome/bookhotels.php?type=valid",
            dataType: "xml",
            data: sendData,
            success: function (msg) {
                var response = msg.getElementsByTagName("Response");
                if (response[0].getAttribute("status") == "Success") {
                    try {
                        if ($("customUrl", msg).length > 0) {
                            window.location = $("customUrl", msg).text();
                            return false;
                        }
                    } catch (e) {}
                    var rid = msg.getElementsByTagName("rid");
                    var pid = msg.getElementsByTagName("pid");
                    var uid = msg.getElementsByTagName("uid");
                    var searchURL = "/bookrome/index.php?action=mp&uid=" + uid[0].textContent + "&rid=" + rid[0].textContent + "&pid=" + pid[0].textContent;
                    window.parent.location = searchURL;
                    return false;
                } else {
                    try {
                        var Error = msg.getElementsByTagName("Error");
                        alert(Error[0].textContent);
                    } catch (e) {
                        alert('Error');
                    }
                }
                hideLoad();
            }
        });
    });
    $("#showHotel").click(function () {
        $.ajax({
            type: "GET",
            url: "/showHotel.php",
            dataType: "html",
            data: {
                pc: window.location.pathname
            },
            success: function (msg) {
                $("#mainHotelInfo").html(msg);
                $("#mainHotelInfo").animate({
                    opacity: "show"
                }, "slow");
            }
        });
        return false;
    });
});

function showLoad() {
    $('#showLoad').addClass('showLoading');
}

function hideLoad() {
    $('#showLoad').removeClass('showLoading');
}

function setTodayDate() {
    return false;
}

function addZero(num) {
    if (num.toString().length == 1) {
        return '0' + parseInt(num);
    }
    return num;
}

function reloadImg() {
    try {
        img = document.getElementById('img_cap');
        img.src = '/kcaptcha/index.php?' + Math.random();
    } catch (e) {}
    return false;
}

function SendForm(form, lang) {
    var i, j;
    for (j = 0; j < required.length; j++) {
        for (i = 0; i < form.length; i++) {
            if (form.elements[i].name == required[j]) {
                fieldCheck = new checkField(form.elements[i], required_show[j], 'en')
                if (fieldCheck.ch_len(required_length[j])) {
                    if (required_preg[j] == 'word') {
                        if (!fieldCheck.ch_wor()) {
                            form.elements[i].focus();
                            return false;
                        }
                    } else if (required_preg[j] == 'wordAll') {
                        if (!fieldCheck.ch_wor_a()) {
                            form.elements[i].focus();
                            return false;
                        }
                    } else if (required_preg[j] == 'email') {
                        if (!fieldCheck.ch_mail()) {
                            form.elements[i].focus();
                            return false;
                        }
                    } else if (required_preg[j] == 'number') {
                        if (!fieldCheck.ch_num()) {
                            form.elements[i].focus();
                            return false;
                        }
                    } else {
                        return false;
                    }
                } else {
                    return false;
                }
            }
        }
    }
    return true;
}

function checkField(obj, name_field, lan) {
    if (lan == null || lan == 'undefined') {
        this.curlan = 'en';
    } else {
        this.curlan = lan;
    }
    if (obj.type == 'textarea') {
        this.obj = obj.value;
    }
    if (obj.type == 'select-one') {
        this.obj = obj.selectedIndex;
    }
    if (obj.type == 'text') {
        this.obj = obj.value;
    }
    this.curlen = 0;
    this.field = name_field;
    this.ch_len = check_length;
    this.ch_wor = check_wor;
    this.ch_wor_a = check_wor_all;
    this.ch_num = check_num;
    this.ch_mail = check_email;
    this.er_form = false;
    this.sms_lan = get_sms_lan;
}

function get_sms_lan(num_str) {
    if (num_str == 1) {
        return 'In field ' + this.field + '\n Possible ' + this.curlen + 'symbols, beside You ' + this.obj.length;
    } else if (num_str == 2) {
        return 'Invalid field ' + this.field + '\n Are Allowed symbols: a-z A-Z But-I but-I 0-9 gaps';
    } else if (num_str == 3) {
        return 'The Invalid field ' + this.field + '\n Are Allowed the symbols: a-z A-Z But-I but-I 0-9 gaps . , - _! ? : ( )';
    } else if (num_str == 4) {
        return 'Invalid field ' + this.field;
    } else if (num_str == 5) {
        return 'Invalid field ' + this.field + '\n Are Allowed symbols: 0-9';
    } else {
        return 'Error: ' + this.field;
    }
}

function check_length(count) {
    this.curlen = count;
    if (this.obj.length > count) {
        alert(this.sms_lan(1));
        return false;
    } else {
        return true;
    }
}

function check_wor() {
    valid_val = this.obj.match(/^[^\u0021-\u002f\u003a-\u0040\u005b-\u0060]+$/);
    if (valid_val) {
        return true;
    } else {
        alert(this.sms_lan(2));
        this.er_form = true;
        return false;
    }
}

function check_wor_all() {
    valid_val = this.obj.match(/^[^\u0022-\u0027\u002a-\u002b\u003c-\u003e\u005b-\u0060\u007c-\u007f\u002f\u002d]+$/);
    if (valid_val) {
        return true;
    } else {
        alert(this.sms_lan(3));
        this.er_form = true;
        return false;
    }
}

function check_email() {
    valid_val = this.obj.match(/^[a-z0-9]+([-_\.]?[a-z0-9])+@[a-z0-9]+([-_\.]?[a-z0-9])+\.[a-z]{2,4}/);
    if (valid_val) {
        return true;
    } else {
        alert(this.sms_lan(4));
        this.er_form = true;
        return false;
    }
}

function check_num() {
    valid_val = this.obj.match(/^[0-9]+$/);
    if (valid_val) {
        return true;
    } else {
        alert(this.sms_lan(5));
        return false;
    }
}
