// Ticker variables
var intervalLength = 150;
var bagsPerSecond = 12953000 / 24 / 60 / 60;
var now = new Date();
var bagsSaved = bagsPerSecond * ((now.getHours() * 60 * 60) + (now.getMinutes() * 60) + now.getSeconds());
var additionalBags = bagsPerSecond * (intervalLength / 1000);

// Share with a Friend variables
var friendNum = 1;
var maxFriends = 5;

// Cafe Press variables
var confirmCP = true;
var goToCafePress = false;

// Ticker functions
function updateTicker() {
 bagsSaved += additionalBags;
 document.getElementById("tickerAmount").innerHTML = formatNumber(Math.round(bagsSaved));
}

function formatNumber(num) {
 var tmpNumStr = new String(num);
 
 if (num >= 1000) {
  var iStart = tmpNumStr.length - 3;
  
  while (iStart >= 1) {
   tmpNumStr = tmpNumStr.substring(0, iStart) + "," + tmpNumStr.substring(iStart, tmpNumStr.length);
   iStart -= 3;
  }
 }
 
 return tmpNumStr;
}

// Share with a Friend functions
function validateShareForm() {
 if (allTrim(BWWgetObject("ctl00_PageLeightbox_friend_email1").value) == "" && allTrim(BWWgetObject("ctl00_PageLeightbox_friend_email2").value) == "" && allTrim(BWWgetObject("ctl00_PageLeightbox_friend_email3").value) == "" && allTrim(BWWgetObject("ctl00_PageLeightbox_friend_email4").value) == "" && allTrim(BWWgetObject("ctl00_PageLeightbox_friend_email5").value) == "") {
  alert("Please enter your friend's email address.");
  return false;
 }
 
 if ((allTrim(BWWgetObject("ctl00_PageLeightbox_friend_email1").value) != "" && !validEmail(BWWgetObject("ctl00_PageLeightbox_friend_email1").value)) || (allTrim(BWWgetObject("ctl00_PageLeightbox_friend_email2").value) != "" && !validEmail(BWWgetObject("ctl00_PageLeightbox_friend_email2").value)) || (allTrim(BWWgetObject("ctl00_PageLeightbox_friend_email3").value) != "" && !validEmail(BWWgetObject("ctl00_PageLeightbox_friend_email3").value)) || (allTrim(BWWgetObject("ctl00_PageLeightbox_friend_email4").value) != "" && !validEmail(BWWgetObject("ctl00_PageLeightbox_friend_email4").value)) || (allTrim(BWWgetObject("ctl00_PageLeightbox_friend_email5").value) != "" && !validEmail(BWWgetObject("ctl00_PageLeightbox_friend_email5").value))) {
  alert("One or more of the email addresses you entered is not valid. Please check the format and try again.");
  return false;
 }
}

function validEmail(email) {
 return (email.search(/^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/) == -1) ? false : true;
}

function addFriend() {
 if (++friendNum > maxFriends) {
  return;
 }
 
 BWWgetObject("ctl00_PageLeightbox_friend_email" + friendNum).style.display = "block";
}

function setShareBagInfo(bagID, banner) {
 friendNum = 1;
 BWWgetObject("ctl00_PageLeightbox_ShareComments").value = banner + " is hosting the Design a Reusable Shopping Bag Contest. Please view one of my favorite designs and vote for it before May 15. You also can create your own design and enter the contest. Show your support and vote for this design.";
 BWWgetObject("ctl00_PageLeightbox_ShareBagId").value = bagID;
}

function setGrabberBagInfo(bagID, banner, bannerName, bagLink, grabberPath) {
 BWWgetObject("js_GrabberBagId").innerText = bagID;
 BWWgetObject("js_GrabberBanner1").innerText = banner;
 BWWgetObject("js_GrabberBanner2").innerText = banner;
 BWWgetObject("js_GrabberBannerName").innerText = bannerName;
 BWWgetObject("js_FBSharerLink").href = "http://www.facebook.com/sharer.php?u=" + bagLink + bagID + "%26banner%3D" + banner;
 BWWgetObject("js_MySpaceLink").href = "http://www.myspace.com/index.cfm?fuseaction=postto&t=Vote%20for%20My%20Design&c=%3Ca%20href=\"" + bagLink + bagID + "%26banner%3D" + banner + "\"%3E%3Cimg%20src=\"" + grabberPath + "\"%20alt=\"\"%20border=\"0\"%3E%3C/a%3E&u=" + bagLink + bagID + "%26banner%3D" + banner;
}

// Show/hide large bag view functions
function showLargeBag(bagDesignPath) {
 BWWgetObject("largebag_image").src = bagDesignPath;
 BWWupdateDisplay("largebag_overlay", "block");
}

function hideLargeBag() {
 BWWupdateDisplay("largebag_overlay", "none");
 return false;
}

