

function check(form,x,language)
{
	//If you would like to use this script please do not remove the next 4 lines
	script_name = "Form Validator ver 2.0"
	action =  "Checks Required, Integer and Date"
	copyright = "(c) 1998 - Art Lubin / Artswork"
	email = "perflunk@aol.com"
	var set_up_var = doall(script_name, copyright, email)
	var message = ""
	var more_message = ""
	var showmsg = "no"
	if (set_up_var == 5872)
	{
		x = x - 1
		for (var i = 0; i <= x; i++)
			{
	 			var messenger = form.elements[i].name
				messenger = messenger.substring(0, 2)
				var fieldname = form.elements[i].name
				fieldname = fieldname.substring(2)
				
				
					{
						if (messenger == "r_")
							{
								more_message = r_check(form,x,fieldname,i)
							}
						else if (messenger == "i_")
							{
								more_message = i_check(form,x,fieldname,i)
							}
						else if (messenger == "d_")
								{
									more_message = d_check(form,x,fieldname,i)
								}
						else if (messenger == "e_")
								{
									more_message = e_check(form,x,fieldname,i)
								}
							
							 if (more_message != "")
	        {
									if (message == "")
										{
											message = more_message
											more_message=""
										}
									else
										{
			        message = message + "\n" + more_message
											more_message=""
										}
	        }
											
						if (message > "")
								{
										showmsg = "yes"
								}													
						}	
				}
			
		
		//This code will prevent a submit if data is incoorect
		if (showmsg == "yes")
			{
				if(language == 1)
					{
						alert("Følgende felt var feil fylt ut, eller må fylles ut:\n\n" + message + "\n\n Vennligst prøv på nytt.")
					}
				else
					{
						alert("The following field(s) are not properly filled out:\n\n" + message + "\n\n Please try again.")
					}
			}
		else
			{
				form.submit()
			}
			
			
			//This code will just warn and then submit if OK is selected.
		//if (showmsg == "yes")
			//{
				//if (confirm("The following form field(s) were incomplete or incorrect:\n\n" + message + "\n\n Please complete or correct the form and submit again."))
				
				//form.submit()
			//}
		//else
			//{
			//form.submit()
			//}
			
					
			
		}
	else
		{
			alert ("The copyright information has been changed. \n In order to use this javascript please keep the copyright information intact. \n\n Script Name: Form Validator ver 2.0 \n Copyright: (c) 1998 - Art Lubin / Artswork \n Email: perflunk@aol.com")
		}
}	

function r_check(form,x,fieldname,i)
	{
		var msg_addition = ""
		new_fieldname = fieldname
		for (var y = 0; y <= x; y++)
			{

				if ((form.elements[y].type == "radio" || form.elements[y].type == "checkbox") && form.elements[y].name == new_fieldname && form.elements[y].checked == true)
					{
							msg_addition = ""
							break
					}
				else if ((form.elements[y].type == "radio" || form.elements[y].type == "checkbox") && form.elements[y].name == new_fieldname && form.elements[y].checked == false)
					{
						msg_addition = form.elements[i].value
					}

			else if (form.elements[y].type == "select-one")
							{
								var l = form.elements[y].selectedIndex
								if (form.elements[y].name == fieldname && form.elements[y].options[l].value != "")
									{
										msg_addition = ""
										break
									}
								else if (form.elements[y].name == fieldname && form.elements[y].options[l].value == "")
									{
										
										msg_addition = form.elements[i].value

									}
								}
		 else if (form.elements[y].name == fieldname && form.elements[y].value == "" && form.elements[y].type != "radio" && form.elements[y].type != "checkbox" && form.elements[y].type != "select-one")
							{
								
								msg_addition = form.elements[i].value
								break
							}
				else if (form.elements[y].name == fieldname && form.elements[y].value != "" && form.elements[y].type != "radio" && form.elements[y].type != "checkbox" && form.elements[y].type != "select-one")
							{
								msg_addition = ""

							}	
				}
			return(msg_addition)
		}
			

		

	
	
