var field_main;
function do_blink(field)
{
	var errorcolor="#DBDBDB";
	field.focus();
	field.select();
	field.style.background=errorcolor;
    field_main=field;
	setInterval("temp()",500);
  
    
}

function temp(field)
{
var okcolor="#ffffff";
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.match(pattern))
			{
			alert(valimessage);do_blink(field);return false;
			}
	}
	
	
	
	else if(valiclass=="alphabets")
	{
	
		req=field.getAttribute("req");
		//alert('asd'+valiclass);
		pattern="\^[A-z]{"+req+",}$";
		if(!field.value.match(pattern))
		{
		alert(valimessage);do_blink(field);return false;
		}
	}
	else if(valiclass=="email")
	{
			pattern="^\\w{1,}@\\w{1,}(\\.\\w{1,}){1,}$";
		if(!field.value.match(pattern))
		{
		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=="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=="code1")
	{
		pattern="^[0-9]{4}$";
		if(!field.value.match(pattern))
		{
		alert(valimessage);do_blink(field);return false;
		}	
	}
	else if(valiclass=="year")
	{
		pattern="^[1-9][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}\\-[0-9]{1,2}\\-[0-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_required")
	{
			values=field.value.toLowerCase();
			if(!ends_with(values,".jpg"))
						  {
			alert("You must select a JPG image.");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;
		}
	}
	return true;
	//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 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;
}

