///////////////////////////////////////////////////////////////
function echeck(str) {

		var at='@'
		var dot='.'
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		
		
		ok = '1234567890qwertyuiop[]asdfghjklzxcvbnm.@-_QWERTYUIOPASDFGHJKLZXCVBNM';
		for(i=0; i < str.length ;i++){
			if(ok.indexOf(str.charAt(i))<0){ 
				return false;
			}	
		}		
		
		
		if (str.indexOf(at)==-1){
		   //alert('Invalid E-mail ID')
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   //alert('Invalid E-mail ID')
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    //alert('Invalid E-mail ID')
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    //alert('Invalid E-mail ID')
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    //alert('Invalid E-mail ID')
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    //alert('Invalid E-mail ID')
		    return false
		 }
		
		 if (str.indexOf(' ')!=-1){
		    //alert('Invalid E-mail ID')
		    return false
		 }
		var r_domain=str.substr(str.indexOf('@')+1);
		var domain=r_domain.substr(0,r_domain.indexOf('.'));
		var extension=r_domain.substr(r_domain.indexOf('.')+1);
		//alert(r_domain+'  '+domain+'  '+extension);
		 if (domain.indexOf('--')!=-1){
		    //alert('Guions seguits');
		    return false
		 }
		 if (domain.indexOf('-')==0){
		    //alert('Guio incial');
		    return false
		 }
		 if (domain.substr(-1)=='-'){
		    //alert('Guio final');
		    return false
		 }		
		 if (domain.length<2){
		    //alert('Minimum domain 2');
		    return false
		 }
		 if (extension.length<2){
		    //alert('Minimum extension domain 2');
		    return false
		 }		
 		 return true					
}	
////////////////////////////////////////////////////////////////

function isNumeric(strString)
   //  check for valid numeric strings	
   {

   var strValidChars = "0123456789.-";
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
   }
////////////////////////////////////////////////////////////////
	function check(form,exclude){
		var form;
		/*exclude='email';*/
		var str='';
		var my_url='';
		
		var len = form.length;
		for (var n = 0; n < len; n++)	  {
			var oinput = form[n];
			var name=oinput.name.toLowerCase();
			var type=oinput.type.toLowerCase();
			var classes=oinput.className;
			var value=oinput.value;
			
			var oexclude=exclude.match(name);
			var isdisabled=classes.match('disabled');
			
			
			if (oexclude==null || (isdisabled==null && value.length<1)){
				//no existeix => checkejar
				var checkejar=true;
			}else{
				//no checkejar
				if (value.length>=1){
					var checkejar=true;
				}else{
					var checkejar=false;
				}
				
			}
			
			//rule checkejar
		if (checkejar==true){
		//	alert(type.indexOf('select'));
			//rule mail
			if ((type.indexOf('select')=='0')){
			//	alert('type_select');
				//alert(oinput.options[oinput.selectedIndex].value);
				//alert(oinput.options[oinput.selectedIndex].text);
				
			if ((name=='reason' || name=='motivo' || name=='motiu')){
				if (oinput.options[oinput.selectedIndex].value==''){
				
						//alert('Email fails2'+oinput+'-'+type+'-'+value);
						if (hl=='cas'){
						alert('Introduce correctamente todos los datos. Debes seleccionar una opción');
						}
						if (hl=='val' || hl=='cat'){
						alert('Introdueix correctament totes les dades. Sel·lecciona una opció');
						}
						if (hl=='eng'){
						alert('Incorrect data.');
						}
																				
						oinput.focus();
						return false;
						}

			


			}
			
			}//end rule mail
			
			//rule type
			if ((type!='hidden' || type!='button')){
				//rule empty
				if ((type=='text' || type=='textarea') && value==''){
					
			//	alert(oinput+'-'+type+'-'+value+'hl'+hl);
					if (hl=='cas'){
					alert('Introduce correctamente todos los datos. ');
					}
						if (hl=='cat'){
					alert('Introdueix correctament totes les dades. ');
					}
						if (hl=='val'){
					alert('Introdueix correctament totes les dades. ');
					}
					if (hl=='eng'){
					alert('Incorrect data. Incorrect data. Reenter the data correctly. ');
					}
					
					oinput.focus();
					return false;
				
				}//end rule empty
				if (name!="quantity"){
				if ((type=='text' || type=='textarea') && value.length<3){
					//alert(oinput+'-'+type+'-'+value);
					if (hl=='cas'){
					alert('Introduce correctamente todos los datos. ');
					}
					if (hl=='val' || hl=='cat'){
					alert('Introdueix correctament totes les dades.');
					}
					if (hl=='eng'){
					alert('Incorrect data. Incorrect data. Reenter the data correctly. ');
					}
					oinput.focus();
					return false;
				
				}//end rule empty
				}
				//rule quantity numeric
				if ((name=='quantity' || name=='telef' || name=='fax'  || name=='telefono' || name=='telefon' || name=='phone'  || name=='postalcode'  || name=='codigopostal')){
				
					if (isNumeric(value)==false){
							if (hl=='cas'){
						alert('Solo se admiten numeros');							
						}
							if (hl=='val' || hl=='cat'){
						alert('Sols s\'admiteixen numeros');
						}
						if (hl=='val'){
						alert('Only numbers');
						}						
						
						oinput.focus();
						return false;
					}
				
				}
				//rule mail
				if ((name=='email' || name=='mail' || name=='e-mail')){
					
						if (echeck(value)==false){
							//alert('Email fails2'+oinput+'-'+type+'-'+value);
							if (hl=='cas'){
							alert('Introduce correctamente todos los datos. E-mail invalido');
							}
								if (hl=='val' || hl=='cat'){
							alert('Introdueix correctament totes les dades. E-mail invalid');
							}
							if (hl=='eng'){
							alert('Incorrect data. Incorrect data. Reenter the data correctly. Wrong e-mail');
							}
																					
							oinput.focus();
							return false;

					}


				}//end rule mail
				

				//rule url
				if (name=='url' || name=='web' || name=='website'){
					var urlRegxp = /^(http:\/\/www.|https:\/\/www.|ftp:\/	\/www.|www.){1}([\w]+)(.[\w]+){1,2}$/;	
					if (oinput.disabled!=true){
						if (urlRegxp.test(value) != true){
							//alert('Email fails2'+oinput+'-'+type+'-'+value);
							//alert('Introdueix correctament totes les dades\n\nUrl invalida');
							if (hl=='cas'){
							alert('Introduce correctamente todos los datos. Url invalida');
							}
								if (hl=='val' || hl=='cat'){
							alert('Introdueix correctament totes les dades. Url no valida');
							}
							if (hl=='eng'){
							alert('Incorrect data. Incorrect data. Reenter the data correctly. Invalid url');
							}
							
							
							oinput.focus();
							return false;

					}
					}				
				}//end rule url	
				
				//rule confirm
				if (name=='confirm' || name=='confirm' || name=='confirm'){
						
					if (oinput.disabled!=true){
						if (!oinput.checked){
							//alert('Email fails2'+oinput+'-'+type+'-'+value);
							alert('Confirma les dades');
							oinput.focus();
							return false;

					}
					}				
				}//end rule confirm
							
			}//end rule type
		}//end rule checkejar
			
		
		}//end for
		return true;
			
	}
////////////////////////////////////////////////////////////////








