﻿if(!window["console"]) window["console"] = {log:function(){}, dir:function(){}};
if (!Array.prototype.indexOf) {Array.prototype.indexOf = function(arr){for (var i = 0; i < this.length; i++) {if (this[i] == arr) {return i;} } return -1; } } 


(function(){
	var $ = jQuery;
	
	window["shop"] = (function(){
	
		function shop(){
			var I = this;
			I.$I=$(I);
		}
		
		shop.prototype={
			className:"shop",
			$I:null,
			recOffset:1,
			co2Total:0,
			cartURL:"",
			addToCartURL:"",
			products:{},
			
			getProductsBy:function(by, val){
				var I = this,
				returnProducts=[];
				if(by==null)by="code";
				for(var pName in I.products){
					var product = I.products[pName];
					if(product[by]==val) returnProducts.push(product);
				}				
				return returnProducts;
			},
			
			addProductsToCart:function(){
				var
                    I=this,
                    url = I.addToCartURL,
                    products = I.products,
                    form = $("<form id='productForm' name='productForm' action='"+url+"' method='post' style='display:none;'></form>");

                for(var pName in products) {
                    var product = products[pName];
                    if (product.isSelected)
                    {
                        var hiddenField = $("<input type='hidden' name='"+I.buildProductName( product )+"' value='"+product.quantity+"'/>");						
						form.append(hiddenField);
                    }
                }
				console.log(form.html());
                $("body").append(form);
				
				setTimeout(function(){
					form.submit();
				}, 100);
                return false;
				
			},
		
			toMoneyString:function(num){
				var str = num.toString();
				str = str.replace(/\.([0-9])$/, ".$10");
				str = str.replace(/^([0-9]*)$/, "$1.00");
				return "$"+str;
			},
			
			buildProductCartURL:function(product){
				 var I=this,
				 url = I.addToCartURL,
				 parms = [
					"ProductCode="+product.code,
					"variantid="+(product.isRecurring ? product.recurringVariant : product.variant),
					"quantity="+(product.quantity)
				 ];
				 url = url + parms.join("&");
				 //console.log(url);
				 return url;
			},
			
			buildProductName:function(product){
			        
			    name = "Qty_"+product.code+"_"+(product.isRecurring ? product.recurringVariant : product.variant)+"_0_0"
			    
			    return name;
			}
		}
		
		
		return new shop();
	
	})();
	
	
	
	
				
})();

