var lboxBase ="http://web1.shutterfly.com/img_/lbox/";
var modeI;
var viewI;
var calendars = new Array("sdPicker", "edPicker");
// Handle popup of Beta survey.
function handleSurvey() {
var xpos = ((screen.width/2) - 450);
if (xpos < 0) {
xpos = 0;
}
var ypos = 0;
var height = screen.height-200;
popup = window.open("http://www.surveymonkey.com/s.asp?u=344031006308", "pop_win","height=" + height + ",width=630,location=no, menubars=no, scrollbars=yes, scrolling=yes, toolbars=no, resizable=yes, status=no screenX="+ xpos +",screenY="+ ypos +",left="+ xpos +",top="+ ypos);
}
// Mouse over for mode buttons
function mOver(i) {
if (i.id == modeI.id) return;
i.src=lboxBase+i.id+"_over.gif";
}
// Mouse out for mode buttons
function mOut(i) {
if (i.id == modeI.id) return;
i.src=lboxBase+i.id+"_unselect.gif";
}
// Set mode button to selected
function setModeB(i) {
if ((modeI) && (typeof modeI.id != "unknown")) { // This for mac IE5.x
modeI.src = lboxBase + modeI.id + "_unselect.gif";
}
i.src=lboxBase+i.id+"_select.gif";
modeI=i;
}
// Set view button to selected
function setViewB(i) {
if ((viewI) && (typeof viewI.id != "unknown")) { // This mor mac IE5.x
viewI.src = lboxBase + viewI.id + "_unselect.gif";
}
i.src=lboxBase+i.id+"_select.gif";
viewI=i;
}
// Set sort pulldown correctly
function setSortB(b, sort) {
if (typeof sort != "undefined") b.selectedIndex = sort-2;
}
// ------------------------------------------ Find Mode -----------------------------------------------
function togDateFilter(event) {
if (event.value) {
checkDR();
if (event.value == "taken") {
sfAlert("Please note that date taken can sometimes\nbe unreliable, if:\n\n--The camera did not have the correct date setting.\n--The pictures have an 'unknown' date taken,\n    such as scanned photos.\n", "warn");
}
}
}
function checkDR() {
if (document.getElementById) {
document.getElementById("toggleDateRange").checked="true";
}
}
function checkOrdered() {
if (document.getElementById) {
document.getElementById("toggleOrdered").checked="true";
}
}
var errorOn = new Image(46,15);
errorOn.src ="http://web1.shutterfly.com/img_/SFLY/form_err_W.gif";
var errorOff =  new Image(46,15);
errorOff.src ="http://web1.shutterfly.com/img_/misc/sp.gif";
function show(name) {
document.images[name + '_err'].src = errorOn.src;
return;
}
function hide(name) {
document.images[name + '_err'].src = errorOff.src;
return;
}
function trim( s ) {
if (typeof s == "undefined" || s == null) {
return "";
}
// trim leading and trailing "whitespace"
var whitespace = " \t\n\r";
var i = 0;
while ((i < s.length) && (whitespace.indexOf(s.charAt(i)) != -1)) i++;
var j = s.length;
while ((j > i) && (whitespace.indexOf(s.charAt(j-1)) != -1)) j--;
return s.substr(i,j - i);
}
function togProducts(event) {
if (event.value) {
checkOrdered();
hide("orderedOption");
var products = document.getElementById("products");
if (event.value == "selected") {
products.style.visibility = "visible";
} else {
products.style.visibility = "hidden";
}
}
}
function popCachedForm() {
if (typeof find != "undefined" && find != null) {
//alert("popCachedForm()");
if (document.getElementById("toggleDateRange").checked) {
find.toggleDateRange = true;
find.startDate = document.getElementById("startDate").value;
find.endDate = document.getElementById("endDate").value;
find.dateFilterOption = document.getElementById("dateFilterOption").value;
//alert("popCachedForm.find.dateFilterOption: " + find.dateFilterOption);
} else {
find.toggleDateRange = false;
find.startDate = "";
find.endDate = "";
find.dateFilterOption = "uploaded";
}
if (document.getElementById("toggleFavorites").checked) {
find.toggleFavorites = true;
} else {
find.toggleFavorites = false;
}
if (document.getElementById("toggleKeywords").checked) {
find.toggleKeywords = true;
find.keywords = escape(document.getElementById("keywords").value);
} else {
find.toggleKeywords = false;
find.keywords = "";
}
if (document.getElementById("toggleOrdered").checked) {
//alert("pcf: toggleordered checked");
find.toggleOrdered = true;
find.orderedOption = document.getElementById("orderedOption").value;
if (document.getElementById("orderedOption").value == "selected") {
find.orderedPrints = document.getElementById("orderedPrints").checked;
//alert("pcf.find.orderedPrints: " + find.orderedPrints);
find.orderedEnlargements = document.getElementById("orderedEnlargements").checked;
find.orderedCards = document.getElementById("orderedCards").checked;
//alert("pcf.find.orderedCards: " + find.orderedCards);
find.orderedBooks = document.getElementById("orderedBooks").checked;
find.orderedCalendars = document.getElementById("orderedCalendars").checked;
find.orderedDvds= document.getElementById("orderedDvds").checked;
find.orderedGifts = document.getElementById("orderedGifts").checked;
}
} else {
//alert("pcf: toggleordered not checked");
find.toggleOrdered = false;
find.orderedOption = "any";
find.orderedPrints = false;
find.orderedEnlargements = false;
find.orderedCards = false;
find.orderedBooks = false;
find.orderedCalendars = false;
find.orderedDvds = false;
find.orderedGifts = false;
}
}
}
function validateSearchForm() {
//    alert(find.toggleKeywords);
//    alert(find.keywords);
var errorFields = "";
if (!document.getElementById("toggleKeywords").checked &&
!document.getElementById("toggleDateRange").checked &&
!document.getElementById("toggleFavorites").checked &&
!document.getElementById("toggleOrdered").checked) {
errorFields += "- Check one or more options to search on, then click 'Find'.\n";
}
// check date range fields
if (document.getElementById("toggleDateRange").checked) {
if (trim(document.getElementById("startDate").value) == "" && trim(document.getElementById("endDate").value) == "") {
errorFields += "- Please choose a start and end date.\n";
show("dateRange");
} else {
hide("dateRange");
}
} else {
hide("dateRange");
}
// check 'keywords' field
var keywords = document.getElementById("keywords").value;
if (document.getElementById("toggleKeywords").checked) {
if (trim(keywords) != "") {
var pattern = /[\*\?]/g;
if (pattern.test(keywords)) {
errorFields += "- A search cannot contain '*' and '?'. Please modify your search and try again\n";
show("keywords");
} else {
hide("keywords");
}
} else {
errorFields += "- Enter search text.\n";
show("keywords");
}
} else {
hide("keywords");
}
// check 'ordered' field(s)
if (document.getElementById("toggleOrdered").checked) {
if (document.getElementById("orderedOption").value == "selected") {
if (!document.getElementById("orderedPrints").checked &&
!document.getElementById("orderedEnlargements").checked &&
!document.getElementById("orderedCards").checked &&
!document.getElementById("orderedBooks").checked &&
!document.getElementById("orderedCalendars").checked &&
!document.getElementById("orderedDvds").checked &&
!document.getElementById("orderedGifts").checked) {
errorFields += "- Please choose a product.\n";
show("orderedOption");
} else {
hide("orderedOption");
}
}
} else {
hide("orderedOption");
}
if (errorFields != "") {
errorFields = "Please correct the following errors, then resubmit the form. Thank you.\n\n" + errorFields;
alert(errorFields);
return false;
}
return true;
}
function addParam(target, param, value) {
if (target.indexOf("?") != -1) {
return "&" + param + "=" + value;
} else {
return "?" + param + "=" + value;
}
}
function buildSearchQueryString(action) {
var url = "";
if (document.getElementById("toggleDateRange").checked) {
url += addParam(url, "toggleDateRange", "true");
url += addParam(url, "startDate", document.getElementById("startDate").value);
url += addParam(url, "endDate", document.getElementById("endDate").value);
url += addParam(url, "dateFilterOption", document.getElementById("dateFilterOption").value);
}
if (document.getElementById("toggleFavorites").checked) {
url += addParam(url, "toggleFavorites", "true");
}
if (document.getElementById("toggleKeywords").checked) {
url += addParam(url, "toggleKeywords", "true");
url += addParam(url, "keywords", escape(document.getElementById("keywords").value));
}
if (document.getElementById("toggleOrdered").checked) {
url += addParam(url, "toggleOrdered", "true");
url += addParam(url, "orderedOption", document.getElementById("orderedOption").value);
if (document.getElementById("orderedOption").value == "selected") {
url += addParam(url, "orderedPrints", document.getElementById("orderedPrints").checked);
url += addParam(url, "orderedEnlargements", document.getElementById("orderedEnlargements").checked);
url += addParam(url, "orderedCards", document.getElementById("orderedCards").checked);
url += addParam(url, "orderedBooks", document.getElementById("orderedBooks").checked);
url += addParam(url, "orderedCalendars", document.getElementById("orderedCalendars").checked);
url += addParam(url, "orderedDvds", document.getElementById("orderedDvds").checked);
url += addParam(url, "orderedGifts", document.getElementById("orderedGifts").checked);
}
}
var now = new Date();
url += addParam(url, "searchContext", now.getTime());
return url.substring(1, url.length);
}
function resetFind() {
document.getElementById("toggleDateRange").checked = false;
document.getElementById("toggleFavorites").checked = false;
document.getElementById("toggleKeywords").checked = false;
document.getElementById("toggleOrdered").checked = false;
document.getElementById("startDate").value = "";
document.getElementById("endDate").value = "";
document.getElementById("startDate").value = "";
document.getElementById("dateFilterOption").selectedIndex = 0;
document.getElementById("keywords").value = "";
document.getElementById("orderedOption").selectedIndex = 0;
document.getElementById("orderedPrints").checked = false;
document.getElementById("orderedEnlargements").checked = false;
document.getElementById("orderedCards").checked = false;
document.getElementById("orderedCalendars").checked = false;
document.getElementById("orderedDvds").checked = false;
document.getElementById("orderedBooks").checked = false;
document.getElementById("orderedGifts").checked = false;
document.getElementById("products").style.visibility = "hidden";
resetCal(calendars);
popCachedForm();
hide("keywords");
hide("dateRange");
hide("orderedOption");
doSearch('fReset');
}
function tdp(name, target) {
toggleDatePicker(name, target, -86, -40);
//fixPosition(name, -86, -40);
}
// ------------------------------------------ End of Find Mode --------------------------------------------
