// JavaScript Document
function leftTrim(str){
	while (str.substring(0,1) == ' '){ 
		str = str.substring(1,str.length);
	}
	return str;
}

function rightTrim(str){
	while (str.substring(str.length-1,str.length) == ' '){
		str = str.substring(0,str.length-1); 
	}
	return str;
}

function removeExtraBlanks(str) {
	var finalStr = "";
	var c;
	var prevCharWasBlank = false;
	for(var i = 0; i < str.length; i++) {
		c = str.charAt(i);
		if(!prevCharWasBlank || c != ' ') {
			if (c == ' ') {
				prevCharWasBlank = true;
			} else {
				prevCharWasBlank = false;
			}
			finalStr+=c;
		}
	}
	return finalStr;
}

function trim(str){
	return leftTrim(rightTrim(removeExtraBlanks(str)));
} 

function isEmailValid(sEmail){
	if (sEmail == ""){
		alert("Please fill in your email address.");
		return false;
	}else if (!emailCheck(sEmail)){
		return false;
	}
	return true;
}

function emailCheck (emailStr){
	var emailPat = /^(.+)@(.+)$/
	var specialChars = "\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	var validChars = "\[^\\s" + specialChars + "\]"
	var quotedUser = "(\"[^\"]*\")"
	var ipDomainPat = /^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atom = validChars + '+'
	var word = "(" + atom + "|" + quotedUser + ")"
	var userPat = new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat = new RegExp("^" + atom + "(\\." + atom +")*$")
	var matchArray = emailStr.match(emailPat)
	var user,domain,IPArray,domainArray,atomPat,domArr,len,errStr;

	if (matchArray == null){
		alert("Email address is incorrect (check @ and .'s)")
		return false
	}

	user=matchArray[1]
	domain=matchArray[2]			

	if (user.match(userPat) == null){
		alert("Email address' username is invalid.")
		return false
	}

	IPArray = domain.match(ipDomainPat);

	if (IPArray != null){
		for (var i=1;i<=4;i++){
			if (IPArray[i]>255){
				alert("Destination IP address is invalid!")
				return false
			}
		}
		return true
	}

	domainArray = domain.match(domainPat);

	if (domainArray == null){
		alert("Email address' domain name is invalid.")
		return false
	}

	atomPat = new RegExp(atom,"g")
	domArr = domain.match(atomPat)
	len = domArr.length

	if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3){
		alert("Email address must end in a three-letter domain, or two letter country.")
		return false
	}

	if (len<2){
		errStr = "Email address is missing a hostname!"
		alert(errStr);
		return false
	}
	return true;
}

function isNumeric(str1){
	var val = "-0123456789";
	for (i=0; i < str1.length; i++)	{
		var s = str1.charAt(i);
		if(s == "-"){
			if(i > 0)
				return false;	
			
		}
		if (val.indexOf(s) == -1)
			return false;
	}
	return true;
}

function isAlphaNumeric(str1){
	var val = "_0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
	for (i=0; i < str1.length; i++)	{
		var s = str1.charAt(i);
		if (val.indexOf(s) == -1)
			return true;
	}
	return false;
}

function isNumeric(str1){
	var val = "0123456789";
	for (i=0; i < str1.length; i++){
		var s = str1.charAt(i);
		if(s == "-"){
			if(i > 0)
				return false;	
			
		}
		if (val.indexOf(s) == -1)
			return false;
	}
	return true;
}

function showHide(elem){
	var ele = document.getElementById(elem);
	if(ele!=null){
		if(ele.style.display=="block"){
			ele.style.display="none";
		}else{
			ele.style.display="block";
		}
	}
}

