// JavaScript Document

var field_main;
function do_blink(field)
{
	var errorcolor="#767676";
	field.focus();
	field.select();
	field.style.background=errorcolor;
    field_main=field;
	setInterval("temp()",500);
  
    
}

function temp(field)
{
var okcolor="";
field_main.style.background=okcolor;
}

function validate(field)
{   
	try
	{
	valiclass=field.getAttribute("valiclass");
	valimessage=field.getAttribute("valimessage");
	
	if(valiclass=="required")
	{
	
	req=field.getAttribute("req");
	//alert('asd'+valiclass);
	pattern="\\w{"+req+",}";

	if(field.value=="First name *" || field.value=="Last name *"  || field.value=="Vorname *" || field.value=="Name *" || field.value=="Nom *" || field.value=="Prénom *"  || field.value=="Pr\u00E9nom *")
	{
		alert(valimessage);do_blink(field);return false;
	}
	if(!field.value.match(pattern))
	{
		
	alert(valimessage);do_blink(field);return false;
	}
	
	 }
	
	 else if(valiclass=="email")
 	{
		
	 //pattern="^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$";
	 	var emailID=field.value;
	
		if ((emailID==null)||(emailID=="")){
			alert(valimessage);do_blink(field);return false;
		}
		if(!echeck(emailID)){
			alert(valimessage);do_blink(field);return false;
		}
		/*
		 if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(field.value)))
		 {
			 alert(valimessage);do_blink(field);return false;
		 }
		 */
	
	}
	else if(valiclass=="number")
	{
		
	if((field.value.length<1)||isNaN(field.value))
	{
	alert(valimessage);do_blink(field);return false;
	}
		
	}
	else if(valiclass=="telephone")
	{var number=field.value;
				if(number.length>0)
				{
				var numbers = 0;
				var plus = 0;
				for(var i=0;i<number.length;i++)
				{
				var new_key = number.charAt(i);
				if(new_key>="0" && new_key<="9")
				{
				numbers++;
				}
				else
				{
				if(new_key=="+")
				{
				plus++;
				}
				else
				{
				if(new_key==" ")
				{
				}
				else {alert(valimessage);do_blink(field);return false;}
				}
				}
				}
				if(numbers>0 && plus<=1) return true;
				else {
					alert(valimessage);do_blink(field);return false;
					}
				}
				else {
					alert(valimessage);do_blink(field);return false;
					}
				
				
				
				
				

		
	}
	else if(valiclass=="newpassword")
	{
		
	if(field.value!="")
	{
		
		if(field.value.length<6 || field.value.length>16)
		{
			alert(valimessage);do_blink(field);return false;
			}
	}
	/*if((field.value.length<5)||isNaN(field.value))
	{
	alert(valimessage);do_blink(field);return false;
	}*/
		
	}
	else if(valiclass=="creditcard")
	{
	pattern="^[0-9]{16}$";
	if(!field.value.match(pattern))
	{
	alert(valimessage);do_blink(field);return false;
	}
	
	}
	else if(valiclass=="zip")
	{
	pattern="^[0-9]{5}$";
	if(!field.value.match(pattern))
	{
	alert(valimessage);do_blink(field);return false;
	}
	
	}
	
	else if(valiclass=="code")
	{
	pattern="^[0-9]{3}$";
	if(!field.value.match(pattern))
	{
	alert(valimessage);do_blink(field);return false;
	}
	
	}
	
	
	else if(valiclass=="select")
	{
	if(field.options[field.selectedIndex].text.toLowerCase()=="select")
	{
	alert(valimessage);
	field.focus();
	return false;
	}
		
	}
	
	
	else if(valiclass=="date")
	{
	pattern="[0-9]{4}\\-[1-9]{1,2}\\-[1-9]{1,2}$";
	if(!field.value.match(pattern))
	{
	alert(valimessage);do_blink(field);return false;
	}
}
else if(valiclass=="integer")
{
	$bool=field.value.match("^[0-9]{1,4}$");	
	if($bool==0)
	{
		alert("Please enter a non-zero number");
		do_blink(field);
		return false;
	}
	if((!$bool)||isNaN(field.value)||(field.value.indexOf(".")!=-1))
	{
	alert(valimessage);
	do_blink(field);
	return false;	
	}
}

else if(valiclass=="qty")
{
	$bool=field.value.match("^[1-9]{1,4}$");
	
if((!$bool)||isNaN(field.value)||(field.value<12))
{
alert(valimessage);do_blink(field);return false;
}
}

else if(valiclass=="picture")
{
if(field.value.length<1)
return true;
values=field.value.toLowerCase();
if(!ends_with(values,".jpg"))
			  {
alert(values+" is not a valid jpg file");do_blink(field);return false;
}

}
return true;
}
catch(ex)
{
alert(ex.message);
return true;
}
}



function call_validate(form,from,to)
{
for(counter=from;counter<to;counter++)
{
bool=validate(form[counter]);
if(!bool)
{
return false;
break;
}
}
form.submit();
}





function call_validate_ajax(form,from,to)
{
for(counter=from;counter<to;counter++)
{
bool=validate(form[counter]);
if(!bool)
{
return false;
break;
}
}
return true;
}


/////////////////////
function getIndex(what,form) {
    for (var i=0;i<form.length;i++)
        if (what == form[i])
            return i;
    return -1;
}
////////////////////////////////////

function ends_with(hay,neddle)
{
hay=hay.replace(/^\s*|\s*$/g,"");
neddle_length=neddle.length;
hay_length=hay.length;
hay_part=hay.substring((hay_length-neddle_length),hay_length);
return (hay_part==neddle)
}


function  enable_form(form,bools)
{
	
for(counter=0;counter<form.length;counter++)
{
form[counter].disabled=!bools;	
}
}


function loading(bool)
{
try
{
comp=document.getElementById("loading");
if(bool)
{
comp.style.visibility="visible";
}
else
{
comp.style.visibility="hidden";
}
}
catch(d)
{
alert(d.message);	
}
}

function validate_range()
{
//alert(validate_range.arguments.length);	
for(counter=0;counter<validate_range.arguments.length;counter++)
{
bool=validate(validate_range.arguments[counter]);
if(!bool)
{
return false;
break;
}
}
validate_range.arguments[0].form.submit();
return true;
}




function echeck(str) {

	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str.indexOf(at)==-1){
	  return false;
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   return false;
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		return false;
	}

	 if (str.indexOf(at,(lat+1))!=-1){
		return false;
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
	  return false;
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
		return false;
	 }
	
	 if (str.indexOf(" ")!=-1){
	  return false;
	 }

	 return true					
}
