// common2.js
//
// a set of JavaScript functions for simple presentation

function sendValueToOpener(sender,receiver)
{

window.opener.document.getElementById(receiver).value = document.getElementById(sender).value;

//       alert("sender=" + sender + ",value=" + document.getElementById(sender).value + "\n"
//		     + "receiver=" + receiver
//           + ",value=" + window.opener.document.getElementById(receiver).value + "\n");

window.close();
}

function setCheckBoxMirror( masterid, mirrorid )
{
//       alert("masterid=" + masterid + ",checked=" + document.getElementById(masterid).checked + "\n"
//		     + "mirrorid=" + mirrorid + ",value=" + document.getElementById(mirrorid).value + "\n");

   var mirrorval = document.getElementById(mirrorid).value;

	if (document.getElementById(masterid).checked)
	{
		 mirrorval = mirrorval.replace(/^f$/,"t"); 
		 mirrorval = mirrorval.replace(/^F$/,"T"); 
		 mirrorval = mirrorval.replace(/^false$/,"true"); 
		 mirrorval = mirrorval.replace(/^False$/,"True"); 
		 mirrorval = mirrorval.replace(/^0$/,"1"); 
		 mirrorval = mirrorval.replace(/^n$/,"y"); 
		 mirrorval = mirrorval.replace(/^N$/,"Y"); 
		 mirrorval = mirrorval.replace(/^off$/,"on"); 
		 mirrorval = mirrorval.replace(/^Off$/,"off"); 
}
	else
	{
		 mirrorval = mirrorval.replace(/^t$/,"f"); 
		 mirrorval = mirrorval.replace(/^T$/,"F"); 
		 mirrorval = mirrorval.replace(/^true$/,"false"); 
		 mirrorval = mirrorval.replace(/^True$/,"False"); 
		 mirrorval = mirrorval.replace(/^1$/,"0"); 
		 mirrorval = mirrorval.replace(/^y$/,"n"); 
		 mirrorval = mirrorval.replace(/^Y$/,"N"); 
		 mirrorval = mirrorval.replace(/^on$/,"off"); 
		 mirrorval = mirrorval.replace(/^On$/,"off"); 
	}
	document.getElementById(mirrorid).value = mirrorval;

// alert("mirrorid=" + mirrorid + ",value=" + document.getElementById(mirrorid).value + "\n");
}

function setElementValues( newvalue, nametext, origvalue )
{
	for (i=0; i < document.forms.length; i++)
	{
		for (j=0; j < document.forms[i].elements.length; j++)
		{
			if ( document.forms[i].elements[j].name.indexOf( nametext ) >= 0
				  && ( origvalue == null || document.forms[i].elements[j].value == origvalue )
				)
			{
				document.forms[i].elements[j].value = newvalue;
			}
		}
   } 
}

function setLinksHref( masterbox, ontext, offtext )
{
	var newtext = document.getElementById(masterbox)
		          ? ( document.getElementById(masterbox).checked ? ontext : offtext )
		          : offtext;

   var regExp = new RegExp( offtext + "|" + ontext, "i" );

/*
	alert("setLinksPath: masterbox.id=" + document.getElementById(masterbox).id + ",\n"
			 + "checked="  + document.getElementById(masterbox).checked	+ ",\n"
			 + "ontext=" + ontext + ", offtext=" + offtext + ",\n"
			 + "newtext="  + newtext + ",\n"
			 + "regExp="   + regExp  + ",\n"
			 + "links.length=" + document.links.length + "\n");
*/
	for (i=0; i < document.links.length; i++)
	{
			document.links[i].href = document.links[i].href.replace(regExp, newtext);
	}
}

function setCheckboxs( masterbox, nametext )
{
	var boolValue = document.getElementById(masterbox).checked;
	
	for (i=0; i < document.forms.length; i++)
	{
		for (j=0; j < document.forms[i].elements.length; j++)
		{
			if ( document.forms[i].elements[j].type == 'checkbox'
			     && document.forms[i].elements[j].name.indexOf( nametext ) >= 0
				)
			{
				document.forms[i].elements[j].checked = boolValue;
			}
		}
   } 
}

