var new_fieldname = ""
function check(form,x)
{
	//If you would like to use this script please do not remove the next 4 lines
	var script_name = "Form Validator ver 2.0"
	var action =  "Checks Required, Integer and Date"
	var copyright = "(c) 1998 - Art Lubin / Artswork"
	var email = "perflunk@aol.com"
	var set_up_var = doall(script_name, copyright, email)
	var message = ""
	var more_message = ""
	var showmsg = "no"
	var oktosubmit = "false"	
	if (set_up_var == 5872)
	{
		x = x - 1
		for (var i = 0; i <= x; i++)
			{
				if (form.elements[i].nodeName!='FIELDSET'){
				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 == "p_")
								{
									more_message = p_check(form,x,fieldname,i)
								}
						else if (messenger == "e_")
								//only allows one valid email address
								{
									more_message = e_check(form,x,fieldname,i)
								}
						else if (messenger == "m_")
								//allows a list of email address
								{
									more_message = m_check(form,x,fieldname,i)
								}											
						else if (messenger == "g_")
								//allows a list of email address
								{
									more_message = g_check(form,x,fieldname,i)
								}																			
						else if (messenger == "c_")
								//check that at least one of the checkboxes are checked
								{
									more_message = c_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 incorrect
		if (showmsg == "yes")
			{
				alert("The following form field(s) were incomplete or incorrect:\n\n" + message + "\n\n Please complete or correct the form and submit again.")
				return oktosubmit = false;
			}
		else
			{
				return oktosubmit = true;
			}
		}
	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)
	}	
	//only allows one valid email address
	function e_check(form,x,fieldname,i)
	{
		for (var y = 0; y <= x; y++)
			{
				if (form.elements[y].name == fieldname)
				break
			}						
	var msg_addition = ""
	
	if (checkMail(form.elements[y].value))
		msg_addition = ""
	else
		msg_addition = form.elements[i].value
	
	return(msg_addition)
	}
	
	function m_check(form,x,fieldname,i)
	//allows a list of addresses
	{
		for (var y = 0; y <= x; y++)
			{
				if (form.elements[y].name == fieldname)
				break
			}						
	var msg_addition = ""
	
	if (checkMail2(form.elements[y].value))
		msg_addition = ""
	else
		msg_addition = form.elements[i].value
	
	return(msg_addition)
	}
	
	function g_check(form,x,fieldname,i)
	//checks that the canned text has been removed for a general job posting or from make contact
	{
			for (var y = 0; y <= x; y++)
			{
				if (form.elements[y].name == fieldname)
				break
			}						
	var jobDescription = form.elements[y].value;
	if ((jobDescription.indexOf("[list the skills you are interested in]") == -1) && (jobDescription.indexOf("FILL THIS IN") == -1 ))
		msg_addition = ""
	else
		msg_addition = form.elements[i].value
	
	return(msg_addition)
	}

	function c_check(form,x,fieldname,i)
	//check that at least one of the checkboxes are checked
	{
		for (var y = 0; y <= x; y++)
			{
				if (form.elements[y].name == fieldname)
				break
			}						
	var msg_addition = "";
	
	if (AtleastOneCheckboxSelected(form,fieldname))
		msg_addition = "";
		//alert("At least one job cat selected");
	else
		msg_addition = form.elements[i].value;
	    //alert ("error=" + form.elements[i].value);	
	return(msg_addition)
	}
		
	function d_check(form,x,fieldname,i)
//date must be in MM/DD/YY format OR M/D/YY or a MIX of the two
 {
		for (var y = 0; y <= x; y++)
			{
				if (form.elements[y].name == fieldname)
				break
			}		
		var msg_addition = ""	
		var sDate = form.elements[y].value
		var int_or_not = isInteger(form.elements[y].value)
		if (int_or_not == "true")
			{
				if ((!(form.elements[y].value.length >= 6)) || (!(form.elements[y].value.length <= 8)))
   		{
    		msg_addition = form.elements[i].value
   		}
  		else
   		{
					 var SlashlPos = form.elements[y].value.indexOf("/",0)
						if (SlashlPos > 0 && SlashlPos <= 2)
							{
								if (SlashlPos == 1)
									{
										if (form.elements[y].value.charAt(0) < 1 || form.elements[y].value.charAt(0) > 9)
											{
												msg_addition = form.elements[i].value
											}
										else
											{
												if ((form.elements[y].value.charAt(0) == 1 || form.elements[y].value.charAt(0) == 3 || form.elements[y].value.charAt(0) == 5 || form.elements[y].value.charAt(0) == 7 || form.elements[y].value.charAt(0) == 8) && ((form.elements[y].value.charAt(2) == 0 && form.elements[y].value.charAt(3) == "/") || (form.elements[y].value.charAt(3) == "/" && form.elements[y].value.length >= 7) || (form.elements[y].value.charAt(1) == "/" && form.elements[y].value.charAt(2) == "/")))
													{ 
														msg_addition = form.elements[i].value
													}
												else if ((form.elements[y].value.charAt(0) == 1 || form.elements[y].value.charAt(0) == 3 || form.elements[y].value.charAt(0) == 5 || form.elements[y].value.charAt(0) == 7 || form.elements[y].value.charAt(0) == 8) && ((form.elements[y].value.charAt(2) >= 3 && form.elements[y].value.charAt(3) > 1) || (form.elements[y].value.charAt(2) == 0 && form.elements[y].value.charAt(3) == 0) || (form.elements[y].value.charAt(1) == "/" && (form.elements[y].value.charAt(3) != "/" && form.elements[y].value.charAt(4) != "/" && form.elements[y].value.charAt(5) != "/" && form.elements[y].value.charAt(6) != "/"))))
													{ 
														msg_addition = form.elements[i].value + "hi"
													}
												else if ((form.elements[y].value.charAt(0) == 1 || form.elements[y].value.charAt(0) == 3 || form.elements[y].value.charAt(0) == 5 || form.elements[y].value.charAt(0) == 7 || form.elements[y].value.charAt(0) == 8) && (((form.elements[y].value.charAt(2) > 3 && form.elements[y].value.charAt(3) != "/") || (((form.elements[y].value.charAt(1) == "/" && form.elements[y].value.charAt(4) == "/")) && ((form.elements[y].value.length == 6 || form.elements[y].value.length == 8)))) || form.elements[y].value.charAt(5) == "/"))
													{
														msg_addition = form.elements[i].value
													}
												else
													{
														if ((form.elements[y].value.charAt(0) == 2 && ((form.elements[y].value.charAt(2) == 0 && form.elements[y].value.charAt(3) == "/") || (form.elements[y].value.charAt(3) == "/" && form.elements[y].value.length >= 7) || (form.elements[y].value.charAt(1) == "/" && form.elements[y].value.charAt(2) == "/") || (form.elements[y].value.charAt(2) == 0 && form.elements[y].value.charAt(3) == 0) || (form.elements[y].value.charAt(1) == "/" && (form.elements[y].value.charAt(3) != "/" && form.elements[y].value.charAt(4) != "/" && form.elements[y].value.charAt(5) != "/" && form.elements[y].value.charAt(6) != "/")))))
															{ 
																msg_addition = form.elements[i].value
															}
														else if (form.elements[y].value.charAt(0) == 2 && ((form.elements[y].value.charAt(2) > 2 && form.elements[y].value.charAt(3) != "/") || (((form.elements[y].value.charAt(1) == "/" && form.elements[y].value.charAt(4) == "/") && ((form.elements[y].value.length == 6 || form.elements[y].value.length == 8)))) || form.elements[y].value.charAt(5) == "/"))
															{ 
																msg_addition = form.elements[i].value
															}
														else
															{
																if ((form.elements[y].value.charAt(0) == 4 || form.elements[y].value.charAt(0) == 6 || form.elements[y].value.charAt(0) == 9) && ((form.elements[y].value.charAt(2) == 0 && form.elements[y].value.charAt(3) == "/") || (form.elements[y].value.charAt(3) == "/" && form.elements[y].value.length >= 7) || (form.elements[y].value.charAt(1) == "/" && form.elements[y].value.charAt(2) == "/")))
																	{ 
																		msg_addition = form.elements[i].value
																	}
																else if ((form.elements[y].value.charAt(0) == 4 || form.elements[y].value.charAt(0) == 6 || form.elements[y].value.charAt(0) == 9) && ((form.elements[y].value.charAt(2) >= 3 && form.elements[y].value.charAt(3) > 0) || (form.elements[y].value.charAt(2) == 0 && form.elements[y].value.charAt(3) == 0) || (form.elements[y].value.charAt(1) == "/" && (form.elements[y].value.charAt(3) != "/" && form.elements[y].value.charAt(4) != "/" && form.elements[y].value.charAt(5) != "/" && form.elements[y].value.charAt(6) != "/"))))
																	{ 
																		msg_addition = form.elements[i].value
																	}
																else if ((form.elements[y].value.charAt(0) == 4 || form.elements[y].value.charAt(0) == 6 || form.elements[y].value.charAt(0) == 9) && (((form.elements[y].value.charAt(2) > 3 && form.elements[y].value.charAt(3) != "/") || ((form.elements[y].value.charAt(1) == "/" && form.elements[y].value.charAt(4) == "/") && ((form.elements[y].value.length == 6 || form.elements[y].value.length == 8)))) || form.elements[y].value.charAt(5) == "/"))
																	{
																		msg_addition = form.elements[i].value
																	}
															}
													}
											}
									}
								else
									{
										if (form.elements[y].value.charAt(0) > 1 || (form.elements[y].value.charAt(0) == 1 && form.elements[y].value.charAt(1) > 2) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 0))
											{
												msg_addition = form.elements[i].value
											}
										else
											{
												if (((form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 1) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 3) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 5) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 7) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 8) || (form.elements[y].value.charAt(0) == 1 && form.elements[y].value.charAt(1) == 0) || (form.elements[y].value.charAt(0) == 1 && form.elements[y].value.charAt(1) == 2)) && ((form.elements[y].value.charAt(3) == 0 && form.elements[y].value.charAt(4) == "/") || (form.elements[y].value.charAt(2) == "/" && form.elements[y].value.charAt(3) == "/") || (form.elements[y].value.charAt(2) == "/" && (form.elements[y].value.charAt(4) != "/" && form.elements[y].value.charAt(5) != "/" && form.elements[y].value.charAt(6) != "/" && form.elements[y].value.charAt(7) != "/"))))
													{
														msg_addition = form.elements[i].value		
													}
												else if (((form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 1) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 3) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 5) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 7) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 8) || (form.elements[y].value.charAt(0) == 1 && form.elements[y].value.charAt(1) == 0) || (form.elements[y].value.charAt(0) == 1 && form.elements[y].value.charAt(1) == 2)) && ((form.elements[y].value.charAt(3) >= 3 && form.elements[y].value.charAt(4) > 1) || (form.elements[y].value.charAt(3) == 0 && form.elements[y].value.charAt(4) == 0) || form.elements[y].value.length < 7))
													{
														msg_addition = form.elements[i].value
													}
												else if (((form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 1) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 3) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 5) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 7) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 8) || (form.elements[y].value.charAt(0) == 1 && form.elements[y].value.charAt(1) == 0) || (form.elements[y].value.charAt(0) == 1 && form.elements[y].value.charAt(1) == 2)) && ((form.elements[y].value.charAt(3) > 3 && form.elements[y].value.charAt(4) != "/")	|| ((form.elements[y].value.charAt(2) == "/" && form.elements[y].value.charAt(5) == "/" && form.elements[y].value.length == 7 || form.elements[y].value.charAt(6) == "/") || (form.elements[y].value.charAt(2) == "/" && form.elements[y].value.charAt(4) == "/" && (form.elements[y].value.length == 6 || form.elements[y].value.length == 8)))))
													{
														msg_addition = form.elements[i].value
													}
												else
													{
														if (((form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 2) && ((form.elements[y].value.charAt(3) == 0 && form.elements[y].value.charAt(4) == "/") || (form.elements[y].value.charAt(3) == 0 && form.elements[y].value.charAt(4) == 0)) || form.elements[y].value.length < 7) || (form.elements[y].value.charAt(2) == "/" && (form.elements[y].value.charAt(4) != "/" && form.elements[y].value.charAt(5) != "/" && form.elements[y].value.charAt(6) != "/" && form.elements[y].value.charAt(7) != "/")))
															{
																msg_addition = form.elements[i].value
															}
														else if ((form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 2) && ((form.elements[y].value.charAt(3) > 2 && form.elements[y].value.charAt(4) != "/") || ((form.elements[y].value.charAt(2) == "/" && form.elements[y].value.charAt(5) == "/" && form.elements[y].value.length == 7 || form.elements[y].value.charAt(6) == "/") || (form.elements[y].value.charAt(2) == "/" && form.elements[y].value.charAt(4) == "/" && (form.elements[y].value.length == 6 || form.elements[y].value.length == 8)))))
															{
																msg_addition = form.elements[i].value
															}
														else
															{			
																if (((form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 4) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 6) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 9) || (form.elements[y].value.charAt(0) == 1 && form.elements[y].value.charAt(1) == 1)) && ((form.elements[y].value.charAt(3) == 0 && form.elements[y].value.charAt(4) == "/") || (form.elements[y].value.charAt(2) == "/" && form.elements[y].value.charAt(3) == "/") || (form.elements[y].value.charAt(2) == "/" && (form.elements[y].value.charAt(4) != "/" && form.elements[y].value.charAt(5) != "/" && form.elements[y].value.charAt(6) != "/" && form.elements[y].value.charAt(7) != "/"))))
																	{
																		msg_addition = form.elements[i].value
																	}
																else if (((form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 4) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 6) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 9) || (form.elements[y].value.charAt(0) == 1 && form.elements[y].value.charAt(1) == 1)) && ((form.elements[y].value.charAt(3) >= 3 && form.elements[y].value.charAt(4) > 0) || (form.elements[y].value.charAt(3) == 0 && form.elements[y].value.charAt(4) == 0) || form.elements[y].value.length < 7))
																	{
																		msg_addition = form.elements[i].value
																	}
																else if (((form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 4) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 6) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 9) || (form.elements[y].value.charAt(0) == 1 && form.elements[y].value.charAt(1) == 1)) && ((form.elements[y].value.charAt(3) > 3 && form.elements[y].value.charAt(4) != "/") || ((form.elements[y].value.charAt(2) == "/" && form.elements[y].value.charAt(5) == "/" && form.elements[y].value.length == 7 || form.elements[y].value.charAt(6) == "/") || (form.elements[y].value.charAt(2) == "/" && form.elements[y].value.charAt(4) == "/" && (form.elements[y].value.length == 6 || form.elements[y].value.length == 8)))))
																	{
																		msg_addition = form.elements[i].value
																	}
															}
													}		
											}
									}
							}
		    else
							{
								msg_addition = form.elements[i].value
							}
					}
			}
		else
			{
				msg_addition = form.elements[i].value
			}
		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 p_check(form,x,fieldname,i)
	{
		
		var msg_addition = ""
		var str
		new_fieldname = fieldname
		for (var y = 0; y <= x; y++)
			{			
		 if (form.elements[y].name == fieldname && form.elements[y].value != "" && form.elements[y].type == "password" && form.elements[y].value.length <3)
							{
								msg_addition = form.elements[i].value
								break
							}
				else 
							{
								msg_addition = ""
							}	
				}
			return(msg_addition)
		}

