// Macromedia Image Swap:
function MM_swapImgRestore() { //v3.0
	  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
	}

	function MM_preloadImages() { //v3.0
	  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
		var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
		if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
	}

	function MM_findObj(n, d) { //v4.01
	  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
	  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	  if(!x && d.getElementById) x=d.getElementById(n); return x;
	}

	function MM_swapImage() { //v3.0
	  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
	   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
	}
	
// Form Field Validation Functions:
//
// isValidExpDate(formField,fieldLabel,required)
//   -- checks for date in the format MM/YY or MM/YYYY against the current date
// isValidCreditCardNumber(formField,ccType,fieldLabel,required)
//   -- checks for valid credit card format using the Luhn check and known digits about various cards
//


function validCCForm(ccTypeField,ccNumField,ccExpField)
{
	//alert('expire date: ' + ccExpField.value);
	//alert('cc number ' + ccNumField.value);
	var result = isValidCreditCardNumber(ccNumField,ccTypeField.value,"Credit Card Number",true) &&
		isValidExpDate(ccExpField,"Expiration Date",true);
	return result;
}

function validRequired(formField,fieldLabel)
{
	var result = true;
	
	if (formField.value == "")
	{
		alert('Please enter a value for the "' + fieldLabel +'" field.');
		formField.focus();
		result = false;
	}
	
	return result;
}


function allDigits(str)
{
	return inValidCharSet(str,"0123456789");
}

