//#######################
//Copyright 2004-2010 Kimball Jensen
//
//#############################

//#############################

  var windowprops = "width=600,height=650,location=no,menubar=no,directories=no,toolbar=no,scrollbars=yes,resizable=yes,status=no";
  var windowprops2 = "width=784,height=650,location=no,menubar=no,directories=no,toolbar=no,scrollbars=yes,resizable=yes,status=no";
  var picturedim = "width=704,height=542,location=no,menubar=no,directories=no,toolbar=no,scrollbars=no,resizable=no,status=no";
  var reminderdim = "width=604,height=465,location=no,menubar=no,directories=no,toolbar=no,scrollbars=no,resizable=no,status=no";
  var couponHelp = "Please enter your coupon, promotional, or discount code. Once you enter the code, click the 'Redeem' button to verify and apply your discount. The shopping cart page will reload with the discount applied.";
  var undefined;
  var tm;
  var sig;
  var vcount = 0;
  var x;
  var y;
  var MSDetect;
  var sign;
  var cents;
  var subTotal_tmp;
  var itemid = unescape (readCookie('itemid'));
  var destination = unescape (readCookie('destination'));
  var recipient = unescape (readCookie('recipient'));
  var lastday = unescape (readCookie('lastday'));
  var dayNames = new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
  var monthNames = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
  var dt = new Date();
  var y  = dt.getYear();
  if (y < 1000) y +=1900;
  var today_str =dayNames[dt.getDay()] + ", " + monthNames[dt.getMonth()] + " " + dt.getDate() + ", " + y;
  var e = y.toString();
  e = e.substring(2,4);
  var seasonExpDate = "Thu, 31-Dec-"+e+" 23:55:00 GMT";
  var forceExpDate = "Wed, 03-Jan-96 23:12:40 GMT";

  function openThis(file) {
    open(file,"aside",windowprops);
  }

  function escapeText () {
    document.activity_form.note.value = escape (document.activity_form.note.value);
  }

  function escapeText2 () {
//    document.ccForm.note.value = escape (document.ccForm.note.value);
//    document.ccForm.instructions.value = escape (document.ccForm.instructions.value);
  }

  function gotoTop() {
		if (document.documentElement && document.documentElement.scrollTop)
			document.documentElement.scrollTop = 0;
		else if (document.body && document.body.scrollTop)
			document.body.scrollTop = 0;
  }

  function updateShoppingCart_form (val,optionModifier) {
    toChange = eval ("document.getElementById('addToCart_form')."+optionModifier);
    toChange.value = val;
  }

  function formatCurrency(num) {
    num = num.toString().replace(/\$|\,/g,'');
    if(isNaN(num)) num = "0";
    sign = (num == (num = Math.abs(num)));
    num = Math.floor(num*100+0.50000000001);
    cents = num%100;
    num = Math.floor(num/100).toString();
    if (cents<10) cents = "0" + cents;
    for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
      num = num.substring(0,num.length-(4*i+3))+','+num.substring(num.length-(4*i+3));
    return (((sign)?'':'-') + num + '.' + cents);
  }

  function calcTax () {
    var taxAmount = 0;
  if (taxRecip == 1) {
      if (((document.getElementById('bstate')) && (taxState == document.getElementById('bstate').value)) ||
      ((document.getElementById('sstate')) && (taxState == document.getElementById('sstate').value))) {
        taxAmount = document.getElementById('dsws_productSubtotal').value * taxRate;
    } else {
        taxAmount = document.getElementById('dsws_tax_ori').value * 1;
    }
  }
  taxAmount = formatCurrency(taxAmount);
  if (document.getElementById('dsws_tax'))
    document.getElementById('dsws_tax').value = taxAmount;
  if (document.getElementById('taxAmount'))
    document.getElementById('taxAmount').innerHTML = taxAmount;

  subTotal_tmp = (document.getElementById('dsws_tax').value * 1) + (document.getElementById('dsws_shipping').value * 1) + (document.getElementById('dsws_productSubtotal').value * 1) - (document.getElementById('dsws_discount').value * 1);
  if (subTotal_tmp < 0)
    subTotal_tmp = 0;
  subTotal_tmp = formatCurrency(subTotal_tmp);
  document.getElementById('dsws_grandTotal').value = subTotal_tmp;
  document.getElementById('grandTotal').innerHTML = subTotal_tmp;


  } //end.calcTax

  function newFocus (num) {
    document.getElementById('updateButton'+num).focus();
  }

  function dontForgetUpdate (num,group) {
    if (group == "default") {
      if ((document.getElementById('ir_self_'+num)) || (document.getElementById('ir_notSelf_'+num))) {
        if (document.getElementById('ir_self_'+num).checked == true) {
          document.getElementById('recp_'+num).value = '';
          document.getElementById('recp_'+num).disabled = true;
          document.getElementById('a1_'+num).value = '';
          document.getElementById('a1_'+num).disabled = true;
          document.getElementById('a2_'+num).value = '';
          document.getElementById('a2_'+num).disabled = true;
          document.getElementById('ci_'+num).value = '';
          document.getElementById('ci_'+num).disabled = true;
          document.getElementById('st_'+num).options[0].selected = true;
          document.getElementById('st_'+num).disabled = true;
          document.getElementById('z_'+num).value = '';
          document.getElementById('z_'+num).disabled = true;
          document.getElementById('ph_'+num).value = '';
          document.getElementById('ph_'+num).disabled = true;
          document.getElementById('h3_'+num).className = 'cart-cold';
          document.getElementById('irLabel_recp_'+num).className = "irLabel-cold";
          document.getElementById('irLabel_a1_'+num).className = "irLabel-cold";
          document.getElementById('irLabel_a2_'+num).className = "irLabel-cold";
          document.getElementById('irLabel_ci_'+num).className = "irLabel-cold";
          document.getElementById('irLabel_st_'+num).className = "irLabel-cold";
          document.getElementById('irLabel_z_'+num).className = "irLabel-cold";
          document.getElementById('irLabel_ph_'+num).className = "irLabel-cold";
          document.getElementById('irLabel_ph2_'+num).className = "irLabel-cold";
        }
        if (document.getElementById('ir_notSelf_'+num).checked == true) {
          document.getElementById('h3_'+num).className = 'cart';
          document.getElementById('recp_'+num).disabled = false;
          document.getElementById('a1_'+num).disabled = false;
          document.getElementById('a2_'+num).disabled = false;
          document.getElementById('ci_'+num).disabled = false;
          document.getElementById('st_'+num).options[0].selected = false;
          document.getElementById('st_'+num).disabled = false;
          document.getElementById('z_'+num).disabled = false;
          document.getElementById('ph_'+num).disabled = false;
          document.getElementById('irLabel_recp_'+num).className = "irLabel";
          document.getElementById('irLabel_a1_'+num).className = "irLabel";
          document.getElementById('irLabel_a2_'+num).className = "irLabel";
          document.getElementById('irLabel_ci_'+num).className = "irLabel";
          document.getElementById('irLabel_st_'+num).className = "irLabel";
          document.getElementById('irLabel_z_'+num).className = "irLabel";
          document.getElementById('irLabel_ph_'+num).className = "irLabel";
          document.getElementById('irLabel_ph2_'+num).className = "irLabel";
        }
      }
    } //end.if.group.default

    if (group == "psl") {
    } //end.if.group.psl
	var group = num+'a';
    if (document.getElementById('updateButton'+group)) {
      document.getElementById('updateButton'+group).disabled = false;
      document.getElementById('updateButton'+group).disabled = false;
//      document.getElementById('p'+num).style.color = "#000000";
      document.getElementById('updateButton'+group).className = 'active';
      document.getElementById('updateButton'+group).className = 'active';
    }
	var group = num+'b';
    if (document.getElementById('updateButton'+group)) {
      document.getElementById('updateButton'+group).disabled = false;
      document.getElementById('updateButton'+group).disabled = false;
//      document.getElementById('p'+num).style.color = "#000000";
      document.getElementById('updateButton'+group).className = 'active';
      document.getElementById('updateButton'+group).className = 'active';
    }
    if (document.getElementById('div'+num)) {
      document.getElementById('div'+num).className = 'cart-bg-hot';
	}
    if (document.getElementById('updateButton'+num+'a')) {
      eval ("document.getElementById('updateButton'+num+'a').src = '/images/update_ani.gif'");
    }
    if (document.getElementById('updateButton'+num+'b')) {
      eval ("document.getElementById('updateButton'+num+'b').src = '/images/update_ani.gif'");
    }
    if (document.getElementById('beginCheckoutButton')) {
      document.getElementById('beginCheckoutButton').disabled = true;
      document.getElementById('beginCheckoutButton').className = 'inactive';
    }
  }

