// Include prototype first

/*
	id  =  id of element
	errorMsg =  show Error message if incorrect

	
	
	type:
		minlength  ; data = number of length min
		maxlength
		email
		number
		strgnum
		
	data  =  custom value for selected type validation
		

*/

var errorTag  =  "span";
var errorClass =  "errorBox";

function validELM(id,errorMsg,type,data)
{
	var obj =  document.getElementById(id);
	if(obj == undefined || obj == null)
		reurn -1;
		
	if(type == "minlength")
	{
		var str  =  vtrim(obj.value);
		if(str.length < data)
		{
			ValidShowError(id,errorMsg);
			return -1;
		}
		else
		{
			ValidHideError(id);
		}
		
	}
	if(type == "email")
	{
		var str  =  vtrim(obj.value);
		if(!validateEmail(str))
		{
			ValidShowError(id,errorMsg);
			return -1;
		}
		else
		{
			ValidHideError(id);
		}
		
	}
	
	return 0;	
}

function ValidHideError(id)
{
	var idSufix  =  "_validJS";
		
	var node  = null;
	var objTmp  =  document.getElementById(id + idSufix);
	if(objTmp != null ||objTmp != undefined )
		node  =  objTmp;
		
	if(node != null && node != undefined)
		node.innerHTML  =  "";
	
}

function ValidShowError(id,msg)
{
	//nodeName - get tag name
	var idSufix  =  "_validJS";
		
	var node  = null;
	var objTmp  =  document.getElementById(id + idSufix);
	if(objTmp != null ||objTmp != undefined )
		node  =  objTmp;
		
	if(node == null || node == undefined)	
	{
		var obj =  document.getElementById(id);
		if(obj == undefined || obj == null)
			return -1;
		var parent  =  	obj.parentNode;
		if(parent == undefined || obj == null)
			return -1;
			
		var newTag =  document.createElement(errorTag);
		newTag.className = errorClass;
		var _id  =  id + idSufix;
		newTag.id  =  _id;
		
		parent.appendChild(newTag);
		node  =  newTag;
	}
	 
	
	if(node != null && node != undefined)
		node.innerHTML  =  msg;
	
//	var node = $(id).getOffsetParent();
//	var node = $(id).getOffsetParent();
//	
//	var newTag =  document.createElement(errorTag);
//	newTag

//	x.appendChild(node)
}

function vtrim(sInString)
{
	sInString = sInString.replace(/ /g,'');
	return sInString.replace(/(^\s+)|(\s+$)/g, '');
} 

function isValidEmail(str) {

   return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
 


}


function validateEmail(email) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   var address = email;
   if(reg.test(address) == false) 
   {    
      return false;
   }
   else
   	return true;
   
}

/*
 var node = $('login').getOffsetParent();
   alert("Offset Parent is : " 
      + node.nodeName + ':' + node.innerHTML );


*/
