function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function getLength(str){
	var strLength=0;
	if (str != null){
		for (var i=0; i < str.length; i++){
			if (str.charAt(i) != " "){
				strLength++;
			}
		}
	}
	return strLength;
}

function trim(str){
	if (str != null){
		return ltrim(rtrim(str));
	}
	else{
		return "";
	}
}

function ltrim(str){
	if (str != null){
		var idx = 0;
		for (var i=0; i < str.length; i++){
			if (str.charAt(i) != " " && str.charAt(i) != "\n" && str.charAt(i) != "\r" && str.charAt(i) != "\t" && str.charAt(i) != "\0" && str.charAt(i) != "\x0B"){
				idx = i;
				break;
			}
		}
		return str.substring(idx, str.length);
	}
	else{
		return "";
	}
}

function rtrim(str){
	if (str != null){
		var idx = str.length;
		for (var i=str.length-1; i >= 0; i--){
			if (str.charAt(i) != " " && str.charAt(i) != "\n" && str.charAt(i) != "\r" && str.charAt(i) != "\t" && str.charAt(i) != "\0" && str.charAt(i) != "\x0B"){
				idx = i;
				break;
			}
		}
		return str.substring(0, idx+1);
	}
	else{
		return "";
	}
}

function validateEmail(str){
	if (str.length <= 0){
		return true;
	}
	var splitted = str.match("^(.+)@(.+)$");
	if (splitted == null) return false;
	if (splitted[1] != null){
		var regexp_user=/^\"?[\w-_\.]*\"?$/;
		if (splitted[1].match(regexp_user) == null) return false;
	}
	if (splitted[2] != null){
		var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
		if (splitted[2].match(regexp_domain) == null){
			var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
			if (splitted[2].match(regexp_ip) == null) return false;
		}
		return true;
	}
	return false;
}

function validatePhone(str){
	RefString = "-+. ()1234567890";
	DecimalPoints = 0;
	for (i=0; i<str.length; i++){
		TempChar = str.substring ( i, i+1 );
//		if (TempChar == ".") DecimalPoints++;		// Can only have zero or one decimal points in a number
//		if (TempChar == "-" && i != 0) return false;	// Minus Sign must be first character
//		if (TempChar == "+" && i != 0) return false;	// Plus Sign must be first character

		// Check if current character is valid
		if (RefString.indexOf(TempChar,0) == -1) return false;
	}
	//if (DecimalPoints > 1) return false;
	return true;
}
