/*

Google/Gmail Js extract 

*/

var agt = navigator.userAgent.toLowerCase();
var is_ie = (agt.indexOf("msie") !=- 1 && document.all);
var is_ie5 = (agt.indexOf("msie 5") !=- 1 && document.all);

var is_safari = (agt.indexOf("safari") !=- 1);
var is_nav =!is_ie && !is_safari && (agt.indexOf("mozilla") !=- 1);


function XmlHttpCreate() {
    var xmlhttp = null;
    if (is_ie) {
        var control = (is_ie5) ? "Microsoft.XMLHTTP" : "Msxml2.XMLHTTP";
        xmlhttp = new ActiveXObject(control);
    }
    else {
        xmlhttp = new XMLHttpRequest();
        if (!xmlhttp) {
            alert("XMLHttpRequest is not supported on this browser.");
        }
    }
    return xmlhttp;
}

function XmlHttpGET(xmlhttp, url, handler) {
    url = U_MakeUnique(url);
    xmlhttp.onreadystatechange = handler;
    xmlhttp.open("GET", url, true);
    xmlhttp.send(null);
}
function XmlHttpPOST(xmlhttp, url, data, handler) {
    xmlhttp.onreadystatechange = handler;
    xmlhttp.open("POST", url, true);
	xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    xmlhttp.send(data);
}

function U_MakeUnique(url) {
    if (url.indexOf('?') < 0) {
        return url;
    }
    var rand_str = Math.round(Math.random() * 2147483648.000000);
    return U_AppendParam(url, "rnd", rand_str);
}

function U_Param(key, value) {
    return "&" + key + "=" + UrlEncode(value);
}
function U_FirstParam(key, value) {
    return "?" + key + "=" + UrlEncode(value);
}

function U_AppendParam(url, key, value) {
    if (url.indexOf('?') < 0) {
        return url + U_FirstParam(key, value);
    }
    else {
        return url + U_Param(key, value);
    }
}

function UrlEncode(str) {
    return encodeURIComponent(str);
}

function Trim(str) {
    return str.replace(/^\s+/, "").replace(/\s+$/, "");
}