/**
 * Storefront Web Management Widgets.
 */
(function($){
	/**
	 * Include functions that need to be called on document.ready 	
	 */
    $(document).ready(function(){
        $.getProductPrice();
    });
    
    /**
     * Price Widget
     * Function to get the price using Ajax. 
     * Example html snippet this function will look for and parse the product code string
     * <div class="SFDynamicPricing">
     *   <!-- productCode:unit:term:attrCode:attrValue -->
     *   <span class="DOM_COM:YEAR:1"></span>
     * </div>
     */
    $.getProductPrice = function() {
        $("div.SFDynamicPricing").each(function(d) {
            var p = $(this).find("span").attr("class");
            var pObj = parseProductCodeString(p,d);
            $.getJSON('/jsonPricingRetrieve.do?method-pricingRetrieve',pObj,function(data){
            	$("div:eq("+ data.index +")").text(data.price);
            });
            
        });
    };
    
    /**
     * Function to create product code object.
     * Params - product code string and div index
     * Output - object
     */
    function parseProductCodeString(pCode,index) {
        var pc = pCode;
        var parr = pCode.split(":");
        var pjObj = {};
        pjObj.productCode = parr[0]; //productCode
        pjObj.unit = parr[1]; //unit
        pjObj.term = parr[2]; //term
        pjObj.attrCode = (parr[3]) ? parr[3] : ""; //attrCode
        pjObj.attrValue = (parr[4]) ? parr[4] : ""; //attrValue
        pjObj.index = index;
        
        return pjObj;
    };
})(jQuery);
