// this area handles all the navigation rollovers

function SubmitNewprog(formOBJ) {

	if (newprogram(formOBJ)) {
		formOBJ.submit();
	}

}

function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}
function InvoiceDelConfirm(FullName) {
	if (confirm("Delete transaction for " + FullName + "?")) {
		return true;
	} else {
		return false;
	}
}
function deleterule() {
	if (confirm("Delete rule?")) {
		return true;
	} else {
		return false;
	}
}
function InvoiceDelAllConfirm() {
	if (confirm("Delete all transactions in cue?")) {
		return true;
	} else {
		return false;
	}
}
function changeImages() {
	if (document.images && (preloadFlag == true)) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}
}

var preloadFlag = false;
function preloadImages() {
	if (document.images) {
		nav_sitesetup_o = newImage("images/nav_sitesetup_o.gif");
		nav_participants_o = newImage("images/nav_participants_o.gif");
		nav_programs_o = newImage("images/nav_programs_o.gif");
		nav_blastemail_o = newImage("images/nav_blastemail_o.gif");
		nav_newsletter_o = newImage("images/nav_newsletter_o.gif");
		nav_reports_o = newImage("images/nav_reports_o.gif");
		nav_viewsite_o = newImage("images/nav_viewsite_o.gif");
		nav_ideas_o = newImage("images/nav_ideas_o.gif");
		nav_network_o = newImage("images/nav_network_o.gif");
		nav_help_o = newImage("images/nav_help_o.gif");
		nav_home_o = newImage("images/nav_home_o.gif");
		//participant images
		navpx_programs_o = newImage("images/navpx_programs_o.gif");
		navpx_newsletters_o = newImage("images/navpx_newsletters_o.gif");
		navpx_earnings_o = newImage("images/navpx_earnings_o.gif");
		navpx_shop_o = newImage("images/navpx_shop_o.gif");
		navpx_help_o = newImage("images/navpx_help_o.gif");
		navpx_home_o = newImage("images/navpx_home_o.gif");
		//registration images
		navreg_register_o = newImage("images/navreg_register_o.gif");
		navreg_paymentopts_o = newImage("images/navreg_paymentopts_o.gif");
		navreg_servagrmt_o = newImage("images/navreg_servagrmt_o.gif");
		navreg_aboutac_o = newImage("images/navreg_aboutac_o.gif");
		navreg_help_o = newImage("images/navreg_help_o.gif");
		navreg_home_o = newImage("images/navreg_home_o.gif");				
		preloadFlag = true;
	}
}	


// pops up the window for the payment option files.

  function popup(action){
  editpage = '/edit_payment_options.asp?action=' + action
  window.open(editpage,"","height=350,width=512,menubar=0,resizable=0,scrollbars=yes,status=0,titlebar=0,toolbar=0,left=0,top=0")
  }   

// pops up the window for the registration area..
	function setup_later()
	{
	window.open('objects/setup_later.asp', 'popup', config='height=275,width=325,scrollbars=0,toolbar=0')
	}

//	closes the popup window and redirects to passed link.
	function loadpage( link )
	{
	parent.window.opener.location = link;
	window.close()
	}	
	
// closes the popup and reloads the opener.
	function closereload()
	{
	parent.window.opener.location.reload();
	window.close()
	} 

// reloads the parent page.. use in conjunction with an event handler
	function reloadparent()
	{
	parent.window.opener.location.reload();
	} 

// opens window for the image upload tool
	function uploadlogo()
	{
	window.open('uploadlogo.asp', 'popup', config='height=300,width=500,scrollbars=0,toolbar=0')
	} 	

// opens window for the image upload tool
	function manageimages()
	{
	window.open('image_manager.asp', 'popup', config='height=500,width=500,scrollbars=yes,toolbar=0')
	} 		
	
// opens window for the image upload tool
	function serviceagreement()
	{
	window.open('terms_conditions.asp', 'popup', config='height=400,width=400,scrollbars=yes,toolbar=0')
	} 	
		

// opens window to view filter audience

	function filterView(formOBJ,newUrl)
	{
	if (formOBJ) {
		var sel = formOBJ.selectedIndex
		var filterid = formOBJ.options[sel].value
		newUrl = newUrl + filterid
	}
	window.open(newUrl, 'popup', config='height=500,width=600,scrollbars=yes,toolbar=0')
	}
	
// opens window to view invoices

	function invoiceView(formOBJ,newUrl)
	{
	if (formOBJ) {
		var sel = formOBJ.selectedIndex
		var invoice = formOBJ.options[sel].value
		newUrl = newUrl + invoice
	}
	window.open(newUrl, 'popup', config='height=500,width=600,scrollbars=yes,toolbar=0')
	}
// this performs the client regeistration validation

function registration(form) { 
	
if (form.fname.value == "") { 
   alert("Please Enter Your First Name"); 
   form.fname.focus( );
   return false;
   }	
if (form.lname.value == "") { 
   alert("Please Enter Your Last Name"); 
   form.lname.focus( ); 
   return false; 
   }	
if (form.title.value == "") { 
   alert("Please Enter A Title"); 
   form.title.focus( ); 
   return false; 
   }	
if (form.client_name.value == "") { 
   alert("Please Enter Company Name"); 
   form.client_name.focus( ); 
   return false; 
   }	
if (form.industry.value == "") { 
   alert("Please Select An Industry"); 
   form.industry.focus( ); 
   return false; 
   }	
if (form.Address1.value == "") { 
   alert("Please Enter An Address"); 
   form.Address1.focus( ); 
   return false; 
   }	
if (form.city.value == "") { 
   alert("Please Enter A City"); 
   form.city.focus( ); 
   return false; 
   }	
if (form.state.value == "") { 
   alert("Please Enter A State"); 
   form.state.focus( ); 
   return false; 
   }	
if (form.zip.value == "") { 
   alert("Please Enter Your Zip Code"); 
   form.zip.focus( ); 
   return false; 
   }	
if (form.phone.value == "") { 
   alert("Please Enter A Phone Number"); 
   form.phone.focus( ); 
   return false; 
   }
if (form.email.value == "") { 
   alert("Please Enter A Valid Email Address \n(so we can email you login information)"); 
   form.email.focus( ); 
   return false; 
   }	
if (form.user_name.value == "") { 
   alert("Please Enter A UserName"); 
   form.user_name.focus( ); 
   return false; 
   }	
if (form.password.value == "") { 
   alert("Please Enter A Password"); 
   form.password.focus( ); 
   return false; 
   }	
if (form.password2.value == "") { 
   alert("Please Confirm Password"); 
   form.password2.focus( ); 
   return false; 
   }	
}	
	
	
	
