/*                             */
/*        (c) U4E-TEAM         */
/* http://u4e.beyondunreal.com */
/*                             */

var menusonpage  = new Array();
var objectcache = new Array();
var openedmenu   = 0;
var eventhack    = false;

function checkUID(elm)
{
	// yes you can crack the coding here, but you CAN\'T see which ones are listed in the database
 	var re = new RegExp(/^[0-9]{4}[ABCDFGHKNMPQRSTVWXZ]{6}$/i);
	if (elm.value.match(re)) 
	{
		var element = document.getElementById("noUSERCODE"); 
		element.style.display="none";
	}else{
		var element = document.getElementById("noUSERCODE"); 
		element.style.display="";
	}
}

function hideshowlog()
{
	var element1 = document.getElementById("hideshowlog1"); 
	var element2 = document.getElementById("hideshowlog2"); 
	var image    = document.getElementById("hideshowlog_img"); 
	
	if (element1.style.display == "none") 
	{
		element1.style.display="";
		element2.style.display="none";
		image.src="minus.gif";
	}else{
		element1.style.display="none";
		element2.style.display="";
		image.src="plus.gif";
	}
}

function checkBugType(elm)
{
	checkBugType2(elm.value);
}

function checkBugType2(valueinput)
{
	switch (valueinput)
	{
		case "other":
			var element = document.getElementById("altbugtype"); 
			element.style.display="";
			var element = document.getElementById("othermutsarea"); 
			element.style.display="";
			var element = document.getElementById("systemarea"); 
			element.style.display="";
			var element = document.getElementById("noUSERCODE"); 
			element.style.display="";
			var element = document.getElementById("logerror"); 
			element.style.display="";
			checkUID( document.getElementById("useridfield") );
		break;
		case "obug":
		case "fbug":
			var element = document.getElementById("othermutsarea"); 
			element.style.display="";
			var element = document.getElementById("altbugtype"); 
			element.style.display="none";
			var element = document.getElementById("systemarea"); 
			element.style.display="none";
			var element = document.getElementById("noUSERCODE"); 
			element.style.display="none";
			var element = document.getElementById("logerror"); 
			element.style.display="none";
		break;
		case "typo":
			var element = document.getElementById("othermutsarea"); 
			element.style.display="none";
			var element = document.getElementById("altbugtype"); 
			element.style.display="none";
			var element = document.getElementById("systemarea"); 
			element.style.display="none";
			var element = document.getElementById("noUSERCODE"); 
			element.style.display="none";
			var element = document.getElementById("logerror"); 
			element.style.display="none";
		break;		
		case "crash":
		case "necrash":
		case "lockup":
			var element = document.getElementById("othermutsarea"); 
			element.style.display="";
			var element = document.getElementById("altbugtype"); 
			element.style.display="none";
			var element = document.getElementById("systemarea"); 
			element.style.display="";
			var element = document.getElementById("noUSERCODE"); 
			element.style.display="";
			var element = document.getElementById("logerror"); 
			element.style.display="";
			checkUID( document.getElementById("useridfield") );
		break;		
	}
}

function checkRAMType(elm)
{
	if (elm.value != "other") 
	{
		var element = document.getElementById("checkRAMTypeother"); 
		element.style.display="none";
	}else{
		var element = document.getElementById("checkRAMTypeother"); 
		element.style.display="";
	}
}

function checkOSType(elm)
{
	if ((elm.value != "other") && (elm.value != "mac") && (elm.value != "linux")) 
	{
		var element = document.getElementById("ostypeother"); 
		element.style.display="none";
	}else{
		var element = document.getElementById("ostypeother"); 
		element.style.display="";
	}
}

function hide_table(elementId){
 var element = document.getElementById(elementId); 
 var image = document.getElementById(elementId+"_img"); 
 if(element.style.display=="none"){
 	element.style.display="";
	image.src="./minus.gif";
 }else{
 	element.style.display="none";
	image.src="./plus.gif";
 }
}
function hideAllQ()
{
	hide_table('fixa');
	hide_table('fixb');
	hide_table('fixc');
	hide_table('fixd');
	hide_table('fixe');
	hide_table('fixf');
	hide_table('fixg');
	hide_table('fixh');
	hide_table('fixi');
	hide_table('fixj');
	hide_table('fixk');
	hide_table('fixl');
	hide_table('fixm');
	hide_table('fixn');
}

function checkEmail(inputvalue)
{
 	var re = new RegExp(/^\w(?:\w|\.(?!\.|@))*@\w(\w|\.(?!\.))*\.\w{2,3}/);
	if (inputvalue.match(re)) 
	{
		return true;
	}else{
		return false;	
	}
}

function loadform()
{
	checkBugType(document.getElementById('bugtype'));
	checkUID(document.getElementById('useridfield'));
	checkRAMType(document.getElementById('RAMtype'));
	checkOSType(document.getElementById('OStype'));
}

var ri = new Array("rndmov01.JPG","rndmov02.JPG","rndmov03.JPG","rndmov04.JPG","rndmov05.JPG","rndmov06.JPG","rndmov07.JPG","rndmov08.JPG","rndmov09.JPG","rndmov10.JPG","rndmov11.JPG","rndmov12.JPG","rndmov13.JPG");

function randomIMG(){
	var vid = document.getElementById("video"); 
	var rndno = Math.floor(Math.random()*(ri.length));
	vid.src = ri[rndno];
}