//<santa>
  function disablePreview () {
//    document.getElementById('preview').disabled = true;
//    document.getElementById('preview').className = 'inactive';
//    document.getElementById('previewButton1').disabled = true;
//    document.getElementById('previewButton1').className = 'inactive';
//    document.getElementById('previewButton2').disabled = true;
//    document.getElementById('previewButton2').className = 'inactive';
//    document.getElementById('previewButton3').disabled = true;
//    document.getElementById('previewButton3').className = 'inactive';
  }

  function enablePreview () {
//    document.getElementById('preview').disabled = "";
//    document.getElementById('preview').className = 'buttonStuff';
//    document.getElementById('previewButton1').disabled = "";
//    document.getElementById('previewButton1').className = 'buttonStuff';
//    document.getElementById('previewButton2').disabled = "";
//    document.getElementById('previewButton2').className = 'buttonStuff';
//    document.getElementById('previewButton3').disabled = "";
//    document.getElementById('previewButton3').className = 'buttonStuff';
  }

function validateLetter(theForm) {
    var country;
  var mycity;
    if (document.getElementById('country'))
    country = document.getElementById('country').value;
    if (!validRequired(document.getElementById('firstname'), "Recipient's First Name")) {
		gotoTop();
      return false;
	}
    if (!validRequired(document.getElementById('lastname'), "Recipient's Last Name")) {
		gotoTop();
      return false;
	}
    if ((document.getElementById('gender1').checked == false) && (document.getElementById('gender2').checked == false) && (document.getElementById('gender3').checked == false)) {
		gotoTop();
        validRequired2(document.getElementById('gender1'), "Recipient's Gender");
        return false;
    }
    if (!validRequired(document.getElementById('addressee'), "Addressee (who will the envelope be addressed to)")) {
		gotoTop();
      return false;
	}
  if (country == 'United States') {
      if (!validRequired(document.getElementById('dom_address'), "Recipient's Address")) {
		gotoTop();
      return false;
	}
      if (!validRequired(document.getElementById('dom_city'), "Recipient's City or Town")) {
		gotoTop();
      return false;
	}
      if (!validRequired(document.getElementById('state'), "Recipient's State")) {
		gotoTop();
      return false;
	}
      if (!validRequired(document.getElementById('zip'), "Recipient's Zip Code")) {
		gotoTop();
      return false;
	}
    mycity = document.getElementById('dom_city').value;
    } else {
      if (document.getElementById('intl_address'))
        if (!validRequired(document.getElementById('intl_address'), "Recipient's Address")) {
		gotoTop();
      return false;
	}
    if (document.getElementById('intl_city')) {
        if (!validRequired(document.getElementById('intl_city'), "Recipient's City or Town")) {
		gotoTop();
      return false;
	}
        mycity = document.getElementById('intl_city').value;
    }
  }

  if (document.getElementById('lineoftext').value == "Click to Edit") {
      alert ("Please edit the picture's message. Thank you.");
      document.getElementById('lineoftext').focus();
      return false;
  }
  if (document.getElementById('letter').value == "Click to Edit") {
      alert ("Please edit the letter. Thank you.");
      document.getElementById('letter').focus();
      return false;
  }
    if (document.getElementById('dsws_passed_js_validation'))
      document.getElementById('dsws_passed_js_validation').value = "1";
    if (theForm.dsws_passed_js_validation.value != "1")
      return false;
    document.cookie = document.domain+"_tmp["+iid+"]=1<R>QTY<E>1<R>BID<E>qen<R>IR<E>notSelf"+ao+"; path=/cgi-bin/; secure=1; domain="+document.domain+"; expires="+seasonExpDate+";";
}

//</santa>

  function showEnlargedPicture (obj) {
    document.getElementById('largeItem_layer').className = 'active';
    document.getElementById('smallItem_layer').className = 'inactive';
    eval ("document.getElementById('largeImage').src = '"+obj+"'");
  }
+
-
+
  function hideEnlargedPicture () {
    document.getElementById('largeItem_layer').className = 'inactive';
    document.getElementById('smallItem_layer').className = 'active';
  }

  function showCVM () {
    document.getElementById('cvmRow').className = 'active';
  }

  function hideCVM () {
    document.getElementById('cvmRow').className = 'inactive';
  }

  function disableSubmit (form) {
    if (document.getElementById('ccForm').submitted) return false;
    document.getElementById('ccForm').submitted = true;
//    document.getElementById('ccForm').disabled=true;
    return true;
  }

//<MOD20070325>
  function validate_prexfer (lcv) {
    if ((document.getElementById("dsws_pm_1").checked == true) && (!validRequired(document.getElementById("bcountry"), "Country"))) {
        return false;
    } else {
    if (document.getElementById('Form'+lcv) != null) {
      if ((document.getElementById('beginCheckout')) && (document.getElementById('pleaseWait')))  {
        document.getElementById('beginCheckout').className = 'inactive';
        document.getElementById('pleaseWait').className = "active";
      }
      document.getElementById('Form'+lcv).submit();
      return true;
    }
    }
  }
//</MOD20070325>

//<MOD20061204>
  function pleaseWait (e) {
//    if ((document.getElementById("dsws_pm_0").checked == true) && (!validRequired(document.getElementById("bcountry"), "Country"))) {
//        return false;
//    } else {
      if ((document.getElementById('continue')) && (document.getElementById('pleaseWait')))  {
        document.getElementById('continue').className = 'inactive';
        document.getElementById('pleaseWait').className = "active";
      }
//    }
  }
//</MOD20061204>

  function submitIRForm (e) {
    document.getElementById('iRForm'+e).submit();
    return true;
  }

  function enableCC(new_pp) {
  if (document.getElementById('ccForm').cctype[0])
    document.getElementById('ccForm').cctype[0].disabled = false;
  if (document.getElementById('ccForm').cctype[1])
    document.getElementById('ccForm').cctype[1].disabled = false;
  if (document.getElementById('ccForm').cctype[2])
    document.getElementById('ccForm').cctype[2].disabled = false;
  if (document.getElementById('ccForm').cctype[3])
    document.getElementById('ccForm').cctype[3].disabled = false;
  document.getElementById('expmonth').disabled = false;
  document.getElementById('expyear').disabled = false;
  document.getElementById('cardnumber').disabled = false;
  document.getElementById('cvm').disabled = false;
  document.getElementById('bfname').disabled = false;
  document.getElementById('blname').disabled = false;
  document.getElementById('baddr1').disabled = false;
  document.getElementById('baddr2').disabled = false;
  document.getElementById('bcity').disabled = false;
  document.getElementById('bstate').disabled = false;
  document.getElementById('bzip').disabled = false;
  if (document.getElementById('ppInfo_tr'))
    document.getElementById('ppInfo_tr').className = 'inactive';
  document.getElementById('ccInfo_tr').className = 'active';
  document.getElementById('dsws_tmp').value = new_pp;
  }

  function disableCC(new_pp) {
  if (document.getElementById('ccForm').cctype[0])
    document.getElementById('ccForm').cctype[0].disabled = true;
  if (document.getElementById('ccForm').cctype[1])
    document.getElementById('ccForm').cctype[1].disabled = true;
  if (document.getElementById('ccForm').cctype[2])
    document.getElementById('ccForm').cctype[2].disabled = false;
  if (document.getElementById('ccForm').cctype[3])
    document.getElementById('ccForm').cctype[3].disabled = false;
  document.getElementById('expmonth').disabled = true;
  document.getElementById('expyear').disabled = true;
  document.getElementById('cardnumber').disabled = true;
  document.getElementById('cvm').disabled = true;
  document.getElementById('bfname').disabled = true;
  document.getElementById('blname').disabled = true;
  document.getElementById('baddr1').disabled = true;
  document.getElementById('baddr2').disabled = true;
  document.getElementById('bcity').disabled = true;
  document.getElementById('bstate').disabled = true;
  document.getElementById('bzip').disabled = true;
  if (document.getElementById('ccInfo_tr'))
    document.getElementById('ccInfo_tr').className = 'inactive';
  if ((new_pp == "paypalpro_pp") && (document.getElementById('ppInfo_tr')))
    document.getElementById('ppInfo_tr').className = 'active';
  document.getElementById('dsws_tmp').value = new_pp;
  }

  function initializePage () {
  if (errorState == 0) {
      calcTax();
      if (
        (document.getElementById('dsws_tmp').value == "linkpoint") ||
        (document.getElementById('dsws_tmp').value == "securepay") ||
        (document.getElementById('dsws_tmp').value == "paypalpro_cc") ||
        (document.getElementById('dsws_tmp').value == "linkpointAPI")
    ){
      enableCC (document.getElementById('dsws_tmp').value);
      } else {
      disableCC (document.getElementById('dsws_tmp').value);
      }
    }
  }

  function demoAlert() {
    alert ("Sorry, this shopping cart is currently in Demonstration Mode. Your order cannot be processed.");
  return false;
  }

  function storeClosed() {
    alert ("Sorry, we are closed.");
  return false;
  }

