/********************************************************
Gerneal.js (Last modified: 5/2/09)

available Functions: 
	- position: getX , getY
	- numeric: isMoney, isNumeric, to_int, to_dec
	- print: toMoney, printMoney
	- other: selectAll, set_select, viewImage
********************************************************/
nextline = "\r\n"

// a jquery-like function, a shortcut to document.getElementById
function $(o) {
return document.getElementById(o);
}

function getX(elem) {
	var x = 0;
	while(elem != null) {
		x += elem.offsetLeft;
		elem = elem.offsetParent;
	}
	return x;
}

function getY(elem) {
	var y = 0;
	while(elem != null) {
		y += elem.offsetTop;
		elem = elem.offsetParent;
	}
	return y;
}

function isMoney (amount) {
	// isnumeric && not a negative && decimal points >= 0.01
 	if (!isNumeric(amount) || amount < 0 || 100*(amount-parseInt(amount)) < 0)
 		return false;
 	return true;
}

function toMoney (amount) {
	amnt = "" + Math.round(amount*100);
	if (amnt == "0")
		amnt = "000";
	
	if (isNumeric(amnt)) {
		var dec = amnt.substr(0,amnt.length-2);
		if (dec == "")
			dec = "0";
		var flt = amnt.substr(amnt.length-2);
		
		return dec + "." + flt;
	} else
		return "0.00";
}

function printMoney (amount) {
 	amount = "" + amount;
	
	if (isNumeric(amount)) {
		if (amount == "0")
	 		return "0.00";
	 			
		var sign = "";
		if (amount.substr(0,1) == "-") {
			sign = "-";
			amount = amount.substr(1);
		}
	 		
		var amnt = "" + Math.round(parseFloat(amount)*100);
		var base = (parseInt(amnt) < 100)? "0" : amnt.substr(0, amnt.length-2); 
		var flt = (parseInt(amnt) < 10)? "0"+amnt : amnt.substr(amnt.length-2);
	
		var result = "";
		var blen = base.length;
		while (blen > 3) {
			blen -= 3;
			result = "," + base.substr(blen, 3) + result;
			base = base.substr(0, blen);
		}
		return sign + base + result + "." + flt;
	} else
		return "0.00";
}

function isDecimal (dec) {
 	if (isNumeric(dec) && parseInt(dec) != parseFloat(dec))
		return true;
	return false;
}

function isNumeric (num) {
 	if (num != "" && (num > 0 || num < 0 || num == 0))
		return true;
	return false;
}

function to_int (elem) {
 	if (isNumeric(elem.value) == false)
 		elem.value = "0";
 	else
 		elem.value = parseInt(elem.value);
}
function to_dec (elem, float_pt) {
	var flt = 0;
 	if (isNumeric(elem.value) == true)
		var flt = parseFloat(elem.value);
	elem.value = flt.toFixed(float_pt);
}

function set_select(select, sval) {
 	var options = select.options
 	for (var i=0; i<options.length; i++)
 		if (options[i].value == sval) {
			select.selectedIndex = i;
			return true;
		}
	return false;
}

function selectAll(max) {
	for (var i=0; i<max; i++) {
		var sel = document.getElementsByName("select"+i)[0]
		sel.checked = document.all.selall.checked
	}
}

function viewImage(url) {
	if (url.length > 0)
		window.open(url, "preview", "toolbar=no,menubar=no")
	else
		alert('Image URL is empty!')
}

function random_number(min,max) {

    return (Math.round((max-min) * Math.random() + min));
}
/*
function disableRightClick(e) {
	if (navigator.appName == 'Netscape' && (e.which == 3 || e.which == 2))
		return false;
	else if (navigator.appName == 'Microsoft Internet Explorer' && (event.button == 2 || event.button == 3))
		return false;
		
	return true;
}

document.oncontextmenu = new Function("return false")
document.onmousedown=disableRightClick;
document.onmouseup=disableRightClick;
if (document.layers) window.captureEvents(Event.MOUSEDOWN);
if (document.layers) window.captureEvents(Event.MOUSEUP);
window.onmousedown=disableRightClick;
window.onmouseup=disableRightClick;
*/
