//---- V A L I D A T I O N    F U N T I O N  
// B - Blank , N - Number field ,  T- Text field , E- email check, P - password
function mf_validation(obj,type,msg,err_div) 
{ 
     	 
    // Blank Field Validation
			if (type=="B") 
			{ 
			  // removing white spaces
			  obj.value = trim(obj.value);
		 
				if(obj.value=="") 
				{ 
					err_div.innerHTML = msg;
				//	obj.select();
				//	obj.focus(); 
					return false; 
				} 
				else
				{
					 	err_div.innerHTML = '';
						return true;
				}
				
			} // end if type B 
			
			
		// Number Field Validation
			if (type=="N") 
			{ 
			  // removing white spaces
 			   obj.value = trim(obj.value);
			   
				if(obj.value=="" || obj.value<0 || isNaN(obj.value)==true) 
				{ 
					err_div.innerHTML = msg;
					//	obj.select();
					//obj.focus(); 
					return false; 
				} 
				else
				{
					 	err_div.innerHTML = '';
						return true;
				}
 
			} // end if type N
			
		
 		// Text Field Validation
			if (type=="T") 
			{ 
			  // removing white spaces
	 		   obj.value = trim(obj.value);
			   
				var last = obj.value;
				var flag = 1;
				for (var i = 0; i < last.length; i++)
				{
					var ch = last.substring(i, i + 1);
					if (((ch < "a" || "z" < ch) &&  (ch!=" " && ch!=",")) && ((ch < "64" || "Z" < ch) &&  (ch!=" " && ch!=",")))
						{
							flag = 0;
							break;
						}
				}
				if( flag==0 )
				 {
					err_div.innerHTML = msg;
					//obj.select();
					//obj.focus();
					return false;
				 }
				 else
				{
					 	err_div.innerHTML = '';
						return true;
				}
		   	} // end if type T 
			
			
			// Alfaneumeric validation Field Validation not allowed special characters
			if (type=="TN") 
			{ 
			  // removing white spaces
	 		   obj.value = trim(obj.value);
			   
				var flag = 1;
				
				var iChars = "*|,\":<>[]{}`\';()&$#%";

			   for (var i = 0; i < obj.value.length; i++)
			    {
				  if (iChars.indexOf(obj.value.charAt(i)) != -1)
				   {
					 flag = 0;
					 break;
				   }
			    }
				
				if(isNaN(obj.value)==false)
		 		  flag = 0;
				
				if(flag==0 )
				 {
					err_div.innerHTML = msg;
				//	obj.select();
				//	obj.focus();
					return false;
				 }
				 else
				{
					 	err_div.innerHTML = '';
						return true;
				}
		   	} // end if type TN
			
			// Email Field Validation
			if (type=="E") 
			{ 
			   // removing white spaces
			    obj.value = trim(obj.value);
				
				if(emailCheck(obj.value)==false) 
				 { 
						err_div.innerHTML = msg;
				//		obj.select();
				//		obj.focus(); 
						return false; 
				 } 
				else
				 {
					 	err_div.innerHTML = '';
						return true;
			 	 }
 
			} // end if type E 
			
			
			// URL Field Validation
			if (type=="U") 
			{ 
			   // removing white spaces
			   obj.value = trim(obj.value);
			   
				if(isValidURL(obj.value)==false) 
					{ 
						err_div.innerHTML = msg; 
				//		obj.select();
				//		obj.focus(); 
						return false; 
					} 
				else
				{
					 	err_div.innerHTML = '';
						return true;
				}
 
			} // end if type U 	
			
			
			// blank image upload validation
			if (type=="I") 
			{ 
			   // removing white spaces
			   //obj.value = trim(obj.value);
			   
				if (!/(\.(gif|jpg|jpeg|png))$/i.test(obj.value))
					{ 
						err_div.innerHTML = msg;
				//		obj.select();
				//		obj.focus(); 
						return false; 
					} 
				else
				  {
					 	err_div.innerHTML = '';
						return true;
			  	 }	
 
			} // end if type I
		
			
			
			// zip validation
			if (type=="Z") 
			{ 
			   // removing white spaces
			   obj.value = trim(obj.value);
			   
				if(obj.value.length<5 || obj.value=='00000' || isNaN(obj.value)==true)	 
				 {
						 err_div.innerHTML = msg;
				//		 obj.focus();
						 return false;
				   }

				else
				  {
					 	err_div.innerHTML = '';
						return true;
			  	 }	
 
			} // end if type I


      // FCKEditor Validation
			if (type=="FCK") 
			{ 
				var inst = FCKeditorAPI.GetInstance(obj);
				var sValue = inst.GetHTML();		
				if(sValue=='')
				{  
				    err_div.innerHTML = msg;
					return false;
				} 
				else
				{
					 	err_div.innerHTML = '';
						return true;
				}

			
			} // end if type FCK 
 
		 
} // END FUNCTION  


// trim functions
function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function ltrim(stringToTrim) {
	return stringToTrim.replace(/^\s+/,"");
}
function rtrim(stringToTrim) {
	return stringToTrim.replace(/\s+$/,"");
}



// function for email no validation
function emailCheck(str1) 
{ 
        var RegExp = /^((([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|\/|=|\?|\^|_|`|\{|\||\}|~)+(\.([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|\/|=|\?|\^|_|`|\{|\||\}|~)+)*)@((((([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.))*([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.)[\w]{2,4}|(((([0-9]){1,3}\.){3}([0-9]){1,3}))|(\[((([0-9]){1,3}\.){3}([0-9]){1,3})\])))$/ 
	
    if(RegExp.test(str1)){ 
        return true;
    }else{ 
		return false;
    } 


}//end of function emailCheck


// function for url validation

function isValidURL(url){ 
    var RegExp = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/; 
    if(RegExp.test(url)){ 
         return true;
    }else{ 
		return false;
    } 
}

// resrincting text area characters limit
function chopText(elem, limit, frm)
 {
	   
	if(elem.value.length>=limit)
  	   elem.value=elem.value.substring(0,limit);  
	var cnt = limit-elem.value.length ;   
   frm.innerHTML = '<strong>Characters Remaining: ' + cnt + '</strong>';
//	frm.txtcnt.value = limit-elem.value.length;   
 }
