﻿// -------------------------------------------------------
//                       PAGE LOADER
// -------------------------------------------------------

var basketVisible = true;

function pageLoaded() { showBusy(); pageLoad_01(); }
function pageLoad_01() { ajaxRender("Add2basket.aspx?view=tiny&robaID=0", "basketContent", "setTimeout('pageLoad_02();',100);"); }
function pageLoad_02() { getProductList("");setTimeout('redrawBasket();', 200); }

// -- show ajaxLoader
function showBusy() 
{ 
  document.getElementById("mainContent").innerHTML = "<div align=center width=100%>" +
                                                     "<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>" +
                                                     "<img src=img/ajax_wait.gif align=absmiddle>" + 
                                                     "&nbsp;<b>učitavanje ...</b>" +
                                                     "</div>"; 
}


// -------------------------------------------------------
//                  PRODUCT NAVIGATION
// -------------------------------------------------------

// -- search products
function searchProducts() {

    var txt = document.getElementById("ctl00_bbSearch_txtSearch").value;
    txt = encodeSearch(txt);
    var criteria = "";
    if (document.getElementById("ctl00_bbSearch_ddlKategorija") != null) {
        // advanced search: 
        var cat = document.getElementById("ctl00_bbSearch_ddlKategorija").value;
        var man = document.getElementById("ctl00_bbSearch_ddlManufacturer").value;
        var sort = document.getElementById("ctl00_bbSearch_ddlSort").value;
        criteria = "filter=advanced&query=" + txt + "&category=" + cat + "&manufacturer=" + man + "&sort=" + sort;
    }
    else {
        // simple search:
        criteria = "filter=search&query=" + txt;
    }
    getProductList(criteria);
}

// -- renders list of products
function getProductList(cmd)
{
    if (document.getElementById("robaID").value != "") {
        // -- prikaži detalje o robi za robaID:
        var robaID = document.getElementById("robaID").value;
        document.getElementById("robaID").value = "";
        showProductDetails(robaID);
    }
    else {
        // -- prikaži ostalo
        showBusy();
        if (cmd != "") cmd = "&" + cmd;
        ajaxRender("listProducts.aspx?go=ok" + cmd, "mainContent", "setTimeout('setupDragNDrop()',100);");
    }
}

// -- goto particular page
function gotoPage(page) { getProductList('page=' + page); }

// -- goto next product list page >>
function gotoNextPage() { getProductList("goto=nextpage"); }

// -- goto previous product list page <<
function gotoPreviousPage() { getProductList("goto=prevpage"); }

// -- show product details:
function showProductDetails(robaID) 
{
    if (document.getElementById("cmd") != null) {
        // pozvano sa stranice webshop.aspx
        showBusy();
        ajaxRender("showProductInfo.aspx?robaID=" + robaID, "mainContent", "");
    }
    else {
        // pozvano sa neke druge stranice
        location.href = "webshop.aspx?robaID=" + robaID; 
    }
}

// -- show product details:
function showProductDetailsByUserID(userID) 
{ 
    showBusy();
    ajaxRender("showProductInfo.aspx?userID="+userID,"mainContent",""); 
}

// -- register drop zones - jQuery
function setupDragNDrop()
{
    $(
		function() {
		    $("#item1").draggable({ revert: true });
		    $("#item2").draggable({ revert: true });
		    $("#item3").draggable({ revert: true });
		    $("#item4").draggable({ revert: true });
		    $("#item5").draggable({ revert: true });
		    $("#item6").draggable({ revert: true });
		    $("#item7").draggable({ revert: true });
		    $("#item8").draggable({ revert: true });
		    $("#item9").draggable({ revert: true });
		    $("#item10").draggable({ revert: true });
		    $("#item11").draggable({ revert: true });
		    $("#item12").draggable({ revert: true });

		    $("#myCart").droppable({
		        drop: function(event, ui) {
		        // fadeout dragged product
		        ui.draggable.fadeOut("slow", add2basket_dragNdrop($(ui.draggable).attr("shopID")));
		        // fadeout product box
		        $("#box" + $(ui.draggable).attr("shopID")).fadeOut("slow");
		        }
		    });

		});
}

