var contextPath = "/app";
var url_transform = contextPath + "/transform/servlets/transform.servlets.Transform";
var version = "5.1";
var url_public = "http://hotel2.axiell.com/public";
var charset_encoding_default = "iso-8859-1";
var browser_name;
var browser_ver;
get_browser();

function encode_uri(str_in, charset_encoding) {
    var preserve_char = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz$-_.!*()";
    var str_out = "";
    if (charset_encoding && !isEmpty(charset_encoding))
        charset_encoding = charset_encoding.toLowerCase();
    else
        charset_encoding = charset_encoding_default;
    for (var i = 0; i < str_in.length; i++) {
        var c = str_in.charAt(i);
        if (preserve_char.indexOf(c) != -1)
            str_out += c;
        else if (c == ' ')
            str_out += '+';
        else if (c <= '~' || charset_encoding == "iso-8859-1") {
            if (c.charCodeAt) {
                var code = c.charCodeAt(0);
                if (code < 256)
                    str_out += '%' + new Number(code).toString(16);
            }
            else
                str_out += escape(c);
        }
        else if (encodeURI) {
            str_out += encodeURI(c);
        }
    }
  // alert("encoding: "+charset_encoding+" str_in: "+str_in+" str_out: "+str_out);
    return str_out;
}

function get_search_param(search, param) {
    var s = search;
    var pos = s.indexOf('?');

    if (pos >= 0) {
        s = s.substr(pos + 1);
    }
    while ((pos = s.indexOf('=')) >= 0) {
        var name;
        var value;

        name = s.substr(0, pos);
        s = s.substr(pos + 1);
        if ((pos = s.indexOf("&")) >= 0) {
            value = s.substr(0, pos);
            s = s.substr(pos + 1);
        }
        else {
            value = s;
            s = "";
        }
        if (name == param) {
            // alert(param+"="+value);
            return value;
        }
    }
  // alert(param+"=null");
    return null;
}

function remove_search_param(search, param) {
    var s = search;
    var search = "";
    var pos = s.indexOf('?');

    if (pos >= 0) {
        s = s.substr(pos + 1);
    }
    while ((pos = s.indexOf('=')) >= 0) {
        var name;
        var value;

        name = s.substr(0, pos);
        s = s.substr(pos + 1);
        if ((pos = s.indexOf("&")) >= 0) {
            value = s.substr(0, pos);
            s = s.substr(pos + 1);
        }
        else {
            value = s;
            s = "";
        }
        if (name != param) {
            search += ((search == "") ? '?' : '&') + name + "=" + value;
        }
    }
  // alert("search="+search);
    return search;
}

function get_browser() {
    var ua = navigator.userAgent;
    var pos;

    pos = ua.indexOf("Opera");
    if (pos >= 0) {
        browser_name = "Opera";
        browser_ver = parseFloat(ua.substr(pos + browser_name.length + 1, 4));
    }
    else {
        browser_name = navigator.appName;
        if (browser_name == "Netscape") {
            pos = ua.indexOf("Netscape");
            if (pos >= 0)
                browser_ver = parseFloat(ua.substr(pos + browser_name.length + 1, 4));
        }
        else if (browser_name == "Microsoft Internet Explorer") {
            pos = ua.indexOf("MSIE");
            if (pos >= 0)
                browser_ver = parseFloat(ua.substr(pos + ("MSIE").length + 1, 4));
        }
    }
    if (!browser_ver || isNaN(browser_ver))
        browser_ver = parseFloat(navigator.appVersion);
  //alert("browser: "+browser_name+" ver: "+browser_ver+" userAgent: "+navigator.userAgent+" appVersion: "+navigator.appVersion);
}

function verify_browser(ver_explorer, ver_nestcape, ver_opera, ver_unknown) {
    if (browser_name == "Microsoft Internet Explorer" && ver_explorer && browser_ver >= ver_explorer || browser_name == "Netscape" && ver_netscape && browser_ver >= ver_netscape || browser_name == "Opera" && ver_opera && browser_ver >= ver_opera || browser_name == "unknown" && ver_unknown && browser_ver >= ver_unknown)
        return true;
    else
        return false;
}

function validate_field(field, msg) {
    if (isEmpty(field.value)) {
        if (msg != null) {
            alert(msg);
            field.select();
        }
        return false;
    }
    else
        return true;
}

function validate_form(form, msg) {
    var i;

    for (i = 0; i < form.elements.length; i++) {
        var e = form.elements[i];
        var flags_pos = e.name.lastIndexOf("__");
        if (flags_pos != -1) {
            var flags = e.name.substring(flags_pos + 2);
            if (flags.indexOf("m") != -1 && isEmpty(e.value)) {
                if (msg != null) {
                    e.focus();
                    e.select();
                    alert(msg);
                }
                return false;
            }
        }
    }
    return true;
}

function validate_email(field, msg) {
    if (isEmpty(field.value) || isEmail(field.value))
        result = true;
    else {
        if (msg != null) {
            field.select();
            alert(msg);
        }
        return false;
    }
}

function validate_id(field, msg) {
    if (isEmpty(field.value) || isId(field.value))
        result = true;
    else {
        if (msg != null) {
            field.select();
            alert(msg);
        }
        return false;
    }
}

function validate_uint(field, msg) {
    if (isUint(field.value) || isId(field.value))
        result = true;
    else {
        if (msg != null) {
            field.select();
            alert(msg);
        }
        return false;
    }
}

function validate_usemap(field, msg) {
    if (isEmpty(field.value) || isUsemap(field.value))
        result = true;
    else {
        if (msg != null) {
            field.select();
            alert(msg);
        }
        return false;
    }
}

function displayWindow(wnd_name, url, wnd_attr) {
    var wnd;
  // alert("displayWindow url: "+url);
    wnd = window.open(url, wnd_name, wnd_attr);
    if (wnd != null) {
        if (url.indexOf("mailto:") == 0)
            wnd.close();
        else
            wnd.focus();
    }
}

function displayModalDlg(width, height, url, argv) {
    var pos_top = top.window.screenTop + (screen.availHeight / 2) - width / 2;
    var pos_left = top.window.screenLeft + (screen.availWidth / 2) - height / 2;
    if (pos_top < 0)
        pos_top = 0;
    if (pos_left < 0)
        pos_left = 0;
  // alert(url);
    return window.showModalDialog(url, argv, "dialogHeight: " + height + "px; dialogWidth: " + width + "px; dialogTop: " + pos_top + "px; dialogLeft: " + pos_left + "px; help: no; resizable: yes; status: no; edge: sunken; unadorned: yes; center: yes");
}