//  function copyBillingAddr() {
//  document.getElementById('sname').value = document.getElementById('bname').value;
//  document.getElementById('saddr1').value = document.getElementById('baddr1').value;
//  document.getElementById('saddr2').value = document.getElementById('baddr2').value;
//  document.getElementById('scity').value = document.getElementById('bcity').value;
//  document.getElementById('sstate').value = document.getElementById('bstate').value;
//  document.getElementById('szip').value = document.getElementById('bzip').value;
//  document.getElementById('scountry').value = document.getElementById('bcountry').value;
//  calcTax();
//  }

  function clearShippingAddr() {
  document.getElementById('sname').value = "";
  document.getElementById('saddr1').value = "";
  document.getElementById('saddr2').value = "";
  document.getElementById('scity').value = "";
  document.getElementById('sstate').value = "";
  document.getElementById('szip').value = "";
  if (document.getElementById('note')) {
    if (document.getElementById('note').disabled == false)  {
      document.getElementById('note').value = "";
    }
  }
  document.getElementById('ccForm').needsShipping[1].checked=true;
  }

  function clearAI() {
  document.getElementById('cname').value = "";
  document.getElementById('ph').value = "";
  document.getElementById('emailaddy').value = "";
  document.getElementById('emailaddy2').value = "";
  }

  function clearBI() {
  document.getElementById('bfname').value = "";
  document.getElementById('blname').value = "";
  document.getElementById('baddr1').value = "";
  document.getElementById('baddr2').value = "";
  document.getElementById('bcity').value = "";
  document.getElementById('bstate').value = "";
  document.getElementById('bzip').value = "";
//  document.getElementById('bcountry').value = "";
  document.getElementById('cardnumber').value = "";
  document.getElementById('cvm').value = "";
  document.getElementById('cctype').value = "";
  document.getElementById('expmonth').value = "";
  document.getElementById('expyear').value = "";
  if (document.getElementById('ccForm').cctype[0])
    document.getElementById('ccForm').cctype[0].checked = false;
  if (document.getElementById('ccForm').cctype[1])
    document.getElementById('ccForm').cctype[1].checked = false;
  }

function charAlert(e) {
  var maxlength = 150;
  if(e.value.length > maxlength) {
    e.value= e.value.substring(0,maxlength)
    e.blur()
    alert("Please limit your message to 150 characters or less.")
    }

}

  function validateSelection (e,optionModifier) {
    if (optionModifier != '') {
      toCheck = eval ("e."+optionModifier+".value");
      if (toCheck != "yes") {
        if ((e.qty) && (!validInt(e.qty, "Quantity", true)))
            return false;

        return true;

      } else {
        alert ("You must first make a selection");
        return false;
      }
    } else {
     if ((e.qty) && (!validInt(e.qty, "Quantity", true)))
       return false;

     return true;
    }

  }

function validateForm(theForm)
{
    if (!validRequired(theForm.recp, "Recipient Name"))
      return false;
    if (!validRequired(theForm.ad1, "Address"))
      return false;
    if (!validRequired(theForm.ci, "City"))
      return false;
    if (!validRequired(theForm.st, "State"))
      return false;
    if (!validRequired(theForm.z, "Zip code"))
      return false;

    if (!validRequired(theForm.ph, "Phone number"))
      return false;

    alert (document.theForm.tm.value);
    return false;
}

function validateNewsletterForm(theForm)
{
    if (!validRequired(theForm.first_name, "First Name"))
      return false;
    if (!validRequired(theForm.last_name, "Last Name"))
      return false;
    if (!validEmail(theForm.email, "Email address", true))
        return false;

    if (tm != undefined) {
        document.newsletterForm.tm.value = tm;
  } else {
        if (vcount == 1) {
            window.location = "/cgi-bin/gateway.cgi?verb=show&page=submissionFailed";
            return false;
    }
        alert ("Unable to comply; required system variable 'TM' missing\n\nTry reloading this screen");
    vcount++;
        return false;
  }
    if (sig != undefined) {
        document.newsletterForm.sig.value = sig;
    } else {
        if (vcount == 1) {
            window.location = "/cgi-bin/gateway.cgi?verb=show&page=submissionFailed";
            return false;
    }
        alert ("Unable to comply; required system variable 'SIG' missing\n\nTry reloading this screen");
    vcount++;
        return false;
    }
  return true;
}

function validateInquiry(theForm)
{
    if (!validRequired(theForm.first_name, "First Name"))
      return false;
    if (!validRequired(theForm.last_name, "Last Name"))
      return false;
    if (!validEmail(theForm.email, "Email address", true))
        return false;

//    if (tm != undefined) {
//        theForm.tm.value = tm;
//  } else {
//        if (vcount == 1) {
//            window.location = "/cgi-bin/gateway.cgi?verb=show&page=submissionFailed";
//            return false;
//    }
//        alert ("Unable to comply; required system variable 'TM' missing\n\nTry reloading this screen");
//    vcount++;
//        return false;
//  }
//    if (sig != undefined) {
//        theForm.sig.value = sig;
//    } else {
//        if (vcount == 1) {
//            window.location = "/cgi-bin/gateway.cgi?verb=show&page=submissionFailed";
//            return false;
//    }
//        alert ("Unable to comply; required system variable 'SIG' missing\n\nTry reloading this screen");
//    vcount++;
//        return false;
//    }
  return true;
}

function validateGuestbook(theForm)
{
}

function validateSig(theForm)
{
    if (tm != undefined) {
        theForm.tm.value = tm;
  } else {
        if (vcount == 1) {
            window.location = "/cgi-bin/gateway.cgi?verb=show&page=siteErrorPage";
            return false;
    }
        alert ("Unable to comply; required system variable 'TM' missing\n\nTry reloading this screen");
    vcount++;
        return false;
  }
    if (sig != undefined) {
        theForm.sig.value = sig;
    } else {
        if (vcount == 1) {
            window.location = "/cgi-bin/gateway.cgi?verb=show&page=siteErrorPage";
            return false;
    }
        alert ("Unable to comply; required system variable 'SIG' missing\n\nTry reloading this screen");
    vcount++;
        return false;
    }
  return true;
}

