function validate(frm)
{
//	alert(frm.username.title);
	var n = frm.elements.length;
	for(var i=0;i<n;i++)
	{
		var alt = frm.elements[i].alt;
		var val = frm.elements[i].value;
		var title = frm.elements[i].title;
		var name = frm.elements[i].name;
		//for combobox validation for that first diffine title of combobox leading with {S} ex:- {S}combobox_title.
		select_rtn1=title.indexOf('{');
		select_rtn2=title.lastIndexOf('}');
		select_prifx=title.substring(select_rtn1+1,select_rtn2);
		select_title=title.substring(select_rtn2+1,title.length);
		//if(select_prifx=="S")
			if(select_prifx=="S" && (frm.elements[i].value=="" || frm.elements[i].value=="-1"))
			{
				//alert('Please Select '+select_title);
				displayfaceboxpopup('Please Select '+select_title, frm.elements[i]);
				frm.elements[i].focus();
				return false;
			}
		// End Code.
		if(alt && alt != "")
		{
			var comp = alt.charAt(0);
			rtn1=alt.indexOf('{');
			rtn2=alt.lastIndexOf('}');
			if(comp=="*" || comp=="_")
			{
				if(comp=="*" && val=="")
				{
					//alert("Por favor, escribe "+title);
					displayfaceboxpopup("Por favor, escribe "+title, frm.elements[i]);
					frm.elements[i].focus();
					return false;
				}
				var valid_char = '';
				var valid_email = 'No';
				for(var j=rtn1+1; j<rtn2; j++)
				{
					//alert(alt.charAt(j));
					if(alt.charAt(j)=="N")
						valid_char += '0123456789.';
					else if(alt.charAt(j)=="A")
						valid_char += 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
					else if(alt.charAt(j)=="C")
						valid_char += '0123456789.+-';
					else if(alt.charAt(j)=="T")
						valid_char += '0123456789.+-() ';
					else if(alt.charAt(j)=="D")
						valid_char += '0123456789-/: ';
					else if(alt.charAt(j)=="E")
					{
						valid_email = "Yes";
						valid_char += 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789._-@';
					}
					else if(alt.charAt(j)=="X")
						valid_char = '';
					else if(alt.charAt(j)=="[")
					{
						irtn1=alt.indexOf('[');
						irtn2=alt.lastIndexOf(']');
						//alert(alt.substring(irtn1+1,irtn2));
						valid_char += alt.substring(irtn1+1,irtn2);
						j = rtn2;
					}
				}
				if(valid_email == 'Yes')
				{
					valid_msg = isValidEmail(frm.elements[i].value);
					if(valid_msg != 0)
					{
						//alert(valid_msg);
						displayfaceboxpopup(valid_msg, frm.elements[i]);
						frm.elements[i].focus();
						return false;
					}
				}
				for(k=0;k<val.length && valid_char!='';k++)
				{
					ch=val.charAt(k);
					rtn=valid_char.indexOf(ch);
					if(rtn==-1)
					{
						//alert("Por favor, escribe "+ title);
						displayfaceboxpopup("Por favor, escribe "+ title, frm.elements[i]);
						frm.elements[i].focus();
						return false;
					}
				}
				
				// Format Validation Here
				
				
				f_str = alt.substring(rtn2+1,alt.length);
				if(f_str != "" && comp=="*")
				{
					arr = f_str.split(':');
					if(parseInt(arr[0]) > 0)
					{
						if(val.length < parseInt(arr[0]))
						{
							//alert(title + " debe tener al menos una longitud de "+parseInt(arr[0])+" caracteres");
							displayfaceboxpopup(title + " debe tener al menos una longitud de "+parseInt(arr[0])+" caracteres", frm.elements[i]);
							return false;
						} 
					}
					if(parseInt(arr[1]) > 0)
					{
						if(val.length > parseInt(arr[1]))
						{
							//alert(title + " debe tener una longitud igual o inferior a "+parseInt(arr[1])+" caracteres");
							displayfaceboxpopup(title + " debe tener una longitud igual o inferior a "+parseInt(arr[1])+" caracteres", frm.elements[i]);
							return false;
						} 
					}
				}
			}
		}
	}
	return true;
}

