/*

   Copyright 2006,2007 Netagi Pty. Ltd.
   All Rights Reserved.

   See http://www.netagi.com/ for contact details.


   
	a_a
	a_b
	menuinit
	---
	onmouseover
	onmouseout
	finetune??
	onclick
*/

function a_a(xmenuid,xnid) {
	hideMenu(xmenuid,xnid);
};
function a_b(xmenuid,xnid) {
	beginHide(xmenuid,xnid);
};
som.reg = [];
som.timeout = 200;

function menuinit(menuid) {
	menu_array = eval("document.menu_array" + menuid);

	for( var i = 0; i < menu_array.length; i++ ) {
		var menustr =  menu_array[i][0];
		var level =    menu_array[i][1];
		var scroll =   menu_array[i][2];
		var parentid = menu_array[i][3];
		new som(menuid,menustr,scroll,level,parentid);
	}
};

function sMA( sid, sublevels, oid, depth, psequence ) {
	var anchor; 
	var anchort;
	if( !som.reg[oid] ) {
		som.reg[oid] = [];
	}
	anchor = new getObject('slider' + sid + '_' + oid);
	xtab = anchor.parentNode;
	var mtab = xtab.parentNode;
	while(mtab.tagName != "TABLE" ) {
		mtab = mtab.parentNode;
	}
	if( mtab.dnMenu != 'ok' ) {
		mtab.id = 'menu'+psequence+'_'+oid;
		mtab.sequence = psequence;
		mtab.oid = oid;
		mtab.onmouseover  = function() { try { menuOver(this.oid,this.sequence) } catch (e) { }};
		mtab.onmouseout   = function() { try { hideMenu(this.oid,'menu', this.sequence) } catch (e) { }};
		mtab.dnMenu = 'ok';
	}
	xtab.id = 'xslider' + sid + '_' + oid;
	xtab.sequence = sid;
	xtab.psequence = psequence;
	var xclass = 'menuitem' + oid;
	if( depth > 0 ) {
		xclass = 'sub' + xclass;
	} else if( anchor.getAttribute('cselected') == 'selected' ) {
		xclass += '_selected';
	}
	xtab.className = xclass;
	xtab.oldClass = xtab.className;

	var arr = eval("document.menu_array" + oid);
	var finetune = eval("document.finetune" + oid);
	var whichway = 'down';
	if( finetune && finetune['whichway'] != '' ) {
		whichway = finetune['whichway'];
	}
	if( whichway == 'down' && depth > 0 ) {
		whichway = 'left';
	} else {
		if( whichway == 'up' && depth > 0 ) {
			whichway = 'left';
		}
	}
	arr[document.test] = new Array(sid,depth,whichway,psequence);
	document.test++;
	xtab.oid = oid;
	//window.status = ''; 
	xtab.onmouseover = function() { this.className = this.oldClass + '_hover'; try { showMenu(this.oid,this.sequence); } catch(e) { }; };
	if( sublevels == 0 && depth == 0 ) {
		xtab.onmouseout  = function() { this.className = this.oldClass; try { hideAllOthers(this.oid,this.sequence); } catch(e) { };  };
	} else {
		xtab.onmouseout  = function() { this.className = this.oldClass; try { hideMenu(this.oid,'',this.sequence); } catch(e) { };};
	}
	var tdregion = anchor.parentNode;
	var trregion = tdregion.parentNode;
	try { if(anchor.href && anchor.href != '' ) { trregion.style.cursor='pointer'; } else { trregion.style.cursor='default' }; } catch(e) {};
	var nickImg = document.createElement('span');
	nickImg.id = 'slider' + sid + '_' + oid;
	xtab.href = anchor.href;
	xtab.target = "";
	try { if(anchor.target && anchor.target != "") { xtab.target = anchor.target }; } catch(e) {};
	xtab.onclick = function() {
		if(this.target != '' && this.href) {
			var win = window.open(this.href,'');
		} else {
			if(this.href) window.location.href=this.href 
		}
	};
	var nicktext = anchor.innerHTML.replace('&amp;','&');
	tdregion.removeChild(anchor);
	nickImg.innerHTML = nicktext;
	if( depth != 0 ) {
		if( finetune && finetune['arrow'] != '' ) {
			var newtd = document.createElement("td");
			trregion.appendChild(newtd);
			newtd.className = tdregion.className;
			newtd.appendChild(document.createTextNode(" "));
			// sublevels > 0 check should be HERE not above
			if( sublevels > 0) {
				var imgArea;
				imgArea = document.createElement('img');
				imgArea.className="menu_usearrow_style" + oid;
				imgArea.src = finetune['arrow'];
				newtd.appendChild(document.createTextNode(' '));
				newtd.appendChild(imgArea); 
				newtd.appendChild(document.createTextNode(' '));
			}
		} else {
		}
	}
	tdregion.appendChild(nickImg); 
	tdregion.style.whiteSpace = 'nowrap';
};