// -- closes the Cart
function closeBasket() {
    $(
		function() {
		   $("#basketObject").fadeOut("slow");
	});
	basketVisible = false;
}

// -- load static HTML content into content pane
function loadContent(contentURL)
{
    showBusy();
    ajaxRender(contentURL,"mainContent","");
}

// -- encode search
function encodeSearch(q) {
    q = q.toLowerCase();
    s = new String(q);
    s = s.replace(/š/g, "_s_");
    s = s.replace(/ž/g, "_z_");
    s = s.replace(/đ/g, "_d_");
    s = s.replace(/č/g, "_c_");
    s = s.replace(/ć/g, "_cc_");
    return s;
}

// -- go and search by text query
function goTextSearch()
{
    var q = document.getElementById("searchTextBox_id").value;
    if(q == "") 
    {
        alert("Niste unijeli kriterij pretraživanja!");
    }
    else
    {
        q = q.toLowerCase();
        s = new String(q);
        s = s.replace(/š/g,"_s_");
        s = s.replace(/ž/g,"_z_");
        s = s.replace(/đ/g,"_d_");
        s = s.replace(/č/g,"_c_");
        s = s.replace(/ć/g,"_cc_");
        getProductList("filter=search&query=" + s);
    }
}

// -------------------------------------------------------
//                    CART MANAGEMENT
// -------------------------------------------------------

// -- removes single item from Basket
function basket_changeQuantity( stavkaID )
{
    var qty;
    try
    {
        qty = document.getElementById("k" + stavkaID).value;
        if(!isInteger(qty))
        {
            alert("Za količinu je potrebno upisati broj !"); 
            document.getElementById("k" + stavkaID).value = "";
            document.getElementById("k" + stavkaID).focus();
        }
        else
        {
            showBusy();
            ajaxRender("Add2basket.aspx?view=full&robaID=0&stavkaID=" + stavkaID + "&action=changeqty&qty=" + qty, "mainContent", "setTimeout('showTinyCart();',200);");
        }
    }
    catch(e){}
}

// -- removes single item from Basket
function bakset_dropItem( stavkaID )
{
    if(window.confirm("Želite li izbaciti ovaj proizvod iz košarice ?"))
    {
        showBusy();
        ajaxRender("Add2basket.aspx?view=full&robaID=0&action=removeitem&stavkaID=" + stavkaID, "mainContent", "setTimeout('showTinyCart();',200);");
    }
}

// -- adds item to the cart after dragNdrop
function add2basket_dragNdrop(userID)
{
    var robaID = document.getElementById("robaID_" + userID).value;
    ajaxRender("Add2basket.aspx?view=tiny&robaID=" + robaID, "basketContent", "setTimeout('redrawBasket();',200);");
}

// -- redraws basket depending on nubmer of items in it:
function redrawBasket() {
    if (!basketVisible) return;
    var items;
    var img = "";

    try {
        items = parseInt(document.getElementById("basketCount").value);
    }
    catch (e) 
    { 
        items = 0;
    }
    
    if(items == 0)
        img = "basket.png";
    else if(items == 1)
        img = "basket2.png";
    else if(items == 2)
        img = "basket3.png";
    else if(items == 3)
        img = "basket4.png";
    else if(items == 4)
        img = "basket5.png";
    else if(items == 5)
        img = "basket6.png";
    else if(items == 6)
        img = "basket7.png";
    else if(items >= 7)
        img = "basket8.png";

    document.getElementById("basketObject").src = "/App_Themes/biobio/images/" + img;  
}

// -- adds item to the cart when user clicks on link in the webshop view
function add2basket_byLink(userID) {
    var robaID = document.getElementById("robaID_" + userID).value;
    // fadeout product box
    $("#box" + userID).fadeOut("slow");
    ajaxRender("Add2basket.aspx?view=tiny&robaID=" + robaID, "basketContent", "setTimeout('redrawBasket();',200);");
}

