// JavaScript Document
var reFloat = /^((\d+(\.\d*)?)|((\d*\.)?\d+))$/
function isEmailValid(st) {
	var error = false;
	var at = st.indexOf("@");
	var dot = st.indexOf(".", at);
	var invStringPresent = false;
	var invalidString = ['!', '#', '$', '%', '^', '&', '*', '+', '/', "\\", '(', ')', '[', ']', '{', '}', ';', ':', "'", '\"', '<', '>', ',', '?', '~', '`', ' ', '=', '|'];
	//check for invalid strings
	for (i=0; i<invalidString.length; i++) {
		if (st.indexOf(invalidString[i])>=0) {
			invStringPresent = true;
			//trace("Invalid String "+invalidString[i]+" present");
		}
	}
	//trace("AT = "+at+" , DOT = "+dot);
	switch (true) {
	case invStringPresent :
		// for Invalid Strings
	case (at<0) :
		// 'at' presence
	case (at == 0) :
		// 'at' NOT at the beginning
	case (st.indexOf("@", at+1)>=0) :
		// only one 'at'		
	case (dot<0) :
		// 'dot' presence
	case (dot<at) :
		// 'dot' after at
	case (st.lastIndexOf(".") == st.length-1) :
		// 'dot' not in the last
	case ((dot-at) == 1) :
		// NO 'dot' immediately after 'at'
		error = true;
	}
	//trace("ERROR = "+error);
	return (!error);
}
function isEmpty(st) {
	if (trimString(st) == "") {
		return true;
	} else {
		return false;
	}
	
}
function lTrim(st) {
	var l_trimIndex = st.length;
	for (var i = 0; i<st.length; i++) {
		if (st.charCodeAt(i) != 32) {
			l_trimIndex = i;
			break;
		}
	}
	return st.substring(l_trimIndex);
}
function rTrim(st) {
	var r_trimIndex = 0;
	for (var i = st.length-1; i>=0; i--) {
		if (st.charCodeAt(i) != 32) {
			r_trimIndex = i+1;
			break;
		}
	}
	return st.substring(0, r_trimIndex);
}
function trimString(st) {
	return lTrim(rTrim(st));
}
function isFloat (s)

{   if (isEmpty(s)) 
       if (isFloat.arguments.length == 1) return defaultEmptyOK;
       else return (isFloat.arguments[1] == true);

    return reFloat.test(s)
}
//NUMBERS ONLY
function numbersonly(myfield, e, dec)
{
	var key;
	var keychar;
	
	if (window.event)
	   key = window.event.keyCode;
	else if (e)
	   key = e.which;
	else
	   return true;
	keychar = String.fromCharCode(key);

	// control keys
	if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27)  ){
	   return true;
	}
	// numbers
	else {	
		if ((("0123456789").indexOf(keychar) > -1)){
		   
			return true;
		  
		} 
		else {
			 
			// decimal point jump
			if (dec && (keychar == "."))	{				
				myfield.form.elements[dec].focus();
				return false;
			} else {
				return false;
			}
		}
	}
}
//NUMBERS ONLY
function numbersonly_dot(myfield, e, dec)
{
	var key;
	var keychar;
	
	if (window.event)
	   key = window.event.keyCode;
	else if (e)
	   key = e.which;
	else
	   return true;
	keychar = String.fromCharCode(key);

	// control keys
	if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) ){
	   return true;
	}
	// numbers
	else {	
		if (((".0123456789").indexOf(keychar) > -1)){
		   
			return true;
		  
		} 
		else {
			 
			// decimal point jump
			if (dec && (keychar == "."))	{				
				myfield.form.elements[dec].focus();
				return false;
			} else {
				return false;
			}
		}
	}
}
//NUMBERS ONLY
function numbersonly_plus(myfield, e, dec)
{
	var key;
	var keychar;
	
	if (window.event)
	   key = window.event.keyCode;
	else if (e)
	   key = e.which;
	else
	   return true;
	keychar = String.fromCharCode(key);

	// control keys
	if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) ){
	   return true;
	}
	// numbers
	else {	
		if ((("+0123456789").indexOf(keychar) > -1)){
		   
			return true;
		  
		} 
		else {
			 
			// decimal point jump
			if (dec && (keychar == "."))	{				
				myfield.form.elements[dec].focus();
				return false;
			} else {
				return false;
			}
		}
	}
}
function numbersonly_plus_hypon(myfield, e, dec)
{
	var key;
	var keychar;
	
	if (window.event)
	   key = window.event.keyCode;
	else if (e)
	   key = e.which;
	else
	   return true;
	keychar = String.fromCharCode(key);

	// control keys
	if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) ){
	   return true;
	}
	// numbers
	else {	
		if ((("-+0123456789").indexOf(keychar) > -1)){
		   
			return true;
		  
		} 
		else {
			 
			// decimal point jump
			if (dec && (keychar == "."))	{				
				myfield.form.elements[dec].focus();
				return false;
			} else {
				return false;
			}
		}
	}
}

function confirmDeleteLink(str, url){
	if(confirm(str)){		
		//window.location = url;
		return true
		
	} else {
			return false;
	}
}
function charactersonly(val)
{
	var key;
	var keychar;
	
	if (window.event)
	   key = window.event.keyCode;
	else if (e)
	   key = e.which;
	else
	   return true;
	keychar = String.fromCharCode(key);
	
	var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?";
	for (var i = 0; i < val.length; i++) {
		if (iChars.indexOf(val.charAt(i)) != -1) {
			alert ("Username is invalid.");
			return false;
		}
	}
}
function lower(ustr)
{

	var str=ustr.value;
	ustr.value=str.toLowerCase();
}
function CheckLetters(val)
{ 
	var y=val;
	var flg= "true"
	for(var i=0;i<y.length;i++) {
		if (!(y.charAt(i)>="a" && y.charAt(i)<="z"||y.charAt(i)>="A" && y.charAt(i)<="Z" || y.charAt(i)==" ")) {
			flg = "false";
			break;
		} 

	}
	return flg
}
