﻿var AddButton = {
show: function(nId, nType, target, nView, sEncryptedUserId, sEncryptedSessionId) {
var curleft = 0;
var curtop = 0;
curtop = getElementOffsetY(target);
curleft = getElementOffsetX(target);
curtop -= 25;
curleft += 25;
JBSPopup.displayType = 1;
JBSPopup.addMouseOut = false;
JBSPopup.initialize(target, 1, 1, curtop, curleft);
if (nView == 0) {
JBSPopup.display(this.getAddWorking("anon"));
JBS.SiteManager.UI.Public.Ajax.Cart.SavedCartAddHandler.getAnonymous("", generic_ajax_show_callback);
}
else {
JBSPopup.display(this.getAddWorking("logged_in"));
var s = getCookieValue("_pl_prev"); //get the cookie
var nPrevId = 0;
if (s != false)
nPrevId = parseInt(s);
JBS.SiteManager.UI.Public.Ajax.Cart.SavedCartAddHandler.getNormal(nId, nType, nPrevId, sEncryptedUserId, sEncryptedSessionId, generic_ajax_show_callback);
}
return false;
},
getAddWorking: function(loginState) {
var s;
if (loginState == "logged_in") {
s = "<div id=\"divAddButtonFlyout\" class=\"NPaddFlyout\" style=\"text-align: center\"><img style=\"position: relative; right: 3px; top: 20px \" src=\"/includes/common/images/ajax-loader.gif\"/></div>"
}
else {
s = "<div id=\"divAddButtonFlyout\" class=\"addFlyout_anon\" style=\"text-align: center\"><div class=\"NPgetitFlyout_close\"></div><img style=\"position: relative; top: 20px; right: 4px \" src=\"/includes/common/images/ajax-loader.gif\"/></div>"
}
return s;
},
showNewSavedCart: function() {
setDivVisible('divAddFlyout_existing', false);
setDivVisible('divAddFlyout_new', true);
},
createNewSavedCart: function(sEncryptedSessionId) {
var sName = "";
sName = document.getElementById("txtNewSavedCartName").value;
var bClose = false;
try {
if (sName == "" || sName.toUpperCase() == "(ENTER SAVED CART NAME)") {
alert("Please name your Saved Cart");
return;
}
setDivVisible("divFlyoutOKButton", false);
setDivVisible("divFlyoutOKButton_loading", true);
var res = JBS.SiteManager.UI.Public.Ajax.Cart.SavedCartAddHandler.createNewSavedCart(sName, sEncryptedSessionId, false, createSavedCart_callback);
}
catch (e) {
//ajaxLogIt("NowPlaying.js::createPlaylist_confirm", "createPlaylist_confirm unhandled error: " + e.message, true);
}
if (bClose)
this.hide();
},
saveOverExistingSavedCart: function(sEncryptedSessionId) {
var sel = document.getElementById("cboSavedCarts");
var bChkAppend = document.getElementById("chkAppend").checked;
//writePersistentCookie("_pl_prev", sel.options[sel.selectedIndex].value, "months", 3, g_DomainName);
setDivVisible("divSCFlyoutOKButton", false);
setDivVisible("divSCFlyoutOKButton_loading", true);
res = JBS.SiteManager.UI.Public.Ajax.Cart.SavedCartAddHandler.saveOverExistingSavedCart(sel.options[sel.selectedIndex].value, bChkAppend, sEncryptedSessionId, saveOverExistingSavedCart_callback);
},
hide: function() {
JBSPopup.hide();
},
newSavedCartTextOnKeyPress: function(event, sEncryptedSessionId) {
if (event && event.keyCode == 13) {
this.createNewSavedCart(sEncryptedSessionId);
return false;
}
else
return true;
}
};
function createSavedCart_callback(res) {
var bShowSucessfulSave = true;
if (res != null || res != undefined) {
if (res.HasError) {
alert(res.ErrorDescription);
if (res.IsFailedSave) {
bShowSucessfulSave = false; 
setDivVisible("divFlyoutOKButton", true);
setDivVisible("divFlyoutOKButton_loading", false);
}
}
if (bShowSucessfulSave) {
bClose = true;
var sMsg = "Your Saved Cart has been created. You can manage it at any time by going to <a href=\"/Myaccount/SavedCarts/SavedCartList.aspx\">My Account -> Manage Saved Carts.</a><br /><br /><a href=\"javascript:;\" style=\"color:green\" onclick=\"clearCart()\">Start a New Cart</a>";
showGenericPopup(sMsg);
} 
} 
else {
alert("Sorry, we are unable to create your Saved Cart at this time.\n\n(In order to create a Saved Cart you must first be logged in)");
}
}
function saveOverExistingSavedCart_callback(res) {
if (res != null || res != undefined) {
if (res.HasError == false) {
//writePersistentCookie("_pl_prev", res.value.Id, "months", 3, g_DomainName);
bClose = true;
var sMsg = "Your Saved Cart has been created. You can manage it at any time by going to <a href=\"/Myaccount/SavedCarts/SavedCartList.aspx\">My Account -> Manage Saved Carts.</a><br /><br /><a href=\"javascript:;\" style=\"color:green\" onclick=\"clearCart()\">Start a New Cart</a>";
showGenericPopup(sMsg);
} else {
alert(res.ErrorDescription);
}
} else {
alert("Sorry, we are unable to create your Saved Cart at this time.\n\n(In order to create a Saved Cart you must first be logged in)");
JBSPopup.hide();
}
}
function showGenericPopup(sMsg) {
var sContent = "<div id=\"divAddFlyout_new\" class=\"NPaddFlyout\">" + 
"<div id=\"divAddFlyoutClose\" style=\"position: relative; left: 162px;\" class=\"NPgetitFlyout_close\"><img src=\"/includes/common/images/close_X.gif\" border=\"0\" onclick=\"AddButton.hide();\"/></div>" +
"<div id=\"divAddFlyoutOptions\" style=\"position: relative; left: 18px; bottom: 5px;\">" +
"<div id=\"divFlyoutContent\" style=\"width: 77%\" align=\"left\">" +
sMsg + 
"</div>" +
"</div>" +
"</div>";
JBSPopup.display(sContent);
}
function isMoz(){
//var moz = false;
if ( !document.layers ){
var nav = (navigator.userAgent.indexOf( 'Navigator' ) != -1);
var konq = (navigator.userAgent.indexOf( 'Konqueror' ) != -1 );
var saf = ( navigator.userAgent.indexOf( 'Safari' ) != -1 );
var moz = ( navigator.userAgent.indexOf( 'Gecko' ) != -1 && !nav && !saf && !konq && (navigator.userAgent.indexOf('Firefox/1.5') >= 0 || navigator.userAgent.indexOf('Firefox/2') >= 0));
}
return moz;
}
function getObjWidth(obj){
return obj.childNodes[0].width;
}
function getObjHeight(obj){
return obj.childNodes[0].height;
}
function generic_ajax_show_callback(res){
if (res.error == null)
JBSPopup.display(res);
}
function getCookieValue (cookieName) {
var exp = new RegExp (escape(cookieName) + "=([^;]+)");
if (exp.test (document.cookie + ";")) {
exp.exec (document.cookie + ";");
return unescape(RegExp.$1);
}
else return false;
}
function writePersistentCookie (CookieName, CookieValue, periodType, offset, domain) {
var expireDate = new Date ();
offset = offset / 1;
var myPeriodType = periodType;
switch (myPeriodType.toLowerCase()) {
case "years":
expireDate.setYear(expireDate.getFullYear()+offset);
break;
case "months":
expireDate.setMonth(expireDate.getMonth()+offset);
break;
case "days":
expireDate.setDate(expireDate.getDate()+offset);
break;
case "hours":
expireDate.setHours(expireDate.getHours()+offset);
break;
case "minutes":
expireDate.setMinutes(expireDate.getMinutes()+offset);
break;
default:
alert ("Invalid periodType parameter for writePersistentCookie()");
break;
} 
document.cookie = escape(CookieName ) + "=" + escape(CookieValue) + "; expires=" + expireDate.toGMTString() + "; path=/" + ((domain) ? "; domain=" + domain : "");
} 
function setDivVisible(name, bVisible){
var div = document.getElementById(name);
if (div){
if (bVisible)
div.style.display = "";
else
div.style.display = "none";
}
}
function clearCart() {
JBS.SiteManager.UI.Public.Ajax.Cart.SavedCartAddHandler.clearCart(document.getElementById('hdnPs').value, clearCart_callback);
}
function clearCart_callback(res) {
window.location = "/myaccount/cart.aspx";
}