function validateCCForm(theForm)
{

    if (document.getElementById('dsws_tmp').value == "paypal") {
    }
    if ((document.getElementById('dsws_tmp').value == "linkpoint") || (document.getElementById('dsws_tmp').value == "paypalpro_cc")) {
      if (
        (theForm.cctype[0].checked == false) &&
        (theForm.cctype[1].checked == false) &&
        (theForm.cctype[2].checked == false) &&
        (theForm.cctype[3].checked == false)
        ) {
          alert('Please enter a value for the "Card Type" field.');
          return false;
      }
      if (!validRequired(theForm.expmonth, "Credit Card Expiration Month"))
        return false;
      if (!validRequired(theForm.expyear, "Credit Card Expiration Year"))
        return false;
      if (!validRequired(theForm.bfname, "Cardholder First Name"))
        return false;
      if (!validRequired(theForm.blname, "Cardholder Last Name"))
        return false;
      if (!validRequired(theForm.baddr1, "Cardholder Address Line1"))
        return false;
      if (!validRequired(theForm.bcity, "Cardholder city"))
        return false;
      if (!validRequired(theForm.bstate, "Cardholder state"))
        return false;
      if (!validRequired(theForm.bzip, "Cardholder zip code"))
        return false;
//      if (!validNum(theForm.bzip, "Cardholder zip code", true, 5))
//        return false;
      if (!validRequired(theForm.cardnumber, "Credit card number"))
        return false;
      if ((document.getElementById('dsws_cvmRequired_tmp').value=='1') && (!validRequired(theForm.cvm, "Credit card CVM code")))
        return false;
    }
    if (collectShipping == true) {
      if (!validRequired(theForm.sname, "Ship-to Name"))
        return false;
      if (!validRequired(theForm.saddr1, "Ship-to Address Line1"))
        return false;
      if (!validRequired(theForm.scity, "Ship-to city"))
        return false;
      if (!validRequired(theForm.sstate, "Ship-to state"))
        return false;
      if (!validRequired(theForm.szip, "Ship-to zip code"))
        return false;
//      if (!validNum(theForm.szip, "Ship-to zip code", true, 5))
//        return false;
    }

    if (!validRequired(theForm.cname, "Contact name"))
        return false;
    if (!validRequired(theForm.ph, "Phone number"))
        return false;
    if ((!validEmail(theForm.emailaddy, "Email address", true)) || (inForbiddenCharSet(theForm.emailaddy, "Email address", "\'\"\$\% ,")))
        return false;
    if (!validEmail_dupeCheck(theForm.emailaddy, "Email address", theForm.emailaddy2, "Second email address", true))
        return false;

  escapeText2();

  if (theForm.dsws_passed_js_validation)
    theForm.dsws_passed_js_validation.value = "1";

//<MOD20061204>
    pleaseWait('continue');
//</MOD20061204>

    return true;
}


  function validateMailingListEmail (o) {
//    if ((!validEmail(o.email, "Email address", true)) || (inForbiddenCharSet(o.email, "Email address", "\'\"\$\% ")))
//        return false;
//    if (tm != undefined) {
//        o.tm.value = tm;
//  } else {
//        if (vcount == 1) {
//            window.location = "/cgi-bin/gateway.cgi?verb=show&page=submissionFailed";
//            return false;
//    }
//        alert ("Unable to comply; required system variable 'TM' missing\n\nTry reloading this screen");
//    vcount++;
//        return false;
//  }
//    if (sig != undefined) {
//        o.sig.value = sig;
//    } else {
//        if (vcount == 1) {
//            window.location = "/cgi-bin/gateway.cgi?verb=show&page=submissionFailed";
//            return false;
//    }
//        alert ("Unable to comply; required system variable 'SIG' missing\n\nTry reloading this screen");
//    vcount++;
//        return false;
//    }
  if (o.passed_js_validation)
    o.passed_js_validation.value = "1";
  return true;
  }


  function notFunctional () {
    alert ("We apologize - this feature is only available when the website is purchased by a customer");
  }

  function needShipping(e) {
    alert ("In order for us to give our customers the best possible service, it's very important that you include the recipients name, address and phone number with all orders.\n\nPlease review your order for shipping accuracy.\n\nThis information can be corrected by clicking the 'Add' or 'Edit' button accross from 'Recipient' or 'Note' for each item in your shopping cart.\n\nThank You");
    return false;
  }
//#<santa>
  function needShipping2(e) {
    alert ("Please select one of the available shipping methods for your letter package.\n\nThank You");
    return false;
  }
  function needRequired(e) {
    alert ("One or more of the required fields are missing. \n\nPlease review each Santa Letter and make sure all fields have values.\n\nThank You");
    return false;
  }
//#</santa>

//-->


//<!--
  function clickIE() {
    if (document.all) {
      return false;
    }
  }

  function clickNS(e) {
    if (document.layers||(document.getElementById&&!document.all)) {
      if (e.which==2||e.which==3) {
        return false;
      }
    }
  }

  function copyProtect(e) {
    if (document.layers) {
      document.captureEvents(Event.MOUSEDOWN);
      document.onmousedown=clickNS;
    } else {
      document.onmouseup=clickNS;
      document.oncontextmenu=clickIE;
    }
    document.oncontextmenu=new Function("return false");
  }

//-->

//<!--

  function ClientSnifferJr() {
    this.ua = navigator.userAgent.toLowerCase();
    this.major = parseInt(navigator.appVersion);
    this.minor = parseFloat(navigator.appVersion);
    this.nav = ( (this.ua.indexOf('mozilla')!=-1) && ((this.ua.indexOf('spoofer')==-1) && (this.ua.indexOf('compatible') == -1)) );
    this.nav2 = (this.nav && (this.major == 2));
    this.nav3 = (this.nav && (this.major == 3));
    this.nav4 = (this.nav && (this.major == 4));
    this.nav4up = (this.nav && (this.major >= 4));
    this.nav5 = (this.nav && (this.major == 5));
    this.nav5up = (this.nav && (this.major >= 5));
    this.ie = (this.ua.indexOf("msie") != -1);
    this.ie3 = (this.ie && (this.major == 2));
    this.ie4 = ( this.ie && (this.major == 4) && (this.ua.indexOf("msie 4.0")!=-1) );
    this.ie4up = (this.ie && (this.major >= 4));
    this.ie5 = ( this.ie && (this.major == 4) && (this.ua.indexOf("msie 5.0")!=-1) );
    this.ie5up = (this.ie && !this.ie3 && !this.ie4);
    this.opera = (this.ua.indexOf("opera") != -1);
    this.webtv = (this.ua.indexOf("webtv") != -1);
  }
  var is = new ClientSnifferJr();

//  window.onload = function() {
//    if(is.nav5up) {
//      document.addEventListener("mouseover",myMouseOver,false);
//    }
//  }


  var oLastBtn=0;
  var previousId=0;

//  function myMouseOver(e) {
//    if(is.nav5up) {
//      e.preventDefault();
//      if (previousId && previousId != e.target.id) {
//    //mouseOff
//        var btype = document.getElementById(previousId).getAttribute('buttonType');
//    document.getElementById(previousId).className = btype + "Off";
//        previousId = e.target.id;
//      }
//      if (e.target.nodeName == "SPAN") {
//    //mouseOn
//        previousId = e.target.id;
//        var btype = document.getElementById(previousId).getAttribute('buttonType');
//    document.getElementById(e.target.id).className = btype + "Up";
//      }
//    }
//  }

//  document.unload = function() {
//    if(is.nav5up) {
//      document.removeEventListener("mouseover",myMouseOver,false);
//    }
//  }

  var oLastBtn=0;

