/** ********************************************** **
@Shop Demo [usage example]
@Last Update 10:19 AM Wednesday, May 13, 2015
*************************************************** **/
jQuery(document).ready(function() {
_shop();
});
/** _shop()
******************************* **/
function _shop() {
/* ******************* PHP URL TO POST *************** */
var URL_POST = 'php/view/demo.shop.php'; // CHANGE IT!
/* *************************************************** */
/** ADD TO WISHLIST
** *********************** **/
jQuery("a.add-wishlist").bind("click", function(e) {
e.preventDefault();
var item_id = jQuery(this).attr('data-item-id');
if(parseInt(item_id) < 1) {
return false;
}
$.ajax({
url: URL_POST,
data: {ajax:"true", action:'add_to_wishlist', item_id:item_id},
type: "POST",
error: function(XMLHttpRequest, textStatus, errorThrown) {
// usualy on headers 404 or Internal Server Error
_toastr("ERROR 404 - Item Not Added to Wishlit!","top-right","error",false);
},
success: function(data) {
data = data.trim(); // remove output spaces
// PHP RETURN: INVALID ITEM ID
if(data == '_invalid_id_') {
_toastr("INVALID ID - Item Not Added to Wishlit!","top-right","error",false);
} else
// PHP RETURN: OK, ADDED TO WISHLIST
if(data == '_ok_') {
_toastr("Item Added to Your Wishlit!","top-right","success",false);
// PHP RETURN: SOMETHING ELSE THAN EXPECTED
} else {
// if the php output is not _invalid_id_ OR _ok_ - maybe you have a php errors/warnings
_toastr("UNKNOWN ERROR - Item Not Added to Wishlit!","top-right","error",false);
}
}
});
});
/** ADD TO COMPARE
** *********************** **/
jQuery("a.add-compare").bind("click", function(e) {
e.preventDefault();
var item_id = jQuery(this).attr('data-item-id');
if(parseInt(item_id) < 1) {
return false;
}
$.ajax({
url: URL_POST,
data: {ajax:"true", action:'add_to_compare', item_id:item_id},
type: "POST",
error: function(XMLHttpRequest, textStatus, errorThrown) {
// usualy on headers 404 or Internal Server Error
_toastr("ERROR 404 - Item Not Added to Compare List!","top-right","error",false);
},
success: function(data) {
data = data.trim(); // remove output spaces
// PHP RETURN: INVALID ITEM ID
if(data == '_invalid_id_') {
_toastr("INVALID ID - Item Not Added to Compare List!","top-right","error",false);
} else
// PHP RETURN: OK, ADDED TO WISHLIST
if(data == '_ok_') {
_toastr("Item Added to Your Compare List!","top-right","success",false); // OPTIONAL: REPLACE false WITH YOUR COMPARE LINK
// PHP RETURN: SOMETHING ELSE THAN EXPECTED
} else {
// if the php output is not _invalid_id_ OR _ok_ - maybe you have a php errors/warnings
_toastr("UNKNOWN ERROR - Item Not Added to Compare List!","top-right","error",false);
}
}
});
});
/** PRODUCT SINGLE
** *********************** **/
/**
@COLOR SELECTOR
**/
jQuery("#product-color-dd li a").bind("click", function(e) {
e.preventDefault();
var data_val = jQuery(this).attr('data-val').trim();
_color = jQuery(this).attr('href').trim();
/* change visual value and hidden input */
jQuery("#product-selected-color").css({"background-color":_color});
jQuery("#color").val(data_val); // UPDATE HIDDEN FIELD
});
/**
@SIZE SELECTOR
**/
jQuery("#product-size-dd li a").bind("click", function(e) {
e.preventDefault();
var data_val = jQuery(this).attr('data-val').trim();
/* change visual value and hidden input */
jQuery("#product-selected-size>span").empty().append(data_val);
jQuery("#size").val(data_val); // UPDATE HIDDEN FIELD
/* change visual selected */
jQuery("#product-size-dd li").removeClass('active');
jQuery(this).parent().addClass('active');
});
/**
@QTY SELECTOR
**/
jQuery("#product-qty-dd li a").bind("click", function(e) {
e.preventDefault();
var data_val = jQuery(this).attr('data-val').trim();
/* change visual value and hidden input */
jQuery("#product-selected-qty>span").empty().append(data_val);
jQuery("#qty").val(data_val); // UPDATE HIDDEN FIELD
/* change visual selected */
jQuery("#product-qty-dd li").removeClass('active');
jQuery(this).parent().addClass('active');
});
/** CHECKOUT
** *********************** **/
// New Account show|hide
jQuery("#accountswitch").bind("click", function() {
jQuery('#newaccount').slideToggle(200);
});
// Shipping Address show|hide
jQuery("#shipswitch").bind("click", function() {
jQuery('#shipping').slideToggle(200, function() {
// scroll down to shipping area.
if(jQuery('#shipping').is(":visible")) {
_scrollTo('#shipping', 150);
}
});
});
// Payment Check/Money Order
jQuery("#payment_check").bind("click", function() {
jQuery("#ccPayment").slideUp(200);
});
// Credit Card
jQuery("#payment_card").bind("click", function() {
jQuery("#ccPayment").slideDown(200);
});
}