var moz = (typeof document.implementation != 'undefined') && (typeof document.implementation.createDocument != 'undefined');
var ie = (typeof window.ActiveXObject != 'undefined'); 

function getByName(f, n) {
	for(var i=0;i<f.elements.length;i++) {
		if(f.elements[i].name==n) {
			return f.elements[i];
		}
	}
	return false;
}
function getFromName(nam, idx) {
	var res=new Array();
	var i=0;
	res[i]=new String("");
	for(var j=0;j<nam.length;j++) {
		if(nam.charAt(j)=="_") {
			i++;
			res[i]=new String("");
		} else {
			res[i]+=nam.charAt(j);
		}
	}
	return res[idx];
}

function browserWidth() {
	var w=(ie?document.body.clientWidth:window.innerWidth);
	return w;
}
function browserHeight() {
	var h=(ie?document.body.clientHeight:window.innerHeight);
	return h;
}


function findPosX(obj) {
	var curleft = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curleft += obj.offsetLeft;
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}
function findPosY(obj) {
	var curtop = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curtop += obj.offsetTop;
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

function parseVal(v) {
	var t = parseFloat(v);
	return isNaN(t) ? 0 : t;
}

function intLen(v, d) {
	var s = new String(v);
	while(s.length<d) {
		s = "0" + s;
	}
	return s;
}

function roundDec(a, dec) {
	var b=Math.pow(10, dec);

	var res=Math.round(a*b)/b;
	var s=new String(res);
	var c=s.indexOf('.');
	if(c<0) {
		c=s.length-1;
	}

	var d=s.length-c-1;
	if(d<dec) {
		if(d==0) {
			res+=".";
		}
		for(var i=d;i<dec;i++) {
			res+="0";
		}
	}
	if(isNaN(parseFloat(res))) {
		res="";
	}
	return res;
}

function number_format(v) {
	var decPlaces = 2;
	var separator = ".";
	var comma = ",";
	if(number_format.arguments.length>1) {
		decPlaces = arguments[1];
		separator = arguments[2];
		comma = arguments[3];
	}
	var res = roundDec(v, decPlaces);
	return res;
}