// 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)); }