function validState(formField,fieldLabel)
{
    var result = true;
  if (formField.value == "")
  {
    alert ('Please select the appropriate state');
    formField.focus();
    result = false;
  }
  return result;
}

  function isEmailAddr(email)
  {
    var result = false;
    var theStr = new String(email);
    var index = theStr.indexOf("@");
    if (index > 0)
    {
      var pindex = theStr.indexOf(".",index);
      if ((pindex > index+1) && (theStr.length > pindex+1))
      result = true;
    }
    return result;
  }

  function validRequired(formField,fieldLabel)
  {
      var result = true;
      if (formField.value == "")
      {
    		gotoTop();
          alert('Please enter a value for the "' + fieldLabel +'" field.');
          formField.focus();
          result = false;
      }

      return result;
  }

  function validRequired2(formField,fieldLabel)
  {
		gotoTop();
      alert('Please enter a value for the "' + fieldLabel +'" field.');
      formField.focus();
  }

  function allDigits(str)
  {
      return inValidCharSet(str,"0123456789");
  }

  function inValidCharSet(str,charset)
  {
      var result = true;

      // Note: doesn't use regular expressions to avoid early Mac browser bugs
      for (var i=0;i<str.length;i++)
          if (charset.indexOf(str.substr(i,1))<0)
          {
              result = false;
              break;
          }

      return result;
  }

  function inForbiddenCharSet(formField, fieldLabel, charset)
  {
  var result = false;
  var badChar = "";
    for (var i=0;i<formField.value.length;i++)
        if (!(charset.indexOf(formField.value.substr(i,1))<0))
        {
            result = true;
      badChar = formField.value.substr(i,1);
      if (badChar == " ")
		gotoTop();
        badChar = "space character";
      alert ('The "'+fieldLabel+'" field cannot contain the following character:  \n'+badChar);
        formField.focus();
            break;
        }
   return result;
  }

  function validEmail(formField,fieldLabel,required)
  {
      var result = true;
    if (required && !validRequired(formField,fieldLabel))
          result = false;

      if (result && (formField.value.length > 0) && ((formField.value.length < 3) || !isEmailAddr(formField.value)) )
      {
		gotoTop();
          alert("Please enter a complete email address in the form: yourname\@yourdomain.com");
          formField.focus();
          result = false;
      }

    return result;
  }

  function validEmail_dupeCheck(formField,fieldLabel,formField2,fieldLabel2,required)
  {
      var result = true;
    if (required && !validRequired(formField,fieldLabel))
          result = false;

      if (result && (formField.value != formField2.value) )
      {
		gotoTop();
          alert("The email addresses you supplied are not the same.\n\nPlease review the email addresses and fix the incorrect one.");
          formField.focus();
          result = false;
      }

    return result;
  }

  function validNum(formField,fieldLabel,required,digitCount)
  {
    var result = true;
      if (required && !validRequired(formField,fieldLabel))
          result = false;

       if (result)
       {
           if ((!allDigits(formField.value)) || ((formField.value.length > 0) && !(formField.value.length == digitCount)))
           {
		gotoTop();
               alert('Please enter a valid number for the "' + fieldLabel +'" field.');
              formField.focus();
              result = false;
          }
      }

      return result;
  }

  function validInt(formField,fieldLabel,required)
  {
      var result = true;

      if (required && !validRequired(formField,fieldLabel))
          result = false;

       if (result)
       {
//           var num = parseInt(formField.value,10);
           var num = formField.value.toString();
           if ((isNaN(num)) || (!allDigits(formField.value)) || (formField.value < 1))
           {
		gotoTop();
               alert('Please enter a number for the "' + fieldLabel +'" field.');
              formField.focus();
              result = false;
          }
      }

      return result;
  }


  function validDate(formField,fieldLabel,required)
  {
      var result = true;

      if (required && !validRequired(formField,fieldLabel))
          result = false;

       if (result)
       {
           var elems = formField.value.split("/");

           result = (elems.length == 3); // should be three components

           if (result)
           {
               var month = parseInt(elems[0],10);
               var day = parseInt(elems[1],10);
               var year = parseInt(elems[2],10);
               result = allDigits(elems[0]) && (month > 0) && (month < 13) &&
                       allDigits(elems[1]) && (day > 0) && (day < 32) &&
                       allDigits(elems[2]) && ((elems[2].length == 2) || (elems[2].length == 4));
           }

            if (!result)
           {
		gotoTop();
               alert('Please enter a date in the format MM/DD/YYYY for the "' + fieldLabel +'" field.');
              formField.focus();
          }
      }

      return result;
  }


  function validateQty(theForm)
  {

      if ((theForm.qty) && (!validInt(theForm.qty, "Quantity", true)))
          return false;

      return true;
  }

function toggleCBField(me,x,lcv) {
  var objstr = "DEL-CB-" + x;
  if (me.checked == true) {
    document.getElementById(objstr).value = "FALSE";
  } else {
    document.getElementById(objstr).value = "TRUE";
  }
  dontForgetUpdate(lcv);
}

function tickDelete(me,lcv) {
  var f = "Form" + lcv;
  if (me.checked == true)
  {
    document.getElementById(f).verb.value = 'deleteItem';
  } else {
    document.getElementById(f).verb.value = 'updatebasket';
  }
  dontForgetUpdate(lcv);
}

