// JavaScript Document

// JavaScript Document



var field_main;

function do_blink(field)

{

	var errorcolor="#ff0000";

	field.focus();

	field.select();

	field.style.background=errorcolor;

	field_main=field;

	setTimeout("temp()",500);





}



function temp()

{

	var okcolor="#ffffff";

	field_main.style.background=okcolor;

}



function validate(field)

{



	if(field.style.visibility=="hidden")

	{

		return true;

	}



	try

	{

		valiclass=field.getAttribute("valiclass");

		valimessage=field.getAttribute("valimessage");

		if(valiclass=="required")

		{



			//req=field.getAttribute("req");
			req = "30";
			pattern="\\w{"+req+",}";
			if(field.value == ""){
				alert(valimessage);do_blink(field);return false;
			}
		

			if(!field.value.match(pattern)){

				//alert(valimessage);do_blink(field);return false;

			}

		}

		else if(valiclass=="email")
	{
		if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(field.value)))
			//	if(!field.value.match(pattern))
			{
				alert(valimessage);
				do_blink(field);
				return false;
			}
	}
		else if(valiclass=="password")

		{

			
			
			if(field.value == "")

			{

				alert(valimessage);do_blink(field);return false;

			}



		}
		else if(valiclass=="cpassword")

		{

			
			
			if(field.value == "")

			{

				alert(valimessage);do_blink(field);return false;

			}
			



		}

		else if(valiclass=="website")

		{

			pattern="www\\.\\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=="quantity")

		{

			if (isNaN(field.value) || field.value < 1 || field.value > 99)

			{

				alert (valimessage);

				do_blink(field);

				return false;

			}

		}

		

		else if(valiclass=="creditcard")

		{

			pattern="[0-9]{13,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="^[0-9]{1,}$";

			if(!field.value.match(bool))

			{

				alert(valimessage);do_blink(field);return false;

			}

			if(parseInt(field.value)<1)

			{



				alert(valimessage);do_blink(field);return false;



			}



			if(isNaN(field.value)||(field.value.indexOf(".")!=-1))

			{

				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;

			}



		}

		else if(valiclass=="reqpicture")

		{

			values=field.value.toLowerCase();

			if(field.value.length<1)

			{

				alert(values+" is not a valid jpg file");do_blink(field);return false;

			}

			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 callValidateRange()

{

	//alert(callValidateRange.arguments);

	arr=callValidateRange.arguments;

	form=arr[0];

	bool=true;

	for(counter=1;counter<arr.length;counter++)

	{

		//	alert(arr[counter].name);

		bool=validate(arr[counter]);

		if(!bool)

		{

			arr=null;

			return bool;

		}

	}

	arr=null;

	return true;

}


