var xHelpObject	= 'HelpBox';
var xHelpShield	= 'HelpShield';
var mmyx		= 0;
var mmyy		= 0;
var dragHelp	= 0;
var dragHelpX	= 0;
var dragHelpY	= 0;
var XBrow		= null;

//Cross-browser A
function detectBrowser() {
	this.OS;
	this.brow;
	this.ver;
	
	var thestring;

	var detect = navigator.userAgent.toLowerCase();
	
	function checkIt(string)
	{
		place = detect.indexOf(string) + 1;
		thestring = string;
		return place;
	}
	
	if (checkIt('konqueror'))
	{
		this.brow = "Konqueror";
		this.OS = "Linux";
	}
	else if (checkIt('safari'))		this.brow = "Safari"
	else if (checkIt('omniweb'))	this.brow = "OmniWeb"
	else if (checkIt('opera'))		this.brow = "Opera"
	else if (checkIt('webtv'))		this.brow = "WebTV";
	else if (checkIt('icab'))		this.brow = "iCab"
	else if (checkIt('msie'))		this.brow = "IE"
	else if (checkIt('firefox'))	this.brow = "FF"
	else if (!checkIt('compatible'))
	{
		this.brow = "NS"
		this.ver = detect.charAt(8);
	}
	else this.brow = "unknown";

	if (!this.ver) this.ver = detect.charAt(place + thestring.length);
	
	if (!this.OS)
	{
		if (checkIt('linux')) this.OS = "Linux";
		else if (checkIt('x11')) this.OS = "Unix";
		else if (checkIt('mac')) this.OS = "Mac"
		else if (checkIt('win')) this.OS = "Windows"
		else this.OS = "unknown";
	}
}

//Cross browser - A
function AddFrame(myframe, xclass) {
	xif=document.createElement('iframe');
	xif.width=0;
	xif.height=0;
	xif.frameBorder=0;
	xif.id=myframe;
	xif.name=myframe;
	if (xclass) xif.className=xclass;
	try {
		document.body.appendChild(xif);
		getObj(myframe).obj.setAttribute("NAME" , myframe);
		window.frames[myframe].name=myframe;
	} catch (iex_) {
		xifHTML='\<iframe id="'+ myframe +'"';
		xifHTML+=' name="'+ myframe +'"'
		xifHTML+=' frameborder=0';
		xifHTML+=' width=0';
		xifHTML+=' height=0';
		xifHTML+='><\/iframe>';
		if (document.body.insertAdjacentHTML)
			document.body.insertAdjacentHTML("BeforeEnd", xifHTML);
		else
			document.body.innerHTML+=xifHTML;
	}
}

//OK if addframe is OK
function AddElements() {
	AddFrame('HelpShield', 'HelpShield');
	AddFrame('hloader');
}

//CrossBrowser - A
function writeToDiv(id,text)
{
	if (document.getElementById)
	{
		x = document.getElementById(id);
		x.innerHTML = '';
		x.innerHTML = text;
	}
	else if (document.all)
	{
		x = document.all[id];
		x.innerHTML = text;
	}
	else if (document.layers)	//Netscape 4 stuff (poate fi scoasa)
	{
		x = document.layers[id];
		x.document.open();
		x.document.write(text);
		x.document.close();
	}
}


PosXY = function() {
	this.x=0;
	this.y=0;
}

//Cross-browser - A
function getScrollOfs() {
	var xy = new PosXY();
	if (self.pageYOffset)
	{
		xy.x = self.pageXOffset;
		xy.y = self.pageYOffset;
	}
	else if (document.documentElement && document.documentElement.scrollTop)
	{
		xy.x = document.documentElement.scrollLeft;
		xy.y = document.documentElement.scrollTop;
	}
	else if (document.body)
	{
		xy.x = document.body.scrollLeft;
		xy.y = document.body.scrollTop;
	}
	return xy;
}

ObjXDOM = function() {
	this.obj	= null;
	this.style	= null;
}

//Corss browser A
function getObj(name)
{
	var xobj_ = new ObjXDOM();
	if (document.getElementById) {
		xobj_.obj = document.getElementById(name);
		if (xobj_.obj) xobj_.style = document.getElementById(name).style;
		else return null;
	}
	else if (document.all) {
		xobj_.obj = document.all[name];
		if (xobj_.obj) xobj_.style = document.all[name].style;
		else return null;
	}
	else if (document.layers) {
		xobj_.obj = document.layers[name];
		if (xobj_.obj) xobj_.style = document.layers[name];
		else return null;
	} else return null;
	
	return xobj_;
}

//Cross-browser - A (probabil)
function ShowHelpBox() {
	if ((XBrow.brow != "IE" || (XBrow.brow == "IE" && XBrow.ver <= 5)) && getObj('flashthing')) {
		getObj('flashthing').style.display='none';
	}
	
	writeToDiv(xHelpObject, window.frames['hloader'].document.body.innerHTML);
	
	xscrol = getScrollOfs();
	xo=getObj(xHelpObject);
	xo.style.display="block";
	xo.style.marginLeft=xscrol.x + Math.floor(-(xo.obj.offsetWidth/2)) + 'px';
	xo.style.marginTop=xscrol.y + Math.floor(-(xo.obj.offsetHeight/2)) + 'px';
	xo.style.visibility='visible';
	
	if (XBrow.brow == "IE") {
		xs=getObj(xHelpShield);
		xs.style.display='block';
		xs.style.marginLeft=xo.style.marginLeft;
		xs.style.marginTop=xo.style.marginTop;
		xs.style.width=xo.obj.offsetWidth + 'px';
		xs.style.height=xo.obj.offsetHeight + 'px';
	}
	
	if (XBrow.brow == "NS" && XBrow.ver == 5)	//Fix NS 6.0 - nu afishaza corect datele
		writeToDiv(xHelpObject, window.frames['hloader'].document.body.innerHTML);
}

