
var ACTIONS = {
    'PullList':{
	'addOneToQty': function() {
		var itemID = $(this).attr('itemID');
		addOneSuccess = SERVICES.pullList.addOneToQty(itemID);
		if (addOneSuccess) {
			var currNum = $('#pull_number_'+itemID).html();
			$('#pull_number_'+itemID).html(parseInt(currNum)+1);
		}
		return false;
	},
	'subtractOneToQty': function() {
		var itemID = $(this).attr('itemID');
		var pull_number = $('#pull_number_'+itemID).html();
		if (parseInt(pull_number) == 1) {
    			var removeSuccess = SERVICES.pullList.removeItem(itemID,{'success':ACTIONS.ViewListings.swapPullListItem});
		} else {
			subtractOneSuccess = SERVICES.pullList.subtractOneFromQty(itemID);
			if (subtractOneSuccess) {
				var currNum = $('#pull_number_'+itemID).html();
				$('#pull_number_'+itemID).html(parseInt(currNum)-1);				
			}
		}
		return false;
	},
        'addItemClick':function(){
            if(USER['authenticated'] == 0){
                //trigger login window
                $('#login').jqmShow();
                return false;
            }
    		var itemID = $(this).attr('itemID');
    		var addSuccess = SERVICES.pullList.addItem(itemID);
    		//if success handle a dom manipulation
    		//else handle error 
    		return false;
    	},
    	'removeItemClickToggleBtn':function(){
    	    if(USER['authenticated'] == 0){
                //trigger login window
                $('#login').jqmShow();
                return false;
            }
    		var itemID = $(this).attr('itemID');
    		var removeSuccess = SERVICES.pullList.removeItem(itemID,{'success':ACTIONS.ViewListings.swapPullListItem});
    		//if success handle a dom manipulation
    		//else handle error
    		return false;
    	},
    	'removeItemClickRemoveFromDOM':function(){
    	    if(USER['authenticated'] == 0){
                //trigger login window
                $('#login').jqmShow();
                return false;
            }
    		var itemID = $(this).attr('itemID');
    		var removeSuccess = SERVICES.pullList.removeItem(itemID,{'success':ACTIONS.ViewPullList.removePullListItem});
    		//if success handle a dom manipulation
    		//else handle error
    		return false;
    	}
    },
    'ViewListings':{
        'swapPullListItem':function(obj, itemID) {
		    //console.log(obj);
		    if(obj['result'] == 'success'){
		        $btn = $('#item-btn-'+itemID);
			$pull_btn = $('#pull_buttons_'+itemID);	
			$btn.show();
			$pull_btn.hide();
		        //$btn.removeClass('removeItem');
		        //$btn.addClass('addItem');
		        //redelegate events
		        //$btn.unbind('click');  //<unbind old click event
		        //$btn.bind('click',ACTIONS.PullList.addItemClick);
		    }
			
		}
    },
    
    'ViewPullList':{
        'removePullListItem':function(obj, itemID) {
		    if(obj['result'] == 'success'){
		        alert('PullList Item Removed Successfully!');
		        //instead of button swap, we are going to drop the html block
		        $removedItemDiv = $('#item-container-'+itemID);
		        $removedItemDiv.remove();
		    }
		    if (obj['result'] == 'error') {
		       alert(obj['message']);
		    }
		}
    },

    'Subscription':{
      'Listings':{
          'addSubscription':function(){
              if(USER['authenticated'] == 0){
                  //trigger login window
                  $('#login').jqmShow();
                  return false;
              }
            var itemID   = $(this).attr('itemid');
      		var seriesID = $(this).attr('seriesid');
      		var params = {'itemID':itemID, 'seriesID':seriesID};
      		var addSuccess = SERVICES.subscription.addSubscription(params);
      		//if success handle a dom manipulation
      		//else handle error 
      		return false;
          }
      }
        
    },
    
    'BrowseBox':{
        'publisherSelect':function(){
            var urlValue = $(this).val();
            if(urlValue){
                window.location.replace(urlValue);
            }
        },
        'monthSelect':function(){
            $yearSelect  = $("#browse-year-select");
            $monthSelect = $("#browse-month-select");
            
            //values access
            var year  = $yearSelect.val();
            var month = $monthSelect.val();
            
            SERVICES.browseBox.getBrowseBox(year,month);
            

        },
        'yearSelect':function(){
            //dom prep
            var $yearSelect  = $("#browse-year-select");
            var $monthSelect = $("#browse-month-select");
            
            //values access
            var year  = $yearSelect.val();
            var month = $monthSelect.val();
            

            SERVICES.browseBox.getBrowseBox(year,month);
            
            

        },
	'formatSelect':function(){
	   var format = $("#browse-formats").val();
	   var loc = window.location.pathname;
   	   if (format) {
	      window.location.replace(loc+format);
	   } 
	}
    }
    
    
}

function buyItem(id,item_id,title,price,redirect,in_inventory,rates_id,specialty,sku) {
var rates = $('#'+rates_id).val();
  itemArray = {"id":id,
  "item_id":item_id,
	       "title":title,
	       "price":price,
	       "in_inventory":in_inventory,
	       "qty":1,
	       "rates":rates,
	       "specialty":specialty,
	       "sku":sku
  };
  $.ajax({
    type: "POST",
	url: "/services/cart/add/",
	data: itemArray,
	success: function(success) {
	if (success) {
	  window.location = "/cart?redirect_url="+redirect;
	}
      }
    });
}

function addPulllistToCart(redirect) {
	$.ajax({
		type:"POST",
		url: "/services/pulllist/addtocart/",
		dataType: 'html',
		success: function(success) {
	    		 window.location = "/cart?redirect_url="+redirect;
		}
	});
}

function deleteAddress(address_id) {
	 $.ajax({
		type:"POST",
		url: "/services/delete_address/"+address_id,
		dataType:'html',
		success: function(success) {
			 if (success) {
			    window.location.reload();
			 }
		 }
	 });
}

function toggleDisplay(id) {
	var item = document.getElementById(id);
	
	if($('#'+id).css('display') == 'none') {	
		$('#'+id).fadeIn('normal')
	} else {
		$('#'+id).fadeOut('normal')
	}
}
function addSubQty(use_id) {
   var sub_qty = parseInt($('#'+use_id+' .subscription_qty').val());
   sub_qty += 1;
   $('#'+use_id+' .subscription_qty').val(sub_qty);
}

function subtractSubQty(use_id) {
   var sub_qty = parseInt($('#'+use_id+' .subscription_qty').val());
   if (sub_qty == 1) return false;
   sub_qty -= 1;
   $('#'+use_id+' .subscription_qty').val(sub_qty);
}