// this performs the participant selfenrollment process

// 2002-03-11 m.kline
// added function to not allow "'" character in username or password field

function containsquote(field) {
			    //var valid = "abcdefghijklmnopqrstuvwxyz0123456789"
			    var invalid = "'"
			    //var ok = "yes";
			    var temp;
			    for (var i=0; i < field.value.length; i++) {
			    temp = "" + field.value.substring(i, i+1);
			    if (invalid.indexOf(temp) == "-1") {
			    	  return false;
			    }
			   }
   		   return true;
}



function selfenroll(form) { 


// 2002.03.11 m.kline
// check for "'" in username, password, and email_address fields.
var invalid = "'";
var temp;
for (var i=0; i < form.username.value.length; i++) {
temp = "" + form.username.value.substring(i, i+1);
if (invalid.indexOf(temp) != "-1") {
 	  alert("Invalid character in Username field. Single-quote ( ' ) character not allowed.");
	  form.username.focus();
	  return false;
    }
}

for (var i=0; i < form.password.value.length; i++) {
temp = "" + form.password.value.substring(i, i+1);
if (invalid.indexOf(temp) != "-1") {
 	  alert("Invalid character in Password field. Single-quote ( ' ) character not allowed.");
	  form.password.focus();
	  return false;
    }
}

for (var i=0; i < form.email_address.value.length; i++) {
temp = "" + form.email_address.value.substring(i, i+1);
if (invalid.indexOf(temp) != "-1") {
 	  alert("Invalid character in Email field. Single-quote ( ' ) character not allowed.");
	  form.email_address.focus();
	  return false;
    }
}


// /m.kline 2002.03.11

if (form.first_name.value == "") { 
   alert("Please Enter Your First Name"); 
   form.first_name.focus( );
   return false;
   }	
if (form.last_name.value == "") { 
   alert("Please Enter Your Last Name"); 
   form.last_name.focus( );
   return false;
   }	   
if (form.username.value == "") { 
   alert("Please Enter A Username"); 
   form.username.focus( ); 
   return false; 
   }	
if (form.username.value.length<5){
	alert("Username must be at least 5 characters");
	form.username.focus();
	return false;
	}
if (form.password.value == "") { 
   alert("Please Enter A Password"); 
   form.password.focus( ); 
   return false; 
   }	
if (form.password.value.length<5){
	alert("Password must be at least 5 characters");
	form.password.focus();
	return false;
	}
if (form.password2.value == "") { 
   alert("Please Confirm Your Password"); 
   form.password2.focus( ); 
   return false; 
   }	   
if (form.password2.value != form.password.value) { 
   alert("Passwords do not match"); 
   form.password.focus( ); 
   return false; 
   }	   
if (form.social_security_number.value == "") { 
   alert("Please Provide Your Social Security Number"); 
   form.social_security_number.focus( ); 
   return false; 
   }
if (!IsNumeric(form.social_security_number.value)) {
	alert("Social security number must be numeric without dashes.\n\n");
	form.social_security_number.focus();
	return false;
}   	
if (form.address1.value == "") { 
   alert("Please Enter An Address"); 
   form.address1.focus( ); 
   return false; 
   }	
if (form.city.value == "") { 
   alert("Please Enter A City"); 
   form.city.focus( ); 
   return false; 
   }	
if (form.state.value == "") { 
   alert("Please Enter A State"); 
   form.state.focus( ); 
   return false; 
   }	
if (form.zip.value == "") { 
   alert("Please Enter Your Zip Code"); 
   form.zip.focus( ); 
   return false; 
   }	
if (form.phone.value == "") { 
   alert("Please Enter A Phone Number"); 
   form.phone.focus( ); 
   return false; 
   }	
if (form.email_address.value == "") { 
   alert("Please Enter Your Email"); 
   form.email_address.focus( ); 
   return false; 
   }	
}		




// this validates contact us form

function contactus(form) { 
	
if (form.name.value == "") { 
   alert("Please Enter Your First Name"); 
   form.name.focus( );
   return false;
   }	
if (form.email.value == "") { 
   alert("Please Enter Email"); 
   form.email.focus( );
   return false;
   }	   

//var filter=/^(\w+(?:\.\w+)*)@((?:\w+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
/*var filter=/^([a-zA-Z0-9_\-\.]+)@((\?:\w+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(\?:\.[a-z]{2})?)$/i;
if (!filter.exec(form.email.value)){
	alert("Malformed email address. Please make sure email address is in proper username@domain.com format.");
	form.email.focus( );
 return false;
 } 
*/
if (form.subject.value == "") { 
   alert("Please Enter A Subject"); 
   form.subject.focus( ); 
   return false; 
   }	
if (form.comment.value == "") { 
   alert("Please Enter A Comment"); 
   form.comment.focus( ); 
   return false; 
   }	

}

//validates password

function getpassword(form) { 
	
if (form.email.value == "") { 
   alert("Please Enter Your Email"); 
   form.email.focus( );
   return false;
   }	
}
	

function paxlogin(form) { 
	
if (form.participant_username.value == "") { 
   alert("Please Enter Your Username"); 
   form.participant_username.focus( );
   return false;
   }	
if (form.participant_password.value == "") { 
   alert("Please Enter Your Password"); 
   form.participant_password.focus( );
   return false;
   }	   
}
	


// popup window for a few screens //
function newWin(path) {
	
	var URL = path;
	var newTitle =  '<%= page_title %>';
	window.open(URL,'','scrollbars=yes,resizable=no,width=425,height=500,left=50,top=50');

}

