ashoe.view.ViewShoe = {
    onPageLimit: 20,
    pageNum: 0,
    modifyingBasket: false,
    reviewsByAny:false,
    toHTML: function(){
		document.getElementById("shoeMiddleImage").src = "/modules/layout/blank.gif"
        // ashoe.view.ViewShoe.modifyingBasket = ashoe.Ashoe.idOrderItem != null
		if(ashoe.view.ViewShoe.modifyingBasket){
			ashoe.view.ViewShoe.showHeaderInfo("Modyfikacja koszyka",true)
		}
        var refAddBtn = document.getElementById("addToBasketBtn")
       // YAHOO.util.Event.removeListener(refAddBtn, "click")
        $(refAddBtn).unbind("click")
        if(cms2.addToBasketLocked){
        	$(refAddBtn).click(function(){
        		alert(cms2.addToBasketLockedText)
        	})
        }
        else if (ashoe.view.ViewShoe.modifyingBasket) {
        	$(refAddBtn).click(function(){ashoe.Ashoe.evUpdateOrderItem()})
           // YAHOO.util.Event.addListener(refAddBtn, "click",
			// ashoe.Ashoe.evUpdateOrderItem);
            refAddBtn.src = "/modules/Ashoe/skin/wybor_bottom_change.jpg"
        }
        else {
        	$(refAddBtn).click(function(){ashoe.Ashoe.evAddToBasket()})
            // YAHOO.util.Event.addListener(refAddBtn, "click",
			// ashoe.Ashoe.evAddToBasket);
            refAddBtn.src = "/modules/layout/blank.gif"
        }
        
        document.getElementById("shoeNameTarget").innerHTML = ashoe.Ashoe.shoe.name
        //document.getElementById("shoePiktogram").style.display = ashoe.Ashoe.shoe.piktogram!="" ? "block" : "none"
        document.getElementById("shoeZdrowaStopa").style.display = ashoe.Ashoe.shoe.zdrowa_stopa ? "block" : "none"
		document.getElementById("shoeIsNew").style.display = ashoe.Ashoe.shoe.isNew ? "block" : "none"
			document.getElementById("shoeIsSunway").style.display = ashoe.Ashoe.shoe.producer.toLowerCase().indexOf('sunway')>-1 ? "block" : "none"
			var imagesTarget = document.getElementById("shoeColors")
        jslt.element.removeAllChildren(imagesTarget)
        var kolorOptionRef = document.getElementById("shoeColorSelect")
        jslt.element.removeAllChildren(kolorOptionRef)
        var optionEl = new jslt.element.Select()
        var selColorIndex = 0
        for (var i = 0; i < ashoe.Ashoe.shoe.colors.length; i++) {
            var color = ashoe.Ashoe.shoe.colors[i]
            var img = document.createElement("img")
            img.src = ashoe.Ashoe.buildImagePath('mini', ashoe.Ashoe.shoe.idShoe, color.idColor, 1)
            img.width=img.height=45
			img.alt = color.name
            img.className = "pointerCursor"
            imagesTarget.appendChild(img)
            $(img).click(new Function("ashoe.Ashoe.evColorSelect({idColor:" + color.idColor + "})"))
           // YAHOO.util.Event.addListener(img, "click", new
			// Function("ashoe.Ashoe.evColorSelect({idColor:" + color.idColor +
			// "})"));
            var selected = ashoe.Ashoe.idColor != null && ashoe.Ashoe.idColor == color.idColor
            if (selected) {
                selColorIndex = i
            }
            optionEl.createOption(kolorOptionRef, color.idColor, color.name, selected);
            
        }
        
        var priceRef = document.getElementById("shoePrice")
        var pricePromotionalRef = document.getElementById("shoePricePromotional")
        pricePromotionalRef.innerHTML = "&#160;"
        priceRef.innerHTML = ashoe.view.ViewCommon.formatPrice(ashoe.Ashoe.shoe.price_brutto)
        if (ashoe.Ashoe.shoe.isPromotion) {
            pricePromotionalRef.innerHTML = ashoe.view.ViewCommon.formatPrice(ashoe.Ashoe.shoe.price_promotion_brutto)
            priceRef.className = "priceBrutto priceNoActual"
        }
        else {
            priceRef.className = "priceBrutto"
        }
        document.getElementById("shoeDescription").innerHTML = ashoe.Ashoe.shoe.description
        var quantityRef = document.getElementById("shoeQuantitySelect")
        if (ashoe.Ashoe.quantity != null) {
            for (var k = 0; k < quantityRef.options.length; k++) {
                if (quantityRef.options[k].text == String(ashoe.Ashoe.quantity)) {
                    quantityRef.selectedIndex = k;
                    break
                }
            }
        }
        else {
            quantityRef.selectedIndex = 0
        }
        var opinionS='';
        	opinionS+='<div class="opinionHeader">';
        	if(ashoe.view.ViewShoe.reviewsByAny){
        		opinionS+='<div class="elRelative"><div class="opinionHeaderBtn1" onclick="ashoe.view.ViewShoe.addOpinionSwitch()"></div></div>';
        	}
        		opinionS+='<div class="opinionHeaderText">opinie użytkowników</div>';
        		opinionS+='</div>';
        		opinionS+='<div id="reviewAddBox">';
        		opinionS+='<form id="reviewForm" onsubmit="ashoe.view.ViewShoe.handleReviewSubmit();return false">';
        		opinionS+='<table class="opinionUserData">';
        		if(ashoe.view.ViewShoe.reviewsByAny){
        		opinionS+='<tr>';
        		opinionS+='<td>';
        		opinionS+='<input name="nickInput" class="nickInput"/>';
        		opinionS+='</td>';
        		opinionS+='<td>';
        		opinionS+='<input name="emailInput" class="emailInput"/>';
        		opinionS+='</td>';
        		opinionS+='</tr>';
        		opinionS+='<tr>';
        		opinionS+='<td class="reviewInputLabel">';
        		opinionS+='Pseudonim (wymagany)';
        		opinionS+='</td>';
        		opinionS+='<td class="reviewInputLabel">';
        		opinionS+='Email (wymagany, nie będzie publikowany)';
        		opinionS+='</td>';
        		opinionS+='</tr>';
        		opinionS+='<tr>';
    			opinionS+='<td colspan="2" class="space2">';
    			opinionS+='</td>';
    			opinionS+='</tr>';
}
        		opinionS+='<tr>';
        		opinionS+='<td class="ocenaLabel">';
        		opinionS+='ocena produktu';
        		opinionS+='</td>';
        		opinionS+='<td>';
        		opinionS+='opinia';
        		opinionS+='</td>';
        		opinionS+='</tr>';
        		opinionS+='<tr>';
        		opinionS+='<td>';
        		opinionS+=ashoe.view.ViewShoe.createRatingSelector(5);
        		opinionS+='</td>';
        		opinionS+='<td>';
        		opinionS+='<textarea name="opinionInput" class="opinionInput"></textarea>';
        		opinionS+='</td>';
        		opinionS+='</tr>';
        		opinionS+='<tr>';
        		opinionS+='<td colspan="2" class="addBoxControls">';
        		opinionS+='<input type="submit" value="wyślij opinię"/>';
        		opinionS+='<input type="button" value="rezygnuję" onclick="ashoe.view.ViewShoe.addOpinionSwitch()"/>';
        		opinionS+='</td>';
        		opinionS+='</tr>';
        		opinionS+='</table>';
        		opinionS+='</form>';
        		opinionS+='</div>';
        		opinionS+='<table class="ratingTable">';
        		for(var r=0;r<ashoe.Ashoe.shoe.reviews.length;r++){
        			var theReview=ashoe.Ashoe.shoe.reviews[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>';
        		//document.getElementById("opinionBox").innerHTML =opinionS;	
        		if(getParams.reviewToken){
        			ashoe.Ashoe.checkReviewInvitation(getParams.reviewToken,ashoe.Ashoe.shoe.idShoe)
        		}
    },
    checkReviewInvitationResult:function(d){
    	d=ashoe.Ashoe.parseResponse(d)
    	if(d=='ok'){
    		ashoe.view.ViewShoe.addOpinionSwitch()
    	}
    },
    addOpinionSwitch:function(){
    	if($('#reviewAddBox').css('display')=='none'){
    		$('#reviewAddBox').fadeIn()
    	}else{
    		$('#reviewAddBox').fadeOut()
    	}
    },
    handleReviewSubmit:function(){
    	if(ashoe.view.ViewShoe.reviewsByAny){
    	var nickInputVal=$('input[name="nickInput"]').val()
    	if(nickInputVal.length<2){
    		alert('Pole Pseudonim jest obowiązkowe')
    		return
    	}
    	var emailInputVal=$('input[name="emailInput"]').val()
    	if(emailInputVal.length<2){
    		alert('Pole Email jest obowiązkowe')
    		return
    	}
    	var mailRe=/^((\"[^\"\f\n\r\t\v\b]+\")|([\w\!\#\$\%\&\'\*\+\-\~\/\^\`\|\{\}\=\?]+(\.[\w\!\#\$\%\&\'\*\+\-\~\/\^\`\|\{\}\=\?]+)*))@((\[(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))\])|(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))|((([A-Za-z0-9\-])+\.)+[A-Za-z\-]+))$/
    	if(!mailRe.test(emailInputVal)){
    		alert('Proszę podać prawidłowy email')
    		return
    	}
    	}
    		var ratingVal=$('input:radio[name="ratingRadio"]:checked').val()
    	if(!(ratingVal>0)){
    		alert('Proszę podać ocenę')
    		return
    	}
    	var review=new cms2.reviews.vo.ReviewVO()
    	if(ashoe.view.ViewShoe.reviewsByAny){
    	review.actual_nick=nickInputVal
    	review.actual_email=emailInputVal
    	}
    	review.rating=ratingVal
    	review.opinion=$('textarea[name="opinionInput"]').val()
    	review.external_reference_id=ashoe.Ashoe.shoe.idShoe
    	review.actual_url=String(location)
    	ashoe.Ashoe.callService("Ashoe", "saveReview", {
            success: function(d){
    		if(d=='ok'){
    			alert("Dziękujemy")
				$("#reviewForm")[0].reset()
				ashoe.view.ViewShoe.addOpinionSwitch()
    		}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
    },
    showViews: function(){
		document.getElementById("shoeMiddleImage").src = "/modules/layout/blank.gif"
		var sizeOptionRef = document.getElementById("shoeSizeSelect")
        jslt.element.removeAllChildren(sizeOptionRef)
        var kolorOptionRef = document.getElementById("shoeColorSelect")
        var imagesTarget = document.getElementById("shoeColors")
		 var optionEl = new jslt.element.Select()
        for (var j = 0; j < ashoe.Ashoe.shoe.colors.length; j++) {
			var curC=ashoe.Ashoe.shoe.colors[j]
            if (kolorOptionRef.options[j].value == ashoe.Ashoe.idColor) {
                kolorOptionRef.selectedIndex = j
                imagesTarget.childNodes[j].className = "pointerCursor colorImageSelected"
                for (var i = 0; i < curC.sizes.length; i++) {
                    var selected = ashoe.Ashoe.size != null && ashoe.Ashoe.size == curC.sizes[i][0]
                     if(selected || (ashoe.Ashoe.size == null && i==0))  {
                    	 // console.log(curC.sizes[i][1])
                    	 var isWHigh=curC.sizes[i][1]>=3
                    	 $('#shoeWarehouseQuantity')
                    	 .attr('class',isWHigh?'shoeWarehouseQuantityHigh':'shoeWarehouseQuantityLow')
                    	 .attr('title',isWHigh?'wysoki stan w magazynie':'niski stan w magazynie')
                     }
                    optionEl.createOption(sizeOptionRef, curC.sizes[i][0], curC.sizes[i][0], false);
                }
            }
            else {
                imagesTarget.childNodes[j].className = "pointerCursor"
            }
        }
        var viewsRef = document.getElementById("shoeViews")
        jslt.element.removeAllChildren(viewsRef)
        for (var i = 0; i < 4; i++) {
            var img = document.createElement("img")
            img.src = ashoe.Ashoe.buildImagePath('mini', ashoe.Ashoe.shoe.idShoe, ashoe.Ashoe.idColor, i + 1)
            img.width=img.height=45
			img.onmouseover = new Function("ashoe.Ashoe.evColorViewSelect({queue:" + (i + 1) + "})")
            viewsRef.appendChild(img)
        }
        ashoe.Ashoe.evColorViewSelect({
            queue: 1
        })
        cms2.historySave([],[{k:'idShoe',v:ashoe.Ashoe.shoe.idShoe},{k:'idColor',v:ashoe.Ashoe.idColor}])
    },
    showFiltered: function(ar){
        var ref = document.getElementById("shoesFiltered")
        jslt.element.removeAllChildren(ref)
        if (ar.length == 1 && ar[0] == 0) {
            ref.innerHTML = "<div class='noResult'></div>"
            return
        }
        var totalRecords = ar.pop()
        var pointer = -1;
        var onRow = 4
        var rowsNr = Math.ceil(ar.length / onRow)
        var rows = []
        for (var i = 0; i < rowsNr; i++) {
            var s = ""
            for (var j = 0; j < onRow; j++) {
                pointer++
                if (typeof(ar[pointer]) == "object") {
                    var shoe = ar[pointer]
                    s += "<td><div "
                    s += "onclick='ashoe.Ashoe.evShoeSelect({idShoe:" + shoe.idShoe + ",idColor:" + shoe.idColor + "})'"
                    s += " onmouseover='this.className=\"shoeFiltered shoeFilteredSign pointerCursor\"'"
                    s += " onmouseout='this.className=\"shoeFiltered  pointerCursor\"'"
                    s += " class='shoeFiltered pointerCursor'><img src='"
                    s += ashoe.Ashoe.buildImagePath('small', shoe.idShoe, shoe.idColor, 1)
                    s += "'/>"
					if(shoe.zdrowa_stopa==1){
						s += "<div class='miniZdrowaStopa' title='obuwie oznaczone znakiem ZDROWA STOPA'></div>"
					}
					if(shoe.isNew==1){
						s += "<div class='miniNew'></div>"
					}
					if(String(shoe.producer).toLowerCase().indexOf('sunway')===0){
						s += "<div class='miniSunway' title='marka SUNWAY'></div>"
					}
                    s += "<div class='miniDings'></div>"
                    s += "<div class='miniP1'>"
                    s += shoe.name + " / " + shoe.color
                    s += "</div>"
                    s += "<div class='miniP2'>"
                    if (shoe.isPromotion) {
						s += "<b class='pricePromotional'>"
                        s += ashoe.view.ViewCommon.formatPrice(shoe.price_promotion_brutto)
                      	s += "</b>"
					    s += "<span class='priceNoActual'> "
                        s += ashoe.view.ViewCommon.formatPrice(shoe.price_brutto)
                        s += "</span>"
                    }
                    else {
                        s += ashoe.view.ViewCommon.formatPrice(shoe.price_brutto)
                    }
                    
                    s += "</div>"
                    s += "</div></td>"
                }
                else {
                    s += "<td>&#160;</td>"
                }
            }
            rows.push("<tr>" + s + "</tr>")
        }
        var pagerS = ""
        if (totalRecords > ashoe.view.ViewShoe.onPageLimit) {
        	var pagesNum = Math.ceil(totalRecords / ashoe.view.ViewShoe.onPageLimit)
        	var showedItemsMax=5;
        	var hidenItemPre='';
        	var hidenItemsSymbol="<span class='hiddenPages'>...</span>"
        		var middleNumber=ashoe.view.ViewShoe.pageNum
        		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 colspan='" + onRow + "' class='filterPagerTD'>"
            pagerS += ashoe.view.ViewShoe.onePagerElement(ashoe.view.ViewShoe.pageNum-1, "&lt;",null,ashoe.view.ViewShoe.pageNum > 0?'arrow':'invisible');
            pagerS +=hidenItemPre
            for (var i = 0; i < pagesNum; i++) {
                if (i == ashoe.view.ViewShoe.pageNum) {
                    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,null,'pagerBtn');
                	}
            }
            pagerS +=hidenItemPast
            pagerS += ashoe.view.ViewShoe.onePagerElement(ashoe.view.ViewShoe.pageNum + 1, "&gt;",null,ashoe.view.ViewShoe.pageNum < (pagesNum - 1)?'arrow':'invisible');
            pagerS += "</td></tr>"
        }
        ref.innerHTML = "<table id='shoeFilteredTable'>" + pagerS + rows.join("") + pagerS + "</table>"
    },
    onePagerElement: function(num, label,callback,className){
    	if(!callback){
    		callback='ashoe.Ashoe.evFilteredPageChange'
    	}
    	if(typeof(className)=='undefined'){
    		className='pagerBtn'
    	}
        var pagerS = ""
        	pagerS += "<a href='#'"
        	pagerS += " class='"+className+"'"
        pagerS += "  onclick='"
        pagerS += callback
        pagerS += "(" + num + ")"
        pagerS += ";return false'>&#160;"
        pagerS += label
        pagerS += "&#160;</a>"
        return pagerS
    },
    limitString: function(){
        return (ashoe.view.ViewShoe.pageNum * ashoe.view.ViewShoe.onPageLimit) + "," + ashoe.view.ViewShoe.onPageLimit
    },
    showHeaderInfo: function(msg,warning){
        var s = ""
        if ($.isArray(msg)) {
        
        }
        else 
            if (typeof(msg)=='string') {
                s = msg
            }
			if(warning){
				s+="<br/><img src='/modules/Ashoe/skin/warning.gif' alt='' width='200' height='2'/>"
			}
        var ref = document.getElementById("infoHeader").innerHTML = s
    }
}
/*
 * Generated ReviewVO.php
 */
cms2.reviews={};cms2.reviews.vo={};
cms2.reviews.vo.ReviewVO=function(){
  this._explicitType= "cms2.reviews.vo.ReviewVO"
  this.id_review=0
  this.rating=0
  this.strong_side=""
  this.weak_side=""
  this.opinion=""
  this.id_person=0
  this.external_reference_id=""
  this.review_data=""
  this.active=false
  this.actual_email=""
  this.actual_nick=""
  this.review_stamp=0
  this.action=""
}