function i_check(form,x,fieldname,i)
	{
		for (var y = 0; y <= x; y++)
			{
				if (form.elements[y].name == fieldname)
				break
			}						
		
	var msg_addition = ""
	var decimal = ""
	inputStr = form.elements[y].value.toString()
	if (inputStr == "")
		{
			msg_addition = form.elements[i].value
		}
	else
		{
			for (var c = 0; c < inputStr.length; c++)
				{
					var oneChar = inputStr.charAt(c)
					if (c == 0 && oneChar == "-" || oneChar == ","  && decimal == "")
							{
								if (oneChar == ",")
									{
										decimal = "yes"
									}
								continue
								
							}
								if (oneChar < "0" || oneChar > "9")
									{
										msg_addition = form.elements[i].value
									}
				}
		}
		return(msg_addition)
	}	
	
	
	//Email validation added 6/20/98
	function e_check(form,x,fieldname,i)
	{
		for (var y = 0; y <= x; y++)
			{
				if (form.elements[y].name == fieldname)
				break
			}						
		
	var msg_addition = ""
	period = ".";

                
                if (form.elements[y].value == "" || form.elements[y].value.indexOf ('@', 0) < 2)
                        error = 1;
																						
																else
                  {
	                   test = form.elements[y].value.indexOf('.', form.elements[y].value.indexOf ('@', 0))
										 if (test != -1)
																					{
																						error = 0;
																					}
																				else
																				{
	                    	 error=1;
																				}
                  }
                if (error == 1)
																	{
               				msg_addition = form.elements[i].value
																	}
                else
                 {
								 		new_length = form.elements[y].value.length - test
             if (new_length == 4 || new_length == 3 || (new_length >= 5 && form.elements[y].value.indexOf ('.', (test+1)) != -1))
																						{
																							msg_addition = ""
																						}
																					else
																							msg_addition = form.elements[i].value;
																	}
	return(msg_addition)
	}	

	function d_check(form,x,fieldname,i)
	 {
	 
		
		
		for (var y = 0; y <= x; y++)
		{
			if (form.elements[y].name == fieldname)
			break
		}	
	
		
		var msg_addition = "";
		var checkstr = "0123456789";
		var errormsg = "";
		var Datevalue = "";
		var DateTemp = "";
		var seperator = ".";
		var day;
		var month;
		var year;
		var leap = 0;
		var err = 0;
		var i;
		
		
		   err = 0;
		   
		   DateValue = form.elements[fieldname].value;
		   errormsg = form.elements[i].value;	
		   
		  
		   
		   /* Delete all chars except 0..9 */
		   for (i = 0; i < DateValue.length; i++) {
			  if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
			     DateTemp = DateTemp + DateValue.substr(i,1);
			  }
		   }
		   DateValue = DateTemp;
		   
			  		   
		   /* Always change date to 8 digits - string*/
		   /* if year is entered as 2-digit / always assume 20xx */
		   if (DateValue.length == 6) {
		      DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2); }
		   if (DateValue.length != 8) {
		      err = 19;}
		   /* year is wrong if year = 0000 */
		   year = DateValue.substr(4,4);
		   if (year == 0) {
		      err = 20;
		   }
		   /* Validation of month*/
		   month = DateValue.substr(2,2);
		   if ((month < 1) || (month > 12)) {
		      err = 21;
		   }
		   /* Validation of day*/
		   day = DateValue.substr(0,2);
		   if (day < 1) {
		     err = 22;
		   }
		   /* Validation leap-year / february / day */
		   if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {
		      leap = 1;
		   }
		   if ((month == 2) && (leap == 1) && (day > 29)) {
		      err = 23;
		   }
		   if ((month == 2) && (leap != 1) && (day > 28)) {
		      err = 24;
		   }
		   /* Validation of other months */
		   if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
		      err = 25;
		   }
		   if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
		      err = 26;
		   }
		   
		   		   
		   /* if 00 ist entered, no error, deleting the entry */
		   if ((day == 0) && (month == 0) && (year == 00)) {
		      err = 0; day = ""; month = ""; year = ""; seperator = "";
		   }
		  
		   if  (DateValue == ''){
		      err = 27;
		   }		  
		  
		   /* if no error, write the completed date to Input-Field (e.g. 13.12.2001) */
		   if (err > 0) 
		  
		   
		   {
		    
			msg_addition = errormsg;
			  
		   }
		   
		   
		   return(msg_addition);
		   
	 }
	
	function isInteger(sDate)
	{
		var new_msg = "true"
		inputStr = sDate.toString()
		for (var i = 0; i < inputStr.length; i++)
			{
			var oneChar = inputStr.charAt(i)			
			if ((oneChar < "0" || oneChar > "9") && oneChar != "/")
					{
						new_msg = "false"
					}
			}
		return (new_msg)
	}
	
	function doall(script_name, copyright, email)
	{
	var code = 0
	var test = script_name + copyright + email
	for (var a = 0; a < test.length; a++)
		{
		var each_char = test.charAt(a)
		var x = asc(each_char)
		code += x
		}
	return (code)
	}
	
	function asc(each_char)
		{
		var n = 0
			var char_str = charSetStr()
			for (i = 0; i < char_str.length; i++)
				{
					if (each_char == char_str.substring(i, i+1))
						{
							break
						}
				}
			return i + 32
		}
		
		function charSetStr()
			{
				var str
 			str = ' !"#$%&' + "'" + '()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~'
				return str
			}
function fill(formday,formmonth,formyear,target)

{

	var xday = formday;
	var xmonth = formmonth;
	var xyear = formyear;
	var DateValue = "";
	DateValue = xday.value + xmonth.value + xyear.value;
	target.value = DateValue; 
}

var new_fieldname = ""