// constructor
function som(menuid,sid,scroll,level,parentid) {
	this.level = level;
	if(isNaN(parentid)) {
		this.parentid = parentid;
	} else {
		this.parentid = eval(parentid);
	}
	this.menuid = menuid;
	this.id = sid;

	var is_major=parseInt(navigator.appVersion);
	this.nver=is_major;
	this.ver=navigator.appVersion;
	this.agent=navigator.userAgent;
	this.dom=isDOM( );
	this.opera=window.opera?1:0;
	this.ie55=(this.ver.indexOf("MSIE 5.5")>-1&&this.dom&&!this.opera)?1:0;
	this.ie5=(this.ver.indexOf("MSIE 5")>-1&&this.dom&&!this.ie55&&!this.opera)?1:0;
	this.ie6=(this.ver.indexOf("MSIE 6")>-1&&this.dom&&!this.opera)?1:0;
	this.ie4=(document.all&&!this.dom&&!this.opera)?1:0;
	this.ie=this.ie4||this.ie5||this.ie6;
	this.mac=this.agent.indexOf("Mac")>-1;
	this.ns6=(isDOM( )&&parseInt(this.ver)>=5)?1:0;
	this.ie3=(this.ver.indexOf("MSIE")&&(is_major<4));
	this.hotjava=(this.agent.toLowerCase().indexOf('hotjava')!=-1)?1:0;
	this.ns4=(document.layers&&!this.dom&&!this.hotjava)?1:0;
	this.bw=(this.ie6||this.ie5||this.ie4||this.ns4||this.ns6||this.opera);
	this.ver3=(this.hotjava||this.ie3);
	this.safari=(this.agent.toLowerCase().indexOf('safari')!=-1)?1:0;
	this.opera7=((this.agent.toLowerCase().indexOf('opera 7')>-1) || (this.agent.toLowerCase().indexOf('opera/7')>-1));
	this.operaOld=this.opera&&!this.opera7;
	this.ie = ( this.ie5 | this.ie6 | this.ie55 );

	if (this.mac || this.ie || this.ns4 || this.dom || this.opera ) {
		this.dir = scroll;
		this.orientation = this.dir == "left" || this.dir == "right" ? "h" : "v";
		this.dirType     = this.dir == "right" || this.dir == "down" ? "-" : "+";


		this.slider = new getObject('slider' + this.id + '_' + menuid);
		this.menu   = new getObject('menu'   + this.id + '_' + menuid);
		if( this.menu.style ) {
			this.menu.style.zindex = 20000 + (999 - this.id);
			this.menu.style.left = '0px';
			this.menu.style.right = '0px';
			this.menu.style.position = 'absolute';
			som.reg[menuid][sid] = this;
		}
	}
};


function menuOver(menuid,sid) {
	var reg = som.reg[menuid];
	if( !reg ) return;
	var obj = reg[sid];
	// first change the class
	if (obj && obj.menu) {
		window.clearTimeout(obj.timeout);
		while( obj.parentid && obj.parentid != "") {
			var xparent = som.reg[menuid][obj.parentid];
			// stop the parent menu from dying off
			if( xparent ) {
				window.clearTimeout(xparent.timeout);
			}
			obj = xparent;
		}
	}
};
function showMenu(menuid,sid) {
	showorhideelements('show');
	showMenu_watcher(menuid,sid,0);
};
function showorhideelements(way) {
	var list = new Array();
	//list[0] = "SELECT";
	for( var j = 0; j < list.length; j++ ) {
		if( way == 'hide' ) {
			var myArray = document.getElementsByTagName(list[j]);
			var i;
			for( i = 0; i < myArray.length; i++ ) {
				if( myArray[i].wasVisible ) {
					myArray[i].style.visibility = '';
					myArray[i].wasVisible = false;
				}
			}
		} else {
			var myArray = document.getElementsByTagName(list[j]);
			var i;
			for( i = 0; i < myArray.length; i++ ) {
				if( myArray[i].style.visibility == '' || myArray[i].style.visibility == 'visible' ) {
					myArray[i].style.visibility = 'hidden';
					myArray[i].wasVisible = true;
				}
			}
		}
	}
}
function showMenu_watcher( menuid,sid,count) {
	if( !som.reg[menuid] ) return;
	var obj = som.reg[menuid][sid];
	if (obj && obj.menu) {
		var arr = obj.findStartPosition();
		obj.menu.style.left = arr[0] + "px";
		obj.menu.style.top  = arr[1] + "px";
		obj.menu.style.visibility = "visible";
		obj.menu.style.position = "absolute";
		obj.menu.style.display = "";
		window.clearTimeout(obj.timeout);
		hideAllOthers(menuid,sid);
	}
	// do it all again - stops some weird positioning bug
	// when menus are drawn for the first time
	if( count == 0 ) {
		showMenu_watcher(menuid,sid,count + 1);
	}
};