function updateCart (lcv) {
    document.getElementById('Form'+lcv).submit(true);
}

  function previewLetter(id) {
    toOpen = "https://" + document.domain + "/cgi-bin/gateway.cgi?verb=show&page=previewPage&id="+id;
    open(toOpen,"aside",windowprops2);
  }

  function previewPicture(id) {
    toOpen = "https://" + document.domain + "/cgi-bin/gateway.cgi?verb=show&page=previewPicture&id="+id;
    open(toOpen,"aside",picturedim);
  }

  function previewRudolphLetter(id) {
    toOpen = "https://" + document.domain + "/cgi-bin/gateway.cgi?verb=show&page=previewRudolph&id="+id;
    open(toOpen,"aside",windowprops2);
  }

  function previewElfLetter(id) {
    toOpen = "https://" + document.domain + "/cgi-bin/gateway.cgi?verb=show&page=previewElf&id="+id;
    open(toOpen,"aside",windowprops2);
  }

  function editSavedItem(id,pid) {
    window.location = "https://" + document.domain + "/cgi-bin/gateway.cgi?verb=review&id="+id+"&pid="+pid;
  }

  function editReminderAddress() {
    var itemid = unescape (readCookie('itemid'));
    if (document.getElementById('editReminderAddress')) {
      document.getElementById('editReminderAddress').submit();
    } else {
      alert ('Your browser lacks the capabilities required to do this.');
    }
  }


  function toggleSnapshot(){
    var country;
    var mycity;
    if (document.getElementById('country'))
      country = document.getElementById('country').value;
    if (!validRequired(document.getElementById('firstname'), "Recipient's First Name"))
      return false;
    if (!validRequired(document.getElementById('lastname'), "Recipient's Last Name"))
      return false;
    if ((document.getElementById('gender1').checked == false) && (document.getElementById('gender2').checked == false) && (document.getElementById('gender3').checked == false)) {
        validRequired2(document.getElementById('gender1'), "Recipient's Gender");
        return false;
    }
    if (!validRequired(document.getElementById('addressee'), "Addressee (who will the envelope be addressed to)"))
      return false;
    if (country == 'United States') {
      if (!validRequired(document.getElementById('dom_address'), "Recipient's Address"))
        return false;
      if (!validRequired(document.getElementById('dom_city'), "Recipient's City or Town"))
        return false;
      if (!validRequired(document.getElementById('state'), "Recipient's State"))
        return false;
      if (!validRequired(document.getElementById('zip'), "Recipient's Zip Code"))
        return false;
      mycity = document.getElementById('dom_city').value;
    } else {
      if (!validRequired(document.getElementById('intl_address'), "Recipient's Address"))
        return false;
      if (!validRequired(document.getElementById('intl_city'), "Recipient's City or Town"))
        return false;
      mycity = document.getElementById('intl_city').value;
    }

    var gender = "";
    var genders = "";
    if (document.getElementById('gender1').checked == true) {
      gender = "boy";
      genders = "boys";
    }
    if (document.getElementById('gender2').checked == true) {
      gender = "girl";
      genders = "girls";
    }
    if (document.getElementById('gender3').checked == true) {
      gender = "kid";
      genders = "kids";
    }

  if (document.getElementById('lineoftext').value == "Click to Edit") {
      document.getElementById('lineoftext').value = document.getElementById('snapshot_h').value;
      document.getElementById('lineoftext').className = "note1 black silverbox";
  }

    var r=new RegExp("«GENDER_SINGLE»","g");
    var i;
    if (document.getElementById('lineoftext')) {
      i=document.getElementById('lineoftext').value;
      document.getElementById('lineoftext').value = i.replace(r,gender);
	}

    r=new RegExp("«GENDER_PLURAL»","g");
    if (document.getElementById('lineoftext')) {
      i=document.getElementById('lineoftext').value;
      document.getElementById('lineoftext').value = i.replace(r,genders);
	}

    r=new RegExp("«CHILDS_FIRSTNAME»","g");
    if (document.getElementById('lineoftext')) {
      i=document.getElementById('lineoftext').value;
      document.getElementById('lineoftext').value = i.replace(r,document.getElementById('firstname').value);
	}

    r=new RegExp("«HOME_TOWN»","g");
    if (document.getElementById('lineoftext')) {
      i=document.getElementById('lineoftext').value;
      document.getElementById('lineoftext').value = i.replace(r,mycity);
	}




//«ELF_GENDER_POSSESSIVE» name is «ELF_NAME» and «ELF_GENDER_SUBJECTIVE» 
  var gender_possessive_elf = "<<his (need form for gender selection)>>";
  var gender_subjective_elf = "<<he (need form for gender selection)>>";
//  if (document.getElementById('gender1').checked == true) {
//    gender_possessive_elf = "his";
//    gender_subjective_elf = "he";
//  } else {
//    gender_possessive_elf = "her";
//    gender_subjective_elf = "she";
//  }
  r=new RegExp("«HOME_TOWN»","g");
  if (document.getElementById('rletter')) {
      i=document.getElementById('rletter').value;
      document.getElementById('rletter').value = i.replace(r,mycity);
	}
  if (document.getElementById('eletter')) {
      i=document.getElementById('eletter').value;
      document.getElementById('eletter').value = i.replace(r,mycity);
	}
  r=new RegExp("«CHILDS_FIRSTNAME»","g");
  if (document.getElementById('rletter')) {
      i=document.getElementById('rletter').value;
      document.getElementById('rletter').value = i.replace(r,document.getElementById('firstname').value);
	}
  if (document.getElementById('eletter')) {
      i=document.getElementById('eletter').value;
      document.getElementById('eletter').value = i.replace(r,document.getElementById('firstname').value);
	}
  r=new RegExp("«GENDER_POSSESSIVE_ELF»","g");
  if (document.getElementById('eletter')) {
      i=document.getElementById('eletter').value;
      document.getElementById('eletter').value = i.replace(r,gender_possessive_elf);
	}
  r=new RegExp("«GENDER_SUBJECTIVE_ELF»","g");
  if (document.getElementById('eletter')) {
      i=document.getElementById('eletter').value;
      document.getElementById('eletter').value = i.replace(r,gender_subjective_elf);
	}
  r=new RegExp("«ELF_NAME»","g");
  if (document.getElementById('eletter')) {
      i=document.getElementById('eletter').value;
      document.getElementById('eletter').value = i.replace(r,document.getElementById('elfname').value);
	}





    if (document.getElementById('dsws_passed_js_ validation'))
      document.getElementById('dsws_passed_js_validation').value = "1";

  }

  function toggleLetter(id,idh){
    var country;
    var mycity;
    if (document.getElementById('country'))
      country = document.getElementById('country').value;
    if (!validRequired(document.getElementById('firstname'), "Recipient's First Name"))
      return false;
    if (!validRequired(document.getElementById('lastname'), "Recipient's Last Name"))
      return false;
    if ((document.getElementById('gender1').checked == false) && (document.getElementById('gender2').checked == false) && (document.getElementById('gender3').checked == false)) {
      validRequired2(document.getElementById('gender1'), "Recipient's Gender");
      return false;
    }
    if (!validRequired(document.getElementById('addressee'), "Addressee (who will the envelope be addressed to)"))
      return false;
    if (country == 'United States') {
      if (!validRequired(document.getElementById('dom_address'), "Recipient's Address"))
        return false;
      if (!validRequired(document.getElementById('dom_city'), "Recipient's City or Town"))
        return false;
      if (!validRequired(document.getElementById('state'), "Recipient's State"))
        return false;
      if (!validRequired(document.getElementById('zip'), "Recipient's Zip Code"))
        return false;
      mycity = document.getElementById('dom_city').value;
    } else {
      if (!validRequired(document.getElementById('intl_address'), "Recipient's Address"))
        return false;
      if (!validRequired(document.getElementById('intl_city'), "Recipient's City or Town"))
        return false;
      mycity = document.getElementById('intl_city').value;
    }

    var gender = "";
    var genders = "";
    if (document.getElementById('gender1').checked == true) {
      gender = "boy";
      genders = "boys";
    }
    if (document.getElementById('gender2').checked == true) {
      gender = "girl";
      genders = "girls";
    }
    if (document.getElementById('gender3').checked == true) {
      gender = "kid";
      genders = "kids";
    }
    if (document.getElementById(id).value == "Click to Edit") {
        document.getElementById(id).value = document.getElementById(idh).value;
        document.getElementById(id).className = "note2 black silverbox";
    }

    var r=new RegExp("«GENDER_SINGLE»","g");
    var i;
    if (document.getElementById(id)) {
      i=document.getElementById(id).value;
      document.getElementById(id).value = i.replace(r,gender);
	  }

    r=new RegExp("«GENDER_PLURAL»","g");
    if (document.getElementById(id)) {
      i=document.getElementById(id).value;
      document.getElementById(id).value = i.replace(r,genders);
	  }

    r=new RegExp("«CHILDS_FIRSTNAME»","g");
    if (document.getElementById(id)) {
      i=document.getElementById(id).value;
      document.getElementById(id).value = i.replace(r,document.getElementById('firstname').value);
    }

    r=new RegExp("«HOME_TOWN»","g");
    if (document.getElementById(id)) {
      i=document.getElementById(id).value;
      document.getElementById(id).value = i.replace(r,mycity);
	  }

    if (document.getElementById('dsws_passed_js_validation'))
      document.getElementById('dsws_passed_js_validation').value = "1";

  }

//#</santa>
function switchDesc(id) {
  var fullDesc = document.getElementById("fullDesc_"+id);
  if(fullDesc!=null) { if (fullDesc.style.display=='none') fullDesc.style.display=''; else fullDesc.style.display='none';  }
//  if( navigator != null && navigator.userAgent != null && navigator.userAgent.indexOf("Firefox") != -1 )
//    document.body.innerHTML = document.body.innerHTML; // force firefox to re-compute the layout
//  return true;
}

function getAnnouncements () {
  var ansec1 = "";
  if (document.getElementById("an01"))
    ansec1 = document.getElementById("an01");
  var ansec2 = "";
  if (document.getElementById("an02"))
    ansec2 = document.getElementById("an02");
  var ansec3 = "";
  if (document.getElementById("an03"))
    ansec3 = document.getElementById("an03");
  var ansec4 = "";
  if (document.getElementById("an04"))
    ansec4 = document.getElementById("an04");
  var ansec5 = "";
  if (document.getElementById("an05"))
    ansec5 = document.getElementById("an05");
  var ansec6 = "";
  if (document.getElementById("an06"))
    ansec6 = document.getElementById("an06");
  var ansec7 = "";
  if (document.getElementById("an07"))
    ansec7 = document.getElementById("an07");
  var ansec98l = "";
  var ansec98 = "";
  if (document.getElementById("an98"))
    ansec98 = document.getElementById("an98");
  if (document.getElementById("an98l"))
    ansec98l = document.getElementById("an98l");
  var ansec99l = "";
  var ansec99 = "";
  if (document.getElementById("an99"))
    ansec99 = document.getElementById("an99");
  if (document.getElementById("an99l"))
    ansec99l = document.getElementById("an99l");
  var today=new Date();
  var hasan = false;
    var thisDay = today.getDate();
  var thisMonth = today.getMonth() + 1;

  if ((thisMonth >= 9))
  {
    if (((ansec6) && (hasan == false)) && ((thisMonth == 9) || ((thisMonth == 10) && (thisDay < 8))))
    {
      ansec6.style.display='';
      hasan = true;
    }
    if ((thisMonth == 12) && (thisDay >= 20) && (ansec98) && (hasan == false))
    {
      ansec98.style.display='';
      ansec98l.style.display='';
      hasan = true;
    }
    if ((thisMonth == 12) && (thisDay >= 17) && (ansec5) && (hasan == false))
    {
      ansec5.style.display='';
      hasan = true;
    }
//    if ((thisMonth == 12) && (thisDay >= 18) && (ansec4) && (hasan == false))
//    {
//      ansec4.style.display='';
//      hasan = true;
//    }
    if ((thisMonth == 12) && (thisDay >= 13) && (ansec3) && (hasan == false))
    {
      ansec3.style.display='';
      hasan = true;
    }
    if ((thisMonth == 12) && (thisDay >= 3) && (ansec2) && (hasan == false))
    {
      ansec2.style.display='';
      hasan = true;
    }
    if ((ansec1) && (hasan == false))
    {
      ansec1.style.display='';
      hasan = true;
    }
  }
  if ((ansec98) && (hasan == false))
  {
    ansec98.style.display='';
    ansec98l.style.display='';
    hasan = true;
  }
  if ((ansec99) && (hasan == false))
  {
    ansec99.style.display='';
    ansec99l.style.display='';
    hasan = true;
  }


  return true;
}

