// JavaScript Document

function initWPBL() {
	if (window.Event) {
		document.captureEvents(Event.MOUSEMOVE);
	}
	document.onmousemove = getCursorXY;
}

function getCursorXY(e) {
	cursorPosLeft = (window.Event) ? e.pageX : event.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);
	cursorPosTop = (window.Event) ? e.pageY : event.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
}

function jsInArray(needle, haystack) {
	var length = haystack.length;
	for(var i = 0; i < length; i++) {
   		if(haystack[i] == needle) return true;
	}
	return false;
}

function moveOption(fromID, toID, idx ,cls) {   
	if (isNaN(parseInt(idx))) {
		var i = document.getElementById( fromID ).selectedIndex;
	} else {
		var i = idx;
	}
	
	var cnt = new Array();
	cnt[0] = 0; // inactive
	cnt[1] = 0; // active
	cnt[2] = 0; // deleted

	var o = document.getElementById( fromID ).options[ i ];
	var theOpt = new Option( o.text, o.value, false, false );
	theOpt.className = cls;	
	document.getElementById( toID ).options[document.getElementById( toID ).options.length] = theOpt;
	document.getElementById( fromID ).options[ i ] = null;
	
	if (toID == "selSelected") {
		if (cls == "selInactive") { cnt[0]++;
		} else if (cls == "selDeleted") { cnt[2]++;
		} else { /*ignore*/ cnt[1]++; }
	}
	
	return cnt;
}

function moveOptions(fromID, toID) {
	var cntInactive = 0;
	var cntActive = 0;
	var cntDeleted = 0;
	var msg = "";
	
	for (var x = document.getElementById( fromID ).options.length - 1; x >= 0 ; x--) {
		if (document.getElementById( fromID ).options[x].selected == true) {
			// Get the css class of the option element - if there is one.
			var cls = document.getElementById( fromID ).options[x].className;
   			var tmp = moveOption( fromID, toID, x ,cls);
			cntInactive += tmp[0];
			cntActive += tmp[1];
			cntDeleted += tmp[2];
		}
	}

	if (toID == "selSelected") {
		if (cntInactive > 0) {
			msg += " - Inactive Player(s): "+cntInactive+"\n";	
		}
		if (cntDeleted > 0) {
			msg += " - Deleted Player(s): "+cntDeleted+"\n";	
		}
	}

	if (msg > "") { alert("Your selection contains:\n"+msg); }
}

function getOptionValues(el) {
	var result = new Array();
	
	for (var x = 0; x < document.getElementById( el ).options.length; x++) {
		result[x] = document.getElementById( el ).options[x].value;	
	}
	
	return result;
}


function getComboValue(obj) {
	if (obj) {
		if (obj.selectedIndex >= 0)
		{
			var itemIndex = obj.selectedIndex;
			var itemVal = obj.options[itemIndex].value;
			return itemVal;
		} else {
			return false;
		}
	} else {
		return false;
	}
}

function getFormValues(frm) {
	//var theForm = document.forms[0];
	var theForm = frm;
	var frmVals = new Array();
	frmVals[0] = new Array();	// name of element.
	frmVals[1] = new Array();	// value of element.
	var temp = "";

	for(i=0; i<theForm.elements.length; i++) {
//alert(i+" : "+theForm.elements[i].name+" : "+theForm.elements[i].type);		
		if(theForm.elements[i].type == "text" || theForm.elements[i].type == "textarea" || theForm.elements[i].type == "button")
		{
			temp = theForm.elements[i].value;
			frmVals[1][i] = temp.replace(/&/g,escape('&amp;'));
			frmVals[0][i] = theForm.elements[i].name;
		}
		else if(theForm.elements[i].type == "checkbox") 
		{
			if (theForm.elements[i].checked)
			{
				frmVals[1][i] = theForm.elements[i].value;
				frmVals[0][i] = theForm.elements[i].name;
			} else {
				frmVals[1][i] = "";
				frmVals[0][i] = theForm.elements[i].name;
			}
		}
		else if(theForm.elements[i].type == "radio") 
		{
			if (theForm.elements[i].checked)
			{
				if (theForm.elements[i] != "undefined") {
				frmVals[1][i] = theForm.elements[i].value;
				frmVals[0][i] = theForm.elements[i].name;
				}
			}
		}
		else if(theForm.elements[i].type == "select-one") 
		{
			frmVals[1][i] = theForm.elements[i].options[theForm.elements[i].selectedIndex].value;
			frmVals[0][i] = theForm.elements[i].name;
		}
		else 
		{
			frmVals[1][i] = theForm.elements[i].value;
			frmVals[0][i] = theForm.elements[i].name;
		}
	}

	return frmVals;
}

function setComboBox(obj, value) {
	if (obj) {
		for(i=0; i<obj.length; i++)
		{
			if (value == "*")
			{
				obj.options[i].selected = true;
			} else {
				if (obj.options[i].value == value)
				{
					obj.options[i].selected = true;
					break;
				}
			}
		}
	}
}

function isNumeric(numericString) {
	var validChars = "0123456789.";
	var isNumber=true;
	var thisChar;
	for (i = 0; i < numericString.length && isNumber; i++){ 
		thisChar = numericString.charAt(i); 
		if (validChars.indexOf(thisChar) == -1){
			isNumber = false;
		}
	}
	return isNumber;		
}


function hideElement (elementId) {
	var element;
	if (document.all)
		element = document.all[elementId];
	else if (document.getElementById)
		element = document.getElementById(elementId);
	if (element && element.style)
		element.style.display = 'none';
}

function showElement (elementId) {
	var element;
	if (document.all)
		element = document.all[elementId];
	else if (document.getElementById)
		element = document.getElementById(elementId);
	if (element && element.style)
		element.style.display = '';
}

function goToPage(url) {
	window.location = url;
}


