﻿// **************************************************************************************************************************
// Save PRODUCT RATING
// **************************************************************************************************************************

function SaveProduct2Favourites(productId, userId)
{   
    if (!ajaxLoadingData)
    {
        AjaxTransfer("http://"+GetUrlBase()+"/Services/Save_UserFavouriteProducts.ashx?productid="+productId+"&userid="+userId);
        SaveProduct2FavouritesProcess();
    }
    else
    {
        window.setTimeout("SaveProduct2Favourites('"+productId+"', '"+userId+"');", 10);
    }
}

function SaveProduct2FavouritesProcess()
{
    if (!ajaxResultReady)
    {
        window.setTimeout("SaveProduct2FavouritesProcess();", 10);
    }
    else
    {
        alert(" Produkt byl přidán do Vašich oblíbených. ");

        ajaxResultReady = false;
        ajaxLoadingData = false;
    }
}

// **************************************************************************************************************************
// Save PRODUCT RATING
// **************************************************************************************************************************

function SaveProductRating(productId, rating)
{
    // control of rating one by day
    if (MyCookie.Read("QuestionnaireOK_"+ productId.toString()) == "True") {
        alert("Produkt lze hodnotit pouze jednou za den!");
        return;
    } else {
        MyCookie.Write("QuestionnaireOK_"+ productId.toString(), "True", 1);
    }
    
    if (!ajaxLoadingData)
    {
        AjaxTransfer("http://"+GetUrlBase()+"/Services/Save_ProductRating.ashx?productid="+productId+"&rating="+rating);
        SaveProductRatingProcess(productId, rating);
    }
    else
    {
        window.setTimeout("SaveProductRating('"+productId+"', '"+rating+"');", 10);
    }
}

function SaveProductRatingProcess(productId, rating)
{
    if (!ajaxResultReady)
    {
        window.setTimeout("SaveProductRatingProcess('"+productId+"', '"+rating+"');", 10);
    }
    else
    {
        var ratingCountObj = document.getElementById("RatingCountSpan");
        var ratingObj = document.getElementById("RatingSpan");
        
        var ratingCount = parseInt(ratingCountObj.innerHTML) + 1;
        var rating = Math.round((parseInt(ratingObj.innerHTML) + parseInt(rating)) / 2);

        ratingCountObj.innerHTML = ratingCount.toString();
        ratingObj.innerHTML = rating.toString();

        ajaxResultReady = false;
        ajaxLoadingData = false;
    }
}

// **************************************************************************************************************************
// Save PRODUCT TO CART
// **************************************************************************************************************************

function SaveProduct2Cart(productId,sessionId,itemsCount,userId,productName,productPrice)
{
    if (!(parseInt(itemsCount) > 0))
    {
        alert("Počet produktů k objednání má nesprávný formát!");
        return;
    }
    if (!ajaxLoadingData)
    {
        AjaxTransfer("http://"+GetUrlBase()+"/Services/Save_Product2Cart.ashx?productid="+productId+"&sessionid="+sessionId+"&itemscount="+itemsCount+"&userid="+userId);
        SaveProduct2CartProcess(productId,sessionId,itemsCount,userId,productName,productPrice);
    }
    else
    {
        window.setTimeout("SaveProduct2Cart('"+productId+"', '"+sessionId+"', '"+itemsCount+"', '"+userId+"', '"+productName+"', '"+productPrice+"');", 10);
    }
}

function SaveProduct2CartProcess(productId,sessionId,itemsCount,userId,productName,productPrice)
{
    if (!ajaxResultReady)
    {
        window.setTimeout("SaveProduct2CartProcess('"+productId+"', '"+sessionId+"', '"+itemsCount+"', '"+userId+"', '"+productName+"', '"+productPrice+"');", 10);
    }
    else
    {
        // refresh of cart preview
        RefreshCart();
        
        // show message box about adding to cart
        var MB_message =
            "<h5>Zboží bylo přidáno do košíku</h5><br/>"+
            "<table style=\"margin: 15px;font-size:100%;\">"+
            "<tr>"+
            "   <td style=\"width: 80px;\"><b>Zboží:</b></td>"+
            "   <td>"+ productName +"</td>"+
            "</tr>"+
            "<tr>"+
            "   <td><b>Množství:</b></td>"+
            "   <td>"+ itemsCount.toString() +"</td>"+
            "</tr>"+
            "<tr>"+
            "   <td><b>Cena:</b></td>"+
            "   <td>"+ Math.round(parseInt(itemsCount) * parseFloat(productPrice)).toString() +",- Kč</td>"+
            "</tr>"+
            "</table>";
        var MB_buttons = "<input type=\"button\" value=\"Pokračovat v nákupu\" onclick=\"javascript:HideMessageBox('globalErrorBox4JS');\" class=\"messageBoxObjectInputButton\" />"+
                         " &nbsp; &nbsp; "+
                         "<input type=\"button\" value=\"Přejít do košíku\" onclick=\"javascript:window.location='/Kosik.aspx';\" class=\"messageBoxObjectInputButton\" />";
        MessageBox("globalErrorBox4JS", MB_message, MB_buttons, "zavřít");
        
        // setting variables to default state
        ajaxResultReady = false;
        ajaxLoadingData = false;
    }
}

// **************************************************************************************************************************
// Remove PRODUCT FROM CART
// **************************************************************************************************************************

function RemoveProductFromCart(productId,sessionId,itemsCount)
{
    if (!ajaxLoadingData)
    {
        AjaxTransfer("http://"+GetUrlBase()+"/Services/Delete_Product2Cart.ashx?productid="+productId+"&sessionid="+sessionId+"&itemscount="+itemsCount);
        RemoveProductFromCartProcess(productId,sessionId,itemsCount);
    }
    else
    {
        window.setTimeout("RemoveProductFromCart('"+productId+"', '"+sessionId+"', '"+itemsCount+"');", 10);
    }
}

function RemoveProductFromCartProcess(productId,sessionId,itemsCount)
{
    if (!ajaxResultReady)
    {
        window.setTimeout("RemoveProductFromCartProcess('"+productId+"', '"+sessionId+"', '"+itemsCount+"');", 10);
    }
    else
    {
        //location.reload(false);
        __doPostBack('ctl00$ContentPlaceHolder1$CartWizard$RecountCartPrices','');

        
        // setting variables to default state
        ajaxResultReady = false;
        ajaxLoadingData = false;
    }
}

// **************************************************************************************************************************
// Show CART PREVIEW
// **************************************************************************************************************************

function RefreshCart()
{
    if (!ajaxLoadingData)
    {
        AjaxTransfer("http://"+GetUrlBase()+"/Services/Get_CartPreview.ashx?sessionid="+actualUserSessionId);
        RefreshCartProcess();
    }
    else
    {
        window.setTimeout("RefreshCart();", 10);
    }
}

function RefreshCartProcess()
{
    if (!ajaxResultReady)
    {
        window.setTimeout("RefreshCartProcess();", 10);
    }
    else
    {
        document.getElementById("CartPreviewTotalPrice").innerHTML = ajaxResultsText.split(";")[0] + " Kč";
        document.getElementById("CartPreviewTotalCount").innerHTML = ajaxResultsText.split(";")[1] + " ks";

        ajaxResultReady = false;
        ajaxLoadingData = false;
    }
}