function initializeCart () {
  for (var i = 1; i <= 50; i++) {
    if (document.getElementById(i+'_isComplete') != null) {
      for (var j = 1; j <= 50; j++) {
        if (document.getElementById('RID_'+i+'_'+j) != null) {
          document.getElementById('RID_'+i+'_'+j).checked = false;
        }
        if ((document.getElementById('RID_'+i+'_'+j+'_TMP') != null) && (document.getElementById('RID_'+i+'_'+j+'_TMP').value != null) && (document.getElementById('RID_'+i+'_'+j) != null)) {
          document.getElementById('RID_'+i+'_'+j).checked = true;
        }
        for (var k = 1; k <= 50; k++) {
          if (document.getElementById('SL-'+i+'-'+j+'-'+k) != null) {
            document.getElementById('SL-'+i+'-'+j+'-'+k).checked = false;
          }
          if ((document.getElementById('SL-'+i+'-'+j+'-'+k+'-TMP') != null) && (document.getElementById('SL-'+i+'-'+j+'-'+k+'-TMP').value != null) && (document.getElementById('SL-'+i+'-'+j+'-'+k) != null)) {
            document.getElementById('SL-'+i+'-'+j+'-'+k).checked = true;
          }
        } //end.foreach.k
      } //end.foreach.j
    } //end.if.isComplete
    if (document.getElementById('ir_self_'+i)) {
      if (document.getElementById('ir_self_'+i).checked == true) {
        document.getElementById('h3_'+i).className = 'cart-cold';
        document.getElementById('recp_'+i).disabled = true;
        document.getElementById('a1_'+i).disabled = true;
        document.getElementById('a2_'+i).disabled = true;
        document.getElementById('ci_'+i).disabled = true;
        document.getElementById('st_'+i).options[0].selected = true;
        document.getElementById('st_'+i).disabled = true;
        document.getElementById('z_'+i).disabled = true;
        document.getElementById('ph_'+i).disabled = true;
        document.getElementById('irLabel_recp_'+i).className = "irLabel-cold";
        document.getElementById('irLabel_a1_'+i).className = "irLabel-cold";
        document.getElementById('irLabel_a2_'+i).className = "irLabel-cold";
        document.getElementById('irLabel_ci_'+i).className = "irLabel-cold";
        document.getElementById('irLabel_st_'+i).className = "irLabel-cold";
        document.getElementById('irLabel_z_'+i).className = "irLabel-cold";
        document.getElementById('irLabel_ph_'+i).className = "irLabel-cold";
        document.getElementById('irLabel_ph2_'+i).className = "irLabel-cold";
      } else {
        document.getElementById('h3_'+i).className = 'cart';
        document.getElementById('recp_'+i).disabled = false;
        document.getElementById('a1_'+i).disabled = false;
        document.getElementById('a2_'+i).disabled = false;
        document.getElementById('ci_'+i).disabled = false;
        document.getElementById('st_'+i).options[0].selected = false;
        document.getElementById('st_'+i).disabled = false;
        document.getElementById('z_'+i).disabled = false;
        document.getElementById('ph_'+i).disabled = false;
        document.getElementById('irLabel_recp_'+i).className = "irLabel";
        document.getElementById('irLabel_a1_'+i).className = "irLabel";
        document.getElementById('irLabel_a2_'+i).className = "irLabel";
        document.getElementById('irLabel_ci_'+i).className = "irLabel";
        document.getElementById('irLabel_st_'+i).className = "irLabel";
        document.getElementById('irLabel_z_'+i).className = "irLabel";
        document.getElementById('irLabel_ph_'+i).className = "irLabel";
        document.getElementById('irLabel_ph2_'+i).className = "irLabel";
      }
    } //end.if.ir_self
  } //end.foreach.i
  if (document.getElementById('beginCheckoutButton'))
    document.getElementById('beginCheckoutButton').disabled = false;
  if (document.getElementById('beginCheckoutButton'))
    document.getElementById('beginCheckoutButton').className = 'active';
  return true;
}

function togglePreview () {
  gotoTop();
  var country = null;
  if (document.getElementById('country'))
    country = document.getElementById('country').value;
  if (!validRequired(document.getElementById('addressee'), "Addressee (who will the postcard will be addressed to)"))
    return false;
  if (country == 'United States') {
    if (!validRequired(document.getElementById('dom_address'), "Recipient's Address"))
      return false;
    if (!validRequired(document.getElementById('dom_city'), "Recipient's City or Town"))
      return false;
    if (!validRequired(document.getElementById('state'), "Recipient's State"))
      return false;
    if (!validRequired(document.getElementById('zip'), "Recipient's Zip Code"))
      return false;
  } else {
    if (!validRequired(document.getElementById('intl_address'), "Recipient's Address"))
      return false;
  }
  var newStr = "";
  var newAddressee = "";
  var previewStr = "";
  var previewAddressee = "";
  var tmp = document.getElementById('msg').value;
  var lines = tmp.split ("\n");
  var len = lines.length;
  for (var i=0;i<len;++i) {
    var xstr = lines[i];
    var p = /^\s*/gi;
    xstr = xstr.replace(p,"");
    var p = /\s*$/gi;
    xstr = xstr.replace(p,"");
    if ((xstr == "") || (xstr == "null") || (xstr == undefined))
      continue;
    newStr += xstr+"\n\n";
    previewStr += "<p class='reminderText'>"+xstr+"</p>";
  }
  var tmp = document.getElementById('addressee').value;
  var lines = tmp.split ("\n");
  var len = lines.length;
  for (var i=0;i<len;++i) {
    var xstr = lines[i];
    var p = /^\s*/gi;
    xstr = xstr.replace(p,"");
    var p = /\s*$/gi;
    xstr = xstr.replace(p,"");
    if ((xstr == "") || (xstr == "null") || (xstr == undefined))
      continue;
    newAddressee += xstr+"\n";
    previewAddressee += xstr+"<br />";
  }
  document.getElementById('msg').value = newStr;
  document.getElementById('preview_body').innerHTML = previewStr;
  document.getElementById('preview_addressee').innerHTML = previewAddressee;
  document.getElementById('addressee').value = newAddressee;
  var a = null;
  if (country == "United States") {
    a = document.getElementById('dom_address');
    tmp = document.getElementById('dom_address').value;
  } else {
    a = document.getElementById('intl_address');
    tmp = document.getElementById('intl_address').value;
  }
  var previewStr = "";
  var newStr = "";
  var lines = tmp.split ("\n");
  var len = lines.length;
  for (var i=0;i<len;++i) {
    var xstr = lines[i];
    var p = /^\s*/gi;
    xstr = xstr.replace(p,"");
    var p = /\s*$/gi;
    xstr = xstr.replace(p,"");
    if ((xstr == "") || (xstr == "null") || (xstr == undefined))
      continue;
  newStr += xstr + "\n";
    previewStr += xstr+"<br />";
  }
  document.getElementById('preview_address').innerHTML = previewStr;
  if (country == "United States") {
    document.getElementById('preview_address').innerHTML += document.getElementById('dom_city').value + "&nbsp;" + document.getElementById('state').value + "&nbsp;&nbsp;" + document.getElementById('zip').value;
  }
  a.value = newStr;
  document.getElementById('editor').style.display = 'none';
  document.getElementById('preview').style.display = '';
//  document.getElementById('top').focus();
//  document.getElementById('top').blur();
  previewStr = null;
  newStr = null;
  country = null;
}


