var ashoe = {}
ashoe.view = {}
ashoe.Ashoe = {
		recent_createSizesList_rangesOnly:'',
	starting:true,
	reviewsOnPage:7,
	sizeRanges:["18_23","24_27","28_35","36_46"],
	start:function(){
	if(cms2.loadRegistry.HistoryManager){
		ashoe.Ashoe.init();
	}else{
		cms2.eventDispatcher.addEventListener('HistoryManagerLoad',ashoe.Ashoe.init);
	}
},
	init:function(){
	cms2.historyInit()
		var jsCookie=new jslt.CokiesLib()
		if(!jsCookie.checkCookie(true)){
			alert("Włącz cookies - minimalnie cookies sesyjne")
			return
		}
		if(urlFilteredData=="" && urlShoe==""){
			ashoe.Ashoe.starting=false;
		}
		ashoe.Ashoe.resetFilters()
		var mInstName="ashoe.Ashoe.menu"
		        var menuIds=[]
		         $('.CM2Menu').each(function(){
		        	 var sizePart = String(this.id).substr(9, 15);
		 			menuIds.push(this.id)
		 			document.getElementById("sizeArea" + sizePart).onmouseover=new Function(mInstName+".showMenu('"+this.id+"')")
		         });
		ashoe.Ashoe.menu=new cm.CM2(mInstName,menuIds)
        $(document).mouseup(function(){ashoe.Ashoe.menu.hideAll()})
		ashoe.Ashoe.tabView = new jslt.TabView("tabView");
		ashoe.Ashoe.assignEvents()
		ashoe.Ashoe._createSizesList(document.getElementById("categoriesList").value=='skarpety')
		if(!cms2.historyFireCurrentState(true))
		ashoe.Ashoe.selectStartPage()
		ashoe.Ashoe.callService("ShoppingDelegate", "generateSessionId", {
            success: ashoe.Ashoe.evSessionStarted
        });
		cms2.SocialMediaFacebook.showLikeButton("http://www.facebook.com/pages/butkipl/224485197591444")
},
selectStartPage:function(){
	ashoe.Ashoe.tabView.selectById("start_page",true)
	ashoe.Ashoe.startPromoItems()
},
	resetFilters:function(){
		document.getElementById("promotionList").selectedIndex=0;
		document.getElementById("categoriesList").selectedIndex=0;
		document.getElementById("gendersList").selectedIndex=0;
		document.getElementById("colorsList").selectedIndex=0;
		document.getElementById("sizesList").selectedIndex=0;
	},
	_createSizesList:function(rangesOnly){
		if((ashoe.Ashoe.recent_createSizesList_rangesOnly=='n' && !rangesOnly) || (ashoe.Ashoe.recent_createSizesList_rangesOnly=='y' && rangesOnly)){//jeśli powtórzenie typu to zmieniaj
			return
		}
		ashoe.Ashoe.recent_createSizesList_rangesOnly=rangesOnly?'y':'n'
		var sizeOptionRef = document.getElementById("sizesList")
        jslt.element.removeAllChildren(sizeOptionRef)
        var optionEl = new jslt.element.Select()
        optionEl.createOption(sizeOptionRef, '', 'rozmiar - dowolnie');
        for(var i=0;i<allSizes.length;i++){
        	if(rangesOnly && allSizes[i].indexOf('-')==-1){
        		continue
        	}
        	if(!rangesOnly && allSizes[i].indexOf('-')>-1){
        		continue
        	}
        	optionEl.createOption(sizeOptionRef, allSizes[i], allSizes[i]);
        }
	},
	_selectIndexes:function(field,tokens,itemsUsed){
		if(!itemsUsed){
			itemsUsed=0
		}
		var searchTokens=tokens && tokens.length>0
		var maxItems=0;
		var hitedItems=[]
		for ( var i = 0; i < promoItems.length; i++) {
			if(promoItems[i][field]){
				if(searchTokens){
					var itemStrings=[];
					itemStrings.push(promoItems[i].name);
					itemStrings.push(promoItems[i].category);
					itemStrings.push(promoItems[i].gender);
					itemStrings=jslt.StringAlgoritms.baseWords(itemStrings)
					var hitToken=false
					for(var k=0;k<itemStrings.length;k++){
						for(var l=0;l<tokens.length;l++){
							if(itemStrings[k].length>3 && tokens[l].length>3 && (itemStrings[k].indexOf(tokens[l])>-1 || tokens[l].indexOf(itemStrings[k])>-1)){
								hitToken=true
								break
							}
						}
						if(hitToken){
							break
						}
					}
					if(hitToken){
						hitedItems.push(i)
						maxItems++;
					}
				}else{
				hitedItems.push(i)
				maxItems++;
				}
			}
		}
		if(maxItems==0){
			return [];
		}
		itemCnt=Math.min(2,maxItems);
		itemCnt-=itemsUsed
		var indexes = [];
		var loopCnt=0;
		while (true) {
			if(loopCnt++>1000){
				break;
			}
			if(promoItems.length==0){
				break;
			}
			var newItem = jslt.MathExtensions.randomInRange(0, promoItems.length - 1, true)
			if(hitedItems.indexOf(newItem)==-1){
				continue;
			}
			if(!promoItems[newItem][field]){
				continue;// nie ma pola
			}
			var passed = true;
			for ( var j = 0; j < indexes.length; j++) {
				if (indexes[j] == newItem) {
					passed = false;
					break;
				}
			}
			if (passed) {
				indexes.push(newItem);
			}
			if (indexes.length == itemCnt) {
				break;
			}
		}
		return indexes;
	}
	,report:function(ar,type){
		for(var i=0;i<ar.length;i++){
			console.log('name: '+ar[i].name+', category: '+ar[i].category+', gender: '+ar[i].gender)
		}
	}
	,promoItemsStarted:false
	,startPromoItems:function(){
		 var promoRef=document.getElementById('promoItemsHolder')
	        if(ashoe.Ashoe.promoItemsStarted){
	        	 return
	        }else{
	        	ashoe.Ashoe.promoItemsStarted=true
	        }
		var i;
		for (i = 0; i < promoItems.length; i++) {
			promoItems[i].isSunway=promoItems[i].producer.toLowerCase().indexOf('sunway')>-1
		}
		var indexes=[];
		var tokens=[]
		if(document.referrer){
			var sa=new jslt.SearchAnalyzer(jslt.LangUtils.decodePolish(document.referrer));//decodeURIComponent(unescape())
			tokens=sa.getTokens();
			if(tokens.length>0){
				tokens=jslt.StringAlgoritms.baseWords(tokens);
			}
		}
		var tmpA
		tmpA=ashoe.Ashoe._selectIndexes('isPromotion',tokens)
		if(tmpA.length<2)
			tmpA=tmpA.concat(ashoe.Ashoe._selectIndexes('isPromotion',[],tmpA.length))
		indexes=indexes.concat(tmpA);
		tmpA=ashoe.Ashoe._selectIndexes('isSunway',tokens)
		if(tmpA.length<2)
			tmpA=tmpA.concat(ashoe.Ashoe._selectIndexes('isSunway',[],tmpA.length))
		indexes=indexes.concat(tmpA);
		tmpA=ashoe.Ashoe._selectIndexes('isNew',tokens)
		if(tmpA.length<2)
			tmpA=tmpA.concat(ashoe.Ashoe._selectIndexes('isNew',[],tmpA.length))
		indexes=indexes.concat(tmpA);
		var grid=new jslt.Grid(3,2)

        promoRef.appendChild(grid.gridRef)
		var itemsReport=[]
        for(i=0;i<indexes.length;i++){
			var theItem=promoItems[indexes[i]];
			itemsReport.push(theItem)
			var type='Recomend';
			 if(theItem.isPromotion && i<2)  {
				 type='Promotion';
			 }else  if(theItem.isSunway && i<4)  {
				 type='Sunway';
			 }else if(theItem.isNew)  {
				 type='New';
			 }
			 var s="<div class='promoItemOuter'>";
			 var curId='promoItem'+i
			  s+='<div class="pointerCursor promoItemInner promoItem'+type+'" id="'+curId+'">' ;
			 s+='<span class="promoItemTitle promoItemTitle'+type+'"></span>' ;
				  if(theItem.isPromotion){
					  s+='<span class="priceNormal">'+theItem.price_promotion_brutto+' zł</span>';
					  s+='<span class="priceNoActual" >'+theItem.price_brutto+' zł</span>';
				  }else{
					  s+='<span class="priceNormal priceNormalSingle">'+theItem.price_brutto+' zł</span>';
				  }
			s+='<img src="/modules/Ashoe/buffer/images/small,'+theItem.idShoe+',0,1,'+imagesVersion+'.jpg" alt=""/>';
			s+='<span class="promoItemName"><span class="promoItemNamePart">model: </span>'+theItem.name+'</span>' ;
			s+='</div>';
					  s+='</div>';
			$(grid.next()).append($(s));
			$('#'+curId).click(new Function('ashoe.Ashoe.evShoeSelect('+theItem.idShoe+')'))
		}
		ashoe.Ashoe.report(itemsReport)
	},
    callService: function(service, method, callback, argsA){
		ashoe.view.ViewShoe.showHeaderInfo("")
		var postBody = ""
			if ($.isArray(argsA)) {
				var tmpAr = []
				for (var i = 0; i < argsA.length; i++) {
					if (typeof argsA[i] == "string") {
						tmpAr.push("k" + i + "=" + argsA[i])
					}
					else {
						tmpAr.push("k" + i + "=" + JSON.stringify(argsA[i]))
					}
				}
				postBody = tmpAr.join("&")
			}
			var p={}
			if(callback!=null && callback.success!=null){
				p.success=callback.success
			}
			p.error=ashoe.Ashoe.evServiceError
			var sName=service.indexOf('.')>-1?service:'ashoe.'+service
			p.url="/modules/amfphp2/json.php?service=" + sName + "." + method
			p.type='POST'
			p.data=postBody
			p.dataType='json'
			$.ajax(p)
    }
	,evServiceError: function(arg){
		ashoe.view.ViewCommon.operationState(false)
		ashoe.Ashoe.evError(arg)
	},

	evSessionStarted:function(responseO){
       var ret=ashoe.Ashoe.parseResponse(responseO);
		 ashoe.Ashoe.readBasket()
	},
    evShoeSelect: function(p){
		var id;
		ashoe.Ashoe.idColor=null
		ashoe.Ashoe.size=null
		ashoe.Ashoe.idOrderItem=null
		ashoe.Ashoe.quantity=null
		ashoe.view.ViewShoe.modifyingBasket=false
		if(typeof p=="object"){
			ashoe.view.ViewShoe.modifyingBasket=p.modifying
			id=p.idShoe
			ashoe.Ashoe.idColor=p.idColor
			if(p.size){
			ashoe.Ashoe.size=p.size
			}
			if(p.idOrderItem){
			ashoe.Ashoe.idOrderItem=p.idOrderItem
			}
			if(p.quantity){
			ashoe.Ashoe.quantity=p.quantity
			}
		}else{
			id=p
		}
		ashoe.view.ViewCommon.showLoadingState()
        ashoe.Ashoe.callService("ShoesDelegate", "getShoe", {
            success: ashoe.Ashoe.evShoeLoaded
        }, [id])
		if(!ashoe.Ashoe.starting){
			tracker.instance.trackContentView("/_get/idShoe/"+id);
		}
        return false;
    },
    evShoeLoaded: function(responseO){
		ashoe.view.ViewCommon.operationState(false)
        ashoe.Ashoe.shoe = ashoe.Ashoe.parseResponse(responseO);
	   ashoe.Ashoe.tabView.selectById("shoe",ashoe.Ashoe.tabView.getCurrentId()!="shoe")
        ashoe.view.ViewShoe.toHTML()

		ashoe.Ashoe.evColorSelect()
    },
    saveReview:function(review,person){
    	ashoe.Ashoe.callService("Ashoe", "saveReview", {
            success: ashoe.Ashoe.saveReviewResult
        }, [review,person])
    },
    saveReviewResult:function(){

    },
	evShoesFiltered:function(responseO){
		try{
			if(ashoe.Ashoe.filterFromMenu){
				var msg=ashoe.Ashoe.sizeRange
				msg=msg.replace(/_/,"-")
				msg="Modele w kategorii \""+ashoe.Ashoe.category+"\", rozmiary: "+msg
				ashoe.view.ViewShoe.showHeaderInfo(msg)
			}else{
				ashoe.view.ViewShoe.showHeaderInfo(ashoe.Ashoe.filteredMsg)
			}
			var shoesA=ashoe.Ashoe.parseResponse(responseO);
			ashoe.view.ViewShoe.showFiltered(shoesA)
			 ashoe.Ashoe.tabView.selectById("shoesFiltered",true)
		}catch(e){
			ashoe.Ashoe.evError(e)
		}

	},
    buildImagePath: function(size, idShoe, idColor, queue){
        var s = "/modules/Ashoe/buffer/images/"
        s += size
        s += ","
        s += idShoe
        s += ","
        s += idColor
        s += ","
        s += queue
        s += ","
        s += imagesVersion
        s += ".jpg"
        return s
    },
    evColorSelect: function(p){
		if(typeof p != "undefined" && typeof p.idColor != "undefined"){
			 ashoe.Ashoe.idColor =p.idColor
		}else{
			 ashoe.Ashoe.idColor = document.getElementById("shoeColorSelect").value
		}
        ashoe.view.ViewShoe.showViews()
    },
	evColorViewSelect: function(p){
		ashoe.Ashoe.shoeQueue=p.queue
		document.getElementById("shoeMiddleImage").src=ashoe.Ashoe.buildImagePath("size_300",ashoe.Ashoe.shoe.idShoe,ashoe.Ashoe.idColor,ashoe.Ashoe.shoeQueue)
    },
	evLargeImageSelect: function(){
		OverPageBrowser.instance.showImage(ashoe.Ashoe.buildImagePath("big",ashoe.Ashoe.shoe.idShoe,ashoe.Ashoe.idColor,ashoe.Ashoe.shoeQueue))
    },
	evFilterChange: function(){
		ashoe.Ashoe.filterFromMenu=false
		ashoe.view.ViewShoe.pageNum=0
		ashoe.Ashoe.filteredRead()
    },
	evFilteredPageChange: function(pageNum){
		ashoe.view.ViewShoe.pageNum=pageNum
		if(ashoe.Ashoe.filterFromMenu){
			ashoe.Ashoe.filterSizeRange()
		}else{
			ashoe.Ashoe.filteredRead()
		}
    },
	filteredRead:function(){
		ashoe.Ashoe.filteredMsg="Modele"
		var filter=[]
		var promocjaRef=document.getElementById("promotionList");
		if(promocjaRef.value=="isPromotion"){
			filter.push(promocjaRef.value);
			ashoe.Ashoe.filteredMsg+=" promocje"
		}else if(promocjaRef.value=="isNew"){
			filter.push(promocjaRef.value);
			ashoe.Ashoe.filteredMsg+=" nowości"
		}else if(promocjaRef.value=="isSunway"){
			filter.push(0);
			ashoe.Ashoe.filteredMsg+=" Sunway"
		}else{
			filter.push(0);
		}
		var categoryRef=document.getElementById("categoriesList");
		filter.push(categoryRef.value)
		if(categoryRef.value!=""){
			ashoe.Ashoe.filteredMsg+=" "+categoryRef.value
		}
		var genderRef=document.getElementById("gendersList");
		filter.push(genderRef.value)
		if(genderRef.value!=""){
			ashoe.Ashoe.filteredMsg+=" "+genderRef.value
		}
		var colorRef=document.getElementById("colorsList");
		filter.push(colorRef.value)
		if(colorRef.value!=""){
			ashoe.Ashoe.filteredMsg+=" kolor: "+colorRef.options[colorRef.selectedIndex].text
		}
		var sizeRef=document.getElementById("sizesList");
		filter.push(sizeRef.value)
		if(sizeRef.value!=""){
			ashoe.Ashoe.filteredMsg+=" rozmiar: "+sizeRef.value
		}
		filter.push(ashoe.view.ViewShoe.limitString())
		filter.push('');
		if(promocjaRef.value=="isSunway"){
			filter.push('sunway');
		}else{
			filter.push('');
		}
		cms2.historySave([],[{k:'filter',v:1},{k:'promocja',v:filter[0]},{k:'category',v:filter[1]},{k:'gender',v:filter[2]},{k:'kolor',v:filter[3]},{k:'size',v:filter[4]},{k:'limit',v:filter[5]},{k:'b',v:filter[6]},{k:'sunway',v:filter[7]}])
		ashoe.view.ViewCommon.showLoadingState()
		ashoe.Ashoe.callService("ShoesDelegate", "filterShoesJson", {
            success: ashoe.Ashoe.evShoesFiltered
        },filter)
	},
	evSizeCategorySelect:function(category,sizeRange,categorySimpleChars){
		cms2.historySave([],[{k:'category',v:category},{k:'sizeRange',v:sizeRange},{k:'categorySimpleChars',v:categorySimpleChars}])
		ashoe.Ashoe.filterFromMenu=true
		ashoe.Ashoe.category=category;
		ashoe.Ashoe.sizeRange=sizeRange;
		ashoe.view.ViewShoe.pageNum=0
		var msg=sizeRange
		msg=msg.replace(/_/,"-")
		msg="Modele w kategorii \""+category+"\", rozmiary: "+msg
		ashoe.view.ViewShoe.showHeaderInfo(msg)
		ashoe.Ashoe.filterSizeRange()
		if(!ashoe.Ashoe.starting){
			tracker.instance.trackContentView("/_get/category/"+categorySimpleChars+"/sizesRange/"+sizeRange);
		}
		return false
	}
	,filterSizeRange:function(){
		var filter=[0,ashoe.Ashoe.category,0,0,0,ashoe.view.ViewShoe.limitString(),ashoe.Ashoe.sizeRange]
		ashoe.view.ViewCommon.showLoadingState()
		ashoe.Ashoe.callService("ShoesDelegate", "filterShoesJson", {
            success: ashoe.Ashoe.evShoesFiltered
        },filter)
	},
    assignEvents: function(){
		$('#categoriesList').change(function(){
			ashoe.Ashoe._createSizesList(this.value=='skarpety')
		})
		$('#shoeColorSelect').change(function(){ashoe.Ashoe.evColorSelect()})
		$('#searchBtn').click(function(){ashoe.Ashoe.evFilterChange()})
$('#btnShortcutSunway').click(function(){
	ashoe.Ashoe.evTextRequired('richTextSunway')
});
$('#btnShortcutPromotions').click(function(){
	ashoe.Ashoe.resetFilters()
	$('#promotionList')[0].selectedIndex=1
	ashoe.Ashoe.evFilterChange()
});
$('#btnShortcutNew').click(function(){
	ashoe.Ashoe.resetFilters()
	$('#promotionList')[0].selectedIndex=2
	ashoe.Ashoe.evFilterChange()
});
$('#btnShortcutRecomended').click(function(){
	ashoe.Ashoe.evTextRequired('richTextRecomended')
});
$('#btnShortcutReviews').click(function(){
	ashoe.Ashoe.evReviewsRequired()
});
var buttonized=[{id:'shoeIsSunway',pos:'4px -205px'}];
for(var i=0;i<buttonized.length;i++){
	$('#'+buttonized[i].id).append('<div class="infoButtonInner" style="background-position:'+buttonized[i].pos+'">')
}
	},
	evAddToBasket:function(){
		var size=document.getElementById("shoeSizeSelect").value
		for(var i=0;i<ashoe.Ashoe.basket.orderItems.length;i++){
			var oi=ashoe.Ashoe.basket.orderItems[i]
			if(oi.idShoe==ashoe.Ashoe.shoe.idShoe
			&& oi.idColor==ashoe.Ashoe.idColor
			&& oi.size==size){
				ashoe.Ashoe.inform("But o tej nazwie , rozmiarze i kolorze już jest w koszyku")
				return
			}
		}
		ashoe.Ashoe.shoe.size=size
		ashoe.Ashoe.shoe.quantity=document.getElementById("shoeQuantitySelect").value
		ashoe.Ashoe.shoe.idColor=ashoe.Ashoe.idColor
		ashoe.view.ViewCommon.operationState(true)
		ashoe.Ashoe.callService("ShoppingDelegate", "addOrderItemJson", {
            success: ashoe.Ashoe.evOrderItemAdd
        },[ashoe.Ashoe.shoe.idShoe,
		ashoe.Ashoe.shoe.idColor,
		ashoe.Ashoe.shoe.size,
		ashoe.Ashoe.shoe.quantity])
	}
	,evUpdateOrderItem:function(){
		ashoe.view.ViewCommon.operationState(true)
		var orderItem={}
		orderItem.idShoe=ashoe.Ashoe.shoe.idShoe
		ashoe.Ashoe.shoe.idColor=orderItem.idColor=ashoe.Ashoe.idColor
		ashoe.Ashoe.shoe.size=orderItem.size=document.getElementById("shoeSizeSelect").value
		ashoe.Ashoe.shoe.quantity=orderItem.quantity=document.getElementById("shoeQuantitySelect").value
		orderItem.price=ashoe.Ashoe.shoe.price_sale_brutto;
		orderItem.color=document.getElementById("shoeColorSelect").options[document.getElementById("shoeColorSelect").selectedIndex].text;
		orderItem.idOrderItem=ashoe.Ashoe.idOrderItem
		orderItem.name=ashoe.Ashoe.shoe.name
		ashoe.Ashoe.callService("ShoppingDelegate", "updateOrderItemJson", {
            success: ashoe.Ashoe.evOrderItemUpdated
        },[orderItem])
	}
	,evOrderItemAdd:function(responseO){
		ashoe.view.ViewCommon.showMessage('Produkt dodano do koszyka')
		ashoe.Ashoe.idOrderItem=ashoe.Ashoe.parseResponse(responseO);
		ashoe.Ashoe.readBasket()
	},evOrderItemUpdated:function(responseO){
		ashoe.view.ViewCommon.showMessage('Zamówienie zmodyfikowane')
		ashoe.Ashoe.readBasket()
	}
	,readBasket:function(){
		ashoe.Ashoe.callService("ShoppingDelegate", "getBasket", {
            success: ashoe.Ashoe.evBasketRead
        })
	},
	evRemoveFromBasket:function(idOrder_item){
		ashoe.view.ViewCommon.operationState(true)
		ashoe.Ashoe.callService("ShoppingDelegate", "removeOrderItem", {
            success: ashoe.Ashoe.evRemovedFromBasket
        },[idOrder_item])
	}
	,evRemovedFromBasket:function(){
		ashoe.Ashoe.readBasket()
	}
	,evBasketRead:function(responseO){
		ashoe.Ashoe.basket=ashoe.Ashoe.parseResponse(responseO);
		ashoe.view.ViewOrder.drawBasket()
		var basketRef=document.getElementById("basket")
		if (ashoe.Ashoe.basket.idBasket != -1 && ashoe.Ashoe.basket.orderItems.length>0) {
			basketRef.onclick=new Function("ashoe.view.ViewOrder.showBasketView(true);");
			basketRef.className="pointerCursor"
		}else{
			ashoe.Ashoe.tabView.forget("basketView")
			basketRef.onclick=null
			basketRef.className=""
		}
		var fired=cms2.historyFireCurrentState()
		if(fired){return}
		if(ashoe.Ashoe.tabView.getCurrentId()=="basketView" && ashoe.Ashoe.basket.orderItems.length>0){
			ashoe.view.ViewCommon.operationState(false)
			ashoe.view.ViewOrder.showBasketView()
		}else if(ashoe.Ashoe.tabView.getCurrentId()=="shoe"){
			ashoe.view.ViewOrder.showBasketView(false)
			ashoe.view.ViewCommon.operationState(false)
			var p={};
			p.idShoe=ashoe.Ashoe.shoe.idShoe
			p.idColor=ashoe.Ashoe.shoe.idColor
			p.size=ashoe.Ashoe.shoe.size
			p.quantity=ashoe.Ashoe.shoe.quantity
			p.idOrderItem=ashoe.Ashoe.idOrderItem
			p.modifying =ashoe.view.ViewShoe.modifyingBasket
			ashoe.Ashoe.evShoeSelect(p)
		}else{
			ashoe.view.ViewCommon.operationState(false)
			ashoe.Ashoe.selectStartPage()
		}

		if(!fired && ashoe.Ashoe.starting){
			if(urlFilteredData!=""){
				var parts=urlFilteredData.split(",")
				ashoe.Ashoe.evSizeCategorySelect(parts[0],parts[1],parts[2])
			}else if(urlShoe!=""){
				ashoe.Ashoe.evShoeSelect(urlShoe)
			}
			ashoe.Ashoe.starting=false;
		}
	}
	,evError:function(msg){
		var s="Błąd"
		ashoe.view.ViewCommon.operationState(false)
		alert(s)
	},inform:function(msg){
		var s=msg
		alert(s)
	},evOrder:function(customer,basket,invoice){
		ashoe.view.ViewCommon.showLoadingState()
		ashoe.Ashoe.callService("ShoppingDelegate", "orderNowJson", {
            success: ashoe.Ashoe.evOrdered
        },[customer,basket,invoice])
	},evOrdered:function(){
		alert("Zamówienie złożone. \nW ciągu 24h otrzymają Państwo emaila potwierdzającego zamówienie.\nAby zamówienie zostało zrealizowane, należy odpisać na emaila potwierdzającego.")
		new tracker.AdWords().track(1021172561,'cD-CCMvb-QEQ0bb35gM')
		ashoe.Ashoe.readBasket()
		ashoe.Ashoe.selectStartPage()
	}
	,evTextRequired:function(id){
		cms2.historySave([],[{k:'text',v:id}])
		ashoe.view.ViewCommon.showLoadingState()
		ashoe.Ashoe.callService("ShoesDelegate", "getText", {
            success: ashoe.Ashoe.evTextRead
        },[id])
	}
	,evTextRead:function(responseO){
		var resp=ashoe.Ashoe.parseResponse(responseO);
		ashoe.view.ViewCommon.showText(resp.text,resp.title)
	},viewBack:function(){
		ashoe.view.ViewShoe.showHeaderInfo("")
		ashoe.Ashoe.tabView.back()
	}
	,evPiktogramClick:function(){
		var s="<img src='/modules/Ashoe/assets/piktogramy/"+ashoe.Ashoe.shoe.piktogram+"' alt='' width='410' height='442' />"
		ashoe.view.ViewCommon.showText(s,"Materiały")
	},parseResponse: function(ret){
		if (ret.faultCode) {
		}
		return ret;
	},
	evReviewsRequired:function(page){
		if(!page){
			page=0
		}
		cms2.historySave([],[{k:'reviews',v:page}])
		ashoe.view.ViewCommon.showLoadingState()
		ashoe.Ashoe.callService("cms2.ReviewService", "publicListReviewsBySite", {
            success: ashoe.Ashoe.reviewShow
        },[page])
	}
	,reviewShow: function(resp){
		var resp=ashoe.Ashoe.parseResponse(resp);
        var opinionS='';
        		opinionS+='<div id="reviewAddBox">';
        		opinionS+='<form id="reviewForm" onsubmit="ashoe.Ashoe.handleReviewSubmit();return false">';
        		opinionS+='<table class="opinionUserData">';

        		opinionS+='<tr>';
        		opinionS+='<td>';
        		opinionS+='<div class="reviewInputLabel">';
        		opinionS+='pseudonim (wymagany)';
        		opinionS+='</div>';
        		opinionS+='</td>';
        		opinionS+='<td>';
        		opinionS+='<div class="reviewInputLabel">treść opinii</div>';
        		opinionS+='</td>';
        		opinionS+='</tr>';

        		opinionS+='<tr>';
        		opinionS+='<td>';
        		opinionS+='<input name="nickInput" class="nickInput"/>';
        		opinionS+='</td>';
        		opinionS+='<td rowspan="3">';
        		opinionS+='<textarea name="opinionInput" class="opinionInput"></textarea>';
        		opinionS+='</td>';
        		opinionS+='</tr>';

        		opinionS+='<tr>';
        		opinionS+='<td class="ocenaLabel">';
        		opinionS+='ocena sklepu';
        		opinionS+='</td>';
        		opinionS+='</tr>';

        		opinionS+='<tr>';
        		opinionS+='<td>';
        		opinionS+=ashoe.Ashoe.createRatingSelector(5);
        		opinionS+='</td>';
        		opinionS+='</tr>';

        		opinionS+='<tr>';
        		opinionS+='<td colspan="2" class="addBoxControls">';
        		opinionS+='<input type="submit" value="wyślij opinię"/>';
        		opinionS+='</td>';
        		opinionS+='</tr>';

        		opinionS+='</table>';
        		opinionS+='</form>';
        		opinionS+='</div>';
        		opinionS+='<table class="ratingTable">';
        		for(var r=0;r<resp.rows.length;r++){
        			var theReview=resp.rows[r]
        			opinionS+='<tr>';
        			opinionS+='<td colspan="4" class="space2">';
        			opinionS+='</td>';
        			opinionS+='</tr>';
        			opinionS+='<tr>';
        			opinionS+='<td class="nick">';
        			opinionS+=theReview.nick;
        			opinionS+='</td>';
        			opinionS+='<td class="reviewDate">';
        			opinionS+=theReview.date;
        			opinionS+='</td>';
        			opinionS+='<td class="ratingLabel">';
        			opinionS+='ocena:';
        			opinionS+='</td>';
        			opinionS+='<td>';
        			opinionS+='<div class="rating" style="width:';
        			opinionS+=theReview.rating*20;
        			opinionS+='px"/>';
        			opinionS+='</td>';
        			opinionS+='</tr>';
        			opinionS+='<tr>';
        			opinionS+='<td colspan="4" class="opinion">';
        			opinionS+=theReview.opinion;
        			opinionS+='</td>';
        			opinionS+='</tr>';
        			opinionS+='<tr>';
        			opinionS+='<td colspan="4" class="space">';
        			opinionS+='</td>';
        			opinionS+='</tr>';
        		}
        		opinionS+='</table>';
        		var pagerS = ""
        	        if (resp.count > ashoe.Ashoe.reviewsOnPage) {
        	        	 var pagesNum = Math.ceil(resp.count / ashoe.Ashoe.reviewsOnPage)
        	        	var showedItemsMax=5;
        	        	var hidenItemPre='';
        	        	var hidenItemsSymbol="<span class='hiddenPages'>...</span>"
        	        		var middleNumber=resp.page
        	        		if(middleNumber<(showedItemsMax-1)/2){
        	        			middleNumber=(showedItemsMax-1)/2;
        	        		}else if(middleNumber>(pagesNum-(showedItemsMax-1)/2-1)){
        	        			middleNumber=pagesNum-(showedItemsMax-1)/2-1;
        	        		}
        	        	if(pagesNum>showedItemsMax && middleNumber>(showedItemsMax-1)/2){
        	        		hidenItemPre=hidenItemsSymbol
        	        	}
        	        	var hidenItemPast='';
        	        	if(pagesNum>showedItemsMax && middleNumber<(pagesNum-(showedItemsMax-1)/2-1)){
        	        		hidenItemPast=hidenItemsSymbol
        	        	}
        	            pagerS += "<tr><td class='filterPagerTD'>"
        	            pagerS += ashoe.view.ViewShoe.onePagerElement(resp.page-1, "&lt;",'ashoe.Ashoe.evReviewsRequired',resp.page > 0?'arrow':'invisible');
        	            pagerS +=hidenItemPre
        	            for (var i = 0; i < pagesNum; i++) {
        	                if (i == resp.page) {
        	                    pagerS += "<span class='filterCurPage'> " + (i + 1) + " </span>"
        	                }
        	                else if(i>=(middleNumber-(showedItemsMax-1)/2) && i<=(middleNumber+(showedItemsMax-1)/2)){
        	                    pagerS += ashoe.view.ViewShoe.onePagerElement(i, i + 1,'ashoe.Ashoe.evReviewsRequired','pagerBtn');
        	                }
        	            }
        	            pagerS +=hidenItemPast
        	            pagerS += ashoe.view.ViewShoe.onePagerElement(resp.page + 1, "&gt;",'ashoe.Ashoe.evReviewsRequired',resp.page < (pagesNum - 1)?'arrow':'invisible');
        	            pagerS += "</td></tr>"
        	        }
        		opinionS = "<table id='shoeFilteredTable'>" + pagerS +'<tr><td>'+ opinionS +'</td></tr>'+ pagerS + "</table>"
        		if(resp.page==0 && getParams.token && getParams.email){
        			ashoe.Ashoe.checkReviewInvitation(getParams.token,getParams.email)
        		}
        		ashoe.view.ViewCommon.showText(opinionS,'Opinie o sklepie')
    },
    checkReviewInvitation:function(reviewToken,email){
    	ashoe.Ashoe.callService("cms2.ReviewService", "publicCheckReviewInvitation", {
            success: ashoe.view.ViewShoe.checkReviewInvitationResult
        }, [reviewToken,email])
    },
    checkReviewInvitationResult:function(d){
    	d=ashoe.Ashoe.parseResponse(d)
    	if(d=='ok'){
    		$('#reviewAddBox').fadeIn()
    	}
    },
    handleReviewSubmit:function(){
    	var nickInputVal=$('input[name="nickInput"]').val()
    	if(nickInputVal.length<2){
    		alert('Pole Pseudonim jest obowiązkowe')
    		return
    	}
    		var ratingVal=$('input:radio[name="ratingRadio"]:checked').val()
    	if(!(ratingVal>0)){
    		alert('Proszę podać ocenę')
    		return
    	}
    	var review=new cms2.reviews.vo.ReviewVO()
    	review.actual_nick=nickInputVal
    	review.rating=ratingVal
    	review.opinion=$('textarea[name="opinionInput"]').val()
    	review.actual_url=String(location)
    	review.invitation_token=getParams.token
    	review.actual_email=getParams.email
    	ashoe.Ashoe.callService("Ashoe", "saveReviewUniversal", {
            success: function(d){
    		if(d=='ok'){
    			alert("Dziękujemy")
				$("#reviewForm")[0].reset()
				$('#reviewAddBox').fadeOut()
				location.reload()
    		}else{
    			alert("Wystąpił błąd")
    		}
			}
        }, [review])
    	var d = $("#reviewForm").serialize()
    },
createRatingSelector:function(maxRate){
    	var ret='<table class="ratingTableRadios">'
    		var i
    		ret+='<tr>'
    		for(i=0;i<maxRate;i++){
    			ret+='<td>'
    				ret+=(i+1)
    			ret+='</td>'
    		}
    		ret+='</tr>'
			ret+='<tr>'
	    		for(i=0;i<maxRate;i++){
	    			ret+='<td>'
	    				ret+='<input name="ratingRadio" type="radio" value="'+(i+1)+'" />'
	    			ret+='</td>'
	    		}
	    	ret+='</tr>'
    		ret+='</table>'
    		return ret
    }
}
onLoadQueue.appendOnLoad(ashoe.Ashoe.start)
cms2.siteSwf={}
cms2.siteSwf.getRef=function(){
	return {
		evHistoryItem:function(pathA,getA){
			//console.log(pathA)
			//console.log(getA)
			if(getA.length>0){
				if(getA[0].k=='idShoe'){
					if(getA.length==1){
						ashoe.Ashoe.evShoeSelect(getA[0].v)
					}else if(getA.length>1){
						ashoe.Ashoe.evShoeSelect({idShoe:getA[0].v,idColor:getA[1].v})
					}
				}else if(getA[0].k=='category'){
					ashoe.Ashoe.evSizeCategorySelect(getA[0].v,getA[1].v,getA[2].v)
				}else if(getA[0].k=='filter'){
					document.getElementById("promotionList").value=getA[1].v
					document.getElementById("categoriesList").value=getA[2].v
					document.getElementById("gendersList").value=getA[3].v
					document.getElementById("colorsList").value=getA[4].v
					ashoe.Ashoe._createSizesList(document.getElementById("categoriesList").value=='skarpety')
					document.getElementById("sizesList").value=getA[5].v
					var limitStr=getA[6].v
					var limitStrA=limitStr.split(',')
					var pNum=parseInt(limitStrA[0])/parseInt(limitStrA[1])
					ashoe.view.ViewShoe.pageNum=pNum
					if(getA[8].v){
						document.getElementById("promotionList").value='isSunway'
					}
					ashoe.Ashoe.filteredRead();
				}else if(getA[0].k=='text'){
					ashoe.Ashoe.evTextRequired(getA[0].v)
				}else if(getA[0].k=='reviews'){
					ashoe.Ashoe.evReviewsRequired(getA[0].v)
				}
			}else{
				ashoe.Ashoe.selectStartPage();
			}
		}
	}
}