//Cross browser A
function HideHelp() {
	xo=getObj(xHelpObject);
	xo.style.display="none";
	xs=getObj(xHelpShield);
	xs.style.display="none";
	if ((XBrow.brow != "IE" || (XBrow.brow == "IE" && XBrow.ver <= 5)) && getObj('flashthing'))
		getObj('flashthing').style.display='block';
}

//Cross-browser - B (trebuie facut replaceul sa func. in caz ca nu exista - o sa rupa back)
function GetHelp(xpage) {
	window.frames['hloader'].location.replace('pages/helpobj.php?p=' + xpage);
}


//Cross-browser A
function StartHelpDrag() {
	xo=getObj(xHelpObject);
	dragHelpX=parseInt(xo.style.marginLeft) - mmyx;
	dragHelpY=parseInt(xo.style.marginTop) - mmyy;
	dragHelp=1;

	xo.obj.onselectstart	= function () { return false; }
	document.onmousedown	= function () { return false; }

	if (window.onmousemove) window.onmouseup=StopHelpDrag;
	else document.onmouseup=StopHelpDrag;
}

//Cross-browser A
function StopHelpDrag() {
	dragHelp=0;
	if (document.selection) document.selection.clear();
	xo=getObj(xHelpObject);
	
	xo.obj.onselectstart	= null;
	document.onmousedown	= null;
	
	if (window.onmousemove) window.onmouseup=null;
	else document.onmouseup=null;
}

//Cross-browser A
function mMove(ev) {
	if(document.layers || (document.getElementById && !document.all)) {
		mmyx=ev.pageX;
		mmyy=ev.pageY;
		if (dragHelp==1) ev.preventDefault();
	} else {
		if (document.documentElement) {
			mmyx=event.clientX + document.documentElement.scrollLeft;
			mmyy=event.clientY + document.documentElement.scrollTop;
		} else {
			mmyx=event.clientX + document.body.scrollLeft;
			mmyy=event.clientY + document.body.scrollTop;
		}
		if (dragHelp==1) {
			event.cancelBubble = true;
			event.returnValue = false;
		}
	}
	
	if (dragHelp==1) {
		ho=getObj(xHelpObject);
		xo=getObj(xHelpShield);
		if (ho!=null) {
			ho.style.marginLeft=dragHelpX + mmyx + 'px';
			ho.style.marginTop=dragHelpY + mmyy + 'px';
			if (xo != null) {
				xo.style.marginLeft=ho.style.marginLeft;
				xo.style.marginTop=ho.style.marginTop;
			}
		}
	}
}


//Cross-browser A
//Has to be moved to global scope
function ofs_preload() {
	if (document.images) {
	
		document.pic1on			= new Image();
		document.pic1on.src		= "images/home_o.gif";

		document.pic1off		= new Image();
		document.pic1off.src	= "images/home.gif";

		document.pic2on			= new Image();
		document.pic2on.src		= "images/joinnow_o.gif";

		document.pic2off		= new Image();
		document.pic2off.src	= "images/joinnow.gif";

		document.pic3on			= new Image();
		document.pic3on.src		= "images/aboutus_o.gif";

		document.pic3off		= new Image();
		document.pic3off.src	= "images/aboutus.gif";

		document.pic4on			= new Image();
		document.pic4on.src		= "images/tools_o.gif";

		document.pic4off		= new Image();
		document.pic4off.src	= "images/tools.gif";
		
		document.pic5on			= new Image();
		document.pic5on.src		= "images/contactus_o.gif";

		document.pic5off		= new Image();
		document.pic5off.src	= "images/contactus.gif";
	}
}

function ofs_init() {
	AddElements();
	ofs_preload();
	if (window.frames['HelpShield']) setTimeout("window.frames['HelpShield'].location.replace('blank.html')", 100); //Fix FF shows loading.
}

function GetXmlHttpObject(handler)
{ 
	var objXmlHttp=null

	if (navigator.userAgent.indexOf("MSIE")>=0)
	{ 
		var strName="Msxml2.XMLHTTP"
		if (navigator.appVersion.indexOf("MSIE 5.5")>=0)
		{
			strName="Microsoft.XMLHTTP"
		} 
		try
		{ 
			objXmlHttp=new ActiveXObject(strName)
			objXmlHttp.onreadystatechange=handler 
			return objXmlHttp
		} 
		catch(e)
		{ 
			//Error. Scripting for ActiveX might be disabled"
			return 
		} 
	} 
	if (navigator.userAgent.indexOf("Mozilla")>=0)
	{
		if (typeof XMLHttpRequest == "undefined") return;
		objXmlHttp=new XMLHttpRequest()
		if (!objXmlHttp) return;
		objXmlHttp.onload=handler
		objXmlHttp.onerror=handler 
		return objXmlHttp
	}
}

function openWin(url) 
{
	aWindow = window.open(url,"thewindow",'toolbar=0,location=0,directories=0,status=0,menubar=0, width=400, height=400, scrollbars, resizable');	
	aWindow.focus();
}

if (window.onmousemove)window.onmousemove=mMove;
else document.onmousemove=mMove;

XBrow = new detectBrowser();