var debug;
var txt="";

debug = 0;

if (debug == 1) {
	onerror=handleErr

}
function handleErr(msg,url,l) {
	txt="There was an error on this page.\n\n"
	txt+="Error: " + msg + "\n"
	txt+="URL: " + url + "\n"
	txt+="Line: " + l + "\n\n"
	txt+="Click OK to continue.\n\n"
	if (url != ""){
		alert(txt)
	}
	return true
}

function removeItem(msg, url) {
	if (confirm(msg)) {
		document.location.href = url;
	}
}

function url_from_rel(url) {
	var loc = window.location.href;
	loc = loc.replace(/http:\/\//i, "");

	var loc_bits = loc.split('/');
	loc_bits.pop();

	if (url.substr(0, 1) == '/') {
	    url = url.substr(1, url.length - 1);
	}

	var url_bits = url.split('/');

	for (var bit in url_bits) {
	    if (bit == '..' || bit == '.') {
			loc_bits.pop();
		}
	}

	new_bits = loc_bits.concat(url_bits);
	new_url = 'http://' + new_bits.join('/');
	
	return new_url
}

function redirect(url) {
	window.location = url_from_rel(url);
	
	return true;
}

function setValueById(elmtId, val) {
	document.getElementById(elmtId).value = val;
}

function getValueById(elmtId) {
	return document.getElementById(elmtId).value;
}

function setfocus(nme) {
	fld = document.getElementById(nme);
	if (fld == null) {
		flds = document.getElementsByName(nme);
		fld = flds[0];
	}

	if (fld.type == 'text' || fld.type == 'textarea' || fld.type == 'password' || fld.type == 'file') {
		fld.focus();
	}
}

function formatCurrency(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if (isNaN(num)) {
		num = "0";
	}
	
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	
	if (cents < 10) {
		cents = "0" + cents;
	}
	
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	num = num.substring(0,num.length-(4*i+3))+','+
	num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + '$' + num + '.' + cents);
}

function charCounter(fldId, max, outputId) {
	var fld = document.getElementById(fldId);
	var output = document.getElementById(outputId);
	if (fld.value.length > max) {
		output.style.color = "#CC0000";
	} else {
		output.style.color = "#30B030";
	}
	
	output.innerHTML = "maximum characters "+ max+ " ("+fld.value.length+")";
}

function checkEnter(e) {
	var characterCode;
	var srcElement;
	var fm;
	
	if (e && e.which) {
		characterCode = e.which;
	} else {
		e = event;
		characterCode = event.keyCode;
	}
	
	if (e.target) {
		srcElement = e.target;
	} else {
		srcElement = e.srcElement;
	}
	
	if (srcElement.tagName.toLowerCase() == 'input' && characterCode == 13) {
		fm = srcElement.form;
		
		if (fm.onsubmit != undefined) {
			if (fm.onsubmit()) {
				fm.submit();
			}
		} else {
			fm.submit();
		}
		return false;
	} else {
		return true;
	}
}

captureEvent('keypress', checkEnter);

function captureEvent(eventType, handler) {
	if (document.addEventListener) {
		document.addEventListener(eventType, handler, false);
	} else if (document.attachEvent) {
		document.attachEvent("on"+eventType, handler);
	}
}
