var ns4, op5, op6, agt, mac, ie, mac_ie, xmlHttp;
function filterBrowser()
{
	var ns4 = document.layers;
	var op5 = (navigator.userAgent.indexOf("Opera 5")!=-1) 
		||(navigator.userAgent.indexOf("Opera/5")!=-1);
	var op6 = (navigator.userAgent.indexOf("Opera 6")!=-1) 
		||(navigator.userAgent.indexOf("Opera/6")!=-1);
	var op8 = (navigator.userAgent.indexOf("Opera 8")!=-1) 
		||(navigator.userAgent.indexOf("Opera/8")!=-1);
	var agt = navigator.userAgent.toLowerCase();
	var mac = (agt.indexOf("mac")!=-1);
	var ie = (agt.indexOf("msie") != -1); 
	var mac_ie = mac && ie;
}

function showHint(type, str1, str2, sort, online)
{
	if (str1.length<2)
	{ 
		document.getElementById("ajResults").innerHTML="";
		hideBubble();
		return;
	}
	else
	{
	    xmlHttp=GetXmlHttpObject()
	    if (xmlHttp==null)
	    {
		    alert ("Your browser does not support AJAX!");
		    return;
	    } 
	    var url=""
	    if( online == 1 )
	    {
	        url=url+"/fileshare/code/themes/fei-v2/onlinecode/gethint.php";
	        url=url+"?online=2";
	        url=url+"&sid="+Math.random();
	    }
	    else
	    {
	        url=url+"themes/fei-v2/onlinecode/gethint.php";
	        url=url+"?sid="+Math.random();
	    }
	    url=url+"&type="+type;
	    url=url+"&str1="+str1;
	    url=url+"&str2="+str2;
	    url=url+"&sort="+sort;
	    xmlHttp.onreadystatechange=stateChanged;
	    xmlHttp.open("GET",url,true);
	    xmlHttp.send(null);
	}
}

function showContact(str)
{
	if (str.length==0)
	{ 
		document.getElementById("ajResults").innerHTML="";
		hideBubble();
		return;
	}

	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null)
	{
		alert ("Your browser does not support AJAX!");
		return;
	} 
	var url="themes/fei-v2/plugins/Search/code/getcontact.php";
	url=url+"?q="+str;
	url=url+"&sid="+Math.random();
	xmlHttp.onreadystatechange=stateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

function stateChanged() 
{ 
	if (xmlHttp.readyState==4)
	{ 
		document.getElementById("ajResults").innerHTML = xmlHttp.responseText;
		//alert(xmlHttp.responceText);
		showBubble('input_searchbox');
	}
}

function GetXmlHttpObject()
{
	var xmlHttp=null;
	try
	{
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	}
	catch (e)
	{
		// Internet Explorer
		try
		{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xmlHttp;
}
function posBubble(objid)
{
//	var offSet = getOffSet(objid);
//	var objPos = getObjRect(objid);
//	var objBubble = document.getElementById("floatBubble");
//	objBubble.style.left = (offSet[0] + 14) + "px";
//	objBubble.style.top = (offSet[1] + objPos[1] + 9) + "px";
}
function showBubble(objid)
{
	posBubble(objid);
	//alert(objid);
	document.getElementById("div_searchbody").style.display = "block";
	document.getElementById("div_mainbody").style.display = "none";
}
function hideBubble()
{
	document.getElementById("div_searchbody").style.display = "none";
	document.getElementById("div_mainbody").style.display = "block";
}
//These functions don't work with images in NN4
function getObjRect(objname)
{
	var rect = new Array();
	if (ns4)
	{
		var obj = getObjNN4(document, objname);
		rect[0] = obj.clip.width;
		rect[1] = obj.clip.height;
	}
	else
	{
		if (document.getElementById)
		{
			var obj = document.getElementById(objname);
		}
		else 
		{
			if (document.all)
			{
				var obj = document.all[objname];
			}
		}
		if (op5)
		{
			rect[0] = obj.style.pixelWidth;
			rect[1] = obj.style.pixelHeight;
		}
		else
		{
			rect[0] = obj.offsetWidth;
			rect[1] = obj.offsetHeight;
		}
	} 
	return rect;
}
function getOffSet(objid)
{
	var rect = new Array();

	if(document.getElementById)
	{
		var obj = document.getElementById(objid);
	}
	else if (document.all)
	{
		var obj = document.all[objid];
	}
	//rect=getObjRect(objid);
	rect[0]=0;
	rect[1]=0;
	var objparent=obj.offsetParent;
	while (objparent!=null)
	{
		rect[0]+=objparent.offsetLeft;
		rect[1]+=objparent.offsetTop;
		objparent=objparent.offsetParent;
	}
	//alert("Object: " + objid + "\nX: " + rect[0] + "\nY: " + rect[1]);
	return rect;
}