// popup window for Crystal Reports //
function crystalWin(pgmID,filterID,rptType,start_date,end_date,path,csort) {
	if (rptType.value == "PaxListing.rpt") {
		var URL = path + "?rptType=" + rptType.value + "&filterid=" + filterID.value;
	} else if (rptType.value == "TP_Ranking.rpt" || rptType.value == "AYG_Ranking.rpt") {
		var URL = path + "?rptType=" + rptType.value + "&programid=" + pgmID.value + "&csort=" + csort.value;	
	} else {
		var URL = path + "?rptType=" + rptType.value + "&programid=" + pgmID.value + "&filterid=" + filterID.value + "&start_date=" + start_date.value + "&end_date=" + end_date.value;
	}
	var newTitle =  '<%= page_title %>';
	
	if (rptType.value == "") {
		alert("Please select a report");
		rptType.focus();
	} else {
		window.open(URL,'','scrollbars=yes,resizable=yes,width=770,height=595,left=2,top=2');
	}
}
// popup window for Invoice Details //
function newWinInvoice(path) {
	
	var URL = path;
	var newTitle =  '<%= page_title %>';
	window.open(URL,'','scrollbars=yes,resizable=yes,width=575,height=500,left=50,top=50');

}
// popup window for "printable" screens
function printerWin(path) {
	
	var URL = path;
	var newTitle =  '<%= page_title %>';
	window.open(URL,'','scrollbars=yes,resizable=yes,width=600,toolbar=1,height=600,left=150,top=10');

}

// popup window for "Contact Us" screens
function ContactUsWin(path) {
	
	var URL = path;
	var newTitle =  '<%= page_title %>';
	//window.open(URL,'','scrollbars=yes,resizable=yes,width=425,toolbar=1,height=425,left=150,top=10');
	//[ie]window.open(URL,'','scrollbars=yes,resizable=yes,width=490,toolbar=1,height=445,left=150,top=10');
	//[netscape]window.open(URL,'','scrollbars=yes,resizable=yes,width=500,toolbar=1,height=465,left=150,top=10');
	window.open(URL,'','scrollbars=yes,resizable=yes,width=530,toolbar=1,height=535,left=150,top=10');

}
function submitcheck(mesg) {

if (confirm(mesg))
	return true;
else
	return false;

}

function newprogram(formObj) {

var sd = formObj.start_date.value;
var ed = formObj.end_date.value;
var sel = formObj.MainFilter.selectedIndex
var filterid = formObj.MainFilter.options[sel].value

if (filterid == -1) {
	alert("Please select a program group.\n\n");
	formObj.MainFilter.focus();
	return false;
}
else if (formObj.program_theme.value == "") {
	alert("Please enter a program name.\n\n");
	formObj.program_theme.focus();
	return false;
}
else if (sd.length < 6 || sd.indexOf("/") == "-1") {
	alert("Incorrect Start Date Format\n\n");
	formObj.start_date.focus();
	return false;
	}
else if (ed.length < 6 || ed.indexOf("/") == "-1") {
	alert("Incorrect End Date Format\n\n");
	formObj.end_date.focus();
	return false;
}
//else if (formObj.PgmText.value == "") {
//	alert("Please enter a program description.\n\n");
//	return false;
//}

return true;

}

function editprogram(formObj) {

var sd = formObj.start_date.value;
var ed = formObj.end_date.value;

if (formObj.program_theme.value == "") {
	alert("Please enter a program name.\n\n");
	formObj.program_theme.focus();
	return false;
}
else if (sd.length < 6 || sd.indexOf("/") == "-1") {
	alert("Incorrect Start Date Format\n\n");
	formObj.start_date.focus();
	return false;
	}
else if (ed.length < 6 || ed.indexOf("/") == "-1") {
	alert("Incorrect End Date Format\n\n");
	formObj.end_date.focus();
	return false;
}
//else if (formObj.PgmText.value == "") {
//	alert("Please enter a program description.\n\n");
//	return false;
//}
else return true;

}

// do this program rule check
function definerules(formObj) {

if (formObj.activity.value == "") {
	alert("Please enter a program activity.\n\n");
	formObj.activity.focus();
	return false;
} else if (formObj.points.value == "") {
	alert("Please enter the " + formObj.pointsdesc.value.toLowerCase() + " value for this activity.\n\n");
	formObj.points.focus();
	return false;
} else if (!IsNumeric(formObj.points.value)) {
	alert("Please enter a numeric " + formObj.pointsdesc.value.toLowerCase() + " value.\n\n");
	formObj.points.focus();
	return false;
}
else return true;

}

// top performer rule check
function toprules(formObj) {

if (formObj.low.value == "") {
	alert("Please enter a low value.\n\n");
	formObj.high.focus();
	return false;
} else if (formObj.high.value == "") {
	alert("Please enter a high value.\n\n");
	formObj.high.focus();
	return false;
} else if (formObj.points.value == "") {
	alert("Please enter a " + formObj.pointsdesc.value.toLowerCase() + " value.\n\n");
	formObj.points.focus();
	return false;
} else if (!IsNumeric(formObj.high.value)) {
	alert("Please enter a numeric high value.\n\n");
	formObj.high.focus();
	return false;
} else if (!IsNumeric(formObj.low.value)) {
	alert("Please enter a numeric low value.\n\n");
	formObj.low.focus();
	return false;
} else if (formObj.low.value == 0) {
	alert("Low value must be greater than zero.\n\n");
	formObj.low.focus();
	return false;	
} else if (!IsNumeric(formObj.points.value)) {
	alert("Please enter a numeric " + formObj.pointsdesc.value.toLowerCase() + " value.\n\n");
	formObj.points.focus();
	return false;
}
else return true;

}
// top performer rule check
function toprules2(formObj) {
if (formObj.hi.value == "") {
	alert("Please enter a high value.\n\n");
	formObj.hi.focus();
} else if (!IsNumeric(formObj.hi.value)) {
	alert("Please enter a numeric high value.\n\n");
	formObj.hi.focus();
} else if (parseInt(formObj.hi.value) < parseInt(formObj.lo.value)) {
	alert("Low value is greater than High value.\n\n");
	formObj.hi.focus();
} else if (formObj.pts.value == "") {
	alert("Please enter a " + formObj.pointsdesc.value.toLowerCase() + " value.\n\n");
	formObj.pts.focus();
} else if (!IsNumeric(formObj.pts.value)) {
	alert("Please enter a numeric " + formObj.pointsdesc.value.toLowerCase() + " value.\n\n");
	formObj.pts.focus();
}
else formObj.submit();

}