function doButton(elementIN, mode){
	var vid = document.getElementById("video"); 
	var image = document.getElementById(elementIN); 
	if (mode == "1"){
		image.src="mnu"+elementIN+"-Up.JPG";
		vid.src="mov"+elementIN+".JPG";
	}else{
		image.src="mnu"+elementIN+".JPG";
		randomIMG();
	}
}

// preload buttons
image1 = new Image();
image1.src = "mnunews-Up.JPG";
image2 = new Image();
image2.src = "mnudownload-Up.JPG";
image3 = new Image();
image3.src = "mnuinfo-Up.JPG";
image4 = new Image();
image4.src = "mnuxtra-Up.JPG";
image5 = new Image();
image5.src = "mnuteam-Up.JPG";
image6 = new Image();
image6.src = "mnumail-Up.JPG";

// preload 'movies'
image1 = new Image();
image1.src = "movnews.JPG";
image2 = new Image();
image2.src = "movdownload.JPG";
image3 = new Image();
image3.src = "movinfo.JPG";
image4 = new Image();
image4.src = "movxtra.JPG";
image5 = new Image();
image5.src = "movteam.JPG";
image6 = new Image();
image6.src = "movmail.JPG";

function makeMenu(controlid)
{
	if (document.getElementsByTagName)
	{
		controlobj = fetch_object(controlid);
		if (controlobj)
		{						
			menusonpage[menusonpage.length] = controlid;
			return true;
		}
	}
	return false;
}

function fetch_object(idname)
{
	if (typeof(objectcache[idname]) == "undefined")
	{
		if (document.getElementById)
		{
			objectcache[idname] = document.getElementById(idname);
		}
		else if (document.all)
		{
			objectcache[idname] = document.all[idname];
		}
		else if (document.layers)
		{
			objectcache[idname] = document.layers[idname];
		}
	}
	return objectcache[idname];
}

function menumouseover(e)
{
	if (( openedmenu != 0) && (openedmenu != e.id))
	{
		openupmenu(e);
		eventhack=false;
		return;
	}
}

function menuclick(e)
{
	openupmenu(e);
}

function closemenu()
{
	if ( eventhack == true)
	{
		eventhack = false;
		return false;
	}
	if (openedmenu)
	{	
		fetch_object(openedmenu+"_menu").style.display="none";
		openedmenu = 0;
	}
}

function openupmenu(elm)
{
	clicked = openedmenu;
	closemenu();
	if (clicked == elm.id)
	{
		openedmenu = 0;
		return false;
	}
	openedmenu = elm.id;
	menuid = elm.id + "_menu";	
	menuobj = fetch_object(menuid);
	leftpx = u4e_left(elm);
	toppx = u4e_top(elm) + elm.offsetHeight;
	if ((leftpx + menuobj.offsetWidth) >= document.body.clientWidth)
	{
		leftpx = leftpx+(document.body.clientWidth-(leftpx + menuobj.offsetWidth));
	}
	menuobj.style.left = leftpx + "px";
	menuobj.style.top = toppx + "px";
	menuobj.style.display = "";
	eventhack=true;
	return false;
}

function showpopup(elm)
{
	menuid = "font_color_menu";	
	menuobj = fetch_object(menuid);
	leftpx = u4e_left(elm);
	toppx = u4e_top(elm) + elm.offsetHeight;
	if ((leftpx + menuobj.offsetWidth) >= document.body.clientWidth)
	{
		leftpx = leftpx+(document.body.clientWidth-(leftpx + menuobj.offsetWidth));
	}
	leftpx=101;
	toppx=101;
	menuobj.style.left = leftpx + "px";
	menuobj.style.top = toppx + "px";
	menuobj.style.display = "";
	return false;
}

function u4e_left(elm)
{
	var left = elm.offsetLeft;
	while((elm = elm.offsetParent) != null)
	{
		left += elm.offsetLeft;
	}
	return left;
}

function u4e_top(elm)
{
	var top = elm.offsetTop;
	while((elm = elm.offsetParent) != null)
	{
		top += elm.offsetTop;
	}
	return top;
}

function u4eStart()
{
	if (menusonpage.length > 0)
	{
		for (i in menusonpage)
		{
			menuid = menusonpage[i] + "_menu";
			menuobj = fetch_object(menuid);
			if (document.getElementsByTagName && menuobj)
			{
				menusonpage[i] = fetch_object(menusonpage[i]);
				menusonpage[i].style.cursor = "hand";
				menusonpage[i].unselectable = true;
			}
		}
		document.onclick = closemenu;
	}
}
function cellClick(location)
{
	window.location=location;
}

function insertAtCursor(myFieldstring, myValue) 
{
	var myField = fetch_object(myFieldstring);
	eventhack = false;
	closemenu();
	if (document.selection) 
	{
		myField.focus();
		sel = document.selection.createRange();
		sel.text = myValue;
	}else
	{
		if (myField.selectionStart || myField.selectionStart == '0')
		{
			var startPos = myField.selectionStart;
			var endPos = myField.selectionEnd;
			myField.value = myField.value.substring(0, startPos)
			+ myValue
			+ myField.value.substring(endPos, myField.value.length);
		} else {
			myField.value += myValue;
		}
		myField.focus();
	}
}