function textCounter(field,maxlimit) 
{
	if (field.value.length > maxlimit) // if too long...trim it!
		{
		field.value = field.value.substring(0, maxlimit);
		alert(field.id + " can not exceed "  + maxlimit + " characters")
		}
}

function checkMail(x)
//only allows one valid email address
{
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(x)) 
		return true
	else
		return false
}

function checkMail2(x)
//allows a list of addresses
{
	var filter  = /([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+/;
	if (filter.test(x)) 
		return true
	else
		return false
}

function AtleastOneCheckboxSelected(form, fieldname)
{
	//len=form.elements[fieldname].length

	//alert (len);
	var checkSelected = false;
	for (i = 0;  i < form.elements[fieldname].length;  i++)
	{
	if (form.elements[fieldname][i].checked)
	checkSelected = true;
	}
	if (checkSelected)
		return true
	else
		return false
}


function checkAll(theForm, checkboxName) {
    for (i=0,n=theForm.elements.length;i<n;i++)
        if (theForm.elements[i].name.indexOf(checkboxName) !=-1)
            theForm.elements[i].checked = true;
}
function UncheckAll(theForm, checkboxName) {
    for (i=0,n=theForm.elements.length;i<n;i++)
        if (theForm.elements[i].name.indexOf(checkboxName) !=-1)
            theForm.elements[i].checked = false;
}

function IgnoreValidation(ValidationField,ValidationType,IgnoreFlag) {
// ValidationField=identifier for the hidden validation field (eg: this.form.hidden_jobchk)
// ValidationType=the prefix for the validation field name (eg: "c_")
// IgnoreFlag=whether we should rename the validation field so it is ignored when the form is submitted (eg: true)
	valFieldName=ValidationField.name;
	valFieldType=valFieldName.substring(0, 2);
	FieldName=valFieldName.substring(2);
	
	if (IgnoreFlag) {
		if (valFieldType == ValidationType) { ValidationField.name = "I_" + FieldName }
	} else {
		if (valFieldType == "I_") { ValidationField.name = ValidationType + FieldName }
	}
}

function doValidate(signin) {
// used on login.htm and the default.html template on swicki.eurekster.com
		var bValid;
		bValid = check(signin,signin.elements.length);
		if(!bValid)
		{
			document.signin.Submit.value = "Confirm";			
		}
		return bValid;
}