// top performer rule check
function toprules3(formObj) {
if (formObj.hi.value == "") {
	alert("Please enter a high value.\n\n");
	formObj.hi.focus();
	return false;
} else if (!IsNumeric(formObj.hi.value)) {
	alert("Please enter a numeric high value.\n\n");
	formObj.hi.focus();
	return false;
} else if (parseInt(formObj.hi.value) < parseInt(formObj.lo.value)) {
	alert("Low value is greater than High value.\n\n");
	formObj.hi.focus();
	return false;
} else if (formObj.pts.value == "") {
	alert("Please enter a " + formObj.pointsdesc.value.toLowerCase() + " value.\n\n");
	formObj.pts.focus();
	return false;
} else if (!IsNumeric(formObj.pts.value)) {
	alert("Please enter a numeric " + formObj.pointsdesc.value.toLowerCase() + " value.\n\n");
	formObj.pts.focus();
	return false;
}
else return true;

}

// achieve goals program form check
function definegoals(formObj) {

var hg = formObj.high.value
var lg = formObj.low.value

var con = formObj.condition.value
var conv = formObj.con_val.value

if ( hg == "" && lg == "" && con == 0 && conv == "" ) {
	alert("You have not entered any values.\n\n");
	formObj.low.focus();
	return false;
}
else if ( (hg == "") && (lg != "") ) {
	alert("You have entered a low value but no high value.\n\n");
	formObj.high.focus();
	return false;
}
else if (lg == "" && hg != "") {
	alert("You have entered a high value and no low value.\n\n");
	formObj.low.focus();
	return false;
}
else if ( (lg != "" && hg != "" && (conv != "" || con >0) ) || (lg == "" && hg != "" && (conv != "" || con >0)) || (lg != "" && hg == "" && (conv != "" || con >0))) {
	alert("You have entered values for the set range and indefinate range. \n\n Only one range can be used. Please delete the values from the range you do not want to use.\n\n");
	formObj.low.focus();
	return false;
}
else if (con == 0 && conv != "") {
	alert("You have entered value for the indefinate range but have not selected a condition. \n\n Please select a condition from the drop down.\n\n");
	formObj.condition.focus();
	return false;
}
else if (con > 0 && conv == "") {
	alert("You have not entered value for the indefinate range. \n\n");
	formObj.con_val.focus();
	return false;
}
else if (formObj.points.value == "") {
	alert("You have not entered a " + formObj.pointsdesc.value.toLowerCase() + " value.\n\n");
	formObj.points.focus();
	return false;
}
else if (!IsNumeric(lg) && lg != "") {
	alert("Please enter a numeric low goal value.\n\n");
	formObj.low.focus();
	return false;
}
else if (lg == 0 && con == 0) {
	alert("Low goal value must be greater than zero.\n\n");
	formObj.low.focus();
	return false;
}
else if (!IsNumeric(hg) && hg != "") {
	alert("Please enter a numeric high goal value.\n\n");
	formObj.high.focus();
	return false;
}
else if (hg == 0 && con == 0) {
	alert("High goal value must be greater than zero.\n\n");
	formObj.high.focus();
	return false;
}
else if (!IsNumeric(conv) && conv != "") {
	alert("Please enter a numeric conditional value.\n\n");
	formObj.con_val.focus();
	return false;
}
else if (!IsNumeric(formObj.points.value)) {
	alert("Please enter a numeric " + formObj.pointsdesc.value.toLowerCase() + " value.\n\n");
	formObj.points.focus();
	return false;
}
}

// setting goal form check
function setgoalsCheck(formObj) {

var selX = formObj.filterID.selectedIndex
var grp = formObj.filterID.options[selX].value
var selY = formObj.userID.selectedIndex
var par = formObj.userID.options[selY].value

if (grp == "-1" && par == "-1") {
	alert("Please select a group or participant.\n\n");
	formObj.filterID.focus();
	return false;
} else if (formObj.goal_amount.value == "") {
	alert("Please enter a goal value.\n\n");
	formObj.goal_amount.focus();
	return false;
} else if (!IsNumeric(formObj.goal_amount.value)) {
	alert("Please enter a numeric goal value.\n\n");
	formObj.goal_amount.focus();
	return false;
} else if (formObj.goalsexist.value == "1") {
	if (confirm("Goals exist - click OK to overwrite")) {
		return true;
	} else {
		return false;
	}
}
else return true;

}

function contentcheck(formObj) {

var title = formObj.title.value;
var body = formObj.body.value;
var sel = formObj.categoryid.selectedIndex
var catid = formObj.categoryid.options[sel].value
var sel2 = formObj.status.selectedIndex
var stat = formObj.status.options[sel2].value

if (title == "") {
	alert("Please enter a title.\n\n");
	formObj.title.focus();
	return false;
}
else if (catid == "") {
	alert("Please select a category.\n\n");
	formObj.categoryid.focus();
	return false;
}
else if (body == "") {
	alert("Please enter text for the body.\n\n");
	formObj.body.focus();
	return false;
	}
else if (stat == "") {
	alert("Please select the status of this entry.\n\n");
	formObj.status.focus();
	return false;
	}
else return true;

}

