﻿ function setCart(){
    var user = new MPortal.User(currUserID);
    user.GetCart([], onCartSucceded, onFailure, "init");
}

function onCartFailure(err, cp)
{
    if(isAnonymous())
    {
        showLogModal();
        return;
    }
    
    alert(err.Message);
    clearReq(cp);
}

function showLogModal()
{
   // showUserModal("login" , "Za kupnju je potrebno ulogirati se.");    
}

function clearReq(cp)
{
 if(cp)
    {
        if(typeof cp == "string" && cp == "init")
            toggleCartItemsVisible();
        else
        {
            cp.setAttribute("addToCartEnabled", "true");
            //cp.src = cp.src.replace("_blocked.gif",".gif");
            
            if(!isCartCollapsed())
            {
                var bounds = Sys.UI.DomElement.getBounds($get("cartTbl"));
                var cont = $get("cartContainer");
                cont.style.height = bounds.height + "px";
                cont.style.width = "100%";
            }
        }
    }
}

function isCartCollapsed()
{
    return $get("tdCartMode").className == "arr";
}

function onCartSucceded(response, cp) {

    if(isAnonymous())
    {   
        var bas = $get("basket");
        
        if(bas)
            bas.style.display = "none"; 
            
        return;
    }
    
    cart = response;
    
    if(cart.Items.length == 0)
        $get("basket").style.display = "none";
    else
        $get("basket").style.display = "block";
    
    var cartTbl = $get("cartTbl");
    
    $get("spanTotal").innerHTML = cart.Total;
        
   for(var i=cartTbl.rows.length-1; i > -1; i--)
   {
    if(cartTbl.rows[i].id != "cartTotal" && cartTbl.rows[i].id != "cartnextStep" )
        cartTbl.deleteRow(i); 
   }
    
    for(var index = 0; index < cart.Items.length; index++)
    {
//        var isLastItem = index == cart.Items.length -1;
            
        var item = cart.Items[index];
        var ciRow = cartTbl.insertRow(index);
        ciRow.className = "tr_kosarica";
        
        var cellTitle = ciRow.insertCell(0);
        cellTitle.className = "small";
        
        var aTitle = document.createElement("a");
        aTitle.href = httpRoot + item.ArticleID.toString() + ".aspx";
        aTitle.className="kosarica_blue";
        aTitle.innerHTML = item.Title;
        cellTitle.appendChild(aTitle);
       
        
        var cellMinus = ciRow.insertCell(1);

        var imgMinus = document.createElement("img");
        imgMinus.src = httpRoot + "img/kosarica_minus_button.gif";
        
        imgMinus.alt = imgMinus.title = oduzmi;
        imgMinus.style.marginTop = "2px";
        imgMinus.setAttribute("CartItemID", item.CartItemID);
        cellMinus.appendChild(imgMinus);
        
        var cellMiddle = ciRow.insertCell(2);
        
        var spanQty = document.createElement("span");
        spanQty.appendChild(document.createTextNode(item.Qty));
        spanQty.className = "kosarica_kolicina";
        cellMiddle.appendChild(spanQty);
        
        var cellPlus = ciRow.insertCell(3);
        
        var imgPlus = document.createElement("img");
        imgPlus.src =  httpRoot + "img/kosarica_plus_button.gif";
        imgPlus.alt = imgPlus.title = dodaj;
        imgPlus.style.marginTop = "2px";
        
        imgPlus.setAttribute("ItemID", item.ItemID);
        cellPlus.appendChild(imgPlus);
        
        var cellPrice = ciRow.insertCell(4);
        cellPrice.className = "td_right_blue";
        cellPrice.style.whiteSpace = "nowrap"; 
        cellPrice.appendChild(document.createTextNode(item.FormattedPrice));
    }
    clearReq(cp);
    
   
}

function toggleCartItemsVisible()
{
    var toggler = $get("cartToggler");
    
    var cm = toggler.className == "arr arrUp" ? "opened" : "closed";
    var animCart;
    var cont = $get("cartContainer");
    var cartTbl = $get("cartTbl");
    var bounds = Sys.UI.DomElement.getBounds(cartTbl);
    
    switch(cm)
    {
        default :
        case "closed" :
            cont.style.height=bounds.height+ "px";
//            animCart = new AjaxControlToolkit.Animation.ResizeAnimation(cont, 0.2, 35, bounds.width, bounds.height, 'px');
            toggler.className = "arr arrUp";
            toggler.innerHTML = sprikazTranslation;
            equaliseColumns("column1","column2","column3","question","right");
            break;  
      
        case "opened" :
        cont.style.height="0px";
           // animCart = new AjaxControlToolkit.Animation.ResizeAnimation(cont, 0.2, 35, bounds.width, 0, 'px');
            toggler.className = "arr";
            toggler.innerHTML = pprikazTranslation;
            equaliseColumns("column1","column2","column3","question","right");
          
            break;
    }
   
    //animCart.play();
    
//    if(isCartCollapsed())
//        $get("cartLastTd").style.borderTop = "0px solid #CFCFCF";
//    else
//        $get("cartLastTd").style.borderTop = "1px solid #CFCFCF";
}


function onBodyClick(ev)
{
    var btn = ev.target
    if(btn.getAttribute("CartItemID") != null)
        removeCartItem(btn, btn.getAttribute("CartItemID"));
    else if(btn.getAttribute("ItemID"))
        addItem(btn, btn.getAttribute("ItemID"));
}

function removeCartItem(btn, id)
{
    if(isAnonymous())
    {
        showLogModal();
        return;
    }
    
   if(btn.getAttribute("addToCartEnabled") == "false")
        return;
        
   btn.setAttribute("addToCartEnabled", "false");
   btn.src = btn.src.replace(".gif","_blocked.gif");
        
   cart.Remove([new MPortal.Catalog.CartItem(id),1], onCartSucceded, onCartFailure, btn);
}


function addItem(btn, id)
{

    if(isAnonymous())
    {
        showLogModal();
        return;
    }
    
   if(btn.getAttribute("addToCartEnabled") == "false")
        return;
        
   btn.setAttribute("addToCartEnabled", "false");
   //btn.src = btn.src.replace(".gif","_blocked.gif");
   
   cart.Add([new MPortal.Catalog.Item(id),1], onCartSucceded, onFailure, btn);
}

function shopLoad()
{
    
    setCart();
    $addHandler(document.body, 'click', onBodyClick);
    equaliseColumns("column1","column2","column3","question","right");
}

function shopUnLoad()
{
    $removeHandler(document.body, 'click', onBodyClick);
}

Sys.Application.add_load(shopLoad);
Sys.Application.add_unload(shopUnLoad);

if (typeof(Sys) !== "undefined") Sys.Application.notifyScriptLoaded();