function hideAllOthers(menuid,sid) {
	var reg = som.reg[menuid];
	if( !reg ) return;
	var obj = reg[sid];
	var topList = [];
	topList[sid] = true;
	while(obj && obj.parentid && obj.parentid != "" ) {
		obj = som.reg[menuid][obj.parentid];
		topList[obj.id] = true;
	}
	
	for( menu in reg ) {
		if( menu != sid && !topList[menu] ) {
			beginHide(menuid,menu);
		}
	}
};

function hideMenu_int(menuid,sid) {
	var reg = som.reg[menuid];
	var obj = reg[sid];
	if (obj && obj.menu) {
		beginHide(menuid,sid);
	}

};
function hideMenu(menuid,type,sid) {
	var reg = som.reg[menuid];
	if(!reg) return;
	var obj = reg[sid];
	showorhideelements('hide');
	if (obj && obj.menu) {
		if( type == 'menu' && obj.parentid && obj.parentid != "" ) {
			var xparent = som.reg[menuid][obj.parentid];
			if( xparent ) {
				window.clearTimeout(xparent.timeout);
				xparent.timeout = setTimeout("a_a('" + menuid + "','" + obj.parentid + "')",som.timeout);
			}
		} 
		if( obj.parentid != "" ) {
			window.clearTimeout(obj.timeout);
			obj.timeout = setTimeout("a_b('" + menuid + "','" + sid + "')",som.timeout);
		}
	}
};

function beginHide(menuid,sid) {
	var reg = som.reg[menuid];
	var obj = reg[sid];
	if (obj && obj.menu) {
		window.clearTimeout(obj.timeout);
		//var arr = obj.findStartPosition();
		obj.menu.style.visibility = "hidden";
		obj.menu.style.display = "none";
		obj.menu.style.left = "0px";
		obj.menu.style.top  = "0px";
	}
};

som.prototype.findStartPosition = function() {
	var reg = som.reg[this.menuid];
	var obj = reg[this.id];

	var w = getObject("menu" + this.id + "_" + this.menuid);
	var pw = getObject("menu" + obj.parentid + "_" + this.menuid);
	var y = getObject("xslider" + this.id + "_" + this.menuid);
	var py = getObject("xslider" + obj.parentid + "_" + this.menuid);
	var scroll = this.dir;
	// load position changers if present
	var finetune = eval("document.finetune" + this.menuid);
	var arrleft = somfpx(y, this);
	var arrtop  = somfpy(y, this);



	if( scroll == "down" ) {
		arrtop += getElementHeight(y);
	} else if( scroll == "up" ) {
		arrtop  -= getElementHeight(w);
	} else if( scroll == "left" ) {
		if(this.level > 0) {
			y = getObject("xslider" + this.id + "_" + this.menuid).parentNode;;
		}
		arrleft += getElementWidth(y);
	} else if( scroll == "right" ) {
		arrleft -= getElementWidth(w);
	}
	if( this.mac ) {
		var t = '';
		if( this.safari ) {
			t = 'safari_';
		} else if( this.ie ) {
			t = 'iemac_';
		}
		if( finetune && finetune[t + 'vertical'] && this.level == 0 ) {
			arrtop += eval(finetune[t + 'vertical']);
		}
		if( finetune && finetune[t + 'horizontal'] && this.level == 0 ) {
			arrleft += eval(finetune[t + 'horizontal']);
		}
		if( finetune && finetune[t + 'vertical2'] && this.level > 0 ) {
			arrtop += eval(finetune[t + 'vertical2']);
		}
		if( finetune && finetune[t + 'horizontal2'] && this.level > 0 ) {
			arrleft += eval(finetune[t + 'horizontal2']);
		}
	}
	if( !arrleft ) {
		arrleft = 1;
	}
	if( !arrtop ) {
		arrtop = 1;
	}
	// off the right edge of the screen
	var pageWidth = document.body.clientWidth;
	if( !pageWidth ) {
		pageWidth = window.innerWidth;
	}
	var elemWidth = getElementWidth(w);
	if(arrleft + elemWidth > pageWidth ) {
		if( this.level > 0 ) {
			arrleft = somfpx(y, this) - elemWidth;
		} else {
			arrleft = pageWidth - elemWidth;
		}
	}
	return new Array(arrleft,arrtop);
};
function somfpy(el, mobj) {
	if( !el ) {
		return 0;
	}
	return xPageY(el, mobj);
};