function usercheck(formObj) {
  if (formObj.first_name.value == "") {
  	alert("Please fill in a first name.\n\n");
  	formObj.first_name.focus();
  	return false;
  }
	/*
	re = /[^A-z|'|-]/;
  OK = re.exec(formObj.first_name.value);
  if(OK!=null){
  	alert("First name can only contain alpha characters and apostrophes. Please remove all invalid non-alpha characters. \n\n");
  	formObj.first_name.focus();
  	return false;
  }
	*/
  if (formObj.last_name.value == "") {
  	alert("Please fill in a last name.\n\n");
  	formObj.last_name.focus();
  	return false;
  }
	/*
	re = /[^A-z|'|-]/;
  OK = re.exec(formObj.last_name.value);
  if(OK!=null){
  	alert("Last name can only contain alpha characters apostrophes. Please remove all invalid non-alpha characters. \n\n");
  	formObj.last_name.focus();
  	return false;
  }
	*/
  if (formObj.address1.value == "") {
  	alert("Please fill in the address field.\n\n");
  	formObj.address1.focus();
  	return false;
  }
  if (formObj.city.value == "") {
  	alert("Please fill in the city field.\n\n");
  	formObj.city.focus();
  	return false;
  }
  if (formObj.zip.value == "") {
  	alert("Please fill in the zip code field.\n\n");
  	formObj.zip.focus();
  	return false;
  }
  if (formObj.zip.value.length > 10) {
  	alert("Zip code is limited to ten digits, including a dash");
	return false;
  }
	/*
	if(formObj.country.options[formObj.country.options.selectedIndex].value=="USA"){
  	re = /[^0-9|-]/;
  	OK = re.exec(formObj.zip.value);
  	if(OK!=null){
    	alert("United States Zip can only contain numbers and a dash. Please remove all illegal characters. \n\n");
    	formObj.zip.focus();
    	return false;
    }
	}
	else if(formObj.country.options[formObj.country.options.selectedIndex].value=="CAN"){
	  re = /[^0-9|-|^A-z]/;
  	OK = re.exec(formObj.zip.value);
  	if(OK!=null){
    	alert("Canadian Zip can only contain letters,numbers and a dash. Please remove all illegal characters. \n\n");
    	formObj.zip.focus();
    	return false;
		}
	}
	if(formObj.zip.value.length<5 || formObj.zip.value.length>10){
	  alert("Zip has a minimum size of 5 numbers and a maximum of 9 numbers with a dash.\n\n");
  	formObj.zip.focus();
  	return false;
	}
	*/
	/*
	if(formObj.zip.value.length>5 && formObj.zip.value.charAt(4)!="-"){
		alert("Malformed zip. If zip is over 5 characters please make sure the dash is in the proper location.\n\n");
  	formObj.zip.focus();
  	return false;
	}*/
  if (formObj.phone.value == "") {
  	alert("Please fill in the phone number field.\n\n");
  	formObj.phone.focus();
  	return false;
  }
	/*
	re = /[^0-9|-]/;
	OK = re.exec(formObj.phone.value);
	if(OK!=null){
  	alert("Phone can only contain numbers and a dash. Please remove all illegal characters. \n\n");
  	formObj.phone.focus();
  	return false;
  }
	if(formObj.phone.value.length<12 || formObj.phone.value.length>12  || (formObj.phone.value.length==12 && (formObj.phone.value.charAt(3)!=("-") || formObj.phone.value.charAt(7)!=("-")))){
		alert("Malformed phone. Please make sure phone is in 123-456-7890 format.\n\n");
		formObj.phone.focus();
  	return false;
	}
	*/
	
	// m.kline 05/08/02
	// validate fax number.
	/*
	re = /[^0-9|-]/;
	OK = re.exec(formObj.fax.value);
	if(OK!=null){
 	alert("Fax can only contain numbers and a dash. Please remove all illegal characters. \n\n");
  	formObj.fax.focus();
  	return false;
  }
	if(formObj.fax.value != "" && (formObj.fax.value.length<12 || formObj.fax.value.length>12  || (formObj.fax.value.length==12 && (formObj.phone.value.charAt(3)!=("-") || formObj.phone.value.charAt(7)!=("-"))))){
		alert("Malformed fax. Please make sure fax is in 123-456-7890 format.\n\n");
		formObj.fax.focus();
 	return false;
	}
	*/
	// / m.kline 05/08/02
	
  if (formObj.email_address.value == "") {
  	alert("Please fill in an email address.\n\n");
  	formObj.email_address.focus();
  	return false;
  }
	

//var filter=/^(\w+(\?:\.\w+)*)@((\?:\w+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(\?:\.[a-z]{2})?)$/i;
var filter=/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/i;
if (!filter.exec(formObj.email_address.value)){
	alert("Malformed email address. Please make sure email address is in proper username@domain.com format.");
	formObj.email_address.focus( );
 return false;
 } 
  // m.kline 05/10/02
	// no apostrophes allowed in email address field
	var invalid = "'";
	var temp;
	for (var i=0; i < formObj.email_address.value.length; i++) {
	temp = "" + formObj.email_address.value.substring(i, i+1);
	if (invalid.indexOf(temp) != "-1") {
 			  alert("Invalid character in Email field. Apostrophe ( ' ) character not allowed.");
			  formObj.email_address.focus();
	  	  return false;
  		  }
  }


	if (formObj.social_security_number.value == "") {
  	alert("Please fill in the social security number field.\n\n");
  	formObj.social_security_number.focus();
  	return false;
  }
  if (!IsNumeric(formObj.social_security_number.value)) {
  	alert("Social security number must be numeric without dashes.\n\n");
  	formObj.social_security_number.focus();
  	return false;
  }
  if(formObj.social_security_number.value.length<9){
  	alert("Social Security Number must be 9 characters long. \n\n");
  	formObj.social_security_number.focus();
  	return false;
  }
  if (formObj.userid_signon.value == "") {
  	alert("Please fill in the user name field.\n\n");
  	formObj.userid_signon.focus();
  	return false;
  }
  if (formObj.userid_signon.value.length < 5) {
  	alert("User name must be at least 5 characters in length.\n\n");
  	formObj.userid_signon.focus();
  	return false;
  }
  if (formObj.password.value == "") {
  	alert("Please fill in the password field.\n\n");
  	formObj.password.focus();
  	return false;
  }
  if (formObj.password.value.length < 5) {
  	alert("Password must be at least 5 characters in length.\n\n");
  	formObj.password.focus();
  	return false;
  }
  
  // ********************************************************
  // m.kline 2002-03-22
  // do not allow single-quote in username or password fields
  var invalid = "'";
  var temp;
  for (var i=0; i < formObj.userid_signon.value.length; i++) {
  temp = "" + formObj.userid_signon.value.substring(i, i+1);
  if (invalid.indexOf(temp) != "-1") {
   	  alert("Invalid character in Username field. Single-quote ( ' ) character not allowed.");
  	  formObj.userid_signon.focus();
  	  return false;
      }
  }
  for (var i=0; i < formObj.password.value.length; i++) {
  temp = "" + formObj.password.value.substring(i, i+1);
  if (invalid.indexOf(temp) != "-1") {
   	  alert("Invalid character in Password field. Single-quote ( ' ) character not allowed.");
  	  formObj.password.focus();
  	  return false;
      }
  }
  // /m.kline 2002-03-22
  // ********************************************************
}