// Set default submit button for the page
function captureKeyDown(e, defaultBtnID) {
 var keynum;
 
 if (window.event) { // IE
  keynum = e.keyCode;
 }
 
 else if (e.which) { // Netscape/Firefox/Opera
  keynum = e.which;
 }
 
 if (keynum == 13) {
  if (defaultBtnID != "") {
   BWWgetObject(defaultBtnID).click();
  }
  
  return false;
 }
 
 return true;
}

function clickButton(btnID) {
 BWWgetObject(btnID).click();
 return true;
}

function openWindow(linkObj) {
 window.open(linkObj.href, "_blank", "width=977,height=500,location=no,menubar=no,scrollbars=yes,toolbar=no");
 return false;
}

// Survey variables and functions
var deploySurvey = false;
var surveyPeriod = 5;
var randomNum = Math.floor(Math.random() * surveyPeriod) + 1;
var csurvey = document.cookie;

function showSurvey() {
 if (deploySurvey == true) {
  if (BWWgetCookie("darb_survey") != "viewed"  && randomNum == surveyPeriod) {
   var expiry = new Date("May 18, 2009");
   BWWsetCookie("darb_survey", "viewed", expiry);
   var surveyWin = window.open("/survey.aspx", "surveyWin", "width=977,scrollbars,resizeable");
  }
 }
}

function surveyLater() {
 var expiry = new Date();
 expiry.setMinutes(expiry.getMinutes() + 10);
 BWWsetCookie("darb_survey", "viewed", expiry);
}

function showSearchForm() {
 BWWupdateDisplay("search_container", "block");
 if (BWWgetObject("ctl00_PageContent_ResultsPerPage") != null) {
  BWWgetObject("ctl00_PageContent_ResultsPerPage").style.visibility = "hidden";
 }
}

function hideSearchForm() {
 BWWupdateDisplay("search_container", "none");
 if (BWWgetObject("ctl00_PageContent_ResultsPerPage") != null) {
  BWWgetObject("ctl00_PageContent_ResultsPerPage").style.visibility = "visible";
 }
}

function confirmDelete() {
 return confirm("Are you sure you want to delete this entry?");
}

function confirmCafePress() {
 if (confirmCP) {
  confirmCP = false;
  goToCafePress = confirm("You are about to go to CafePress.com.\n\nWe've partnered with CafePress.com to help you purchase a reusable bag with your own printed design. We transfer your design. CafePress prints the design. You show off your stylish bag!\n\nAre you sure you want to go to CafePress.com?");
  if (goToCafePress) {
   BWWgetObject("aspnetForm").target = "_blank";
  }
  var resetTargetTimeout = setTimeout(resetTarget, 50);
 }
 return goToCafePress;
}

function resetTarget() {
 confirmCP = true;
 BWWgetObject("aspnetForm").target = "";
}

function showLeightbox(linkID) {
 var linkObj = BWWgetObject(linkID);
 linkObj.className = "lbOn";
 var lbox = new lightbox(linkObj);
 lbox.activate();
 return lbox;
}

function BWWgetCookie(name) { 
 var scookie = document.cookie;
 var index = scookie.indexOf(name + "=");

 if (index == -1) {
  return null;
 }
 
 index = scookie.indexOf("=", index) + 1;
 var endstr = scookie.indexOf(";", index);
 
 if (endstr == -1) {
  endstr = scookie.length;
 }
 
 return unescape(scookie.substring(index, endstr));
}

function BWWsetCookie(name, value, expiry) {
 if (value != null && value != "")
  document.cookie = name + "=" + escape(value) + "; expires=" + expiry.toGMTString() + "; path=/";
 csurvey = document.cookie;
}

// Helper functions
function BWWgetObject(objID) {
 var obj;
 
 if (document.getElementById) { // DOM3 = IE5, NS6
  obj = document.getElementById(objID);
 }
 else if (document.layers) { // Netscape 4
  eval("obj = document." + objID);
 }
 else if (document.all) { // IE 4
  eval("obj = document.all." + objID);
 }
 
 return obj;
}

function BWWupdateDisplay(elementID, displayType) {
 if (document.getElementById) { // DOM3 = IE5, NS6
  document.getElementById(elementID).style.display = displayType;
 }
 else if (document.layers) { // Netscape 4
  eval("document." + elementID + ".display = '" + displayType + "';");
 }
 else if (document.all)  { // IE 4
  eval("document.all." + elementID + ".style.display = '" + displayType + "';");
 }
}

function BWWcreateRequestObject() { 
 var req = null;
 
 if (window.XMLHttpRequest) { 
 	// Firefox, Safari, Opera...
 	req = new XMLHttpRequest();
 } else if (window.ActiveXObject) {
 	// Internet Explorer 5+
 	req = new ActiveXObject("Microsoft.XMLHTTP");
 } else {
 	// old browser is being used.
 }
 
 return req; 
}

function allTrim(cValue) {
 cValue = cValue.replace(/^\s+/, "");
 cValue = cValue.replace(/\s+$/, "");
 
 return cValue;
}