// -- adds item to the cart when user clicks on link in the product detail view
function add2basket_FromDetailPage(userID)
{
    var robaID = document.getElementById("robaID_" + userID).value;
    ajaxRender("Add2basket.aspx?view=tiny&robaID=" + robaID, "basketContent", "setTimeout('getProductList();' ,200);"); 
}

// -- show Tiny Cart List
function showTinyCart()
{
    ajaxRender("Add2basket.aspx?view=tiny&robaID=0","basketContent","setTimeout('redrawBasket();',200);");
}

// -- show Full Cart List
function showFullCart()
{
    loadContent("Add2basket.aspx?view=full&robaID=0");
}

// -------------------------------------------------------
//                    USER MANAGEMENT
// -------------------------------------------------------

function user_register()
{
    location.href="UserAccount.aspx";
}

function user_editAccount()
{
    location.href="UserAccountEdit.aspx";
}

function user_logIn()
{
    loadContent("login.aspx?action=login");
}

function user_logOut()
{
    location.href="login.aspx?action=logout";
}

function user_validate()
{
    var email = document.getElementById("txtEmail_id").value + "";
    var pass = document.getElementById("txtLozinka_id").value + "";
    if(!isEmail(email) || isBlank(pass) || pass.length<5)
    {
        alert("Niste unijeli ispravnu e-mail adresu ili lozinku.\n" + 
              "Provjerite i ispravite upisane podatke i zatim pokušajte ponovno.\n" + 
              "Napomena: lozinka mora imati mininalno 5 znakova");
    }
    else
    {
        document.getElementById("formLogin_id").action = "login.aspx?action=validate";
        document.getElementById("formLogin_id").submit();
    }
}

function user_passwordReminder()
{
    var email = document.getElementById("txtEmail_id").value
    if(!isEmail(email))
    {
        alert("Niste unijeli ispravnu e-mail.\n" + 
              "Upišite e-mail adresu koju ste koristili tijekom registracije.\n"); 
        document.getElementById("txtEmail_id").focus();
    }
    else
    {    
        loadContent("login.aspx?action=remind&email=" + email);
    }
}

// -------------------------------------------------------
//                    ORDER MANAGEMENT
// -------------------------------------------------------

function order_emptyBasket()
{
    if(window.confirm("Želite li zaista isprazniti košaricu ?"))
    {
        ajaxRender("add2basket.aspx?view=full&robaID=0&action=emptybasket","mainContent","setTimeout('showTinyCart();',200);");
    }
}

function order_cancel()
{
    if(window.confirm("Želite li zaista odustati od ove kupnje ?"))
    {
        ajaxRender("add2basket.aspx?view=full&robaID=0&action=cancelorder","mainContent","setTimeout('showTinyCart();',200);");

    }
}

function order_buy()
{
    location.href="PaymentStart.aspx";
}

// -- send Contact Mail
function sendMessage()
{
    var f = document.getElementById("txtFrom").value;
    var s = document.getElementById("txtSubject").value;
    var m = document.getElementById("txtMessage").value ;
    if( f == "" || s == "" || m == "" || !isEmail(f) )
    {
       alert("Da biste nas kontaktirali potrebno je ispuniti sva polja formulara, \na polje e-mail mora sadržavati validnu e-mail adresa pošiljatelja.");
       return false;
    }
    else
    {
        document.getElementById("message").action = "contact.aspx";
        document.getElementById("message").method = "post";
        document.getElementById("message").submit(); 
    }
}

/***********************************************
* Bookmark site script- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/

/* Modified to support Opera */
function addBookmark(title,url){
    if (window.sidebar) // firefox
	    window.sidebar.addPanel(title, url, "");
    else if(window.opera && window.print){ // opera
	    var elem = document.createElement('a');
	    elem.setAttribute('href',url);
	    elem.setAttribute('title',title);
	    elem.setAttribute('rel','sidebar');
	    elem.click();
    } 
    else if(document.all)// ie
    	window.external.AddFavorite(url, title);
}
