
var new_fieldname = ""
function validDate(obj){
 date=obj.value
			test1=(/^\d{2}[\-\/]\d{2}[\-\/]\d{4}$/.test(sDate))
			sDate=sDate.replace(/[\-\/]/g,',')
			sDate=sDate.split(',')
			d=new Date(sDate[2],sDate[0]-1,sDate[1])
			test2=(1*sDate[1]==d.getDate() && 1*sDate[0]==(d.getMonth()+1) && 1*sDate[2]==d.getFullYear())
			if (!(test1 && test2)) { return true; }
 alert("Invalid date")
 obj.select();
 obj.focus()
 return false
}

function check(form,x)
{
	//If you would like to use this script please do not remove the next 4 lines
	//script_name = "F*o*r*m V*a*l*i*d*a*t*o*r ver *2*.*0*"
	//action =  "Checks Required, Integer and Date"
	//copyright = "(c) 1998 - A*r*t***L*u*b*i*n***/***A*r*t*s*w*o*r*k"
	//email = "p*e*r*f*l*u*n*k@a*o*l.com"
	//var set_up_var = doall(script_name, copyright, email)
	var chk_var = 5872;
	var message = ""
	var more_message = ""
	var showmsg = "no"
	if (chk_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_")
							{
								//REQUIRED
								more_message = r_check(form,x,fieldname,i);
							}
						else if (messenger == "i_")
							{
								//NUMERIC
								more_message = i_check(form,x,fieldname,i);
							}
						else if (messenger == "L_")
							{
								//NUMERIC
								more_message = L_check(form,x,fieldname,i);
							}
						else if (messenger == "o_")
							{
								//NON-ZERO & NUMERIC
								more_message = o_check(form,x,fieldname,i);
							}
						else if (messenger == "d_")
								{
									//DATE
									more_message = d_check(form,x,fieldname,i);
								}
						else if (messenger == "e_")
								{
									//EMAIL
									more_message = e_check(form,x,fieldname,i);
								}			
						else if (messenger == "z_")
								{
									//ZIP-CODE
									more_message = zip_check(form,x,fieldname,i);
								}			
						else if (messenger == "s_")
								{
									//SOC-SECURITY
									more_message = ss_check(form,x,fieldname,i);
								}			
						else if (messenger == "t_")
								{
									//TELEPHONE
									more_message = tel_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 set the error message if data is incorrect
		if (showmsg == "yes")
			{
				alert("The following error(s) were found on your form:\n\n" + message + "\n\n Please complete or correct the form and submit again.");
				return false;
				//form.formErrs.value = message;
				//return true;
			}
		else
			{
				//form.submit()
				//form.formErrs.value = "";
				return true;
			}
			
			
			//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 written by Tim Gallagher 6/6/2007 4:55 PM to support checking max lengths
*/
function L_check(form,x,fieldname,i)
{
	var pieces = form.elements[i].value.split("|");
	var maxLength = pieces[0];
	var errorMessage = pieces[1];

	var msg_addition = "";

	for (var y = 0; y <= x; y++)
	{
		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" &&
			form.elements[y].type != "hidden" &&
			form.elements[y].value.length > maxLength
		)
		{
			msg_addition = errorMessage;
			break;
		}	
	}

	return msg_addition;
}

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 o_check(form,x,fieldname,i){
var msg_nz_addition = "";

	msg_nz_addition = i_check(form,x,fieldname,i);
	if (msg_nz_addition == ""){
		for (var y = 0; y <= x; y++)
			{
				if (form.elements[y].name == fieldname)
				break;
			}						
		nNum = form.elements[y].value;
		if (nNum == "")
		{
			//--DO NOTHING
		} else {
			nNum = nNum - 0;
			if (nNum < 1){
				msg_nz_addition = form.elements[i].value;
			}
		}
	}
	return(msg_nz_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)
	{
		var msg_addition = "";

		for (var y = 0; y <= x; y++)
		{
			if (form.elements[y].name == fieldname)
			{
				break;
			}
		}						
		
		var matched = form.elements[y].value.match(/^\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b$/i);

		if ( ! matched )
		{
			msg_addition = form.elements[i].value;
		}
        if ( form.elements[y].value == "")
		{
			msg_addition = "";
		}

	return msg_addition;
	}
	
//-- Zip Code Validation
	function zip_check(form,x,fieldname,i)
	{
		for (var y = 0; y <= x; y++)
			{
				if (form.elements[y].name == fieldname)
				break;
			}						
var field = form.elements[y].value; 
var msg_addition;
var valid = "0123456789-";
var hyphencount = 0;

msg_addition = "";
 if (field.length > 0) {
	if (field.length!=5 && field.length!=10) {
		msg_addition = form.elements[i].value;
	}
	for (var c=0; c < field.length; c++) {
		temp = "" + field.substring(c, c+1);
		if (temp == "-") hyphencount++;
		if (valid.indexOf(temp) == "-1") {
			msg_addition = form.elements[i].value;
		}
		if ((hyphencount > 1) || ((field.length==10) && ""+field.charAt(5)!="-")) {
			msg_addition = form.elements[i].value;
	   	}
	}
}
return (msg_addition);
}

//-- Soc Security Validation
function ss_check(form,x,fieldname,i)
	{
		for (var y = 0; y <= x; y++)
			{
				if (form.elements[y].name == fieldname)
				break;
			}						
var field = form.elements[y].value; 
var msg_addition;
var hyphencount = 0;

msg_addition = "";
var result = true;
  
 	if (field.length > 0)
 	{
 		var elems = field.split("-");
 		
 		result = (elems.length == 3); // should be three components
 		
 		if (result)
 		{
			result = allDigits(elems[0]) && (elems[0] != "000") && (elems[0].length == 3) &&
					allDigits(elems[1]) && (elems[1].length == 2) &&
					allDigits(elems[2]) && (elems[2].length == 4);
 		}
 		
  		if (!result)
 		{
			msg_addition = form.elements[i].value;		
		}
	} 
	
	return msg_addition;
}

//-- Telephone/Fax number Validation
function tel_check(form,x,fieldname,i)
	{
		for (var y = 0; y <= x; y++)
			{
				if (form.elements[y].name == fieldname)
				break;
			}						
var field = form.elements[y].value; 
var msg_addition;
var hyphencount = 0;

msg_addition = "";
var result = true;
  
 	if (field.length > 0)
 	{
 		var elems = field.split("-");
 		
 		result = (elems.length == 3); // should be three components
 		
 		if (result)
 		{
			result = allDigits(elems[0]) && (elems[0] != "000") && (elems[0].length == 3) &&
					allDigits(elems[1]) && (elems[1].length == 3) &&
					allDigits(elems[2]) && (elems[2].length == 4);
 		}
 		
  		if (!result)
 		{
			msg_addition = form.elements[i].value;		
		}
	} 
	
	return msg_addition;
}

function allDigits(str)
{
var charset = "0123456789";

	var result = true;
	for (var i=0;i<str.length;i++)
		if (charset.indexOf(str.substr(i,1))<0)
		{
			result = false;
			break;
		}
	
	return result;
}


function d_check(form,x,fieldname,i)
//date must be in MM/DD/YYYY format
 {
		for (var y = 0; y <= x; y++)
			{
				if (form.elements[y].name == fieldname)
				break;
			}		
			
		var msg_addition = ""	
		var sDate = form.elements[y].value
	if (form.elements[y].value.length > 0) {
		if (!(form.elements[y].value.length == 10))
   		{
    		msg_addition = form.elements[i].value;
   		}
  		else
   		{
			test1=(/^\d{2}[\-\/]\d{2}[\-\/]\d{4}$/.test(sDate))
			sDate=sDate.replace(/[\-\/]/g,',')
			sDate=sDate.split(',')
			d=new Date(sDate[2],sDate[0]-1,sDate[1])
			test2=(1*sDate[1]==d.getDate() && 1*sDate[0]==(d.getMonth()+1) && 1*sDate[2]==d.getFullYear())
			/*
			test1=(/\d{2}[\-/]\d{2}[\-/]\d{4}$/.test(sDate))
			sDate=sDate.replace(/[\-/]/g,',')
			sDate=sDate.split(',')
			d=new Date(sDate[2],sDate[0]-1,sDate[1])
			test2=(1*sDate[1]==d.getDate() && 1*sDate[0]==(d.getMonth()+1) && 1*sDate[2]==d.getFullYear())
			*/

			if (!(test1 && test2)) {
				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;
			}
	
// ****** COMMON FUNCTIONS *********
function checkBrowser(){
this.ver=navigator.appVersion
this.dom=document.getElementById?1:0
this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0;
this.ie4=(document.all && !this.dom)?1:0;
this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;
this.ns4=(document.layers && !this.dom)?1:0;
this.bw=(this.ie5 || this.ie4 || this.ns4 || this.ns5)
return this
}

function popFormWin(fname,site,winX,winY){
bCheck = new checkBrowser();
var Xpos;
Xpos = 400; //(window.screen.availWidth-winX)/2;
var Ypos;
Ypos = 400; //(window.screen.availHeight-winY)/2;
var Features = 'width='+winX+',height='+winY+',resizable,scrollbars=1';
if (bCheck.ie5||bCheck.ie4){Features += ',left='+Xpos+',top='+Ypos;}
if (bCheck.ns5||bCheck.ns4){Features += ',screenX='+Xpos+',screenY='+Ypos;}
testWin = eval(fname +" = window.open(site,fname,Features);");
//testWin = eval(fname +".focus();");
eval(fname +".focus();");
}

function popMsgWin(fname,site){
bCheck = new checkBrowser();
var Xpos;
Xpos = 400; //(window.screen.availWidth-winX)/2;
var Ypos;
Ypos = 400; //(window.screen.availHeight-winY)/2;
var Features = 'width=400,height=350,resizable,scrollbars=0';
if (bCheck.ie5||bCheck.ie4){Features += ',left='+Xpos+',top='+Ypos;}
if (bCheck.ns5||bCheck.ns4){Features += ',screenX='+Xpos+',screenY='+Ypos;}
testWin = eval(fname +" = window.open(site,fname,Features);");
//testWin = eval(fname +".focus();");
eval(fname +".focus();");
}

function chkEmpty(ctrlObj,retName){
	if(ctrlObj.value != ''){
		return true;
	} else {
		alert("You must complete the " + retName + " field in order to continue.");
		ctrlObj.focus();
		return false;
	}
}

function chkNewPword(nPwd,nPwd2,errPwd){
if(nPwd.value != "" && nPwd2.value != ""){
	if(nPwd.value != nPwd2.value){
		errPwd.value = "Your New Password does not match the Confirm Password value submitted";
	}else{
		if(nPwd.value.length > 3 && nPwd.value.length < 9){
			errPwd.value = "";
		}else{
			errPwd.value = "New Password Must be Between 4 and 8 Characters in Length";
		}
	}
}else{
	if(nPwd.value != "" || nPwd2.value != ""){
		errPwd.value = "You must enter a New Password and a Confirm Password value to change your password";
	}else{
		errPwd.value = "";
	}
}
}

function randomPassword(length)
{
	chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
	pass = "";

	for(x=0;x<length;x++)
	{
		i = Math.floor(Math.random() * 62);
		pass += chars.charAt(i);
	}
	
	return pass;
}

function setRandPword(frmElement){
var nPass;
	nPass = randomPassword(8);
	frmElement.value = nPass;
}

function setRandShare(frmElement,bCode){
var nShare;
var nShare1;
var nShare2;
	nShare1 = randomPassword(3);
	nShare2 = randomPassword(5);
	nShare = nShare1 + bCode + nShare2;
	frmElement.value = nShare;
	//alert(frmElement.value);
}

function chkSetLBitems(field) {
	var chk=false;
	var lbItems = "";
	var lbComma = "";
	if(field.length != undefined){
		for (i=0;i<field.length;i++) {
			if (field[i].checked){
				chk=true;
				lbItems = lbItems + lbComma + field[i].value;
				lbComma = ",";
			}
		}
	}else{
		if (field.checked) {
			chk=true;
			lbItems = field.value;
		}
	}
	if(!chk) {
		alert("No Items Were Selected");
	}else{
		document.moveToLB.selectedItems.value = lbItems;
		//alert(document.moveToLB.selectedItems.value);
	}
	return chk;
}

function resetMultiBoxes(cbField,valToRetainChk) {
	if(cbField.length != undefined){
		for (i=0;i<cbField.length;i++) {
			if (cbField[i].checked){
				if (cbField[i].value == valToRetainChk){
					cbField[i].checked = true;
				}else{
					cbField[i].checked = false;
				}
			}
		}
	}
}

function resetSingleBox(cbField,valToChg,chgTo) {
	if(cbField.length != undefined){
		for (i=0;i<cbField.length;i++) {
			if (cbField[i].value == valToChg){
				cbField[i].checked = chgTo;
			}
		}
	}
}

function chkPortfolioURLOption(field) {
	var reqValue = "The Viewable Art Location \(URL\) is Required";
	if(field.length != undefined){
		for (i=0;i<field.length;i++) {
			if (field[i].checked){
				if(field[i].value == "online"){
					document.frmPFinfo.r_strDownloadURL.value = reqValue;
				}else{
					document.frmPFinfo.r_strDownloadURL.value = "";
				}
			}
		}
	}
}


