/* Coded on 2004-07-04 by Qindex.info. */
var strng_URL;
var strng_UA;
strng_URL = document.URL;
//strng_URL = "";
strng_UA  = navigator.userAgent;
//strng_UA = "Mozilla/4.0 (compatible; MSIE 5.0; Mac_PowerPC; e504460WanadooNL)";

// document's properties ------------------------------------------------------
function Q_DOCUMENT(prprty) {
    switch(prprty) {
        case 'LASTMODIFIED': return document.lastModified;
        case 'COOKIE'      : return document.cookie;
        case 'REFERRER'    : return document.referrer;
        case 'URL'         : return strng_URL;
        default:             return '';
    }
}
// navigator's properties -----------------------------------------------------
function Q_NAVIGATOR(prprty) {
    switch(prprty) {
        case 'USER_AGENT': return strng_UA;
        default: return '';
    }
}

// location.href, document.url ------------------------------------------------
var strng_re_URL =
      "^"
    + "([a-zA-z]*)"
    + "\\://"
    + "((?:[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})|(?:[-._0-9a-zA-Z]+))?"
    + "(?::([0-9]+))?"
    + "((?:/(?:[-._%:0-9a-zA-Z]+|$))+)?"
    + "(#[-._0-9a-zA-Z]+)?"
    + "((?:(?:\\?|&)[^;/?:@&=+$,]+=[^;/?:@&=$,]*)+)?"
    + ".*"
    + "$";
var re_URL  = new RegExp(strng_re_URL);
var ary_URL = strng_URL.match(re_URL);
function Q_URL(key) {
    switch(key) {
        case 'PROTOCOL':     if(ary_URL[1]) return ary_URL[1]; else return '';
        case 'HOST':         if(ary_URL[2]) return ary_URL[2]; else return '';
        case 'PORT':         if(ary_URL[3]) return ary_URL[3]; else return '';
        case 'PATH':         if(ary_URL[4]) return ary_URL[4]; else return '';
        case 'FILENAME':
            var re = new RegExp("/([^.;/?:@&=+$,]+\\.[^.;/?:@&=+$,]+)$");
            if(ary=Q_URL('PATH').match(re)) return ary[1];
            else return '';
        case 'HASH':         if(ary_URL[5]) return ary_URL[5]; else return '';
        case 'QUERY_STRING': if(ary_URL[6]) return ary_URL[6]; else return '';
        default: return '';
    }
}

// navigator.userAgent -----------------------------------------------------------------
var objct_UA = {
    MozillaVersion:'',
    Platform      :'',
    Security      :'',
    OS_or_CPU     :'',
    OS            :'',
    OSVersion     :'',
    Localization  :'',
    OtherComments :'',
    GeckoVersion  :'',
    Vendor        :'',
    VendorVersion :''
    }
var strng_re_Gecko =
      "^"
    + "Mozilla/([0-9]+\\.[0-9]+)"
    + "\\s\\("
    + "(Windows|Macintosh|X11)"
    + ";\\s([NUI])"
    + ";\\s([^;]+)"
    + ";\\s([^;)]+)"
    + "([^)]*)"
    + "\\)"
    + "\\sGecko/([0-9]{8})"
    + "(.*)"
    + "$";
var re_Gecko = new RegExp(strng_re_Gecko);
var strng_re_Apple =
      "^"
    + "Mozilla/([0-9]+\\.[0-9]+)"
    + "\\s\\("
    + "(Windows|Macintosh|X11)"
    + ";\\s([NUI])"
    + ";\\s([^;]+)"
    + ";\\s([^;)]+)"
    + "([^)]*)"
    + "\\)"
    + "\\sAppleWebKit/([0-9.]+)\\s\\((?:KHTML,\\s)?like Gecko\\)"
    + "\\s(OmniWeb|Safari)/([v0-9.]+)"
    + "$";
var re_Apple = new RegExp(strng_re_Apple);
var strng_re_MSIE =
      "^"
    + "Mozilla/([0-9]+\\.[0-9]+)"
    + "\\s\\("
    + "compatible"
    + ";\\s(MSIE)\\s([0-9]+\\.[0-9]+)"
    + ";\\s([^;)]+)"
    + "([^)]*)"
    + "\\)"
    + "$";
