// Browser Detect
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();
//End Browser Detect

//AJAX Request
var xmlHttp;

var formSubmitted = false;

var vfillObj;
var vsubForm;
var vmsg;
var vmsgObj;
var vsubBut;

var subButOrig;
function createXMLHttpRequest() {    if(window.ActiveXObject) {        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");    } else if(window.XMLHttpRequest) {        xmlHttp = new XMLHttpRequest();    }}function exeAJAX(url, subBut, msgObj, msg, fillObj, subForm, method, parameters) {    if(subBut.value != "please wait...") {        formSubmitted = true;        subButOrig = subBut.value;        subBut.value = "please wait...";        vfillObj = fillObj;        vsubForm = subForm;        vmsg = msg;        vmsgObj = msgObj;        vsubBut = subBut;        createXMLHttpRequest();        xmlHttp.onreadystatechange = handleStateChange;        xmlHttp.open(method, url, true);        if(parameters == "none") {            xmlHttp.send(null);        } else {      
            xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
            xmlHttp.setRequestHeader("Content-length", parameters.length);
            xmlHttp.setRequestHeader("Connection", "close");            xmlHttp.send(parameters)        }    }}
function handleStateChange() {    if(xmlHttp.readyState == 4) {        if(xmlHttp.status == 200) {            if(xmlHttp.responseText.length > 0) {                try {                    document.getElementById("id").value = xmlHttp.responseText;                }                                catch(err) {                                }                if(vfillObj != "none") {                    try {                        vfillObj.value = xmlHttp.responseText;                    } catch(err) {                    }                    try {                        vfillObj.innerHTML = xmlHttp.responseText;                    } catch(err) {                    }                }                if(vsubForm != "none") {                    vsubForm.submit();                } else {                    vsubBut.value = subButOrig;                }            }            if(vmsgObj != "none") {                vmsgObj.innerHTML = vmsg;            }        }    }}//End AJAX Request//Display Text in objectfunction displayText(elementid,content){
    if(BrowserDetect.browser == "Explorer") {
        document.getElementById(elementid).innerHTML = content;
    } else {
        if (document.all)
            return
        if (document.getElementById){
            rng = document.createRange();
            el = document.getElementById(elementid);
            rng.setStartBefore(el);
            htmlFrag = rng.createContextualFragment(content);
            while (el.hasChildNodes())
                el.removeChild(el.lastChild);
            el.appendChild(htmlFrag);
        }
    }
}
//End Display Text

