// Modal Dialog Box functions
//---------------------------
addAlbumDialog = function addAlbumDialog(link) {
// addAlbumDialog.dialog = null; /* To not create a global variable, the object's created as function property */
// Addition to html document DIV of dialog box container ...
if(Core.getElementU('add_album_dialog') == null){
if(!addAlbumDialog.box){
addAlbumDialog.box = document.createElement("div");
addAlbumDialog.box.setAttribute("id", "add_album_dialog");
addAlbumDialog.box.setAttribute("style", "display: none;");
}
document.getElementsByTagName("body")[0].appendChild(addAlbumDialog.box);
} // ... eoc
advAJAX.post({
cmd : "add_album_to_cart",
url : ''+document.location+link,
onLoading: function(obj) {
var load_str = "
Loading...";
Core.flushElementCache();
if(!addAlbumDialog.dialog) {
addAlbumDialog.dialog = new ModalDialog('add_album_dialog');
}
addAlbumDialog.dialog.show();
addAlbumDialog.dialog.setContent(load_str);
},
onSuccess : function(obj) {
/* var response = obj.responseText.split("|"); */
if(addAlbumDialog.dialog != null && obj.responseText != 'error') {
/* addAlbumDialog.dialog.setWidth(480); */
addAlbumDialog.dialog.setContent(obj.responseText);
} else {
var err_tpl = "You cannot add this album to the shopping cart.
";
addAlbumDialog.dialog.setContent(err_tpl);
// alert('System error. Please reload this page ().');
}
},
onError : function(obj) {
alert('System error. Please reload this page ().');
}
});
}
closeAddAlbumDialog = function closeAddAlbumDialog (action) {
if(addAlbumDialog.dialog != null) {
addAlbumDialog.dialog.hide();
switch(action) {
case 'gotoalbum':
_setPhotoQuantity();
_setAllPrintOrders();
break;
default:
_setPhotoQuantity();
break;
};
AddAlbum.descructor();
}
}
function _setAllPrintOrders(type) {
var OrderedPrint = "http://images.fotki.com/order_print_new-1.gif";
var notOrderedPrint = "http://images.fotki.com/pixel.gif";
type = type ? type : 'photo_print';
try {
if(page.photos) {
for(var idPhoto in page.photos) {
page.photos[idPhoto].types[type] = 1;
page.photos[idPhoto].is_checked_at_page = 1;
var obj = document.getElementsByName(type+idPhoto)[0];
if(obj) {
obj.src = OrderedPrint;
}
}
}
}
catch (ex) {
return;
}
}
function _getOrderedPhotoCount(type){
type = type ? type : 'photo_print';
var count = 0;
try {
if(page) {
for(var idPhoto in page.photos) {
if(document.getElementsByName(type+idPhoto)[0] && page.photos[idPhoto].types[type] == 1){
count++;
}
}
}
}
catch (ex) {
return 0;
}
return count;
}
function _setPhotoQuantity () {
try {
if(page) {
for(var idPhoto in page.photos) {
if(page.photos[idPhoto]){
var q = parseInt(page.photos[idPhoto].quantity);
var v = parseInt(AddAlbum.value["factor"]);
page.photos[idPhoto].quantity = (page.photos[idPhoto].is_checked_at_page ? q : v);
}
}
}
}
catch (ex) {
return 0;
}
}
// Extra functions
//----------------
addAlbumToCart = function addAlbumToCart(path, el_name, form_name, to_back){
form_name = form_name ? form_name : "add_album";
el_name = el_name ? el_name : "clear";
var form = Core.getElementU(form_name);
var radio_el;
var pr_format = pr_paper = "";
var btn_1, btn_2;
for(var i = 0; i < form.elements.length; i++) {
radio_el = form.elements[i];
if(radio_el.name == "format" && radio_el.checked == true) {
pr_format = radio_el.value;
} else if(radio_el.name == "paper" && radio_el.checked == true) {
pr_paper = radio_el.value;
}
if(pr_format && pr_paper) break;
}
advAJAX.post({
cmd : "addalbum",
url : path,
f_back : (to_back ? '1' : '0'),
clear : (Core.getElementU(el_name).checked == true ? "1" : "0"),
format : pr_format || "size4x6_1",
paper : pr_paper || "glossy",
timeout : (1000 * 30),
onTimeout : function () {
//Core.setText("addalbum_progress", "");
addAlbumDialog.dialog.setContent2("addalbum_progress", "");
alert("Connection timed out. Pleace try again later.");
if (btn_1 = Core.getElementU("addandgotocart_button")) btn_1.disabled = false;
if (btn_2 = Core.getElementU("addandgotoalbum_button")) btn_2.disabled = false;
closeAddAlbumDialog('gotoalbum');
},
onLoading : function(obj){
//Core.setText("addalbum_progress", "
");
addAlbumDialog.dialog.setContent2("addalbum_progress", "
");
if (btn_1 = Core.getElementU("addandgotocart_button")) btn_1.disabled = true;
if (btn_2 = Core.getElementU("addandgotoalbum_button")) btn_2.disabled = true;
},
onSuccess : function(obj){
var response = obj.responseText.split("|");
//Core.setText("addalbum_progress", "");
addAlbumDialog.dialog.setContent2("addalbum_progress", "");
if (btn_1 = Core.getElementU("addandgotocart_button")) btn_1.disabled = false;
if (btn_2 = Core.getElementU("addandgotoalbum_button")) btn_2.disabled = false;
if (response[0] == "ok") {
try {
if(to_back) {
CHint.setQuantity(response[1]);
closeAddAlbumDialog('gotoalbum');
} else {
document.location = response[1];
Core.flushElementCache();
var load_str = "
Loading...";
addAlbumDialog.dialog.setContent(load_str);
Core.addEvent(window, 'unload', closeAddAlbumDialog);
}
} catch (ex) {
try {
closeAddAlbumDialog('gotoalbum');
} catch(ex) {
return;
}
}
} else {
alert('System error.');
closeAddAlbumDialog();
}
return true;
},
onError : function(obj) {
if (btn_1 = Core.getElementU("addandgotocart_button")) btn_1.disabled = false;
if (btn_2 = Core.getElementU("addandgotoalbum_button")) btn_2.disabled = false;
//Core.setText("addalbum_progress", "");
addAlbumDialog.dialog.setContent2("addalbum_progress", "");
alert('System error. Please reload this page ().');
}
});
}
function _clearChecked(e) {
if (e != null) {
var el = (typeof(e) == 'object') ? e : Core.getElementU(e);
}
if(typeof(e) == 'object') {
if(el.checked) {
Core.hideElement('cartinfo');
Core.hideElement('totalinfo');
} else {
Core.showElement('cartinfo');
Core.showElement('totalinfo');
}
} else {
if(el.checked) {
el.checked = false;
Core.showElement('cartinfo');
Core.showElement('totalinfo');
} else {
el.checked = true;
Core.hideElement('cartinfo');
Core.hideElement('totalinfo');
}
}
}
// Code of the price calculation;
// require global obj of the price
// (default: price_simple on view_folder ... .tpl)
//------------------------------------------------
AddAlbum = function(){}
AddAlbum.init_data = null;
AddAlbum.value = { "format":"size4x6_glossy", "paper":"glossy", "factor":1 };
AddAlbum.price = null;
AddAlbum.descructor = function () {
AddAlbum.init_data = null;
AddAlbum.value = { "format":"size4x6_glossy", "paper":"glossy", "factor":1 };
AddAlbum.price = null;
}
AddAlbum.calc = function(el, price){
if(AddAlbum.price == null) {
if(!price || price == null){
AddAlbum.price = { "size4x5_glossy":0.09, "size4x5_matte":0.09, "size4x6_glossy":0.09, "size4x6_matte":0.09, "size5x7_glossy":0.40, "size5x7_matte":0.40, "size8x10_glossy":1.50, "size8x10_matte":1.50, "size3x5_glossy":0.09, "size3x5_matte":0.09 };
} else {
AddAlbum.price = price;
}
}
if(AddAlbum.value == null) {
AddAlbum.value = { "format":"size4x6_glossy", "paper":"glossy", "factor":1 };
}
if(AddAlbum.init_data == null) {
var data = new Object();
data["cartquantity"] = Core.getText("cartquantity");
data["albumquantity"] = Core.getText("albumquantity");
data["cartsum"] = Core.getText("cartsum");
if(data["cartsum"].indexOf("$") != -1) {
data["cartsum"] = data["cartsum"].substr(data["cartsum"].indexOf("$")+1);
}
// data["albumsum"] = Core.getText("albumsum");
// if(data["albumsum"].indexOf("$") != -1) {
// data["albumsum"] = data["albumsum"].substr(data["albumsum"].indexOf("$")+1);
// }
AddAlbum.init_data = data;
} // end of init
if(el.name == "format") {
var mass = el.value.split("_");
AddAlbum.value["format"] = mass[0]+"_"+AddAlbum.value["paper"];
AddAlbum.value["factor"] = mass[1];
} else if(el.name == "paper") {
var mass = AddAlbum.value["format"].split("_");
AddAlbum.value["paper"] = el.value;
AddAlbum.value["format"] = mass[0]+"_"+el.value;
}
var album_quantity = AddAlbum.value["factor"] * AddAlbum.init_data["albumquantity"];
var total_quantity = album_quantity*1 + AddAlbum.init_data["cartquantity"]*1;
var album_sum = album_quantity * AddAlbum.price[AddAlbum.value["format"]];
var total_sum = album_sum*1 + AddAlbum.init_data["cartsum"]*1;
Core.setText("albumquantity", album_quantity);
Core.setText("totalquantity", total_quantity);
Core.setText("albumsum", "$"+Core.formatMoney(album_sum));
Core.setText("totalsum", "$"+Core.formatMoney(total_sum));
}