function inValidCharSet(str,charset)
{
	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 isValidExpDate(formField,fieldLabel,required)
{
	var result = true;
	var formValue = formField.value;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
 	if (result && (formField.value.length>0))
 	{//	alert('1');
 		var elems = formValue.split("/");
 		
 		result = (elems.length == 2); // should be two components
 		var expired = false;
 		
 		if (result)
 		{	
			var month;

		
 			month = parseInt(elems[0],10);
 			
				
			var year = parseInt(elems[1],10);
 			
 			if (elems[1].length <= 2)
 				year += 2000;
 			//alert('2' + " " + month + " " + year + " " + formValue + " " + elems[0]);
 			var now = new Date();
 			
 			var nowMonth = now.getMonth() + 1;
 			var nowYear = now.getFullYear();
 			
 			expired = (nowYear > year) || ((nowYear == year ) && (nowMonth > month));
 			
		//	result = allDigits(elems[0]) && (month > 0) && (month < 13) &&
		//			 allDigits(elems[1]) && ((elems[1].length == 2) || (elems[1].length == 4));
 			
			result =  (month > 0) && (month < 13) && (year > 2000 ) && (year < 2100);
		}
 		
  		if (!result)
 		{
 			alert('Please enter a date in the format MM/YY for the "' + fieldLabel +'" field.');
			formField.focus();
		}
		else if (expired)
		{
 			result = false;
 			alert('The date for "' + fieldLabel +'" has expired.');
			formField.focus();
		}
	} 
	
	return result;
}


function isValidCreditCardNumber(formField,ccType,fieldLabel,required)
{
	var result = true;
 	var ccNum = formField.value;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
 
  	if (result && (formField.value.length>0))
 	{ 
 		if (!allDigits(ccNum))
 		{
 			alert('Please enter only numbers (no dashes or spaces) for the "' + fieldLabel +'" field.');
			formField.focus();
			result = false;
		}	

		if (result)
 		{ 
 			
 			if (!LuhnCheck(ccNum) || (formField.value.length < 15) )
 			{
 				alert('Please enter a valid card number for the "' + fieldLabel +'" field.');
				formField.focus();
				result = false;
			}	
		} 

	} 
	
	return result;
}

function LuhnCheck(str) 
{
  var result = true;

  var sum = 0; 
  var mul = 1; 
  var strLen = str.length;
  
  for (i = 0; i < strLen; i++) 
  {
    var digit = str.substring(strLen-i-1,strLen-i);
    var tproduct = parseInt(digit ,10)*mul;
    if (tproduct >= 10)
      sum += (tproduct % 10) + 1;
    else
      sum += tproduct;
    if (mul == 1)
      mul++;
    else
      mul--;
  }
  if ((sum % 10) != 0)
    result = false;
    
  return result;
}



function GetRadioValue(rArray)
{
	for (var i=0;i<rArray.length;i++)
	{
		if (rArray[i].checked)
			return rArray[i].value;
	}
	
	return null;
}


function validateCCNum(cardType,cardNum)
{
	var result = false;
	cardType = cardType.toUpperCase();
	
	var cardLen = cardNum.length;
	var firstdig = cardNum.substring(0,1);
	var seconddig = cardNum.substring(1,2);
	var first4digs = cardNum.substring(0,4);

	switch (cardType)
	{
		case "VISA":
			result = ((cardLen == 16) || (cardLen == 13)) && (firstdig == "4");
			break;
		case "AMEX":
			var validNums = "47";
			result = (cardLen == 15) && (firstdig == "3") && (validNums.indexOf(seconddig)>=0);
			break;
		case "MASTERCARD":
			var validNums = "12345";
			result = (cardLen == 16) && (firstdig == "5") && (validNums.indexOf(seconddig)>=0);
			break;
		case "DISCOVER":
			result = (cardLen == 16) && (first4digs == "6011");
			break;
		case "DINERS":
			var validNums = "068";
			result = (cardLen == 14) && (firstdig == "3") && (validNums.indexOf(seconddig)>=0);
			break;
	}
	return result;
}


function PopUp(file,name,w,h,m,s,t,r){
	LPos = (screen.width) ? (screen.width-w)/2 : 0;
	TPos = (screen.height) ? (screen.height-h)/2 : 0;
	options = "width=" + w + ",height=" + h + ",top=" +TPos + " ,left=" + LPos + ",menubar=" + m + ",scrollbars=" + s + ",toolbar=" + t + ",resizable=" + r;
	PopWallpaper = window.open(file,name,options);
	PopWallpaper.focus()
	
}


// print page
function printWindow() {
bV = parseInt(navigator.appVersion);
if (bV >= 4) {
	window.parent.home.focus();
	window.print();
	}
}

//Drop down menus
function fwLoadMenus() {
  if (window.quick_menu) return;

  window.rfe = new Menu("Restructuring Frustration",145,16,"Verdana, Arial, Helvetica, sans-serif",9,"#0000BD","#0000BD","#FFCE84","#FFEF94","left","middle",3,0,1000,1,0,true,true,true,0,true,true);
    	rfe.addMenuItem("New Trigger","location='/wkstn/rfe_triggers_new.asp'");
    	rfe.addMenuItem("View Triggers","location='/wkstn/rfe_triggers_view.asp'");
    	rfe.addMenuItem("Work on RFE","location='/wkstn/rfe_exercise.asp'");
  		rfe.hideOnMouseOut=true;
  		rfe.menuBorder=0;
  		rfe.menuLiteBgColor='#000000';
  		rfe.menuBorderBgColor='#000000';
		rfe.bgColor='#8779FF';	
		
window.estatus = new Menu("Exercise Status",145,16,"Verdana, Arial, Helvetica, sans-serif",9,"#0000BD","#0000BD","#FFCE84","#FFEF94","left","middle",3,0,1000,1,0,true,true,true,0,true,true);
    	estatus.addMenuItem("Enhancement Status","location='/wkstn/first_status_enhance.asp'");
    	estatus.addMenuItem("Healing & Growth Status","location='/wkstn/first_status_healing.asp'");
  		estatus.hideOnMouseOut=true;
  		estatus.menuBorder=0;
  		estatus.menuLiteBgColor='#000000';
  		estatus.menuBorderBgColor='#000000';
		estatus.bgColor='#8779FF';	

window.moments = new Menu("Four Critical Moments",145,16,"Verdana, Arial, Helvetica, sans-serif",9,"#0000BD","#0000BD","#FFCE84","#FFEF94","left","middle",3,0,1000,1,0,true,true,true,0,true,true);
    	moments.addMenuItem("Interview Partner","location='/wkstn/critical_exercise.asp'");
    	moments.addMenuItem("View Results","location='/wkstn/critical_results.asp'");
  		moments.hideOnMouseOut=true;
  		moments.menuBorder=0;
  		moments.menuLiteBgColor='#000000';
  		moments.menuBorderBgColor='#000000';
		moments.bgColor='#8779FF';
		
window.caring = new Menu("Caring Behaviors",145,16,"Verdana, Arial, Helvetica, sans-serif",9,"#0000BD","#0000BD","#FFCE84","#FFEF94","left","middle",3,0,1000,1,0,true,true,true,0,true,true);
    	caring.addMenuItem("Interview Partner","location='/wkstn/caring_exercise_a.asp'");
    	caring.addMenuItem("View Results","location='/wkstn/caring_results.asp'");
  		caring.hideOnMouseOut=true;
  		caring.menuBorder=0;
  		caring.menuLiteBgColor='#000000';
  		caring.menuBorderBgColor='#000000';
		caring.bgColor='#8779FF';

window.sdays = new Menu("Special Days",145,16,"Verdana, Arial, Helvetica, sans-serif",9,"#0000BD","#0000BD","#FFCE84","#FFEF94","left","middle",3,0,1000,1,0,true,true,true,0,true,true);
    	sdays.addMenuItem("Exercise","location='/wkstn/special_exercise.asp'");
    	sdays.addMenuItem("View Results","location='/wkstn/special_results.asp'");
  		sdays.hideOnMouseOut=true;
  		sdays.menuBorder=0;
  		sdays.menuLiteBgColor='#000000';
  		sdays.menuBorderBgColor='#000000';
		sdays.bgColor='#8779FF';

window.fun = new Menu("Fun Play List",145,16,"Verdana, Arial, Helvetica, sans-serif",9,"#0000BD","#0000BD","#FFCE84","#FFEF94","left","middle",3,0,1000,1,0,true,true,true,0,true,true);
    	fun.addMenuItem("Exercise","location='/wkstn/fun_exercise.asp'");
    	fun.addMenuItem("View Results","location='/wkstn/fun_results.asp'");
    	fun.addMenuItem("View Partner's List","location='/fun_exercise.asp?partner=1'");
  		fun.hideOnMouseOut=true;
  		fun.menuBorder=0;
  		fun.menuLiteBgColor='#000000';
  		fun.menuBorderBgColor='#000000';
		fun.bgColor='#8779FF';

window.flood = new Menu("Flooding",145,16,"Verdana, Arial, Helvetica, sans-serif",9,"#0000BD","#0000BD","#FFCE84","#FFEF94","left","middle",3,0,1000,1,0,true,true,true,0,true,true);
    	flood.addMenuItem("View Results","location='/wkstn/flood_results.asp'");
    	flood.addMenuItem("View Partner's Results","location='/wkstn/flood_results_partner.asp'");
  		flood.hideOnMouseOut=true;
  		flood.menuBorder=0;
  		flood.menuLiteBgColor='#000000';
  		flood.menuBorderBgColor='#000000';
		flood.bgColor='#8779FF';
		
  window.quick_menu = new Menu("root",145,16,"Verdana, Arial, Helvetica, sans-serif",9,"#0000BD","#0000BD","#FFCE84","#FFEF94","left","middle",3,0,1000,1,0,true,true,true,0,true,true);
	quick_menu.addMenuItem(estatus,"location='/wkstn/first_status.asp'");
	quick_menu.addMenuItem(rfe,"location='/wkstn/rfe_main.asp'");
	quick_menu.addMenuItem(moments,"location='/wkstn/critical_main.asp'");
	quick_menu.addMenuItem(caring,"location='/wkstn/caring_main.asp'");
	quick_menu.addMenuItem(sdays,"location='/wkstn/special_main.asp'");
	quick_menu.addMenuItem(fun,"location='/wkstn/fun_main.asp'");
	quick_menu.addMenuItem(flood,"location='/wkstn/flood_main.asp'");
		quick_menu.hideOnMouseOut=true;
		quick_menu.menuBorder=0;
		quick_menu.childMenuIcon="/images/menu_arrow.gif";
		quick_menu.menuLiteBgColor='#000000';
		quick_menu.menuBorderBgColor='#000000';
		quick_menu.bgColor='#8779FF';

  quick_menu.writeMenus();
} // fwLoadMenus()