// check the help topics form

function helpcheck(form) { 

var sel2 = form.status.selectedIndex
var stat = form.status.options[sel2].value

if (form.categoryid.value == "") { 
   alert("Please Enter a Category"); 
   form.categoryid.focus( );
   return false;
   }	
if (form.title.value == "") { 
   alert("Please Enter a Title"); 
   form.title.focus( );
   return false;
   }	
if (stat == "") { 
   alert("Please Enter a Status"); 
   form.status.focus( );
   return false;
   }
if (form.body.value == "") { 
   alert("Please Enter Body Text"); 
   form.body.focus( );
   return false;
   }         
}





//perform the check for the cookie... yum.

function cc()
{
 /* check for a cookie */
  if (document.cookie == "") 
  {
    /* if a cookie is not found - alert user -
     change cookieexists field value to false */
    //alert("Dear User:\n\nAwardCafe.com requires that you have cookies enabled to use this site.\n\n Please enable Cookies on your browser before logging in.\n\n Only your UserId will be stored in this cookie.");
  }
}

/* Set a cookie to be sure that one exists.
   Note that this is outside the function*/
document.cookie = 'killme' + escape('nothing')
//end the checking for the cookies


/* credit card validation */

function CheckCardNumber(form) { 
if (form.CardNumber.value == "") { 
   alert("Please Enter Card Number"); 
   form.CardNumber.focus( );
   return false;
   }	
if (form.cc_name.value == "") { 
   alert("Please Enter Name That Appears On Credit Card"); 
   form.cc_name.focus( );
   return false;
   }	

if (!IsNumeric(form.CardNumber.value)) { 
   alert("Please Enter a Valid Card Number"); 
   form.CardNumber.focus( );
   return false;
   }	   

if ((form.CardNumber.value.length < 10) || (form.CardNumber.value.length > 18)){   
	alert("Please Enter a Valid Card Number"); 
  	form.CardNumber.focus( );
   	return false;
	}
}

function CheckSiteSetUp(form) { 
if (form.url.value == "") { 
  alert("You Must Specify A Unique URL For Your Unique Site"); 
   form.url.focus( );
   return false;
   }	
    
}


function eftcheck(form) { 
	var sel2 = form.eft_account.selectedIndex
	var stat = form.eft_account.options[sel2].value
if (form.eft_bank.value == "") { 
   alert("Please Enter Bank Info"); 
   form.eft_bank.focus( );
   return false;
   }	
if (stat == "") { 
   alert("Please Select Account Type"); 
   form.eft_account.focus( );
   return false;
   }	   

if (form.eft_number.value == "") { 
   alert("Please Enter Account Number"); 
   form.eft_number.focus( );
   return false;
   }	   
}


function cccheck(form) { 
	//var type = form.cc_type.selectedIndex
	//var stat = form.cc_type.options[type].value
	
	//var month = form.cc_month.selectedIndex
	//var stat2 = form.eft_account.options[cc_month].value
	
	//var year = form.cc_year.selectedIndex
	//var stat3 = form.eft_account.options[cc_year].value	
		
//if (stat == "") { 
//   alert("Please Select Card Type"); 
//   form.cc_type.focus( );
//   return false;
 //  }	
if (form.cc_name.value == "") { 
   alert("Please Enter Name On Card"); 
   form.cc_name.focus( );
   return false;
   }	
if (form.cc_number.value == "") { 
   alert("Please Enter Card Number"); 
   form.cc_number.focus( );
   return false;
   }	      
  
if (!IsNumeric(form.cc_number.value)) { 
   alert("Please Enter a Valid Card Number"); 
   form.cc_number.focus( );
   return false;
   }
	  
if ((form.cc_number.value.length < 10) || (form.cc_number.value.length > 18)){   
	alert("Please Enter a Valid Card Number"); 
  	form.cc_number.focus( );
   	return false;
	}  
}

// DATE VALIDATION
// The following functions were written by Tom Wittbrodt
// Copyright (c) 1998, 1999 Tom Wittbrodt
// License is granted if and only if this entire 
// copyright notice is included. 