function somfpx(el, mobj) { 
	if( !el ) {
		return 0;
	}
	return xPageX(el, mobj);
};

function xDef() {
	for(var i=0; i<arguments.length; ++i){
		if(typeof(arguments[i])=='undefined') return false;
	}
	return true;
};

function xGetElementById(e) {
	if(typeof(e)!='string')
		return e;
	if(document.getElementById) {
		e=document.getElementById(e);
	} else if(document.all) {
		e=document.all[e];
	} else {
		e=null;
	}
	return e;
};

function xPageY(e, mobj) {
	if (!(e=xGetElementById(e)))
		return 0;
	var x = 0;
	while (e) {
		if (xDef(e.offsetTop)) {
			 x += e.offsetTop;
		}
		e = xDef(e.offsetParent) ? e.offsetParent : null;
	}
	return x;
};

function xPageX(e, mobj) {
	if (!(e=xGetElementById(e))) {
		return 0;
	}
	var x = 0;
	while (e) {
		if (xDef(e.offsetLeft)) {
			x += e.offsetLeft;
		}
		e = xDef(e.offsetParent) ? e.offsetParent : null;
	}
	return x;
};

function getObject(name) {
	if (document.getElementById) {
		if(document.getElementById(name)) {
			return document.getElementById(name);
		}
	} else if (document.all) {
		return document.all[name];
	} else if (document.layers) {
		if (document.layers[name]) {
			return document.layers[name];
		} else {
			return document.layers.testP.layers[name];
		}
	}
};

function isDOM( ) {
	return document.getElementById?1:0;
};

function getElementHeight(elem) {
	if( !elem ) 
		return 0;
	if (elem.offsetHeight) {
		xPos = elem.offsetHeight;
	} else {
		xPos = elem.style.pixelHeight;
	}
	return xPos;
};

function getElementWidth(elem) {
	if( !elem ) 
		return 0;
	if (elem.offsetWidth) {
		xPos = elem.offsetWidth;
	} else {
		xPos = elem.style.pixelWidth;
	}
	return xPos;
};
                        
                        function forgotpassword(form) {
                                                disableFlash();
                                                var documentHeight = document.body.offsetHeight;
                                                var documentWidth = document.body.offsetWidth;
                                                var clientHeight = document.body.clientHeight;
                                                var scrollHeight = document.body.scrollHeight;
                                                document.body.style.height = '100%';
                                                document.body.style.width = '100%';
                                                document.getElementById("overlay").style.display='block';
                                                document.getElementById("overlay").style.height=documentHeight + "px";
                                                document.getElementById("overlay").style.width=documentWidth + "px";
                                                document.getElementById("overlayb").style.marginTop = "100px";
                         }
                        function disableFlash() {
                                            var objects = document.getElementsByTagName("EMBED");
                                            for(i = 0; i < objects.length; i++ ) {
                                                objects[i].style.visibility = "hidden";
                                            }
                                            objects = document.getElementsByTagName("OBJECT");
                                            for(i = 0; i < objects.length; i++ ) {
                                                objects[i].style.visibility = "hidden";
                                            }
                         }
                        function forgotpasswordGo(form) {
                                                if(form.overlay_email.value == '') {
                                                        alert("Please enter your Email Address");
                                                        return false;
                                                }
                                                usernames = document.getElementsByName("username");
						if(usernames.length == 0) {
							usernames = document.getElementsByName("_f00001");
						}
                                                usernames[0].value = form.overlay_email.value;
                                                //form.username.value = form.overlay_email.value;
                                                form.execaction.value = 'forgotpassword';
                                                form.submit();
                         }
                         function enableFlash() {
                                            document.getElementById('overlay').style.display='none';
                                            var objects = document.getElementsByTagName("EMBED");
                                            for(i = 0; i < objects.length; i++ ) {
                                                objects[i].style.visibility = "visible";
                                            }
                                            objects = document.getElementsByTagName("OBJECT");
                                            for(i = 0; i < objects.length; i++ ) {
                                                objects[i].style.visibility = "visible";
                                            }
                        }


