
//// common utils  ////

//var _ns4 = document.layers?1:0;
//var _ie  = document.all?1:0;

var _ie  = navigator.appName.indexOf("Internet Explorer")>-1;


function replace(sVal, toFind, toReplace) {
	if (sVal==null||toFind==null||toReplace==null) { return ""; }
	pos = sVal.indexOf(toFind);
	return pos>=0?(sVal.substring(0,pos)+toReplace+sVal.substring(pos+toFind.length)):sVal;
}

function replaceAll(sVal, toFind, toReplace) {
	if (sVal==null||toFind==null||toReplace==null) { return ""; }
	while (sVal.indexOf(toFind)>=0) {
		sVal = replace(sVal, toFind, toReplace);
	}
	return sVal;
}

function RTrim(sVal) {
	if (sVal==null) { return ""; }
	while (sVal.length>0&&sVal.substring(sVal.length-1,sVal.length)==" ") {	
		sVal = sVal.substring(0,sVal.length-1); 
	}
	return sVal;
}

function LTrim(sVal) {
	if (sVal==null) { return ""; }
	while (sVal.length>0&&sVal.substring(0,1)==" ") { sVal = sVal.substring(1); }
	return sVal;
}

function Trim(sVal) {
	return LTrim(RTrim(sVal));
}

function isEmpty(sText) {
	return Trim(sText)=="";
}

function isDouble(sDouble) {
	pattern = /^\d+\.\d+$/;
	return pattern.test(sDouble);
}

function isInteger(sInteger) {
	pattern = /^\d+$/;
	return pattern.test(sInteger);
}

function isNumber(sNum) {
	return isDouble(sNum)||isInteger(sNum);
}

function toFloat(sNum) {
	return parseFloat(sNum);
}

function toInteger(sNum) {
	return parseInt(sNum);
}

function isEmail(sEmail) {
	pattern = /^.+@.+\..+$/;
	return pattern.test(sEmail);
}

function isDNI(sDNI)  { 
	chain = "TRWAGMYFPDXBNJZSQVHLCKET";
	sDNINumber = sDNI.substring(0, sDNI.length-1);
	sDNILetter = sDNI.substring(sDNI.length-1);
	pos = sDNINumber%23;
	letter = chain.substring( pos, pos+1 );
	return sDNILetter.toUpperCase()==letter.toUpperCase();
} 