function validate_date(date_field, desc) {
        if (!date_field.value)  
                return true;
        var in_date = stripCharString(date_field.value," ");
        in_date = in_date.toUpperCase();
        var date_is_bad = 0;  
        if (!allowInString(in_date,"/0123456789T+-"))
                date_is_bad = 1; // invalid characters in date
        if (!date_is_bad) { 
                var has_rdi = 0;
                if (in_date.indexOf("T") >= 0){ 
                        has_rdi = 1;
                }
                if (!date_is_bad && has_rdi && (in_date.indexOf("T") != 0)) { 
                        date_is_bad = 2; // relative date index character is not in first position
                }
                if (!date_is_bad && has_rdi && (in_date.length == 1)) { 
                        var d = new Date();
						var return_month = parseInt(d.getMonth() + 1).toString();
						return_month = (return_month.length==1 ? "0" : "") + return_month; 
						var return_date =  parseInt(d.getDate()).toString();
						return_date = (return_date.length==1 ? "0" : "") + return_date; 
				        in_date = return_month + "/" + return_date + "/" + get_full_year(d);		
                        has_rdi = 0; // date doesn't have rdi char anymore (will also cause failure of add'l rdi checks, which is a good thing)
                }
                if (!date_is_bad && has_rdi && (in_date.length > 1) && !(in_date.charAt(1) == "+" || in_date.charAt(1) == "-")) {
                        date_is_bad = 3; // length of rdi string is greater than 1 but second char is not "+" or "-"
                }
                if (!date_is_bad && has_rdi && isNaN(parseInt(in_date.substring(2,in_date.length),10))) {
                        date_is_bad = 4; // rdi value is not a number
                }
                if (!date_is_bad && has_rdi && (parseInt(in_date.substring(2,in_date.length),10) < 0)) {
                        date_is_bad = 5; // rdi value is not a positive integer
                }
                if (!date_is_bad && has_rdi) {
                        var d = new Date();
                        ms = d.getTime();
                        offset = parseInt(in_date.substring(2,in_date.length),10);
                        if(in_date.charAt(1) == "+") {
                                ms += (86400000 * offset);
                        } else {
                                ms -= (86400000 * offset);
                        }
                        d.setTime(ms);
						var return_month = parseInt(d.getMonth() + 1).toString();
						return_month = (return_month.length==1 ? "0" : "") + return_month; 
						var return_date =  parseInt(d.getDate()).toString();
						return_date = (return_date.length==1 ? "0" : "") + return_date; 
				        in_date = return_month + "/" + return_date + "/" + get_full_year(d);	
                        has_rdi = 0;
                }
        } 
        if (!date_is_bad) {
                var date_pieces = new Array();
                date_pieces = in_date.split("/");
                if (date_pieces.length == 2) {
                        var d = new Date();
                        in_date = in_date + "/" + get_full_year(d);
                        date_pieces = in_date.split("/");
                }
                if (date_pieces.length != 3 || parseInt(date_pieces[0],10) < 1 || parseInt(date_pieces[0],10) > 12 
                                || parseInt(date_pieces[1],10) < 1 || parseInt(date_pieces[1],10) > 31 
                                || (date_pieces[2].length != 2 && date_pieces[2].length != 4)) {
                        date_is_bad = 6;  // date is not in format of m[m]/d[d]/yy[yy]
                }
        }
        if (date_is_bad) {
                alert(desc + " must be in the format of MM/DD/YYYY.");
                date_field.focus();
                return (false);
        }
        
        var ms = Date.parse(in_date);
        var d = new Date();
        d.setTime(ms);
		var return_date = d.toLocaleString();
		var return_month = parseInt(d.getMonth() + 1).toString();
		return_month = (return_month.length==1 ? "0" : "") + return_month; 
		var return_date =  parseInt(d.getDate()).toString();
		return_date = (return_date.length==1 ? "0" : "") + return_date; 
        return_date = return_month + "/" + return_date + "/" + get_full_year(d);
        date_field.value = return_date;
        return true;
}       // normalize the year to yyyy

function get_full_year(d) {
		var y = ""
		if (d.getFullYear() != null)
		{
			y = d.getFullYear();
			if (y < 1970) y+= 100;		
		} else
		{	
	        y = d.getYear();
	        if (y > 69  && y < 100) y += 1900;
	        if (y < 1000) y += 2000;
		}
        return y;
}

// The following functions were written by Gordon McComb
// More information can be found here: http://www.javaworld.com/javaworld/jw-02-1997/jw-02-javascript.html

function stripCharString (InString, CharString)  {
        var OutString="";
   for (var Count=0; Count < InString.length; Count++)  {
        var TempChar=InString.substring (Count, Count+1);
      var Strip = false;
      for (var Countx = 0; Countx < CharString.length; Countx++) {
        var StripThis = CharString.substring(Countx, Countx+1)
         if (TempChar == StripThis) {
                Strip = true;
            break;
         }
      }
      if (!Strip)
        OutString=OutString+TempChar;
   }
        return (OutString);
}

function allowInString (InString, RefString)  {
        if(InString.length==0) return (false);
        for (var Count=0; Count < InString.length; Count++)  {
        var TempChar= InString.substring (Count, Count+1);
      if (RefString.indexOf (TempChar, 0)==-1)  
        return (false);
   }
   return (true);
}

// EFT Form validation
function checkpayEFT(form) { 
	
if (form.eft_bank.value == "") { 
   alert("Please enter bank name"); 
   form.eft_bank.focus( );
   return false;
   }	
if (form.eft_routing.value == "") { 
   alert("Please enter bank routing number"); 
   form.eft_routing.focus( );
   return false;
   }
if (form.eft_type.value == "") { 
   alert("Please enter bank account type"); 
   form.eft_type.focus( );
   return false;
   }
if (form.eft_name.value == "") { 
   alert("Please enter valid name for this account"); 
   form.eft_name.focus( );
   return false;
   }
if (form.eft_number.value == "") { 
   alert("Please enter a valid account number"); 
   form.eft_number.focus( );
   return false;
   }
}

// INVOICE Form validation
function checkpayINV(form) { 
	
if (form.inv_fname.value == "") { 
   alert("Please enter first name"); 
   form.inv_fname.focus( );
   return false;
   }	
if (form.inv_lname.value == "") { 
   alert("Please enter last name"); 
   form.inv_lname.focus( );
   return false;
   }
if (form.inv_company.value == "") { 
   alert("Please enter company name"); 
   form.inv_company.focus( );
   return false;
   }
if (form.inv_addr1.value == "") { 
   alert("Please enter an address"); 
   form.inv_addr1.focus( );
   return false;
   }
if (form.inv_city.value == "") { 
   alert("Please enter a city"); 
   form.inv_city.focus( );
   return false;
   }
if (form.inv_state.value == "") { 
   alert("Please enter a state"); 
   form.inv_state.focus( );
   return false;
   }
if (form.inv_zip.value == "") { 
   alert("Please enter a zip"); 
   form.inv_zip.focus( );
   return false;
   }
if (form.inv_phone.value == "") { 
   alert("Please enter a phone number"); 
   form.inv_phone.focus( );
   return false;
   }
}