function modifyElementValue( formid, targettext, operator, modvalue ) {

	var form = document.getElementById(formid);
	if (form == null ) return null;

   if (targettext == null) return null;
   if (isNaN(modvalue)) return null;
	
   for (i=0; i < form.elements.length; i++)
  	{
	   if ( form.elements[i].type == 'text' 
		     && form.elements[i].name.indexOf(targettext) >= 0 )
		 {
//       alert("i=" + i + "\n"
//		   + "type=" + form.elements[i].type + "\n"
//		   + "name=" + form.elements[i].name + "\n" 
//		   + "value=" + form.elements[i].value );
         var val = parseInt(form.elements[i].value) 
			if ( ! isNaN(val) ) {
           switch (operator)
           {
           case '+' :	val += modvalue; break;
           case '-' :	val -= modvalue; break;
           case '*' :	val *= modvalue; break;
           case '/' :	val == (modvalue != 0) ? (val / modvalue) : val; break;
           default  :	break;
           }
			  form.elements[i].value = val;
         }
		 }
   } 
}

function calcTotal( formid, resultid, addendtext ) {

   var form = document.getElementById(formid);
	var units = 0;
   for (i=0; i < form.elements.length; i++)
  	{
	   if ( form.elements[i].type == 'text' 
		     && form.elements[i].name.indexOf(addendtext) >= 0 )
		 {
//       alert("i=" + i + "\n"
//		   + "type=" + form.elements[i].type + "\n"
//		   + "name=" + form.elements[i].name + "\n" 
//		   + "value=" + form.elements[i].value );
         if (! isNaN(parseInt(form.elements[i].value)) )
         {
           units += parseInt(form.elements[i].value);
         }
		 }
   } 
document.getElementById(resultid).value = units;	
}

function filterNonNumeric(field)
{
	var result = new String();
	var numbers = "0123456789";
	var chars = field.value.split(""); // create array 
	for (i = 0; i < chars.length; i++) {
		if (numbers.indexOf(chars[i]) != -1) result += chars[i];
	}
	field.value = result;
}

//function isAlpha(field) {
//	if (field.value == "") {
//		return false;
//	}
//	for (var i = 0; i < field.value.length; i++) {
//		if ((field.value.charAt(i) < "a" || field.value.charAt(i) > "z") &&
//			(field.value.charAt(i) < "A" || field.value.charAt(i) > "Z")) {
//			return false;
//		}
//	}
//	return true;
//}

function openPopup(url, name, features)
{
    if (!features)
	 {
      features = 'height=600,width=400,scrollbars=yes,resizable=yes,left=200,top=200';
    }
	 return window.open(url, name, features);
}	 

var deleting = false;
function confirm_delete()
{
	if (deleting) {
		deleting = false;
		return confirm('Are you sure you want to delete this record?\nSelect OK to confirm.');
	} else {
		return true;
	}
}

function setValue(refId, updtId) {
	var r = document.getElementById(refId);
	if (r == null ) return null;
	var u = document.getElementById(updtId);
	if (u == null ) return null;
//    alert (r.name + "=" + r.checked + "\n"
//           + u.name + "=" + u.value);
	if (r.checked){
		if (isNaN(parseInt(u.value)) || parseInt(u.value) <= 0) {
			u.value = "1";
		}
	} else {
		u.value = "";
	}
}

function setCheck(refId, updtId) {
var r = document.getElementById(refId);
if (r == null ) return null;
var u = document.getElementById(updtId);
if (u == null ) return null;
//    alert (r.name + "=" + parseInt(r.value) + "\n"
//           + u.name + "=" + u.checked);
	if (! isNaN(parseInt(r.value)) && parseInt(r.value) > 0) {
		u.checked = true;
	} else {
		u.checked = null;
		r.value = "";
	}
}

function setPUDate(holiday,pickupdate) {

//alert("holiday.value" + "=" + holiday + ",pudate" + "=" + pickupdate); 

var d = document.getElementById(pickupdate);
if (d == null ) return null;
	switch (holiday) {
      case "th":
			d.value = "t22";
			break;
      case "ch":
			d.value = "c21";
			break;
      case "ha":
			d.value = "h05";
			break;
      case "ny":
			d.value = "n28";
			break;
      default:
			d.value = "t22";
			break;
	}
}

function getPUDate(pickupdate) {
//  alert("pickupdate=" + pickupdate);
   var holiday = "";
	switch (pickupdate) {
      case "t24":
		   holiday = "Thanksgiving";
              alert("Please note: our stores will close early on " + holiday + ".\n"
			+ "Please pickup your order prior to 1pm.\n" );
			break;
      case "c24":
		   holiday = "Christmas";
              alert("Please note: our stores are NOT OPEN on " + holiday + " and close early on " + holiday + " Eve.\n"
			+ "Please pickup your order by 6pm on " + holiday + " Eve.\n" );
			break;
      case "n31":
		   holiday = "New Years";
              alert("Please note: our stores will close early on " + holiday + " Eve.\n"
			+ "Please pickup your order prior to 6pm.\n" );
			break;	
      default:
			break;
	}
} 