function toggleEditor () {
  gotoTop();
  document.getElementById('preview_address').innerHTML = "";
  document.getElementById('preview').style.display = 'none';
  document.getElementById('editor').style.display = '';
  document.getElementById('addressee').focus();
//  document.getElementById('top').focus();
//  document.getElementById('top').blur();
}

function submitPostcardUpdate () {
    document.getElementById('activity_form').submit();
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

function clearCookie(name,path) {
//  document.cookie = name + "=; path=/; domain="+document.domain+"; expires=Thu, 01-Jan-70 00:00:01 GMT;"; // now
//  document.cookie = name + "=; path=/; domain="+document.domain+"; expires=-1;"; // end of session
  if ((path == "") || (path == "null") || (path == undefined))
    path = "/";
  document.cookie = name + "=; path=" + path + "; domain="+document.domain+"; expires=Thu, 01-Jan-70 00:00:01 GMT;"; // now
  return null;
}

function initializePostcardCompleted() {
  if ((itemid == "null") || (itemid == "") || (itemid == undefined) || (destination == "null") || (destination == "") || (destination == undefined) || (recipient == "null") || (recipient == "")|| (recipient == undefined)) {
    clearCookie ("itemid");
    clearCookie ("destination");
    clearCookie ("recipient");
    clearCookie ("lastday");
    window.location = "/pages/404.htm";
  } else {
//    if (document.getElementById('hidden'))
//      document.getElementById('hidden').style.display = "";
//    if (document.getElementById('blank'))
//      document.getElementById('blank').style.display = "none";
  }
}

  function previewPriorLetter() {
    var itemid = unescape (readCookie('itemid'));
    if (itemid == "null") {
      window.location = "/pages/404.htm";
    } else {
      toOpen = "https://" + document.domain + "/cgi-bin/gateway.cgi?verb=show&page=previewPriorPage&id="+itemid;
      open(toOpen,"aside",windowprops2);
    }
  }

  function previewPriorPicture() {
    var itemid = unescape (readCookie('itemid'));
    if (itemid == "null") {
      window.location = "/pages/404.htm";
    } else {
      toOpen = "https://" + document.domain + "/cgi-bin/gateway.cgi?verb=show&page=previewPriorPicture&id="+itemid;
      open(toOpen,"aside",picturedim);
    }
  }

  function previewPostcard() {
    var itemid = unescape (readCookie('itemid'));
    if (itemid == "null") {
      window.location = "/pages/404.htm";
    } else {
      toOpen = "https://" + document.domain + "/cgi-bin/gateway.cgi?verb=show&page=previewPostcard";
      open(toOpen,"aside",reminderdim);
    }
  }

  function getRandChar(q) {
  var rstr = "";
  if (q) {
    if (inValidCharSet(q,"0123456789")) {
      for (var i = 0; i < q; i++) {
        rstr += String.fromCharCode(97 + Math.round(Math.random() * 25));
      }
    }
  }
    return (rstr);
  }

  function reflectCountry(c) {
    if (c.value == "United States") {
      if (document.getElementById('dom_address_holder'))
        document.getElementById('dom_address_holder').style.display = "";
      if (document.getElementById('intl_address_holder'))
        document.getElementById('intl_address_holder').style.display = "none";
      if (document.getElementById('eletter_usonly'))
        document.getElementById('eletter_usonly').style.display = "";
      if (document.getElementById('eletter'))
        document.getElementById('eletter').disabled = false;
//      if (document.getElementById('peguid'))
//        document.getElementById('peguid').value = "1";
    } else {
      if (document.getElementById('intl_address_holder'))
        document.getElementById('intl_address_holder').style.display = "";
      if (document.getElementById('dom_address_holder'))
        document.getElementById('dom_address_holder').style.display = "none";
      if (document.getElementById('eletter_usonly'))
        document.getElementById('eletter_usonly').style.display = "none";
      if (document.getElementById('eletter'))
        document.getElementById('eletter').disabled = true;
//      if (document.getElementById('peguid'))
//        document.getElementById('peguid').value = "3";
    }
  }

  function createLetter() {
    var currentDate = new Date();
    var id = currentDate.getTime() + getRandChar(3);
	var ao = "";
	    ao += "<R>SL-5<E>11"; // RHT NO
	    ao += "<R>SL-9<E>22"; // PHT NO (prancer)
	    ao += "<R>SL-18<E>43"; // BHT NO (blitzen)
	    ao += "<R>SL-25<E>70"; // DASHT NO (dasher)
	    ao += "<R>SL-6<E>13"; // MKEY NO
	    ao += "<R>SL-7<E>14"; // CERT Y
	    ao += "<R>SL-10<E>24"; // EFB NO
	    ao += "<R>SL-11<E>26"; // MRF N
	    ao += "<R>SL-17<E>40"; // RLET Y
	    ao += "<R>SL-16<E>38"; // INTL CERT Y
	    ao += "<R>SL-19<E>44"; // INTL RLET Y
	    ao += "<R>SL-26<E>72"; // ELET 71=Y, 72=N
    document.cookie = document.domain+"_tmp["+id+"]=1<R>QTY<E>1<R>BID<E>psl<R>IR<E>notSelf"+ao+"; path=/cgi-bin/; secure=1; domain="+document.domain+"; expires="+seasonExpDate+";";
    window.location = "https://"+document.domain+"/cgi-bin/gateway.cgi?verb=review&id="+id+"&pid=psl";
  }

  function createReminderPostcard() {
    var currentDate = new Date();
    var id = currentDate.getTime() + getRandChar(3);
    document.cookie = document.domain+"_tmp["+id+"]=1<R>QTY<E>1<R>BID<E>reminder<R>IR<E>notSelf; path=/cgi-bin/; secure=1; domain="+document.domain+"; expires="+seasonExpDate+";";
    window.location = "https://"+document.domain+"/cgi-bin/gateway.cgi?verb=review&id="+id+"&pid=reminder";
  }

  function removeProduct(id) {
// this to take the place of removeLetter
    document.cookie = document.domain+"_tmp["+id+"]=1<R>DELETE<E>1; path=/cgi-bin/; secure=1; domain="+document.domain+"; expires="+seasonExpDate+";";
    window.location = "https://"+document.domain+"/cgi-bin/gateway.cgi?verb=show&page=shoppingcartPage";
  }

  function removeLetter(id) {
// to be deprecated
    document.cookie = document.domain+"_tmp["+id+"]=1<R>DELETE<E>1; path=/cgi-bin/; secure=1; domain="+document.domain+"; expires="+seasonExpDate+";";
    window.location = "https://"+document.domain+"/cgi-bin/gateway.cgi?verb=show&page=shoppingcartPage";
  }

  function disableBeginCheckout () {
    if (document.getElementById('beginCheckoutButton')) {
      document.getElementById('beginCheckoutButton').disabled = true;
      document.getElementById('beginCheckoutButton').className = 'inactive';
    }
  }

  function setCoupon() {
    document.cookie = document.domain+"_tmp[coupon]=1<R>couponID<E>"+document.getElementById('couponNumber').value.toUpperCase()+"; path=/cgi-bin/; secure=1; domain="+document.domain+"; expires="+seasonExpDate+";";
    window.location = "https://" + document.domain + "/cgi-bin/gateway.cgi?verb=show&page=shoppingcartPage";
  }

  function emptyCart() {
    var cookies = { };
    if (document.cookie && document.cookie != '') {
      var split = document.cookie.split(';');
      for (var i = 0; i < split.length; i++) {
        var name_value = split[i].split("=");
        name_value[0] = name_value[0].replace(/^ /, '');
        cookies[decodeURIComponent(name_value[0])] = decodeURIComponent(name_value[1]);
      }
      for (var name in cookies) {
        if ((name == document.domain+"[ivm]") || (name == document.domain+"[a_ivm]") || (name == "TM[TM]"))
          continue;
        document.cookie = name+"=1; path=/cgi-bin/; domain="+document.domain+"; expires="+forceExpDate+";";
      }
      createLetter();
    }
  }

  function openChat () {
    var w = window.open('about:blank','LiveHelp','width=590,height=550,left=0,top=0,resizable=yes,menubar=no,location=no,status=yes,scrollbars=yes');
    document.getElementById('livechat_form').submit();
    return true;
  }