var re_MSIE = new RegExp(strng_re_MSIE);
function Q_set_OS_Version(strng) {
    var ary_tmp;
    if(ary_tmp=strng.match(/(Windows) ([0-9]{2})/)) {
        objct_UA.OS = ary_tmp[1];
        objct_UA.OSVersion = ary_tmp[2];
        if(objct_UA.OSVersion=='98' && strng_UA.search(/Win 9x 4\.90/)!=-1) {
            objct_UA.OS        = 'Windows';
            objct_UA.OSVersion = 'Me';
        }
    } else if(ary_tmp=strng.match(/(Windows NT) ([0-9]\.[0-9])/)) {
        objct_UA.OS        = ary_tmp[1];
        objct_UA.OSVersion = ary_tmp[2];
    } else if(ary_tmp=strng.match(/Win([0-9.]+)/)) {
        objct_UA.OS        = 'Windows';
        objct_UA.OSVersion = ary_tmp[1];
    } else if(ary_tmp=strng.match(/WinNT([0-9.]+)/)) {
        objct_UA.OS        = 'Windows NT';
        objct_UA.OSVersion = ary_tmp[1];
    } else if(ary_tmp=strng.match(/Win 9x 4\.90/)) {
        objct_UA.OS        = 'Windows';
        objct_UA.OSVersion = 'Me';
    } else if(ary_tmp=strng.match(/(Windows) (CE)/)) {
        objct_UA.OS        = ary_tmp[1];
        objct_UA.OSVersion = ary_tmp[2];
    } else if(ary_tmp=strng.match(/(FreeBSD)/)) {
        objct_UA.OS        = ary_tmp[1];
    } else if(ary_tmp=strng.match(/(Linux)/)) {
        objct_UA.OS        = ary_tmp[1];
    } else if(ary_tmp=strng.match(/Mac_(PowerPC)/)) {
        objct_UA.OS        = ary_tmp[1];
    } else if(ary_tmp=strng.match(/PPC Mac OS (9|X)/)) {
        objct_UA.OS        = 'PowerPC';
        objct_UA.OSVersion = ary_tmp[1];
    } else if(ary_tmp=strng.match(/(SunOS)/)) {
        objct_UA.OS        = ary_tmp[1];
    } else if(ary_tmp=strng.match(/68K/)) {
        objct_UA.OS        = '68K';
        objct_UA.OSVersion = '';
    }
}

if(ary_tmp = strng_UA.match(re_Gecko)) {
    objct_UA.MozillaVersion = ary_tmp[1];
    objct_UA.Platform       = ary_tmp[2];
    objct_UA.Security       = ary_tmp[3];
    objct_UA.OS_or_CPU      = ary_tmp[4];
    Q_set_OS_Version(ary_tmp[4]);
    objct_UA.Localization   = ary_tmp[5];
    objct_UA.OtherComments  = ary_tmp[6];
    objct_UA.GeckoVersion   = ary_tmp[7];
    var re_tmp
        = new RegExp("(AOL|Camino|Chimera|Epiphany|Firebird|Firefox|Galeon|K-Meleon|Netscape|Phoenix|SWB)[0-9]?[ /]([0-9.b+]+)");
    if(ary_sub=ary_tmp[8].match(re_tmp)) {
        objct_UA.Vendor        = ary_sub[1];
        objct_UA.VendorVersion = ary_sub[2];
    } else {
        objct_UA.Vendor        = 'Mozilla';
        var re_tmp = new RegExp("rv:([0-9]+\\.[0-9]+)");
        var ary_tmp;
        if(ary_tmp = objct_UA.OtherComments.match(re_tmp)) objct_UA.VendorVersion = ary_tmp[1];
        else objct_UA.VendorVersion = '';
    }
} else if(ary_tmp = strng_UA.match(re_Apple)) {
    objct_UA.MozillaVersion = ary_tmp[1];
    objct_UA.Platform       = ary_tmp[2];
    objct_UA.Security       = ary_tmp[3];
    objct_UA.OS_or_CPU      = ary_tmp[4];
    Q_set_OS_Version(ary_tmp[4]);
    objct_UA.Localization   = ary_tmp[5];
    objct_UA.OtherComments  = ary_tmp[6];
    objct_UA.GeckoVersion   = ary_tmp[7];
    objct_UA.Vendor         = ary_tmp[8];
    objct_UA.VendorVersion  = ary_tmp[9];
} else if(ary_tmp = strng_UA.match(re_MSIE)) {
    objct_UA.MozillaVersion = ary_tmp[1];
    objct_UA.Vendor         = ary_tmp[2];
    objct_UA.VendorVersion  = ary_tmp[3];
    objct_UA.OS_or_CPU      = ary_tmp[4];
    Q_set_OS_Version(ary_tmp[4]);
    objct_UA.OtherComments  = ary_tmp[5];
} else {
    if( ary_tmp=strng_UA.match(/Mozilla\/([0-9]+\.[0-9]+)/) )
        objct_UA.MozillaVersion = ary_tmp[1];
    if( ary_tmp=strng_UA.match(/(Opera)[ \/]([0-9.bv+]+)/) ) {
        objct_UA.Vendor        = ary_tmp[1];
        objct_UA.VendorVersion = ary_tmp[2];
    }
    Q_set_OS_Version(strng_UA);
}

