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();
/*
	This is the JavaScript file for the AJAX Suggest Tutorial

	You may use this code in your own projects as long as this 
	copyright is left	in place.  All code is provided AS-IS.
	This code is distributed in the hope that it will be useful,
 	but WITHOUT ANY WARRANTY; without even the implied warranty of
 	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
	
	For the rest of the code visit http://www.DynamicAJAX.com
	
	Copyright 2006 Ryan Smith / 345 Technical / 345 Group.	

*/
//Gets the browser specific XmlHttpRequest Object
var flagWhere = false;
function getXmlHttpRequestObject() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		alert("Your Browser Sucks!\nIt's about time to upgrade don't you think?");
	}
}

//Our XmlHttpRequest object to get the auto suggest
var searchReq = getXmlHttpRequestObject();

//Called from keyup on the search textbox.
//Starts the AJAX request.
function searchSuggest() {
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var str = escape(document.getElementById('fileSearchBox').value);
		var tempBug = str.search('%5C');
		if( str == '%5C'){		
			str = "";
		}else if(tempBug != -1){
			str = str.substring(0, tempBug);
			//alert("Debugg....\n\nstr = "+ str);
		}
		//if(str.indexOf("\") > 0){
		searchReq.open("GET", '/searchSuggest.cfm?search=' + str, true);
		searchReq.onreadystatechange = handleSearchSuggest; 
		searchReq.send(null);
		//}
	}		
}

//Called when the AJAX response is returned.
function handleSearchSuggest() {
	if (searchReq.readyState == 4) {
		var ss = document.getElementById('search_suggest')
		ss.innerHTML = '';
		var str = searchReq.responseText.split("\n");
		var ifFrameCover = '';
		if(BrowserDetect.browser == 'Explorer' && BrowserDetect.version < 7) {
			ifFrameCover = '<iframe id="iframeCover" style="width:230px;top:auto;left:0px;border:none; height:0px; z-index:0; overflow:hidden; " scrolling="no" allowtransparency="true" frameborder="0"></iframe>';
		}
		 //suggest = '<iframe style="width:230px;top:auto;left:0px;border:none; height:0px;" scrolling="no" frameborder="0"></iframe>';
		var suggest='';
		for(i=0; i < str.length - 1; i++) {
			//Build our element string.  This is cleaner using the DOM, but
			//IE doesn't support dynamically added attributes.
			suggest = ifFrameCover+'<div onmouseover="javascript:suggestOver(this);" ';
			suggest += 'onmouseout="javascript:suggestOut(this);" ';
			suggest += 'onclick="javascript:setSearch(this.innerHTML);" ';
			suggest += 'class="suggest_link"  style="float: inherit;">' + str[i] + '</div>';
			ss.innerHTML += suggest;
		}
		if((str.length-1) > 0){	
			var closeCap = ifFrameCover+'<div ';//onmouseover="javascript:suggestOver(this);"
			//closeCap += 'onmouseout="javascript:suggestOut(this);" ';
			closeCap += 'onclick="javascript:clearSuggest();" ';
			closeCap += 'class="suggest_link" style="text-align:right;">' + "<a href=\"javaScript:;;\" style=\"color: #000000;\">Close</a>" + '</div>';
			ss.innerHTML +=closeCap 
			//ss.innerHTML += '</div></div>';
			document.getElementById('search_suggest').style.visibility = "visible";
			//document.getElementById('iframeCover').style.height = "";
			//alert("test... \n\nBrowserDetect.version  = " + BrowserDetect.version + "\n\nBrowserDetect.browser = " + BrowserDetect.browser );
			
		}else{
			document.getElementById('search_suggest').style.visibility = "hidden";
		}
	}else{
		document.getElementById('search_suggest').style.visibility = "hidden";
	}
}

//Mouse over function
function suggestOver(div_value) {
	flagWhere = true;
	div_value.className = 'suggest_link_over';
}
//Mouse out function
function suggestOut(div_value) {
	flagWhere = false;
	div_value.className = 'suggest_link';
}
function LTrim( value ) {	
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");	
}
//Click function
function setSearch(value) {
	var term = value.substring(0, value.indexOf('<'));
	document.getElementById('fileSearchBox').value = LTrim(term);
	document.getElementById('search_suggest').innerHTML = '';
	document.getElementById('search_suggest').style.visibility = "hidden";
	CallJS('Demo()');
	SearchSubmit();
}
function clearSuggest()
{	document.getElementById('search_suggest').innerHTML = '';
	document.getElementById('search_suggest').style.visibility = "hidden";
}
function handleFocus()
{	if(flagWhere == false)
	{	clearSuggest();
	}
}
function switchVideo(v){
	var so = new SWFObject(v, "flashinside", "314", "225", "9");
	so.addParam("wmode", "transparent");
	so.write("noflash");
}


function startList() {

	// code for IE
	if(!document.body.currentStyle) return;
	var subs = document.getElementsByName('submenuThirdWay');
	for(var i=0; i<subs.length; i++) {
		var li = subs[i].parentNode;
		if(li && li.lastChild.style) {
			li.onmouseover = function() {
				this.lastChild.style.visibility = 'visible';
			}
			li.onmouseout = function() {
				this.lastChild.style.visibility = 'hidden';
			}
		}
	}
}

function SearchSubmit()
{	
	document.topsearch.bfamily.value = BrowserDetect.browser;				
	document.topsearch.submit();
	if(window.load == 1){
		document.getElementById("frontPageSearchLoading").style.display="none";
		document.getElementById("frontPageSearchSubmit").style.display="inline";
		document.getElementById('searchLoad').style.display="none";
	}
	else if(window.load == 2)
	{	document.getElementById("frontPageSearchLoading").style.display="inline";
		document.getElementById("frontPageSearchSubmit").style.display="none";
		document.getElementById('searchLoad').style.display="inline";

	}
	else{
		document.getElementById("frontPageSearchLoading").style.display="inline";
		document.getElementById("frontPageSearchSubmit").style.display="none";
		document.getElementById('searchLoad').style.display="inline";
	}
}
