var _u = navigator.userAgent.toLowerCase();
function _ua(t) {return _u.indexOf(t) != -1;}
function _uan(t) {if (!window.RegExp) {return 0;}var r = new RegExp(t + "([0-9]*)");var s = r.exec(_u);var ret = 0;if (s.length >= 2) {ret = s[1];}return ret;}
//function _compat() {return ((_ua('opera') &&(_ua('opera 7.5') || _ua('opera/7.5') || _ua('opera/8'))) ||(_ua('safari') && _uan('safari/') >= 125) ||(_ua('msie') &&!_ua('msie 4') && !_ua('msie 5.0') && !_ua('msie 5.1') &&!_ua('msie 3') && !_ua('powerpc')) ||(document.getElementById && window.XSLTProcessor &&window.XMLHttpRequest && !_ua('netscape6') &&!_ua('netscape/7.0')));}
function _compat() {return _compatMoz() || _compatIE()};
function _compatIE() {return (_ua('msie') &&!_ua('msie 4') && !_ua('msie 5.0') && !_ua('msie 5.1') &&!_ua('msie 3') && !_ua('powerpc'));}
function _compatMoz() {return (document.getElementById && window.XSLTProcessor &&window.XMLHttpRequest && !_ua('netscape6') &&!_ua('netscape/7.0'));}
function _noActiveX() {if (!_ua('msie') || !document.all || _ua('opera')) {return false; }var s = false;eval('try { new ActiveXObject("Microsoft.XMLDOM"); }' +'catch (e) { s = true; }');return s;}
function _el(i) {return document.getElementById(i);}var _forms = ['maps','local','directions'];var _defaults = {'maps': 'q','local': 'what','directions': 'start'};

function _findResource(name, type)
{
    var end = type + "/" + name;
    if (_compatMoz())
    {
        return "browser/mozilla/" + end;        
    }
    else if (_compatIE())
    {
        return "browser/ie/" + end;
    }
    else
    {
        return "";
    }
}

function _fileExists(path)
{
    try 
    {
        var x = _checkResource(path);
        alert(1);
        return true;
    }
    catch(e)
    {
        alert(e);
        return false;
    }
}

function _asyncGet(a, b, c) 
{
    try
    {
        var d = ha.create();
        d.open("GET",a,true);
        d.onreadystatechange = function()
        {
            if(d.readyState==4)
            {            
                try
                {
                    b(d.responseText);
                }
                catch(g)
                {
                    if(c)
                    {
                        c(g);
                    }
                }
            }
        };
        d.send(null)
    }
    catch(f)
    {
        if(c)
        {
            c(f);
        }
    }
}

function _loadFromUrl(a, b, c)
{
    if (!c)
    {
        c = function(a){return a;};
    }
    
    var f = function (x)
    {
        _m.loadXML(c(x));
        b();
    }
    
    new _asyncGet(a, f);
}

function _getUrlParam(a, b)
{
    var params = location.href.split("?", 2)[1];
    if (!params) 
    {
        alert("no data provided");
        return;
    }
    
    var keyvals = params.split("&");
    var keyval = new Object();
    
    if (a > keyvals.length - 1) return null;
    
    for (var i=0; i<keyvals.length; i++)
    {
        var kv = keyvals[i].split("=", 2);
        var pair = new keyValuePair(kv[0], kv[1]);
        
        if (!b) keyval[kv[0]] = pair;
        else keyval[i] = pair;
    }
    
    return keyval[a];
}

keyValuePair = function(a, b) {this.key = a; this.value = b};

function _getUrlParamByIndex(a)
{
    return _getUrlParam(a, true);
}