function Q_USER_AGENT(key) {
    switch(key) {
        case 'MozillaVersion'   : return objct_UA.MozillaVersion;
        case 'Platform'         : return objct_UA.Platform      ;
        case 'Security'         : return objct_UA.Security      ;
        case 'OS_or_CPU'        : return objct_UA.OS_or_CPU     ;
        case 'OS'               : return objct_UA.OS            ;
        case 'OSVersion'        : return objct_UA.OSVersion     ;
        case 'Localization'     : return objct_UA.Localization  ;
        case 'OtherComments'    : return objct_UA.OtherComments ;
        case 'GeckoAppleWebKitVersion'     : return objct_UA.GeckoVersion  ;
        case 'Vendor'           : return objct_UA.Vendor        ;
        case 'VendorVersion'    : return objct_UA.VendorVersion ;
        default: return '';
    }
}

// query string ---------------------------------------------------------------
var ary_qry_strng_key   = new Array();
var ary_qry_strng_value = new Array();
if(Q_URL('QUERY_STRING')) {
    re = new RegExp("[^;/?:@&=+$,]+=[^;/?:@&=$,]*",'g');
    var ary_qry = Q_URL('QUERY_STRING').match(re);
    var re_sub = new RegExp("([^;/?:@&=+$,]+)=([^;/?:@&=$,]*)");
    for(n=0; n<ary_qry.length; n++) {
        var ary_sub = ary_qry[n].match(re_sub);
        ary_qry_strng_key[n]   = unescape(ary_sub[1]);
        ary_qry_strng_value[n] = unescape(ary_sub[2].replace(/\+/g," "));
    }
}
function Q_QUERY_STRING(key) {
    for(n=0; n<ary_qry_strng_key.length; n++) {
        if(ary_qry_strng_key[n]===key)
            return ary_qry_strng_value[n];
    }
    return '';
}

// cookie ---------------------------------------------------------------------
function Q_set_cookie(name,value,year,day,hour,minute,second) {
    var today = new Date();
    var exprs = new Date();
    exprs.setTime( today.getTime()
                  +1000*60*60*24*365*year
                  +1000*60*60*24    *day
                  +1000*60*60       *hour
                  +1000*60          *minute
                  +1000             *second );
    document.cookie = name + "=" + escape(value) + "; expires=" + exprs.toGMTString();
}

function Q_get_cookie(name) {
    var srch = name + "="
    if (document.cookie.length > 0) {
        offset = document.cookie.indexOf(srch);
        if (offset != -1) {
            offset += srch.length;
            end = document.cookie.indexOf(";", offset);
            if (end == -1) end = document.cookie.length;
            return unescape(document.cookie.substring(offset, end));
        } else return false;
    } else return false;
}
function Q_COOKIE(name) {
    var value = Q_get_cookie(name);
    if(value) return value; else return '';
}

// last modified --------------------------------------------------------------
function Q_get_lst_mdfd() {
    var strng  = document.lastModified;
    var tmstmp = Date.parse(strng);
    var objct  = new Date();
    objct.setTime(tmstmp);
    var lst_mdfd = objct.getFullYear()+'-'+(objct.getMonth()+1)+'-'+objct.getDate();
    return lst_mdfd;
}

function Q_show_lst_mdfd() {
    var cntnt = '';
    cntnt += "<style type='text/css'>\n";
    cntnt += "    a.c_Qindex         { text-decoration:none;\n";
    cntnt += "        font-family:'Trebuchet MS',sans-serif; font-size:13px; font-weight:bold; }\n";
    cntnt += "    a.c_Qindex:link    { color:gray; }\n";
    cntnt += "    a.c_Qindex:visited { color:gray; }\n";
    cntnt += "    a.c_Qindex:hover   { color:#FF0000; }\n";
    cntnt += "    a.c_Qindex:active  { color:#FF0000; }\n";
    cntnt += "</style>\n";
    cntnt += "<table style='width:100%;'><tr>\n";
    cntnt += "    <td style='text-align:right; vertical-align:bottom; font-family:Trebuchet MS,sans-serif; font-size:11px; color:gray;'>\n";
    cntnt += "        Last Modified on "+Q_get_lst_mdfd()+", \n";
    cntnt += "        <a class='c_Qindex' title='Web-based Bookmaks'\n";
    cntnt += "            href='http://www.qindex.info' target='_blank'>Qindex.info</a>\n";
    cntnt += "    </td>\n";
    cntnt += "</tr></table>\n";
    document.write(cntnt);
}