// this validates do this issue points

function dothisissue(form) { 
	   
if (form.do_this.value == "") { 
   alert("Please Select an Award."); 
   form.do_this.focus( ); 
   return false; 
   }	
if (form.do_this_times.value == "") { 
   alert("Please Enter an Award Quantity."); 
   form.do_this_times.focus( ); 
   return false; 
   }
if (!IsNumeric(form.do_this_times.value)) { 
   alert("Please enter a numeric " + form.pointsdesc.value.toLowerCase() + " value."); 
   form.do_this_times.focus( ); 
   return false; 
   }	
}

// this validates do this edit rules

function dothisrules(form) { 
	   
if (form.activity.value == "") { 
   alert("Please Enter the Activity."); 
   form.activity.focus( ); 
   return false; 
   }	
if (form.points.value == "") { 
   alert("Please Enter a " + form.pointsdesc.value.toLowerCase() + " Value."); 
   form.points.focus( ); 
   return false; 
   }
if (!IsNumeric(form.points.value)) { 
   alert("Please enter a numeric " + form.pointsdesc.value.toLowerCase() + " value."); 
   form.points.focus( ); 
   return false; 
   }	
}
function dothisrules2(form) { 
if (form.dothis.value == "") { 
   alert("Please Enter the Activity."); 
   form.dothis.focus( ); 
   return false; 
   }	
if (form.getthat.value == "") { 
   alert("Please Enter a " + form.pointsdesc.value.toLowerCase() + " Value."); 
   form.getthat.focus( ); 
   return false; 
   }
if (!IsNumeric(form.getthat.value)) { 
   alert("Please enter a numeric " + form.pointsdesc.value.toLowerCase() + " value."); 
   form.getthat.focus( ); 
   return false; 
   }	
}
// this validates add newsletter form

function newsletter(form) { 
	   
if (form.programid.value == "") { 
   alert("Please Select a Program."); 
   form.programid.focus( ); 
   return false; 
   }	
if (form.headline.value == "") { 
   alert("Please Enter a Headline."); 
   form.headline.focus( ); 
   return false; 
   }
}

// this validates add newsletter form

function IssuePointsSpot(form) { 

if (form.filterID.value == -1 && form.userID.value == "") { 
   alert("Please Select a Group or Participant."); 
   form.filterID.focus( ); 
   return false; 
   }
if(form.filterID.value >-1 && form.userID.value !="") {
	alert("Both a Group and Participant are selected. Please choose a Group OR a Participant.");
	return false;
	} 
if (form.award_desc.value == "") { 
   alert("Please Enter Award Description."); 
   form.award_desc.focus( ); 
   return false; 
   }	
//<!--I144-->
if (!IsNumeric(form.award_points.value) || form.award_points.value<0 || form.award_points.value=="") { 
   alert("Please enter a positive numeric " + form.pointsdesc.value.toLowerCase() + " value."); 
   form.award_points.focus( ); 
   return false; 
   }	
}
//<!--/I144-->

//issue points goal
function goalissue(form) { 
	   
if (form.do_this.value == "") { 
   alert("Please Select an Award."); 
   form.do_this.focus( ); 
   return false; 
   }	
if (form.do_this_times.value == "") { 
   alert("Please Enter an Award Quantity."); 
   form.do_this_times.focus( ); 
   return false; 
   }
if (!IsNumeric(form.do_this_times.value)) { 
   alert("Points Must be A Numeric Value."); 
   form.do_this_times.focus( ); 
   return false; 
   }	
}

//issue points top performer
function topissue(Fval) { 

if (Fval != "") {
	if (!IsNumeric(Fval)) { 
	   alert("Points Must be A Numeric Value."); 
	   Fval.focus();
	   return false; 
	   }
}

}

function alphanumeric(Fval) {

	if (!IsNumeric(Fval) && !IsAlpha(Fval)) { 
	   alert("Search string must be a letter or number value."); 
	   return false; 
	   }
}

// numeric checking

function IsNumeric (str) {
	r = new RegExp("[^0-9]");
	return (!r.test(str));
}

function IsAlpha (str) {
	r = new RegExp("[^a-z]");
	return (!r.test(str));
}

// places focus on first form field // courtney is a genius !!
function placeFocus() {

if (document.forms.length > 0) {
	var field = document.forms[0];
	for (i = 0; i < field.length; i++) {
	if ((field.elements[i].type == "text") || (field.elements[i].type == "textarea") || 			
		(field.elements[i].type.toString().charAt(0) == "s")) {
		document.forms[0].elements[i].focus();
		break;
         }
      }
   }
}

// submits a form into a new window
function formSub(formObj) {

	formObj.submit();
	return false;

}
// Removes leading and trailing blanks
function trimBlanks(formObj) {
	while(''+formObj.value.charAt(formObj.value.length-1)==' ') {
		formObj.value=formObj.value.substring(0,formObj.value.length-1);
	}

	while(''+formObj.value.charAt(0)==' ') {
		formObj.value=formObj.value.substring(1,formObj.value.length);
	}
}

//PR2558 - Pops up Notification email window
function notificationEmail(user_id,filter_id,email_id){
	var atr=null;
  	atr = "?user_id=" + user_id;
  	atr += "&filter_id=" + filter_id;
  	atr += "&email_id=" + email_id;
	window.open("notificationemail_popup.asp" + atr,"","width=600,height=400,resizable=yes");	
} 

//I19 - Validate blast email form
function ValidateBlastEmail(form){
	if((form.userID.selectedIndex==0 || form.userID.selectedIndex==-1) && (form.filterID.selectedIndex==0 || form.filterID.selectedIndex==-1) && form.carboncopy.value==""){
		alert("Please choose a Group,Participant, or CC to receive this email");
		return false;
	}
	return true;
}

function RemoveCustomFieldAlert(hdg,clientID){
	var decision = confirm("You are about to remove a custom field. If a group uses this custom field, the group will not function properly. Click OK to continue.");
	if(decision){
		window.location.href="participant_fields.asp?action=deletefield&hdg=" + hdg + "&client_id=" + clientID;
	}
	return false;
}
