var display = 'block';
var category;
var category_old;
var sorted = new Array;  
var postranici = 20;
var stranica = 1;
var sortirano = 'naziv';     

var dodano_timeout = 2 // sekunde

sorted['naziv'] = '';
sorted['sifra'] = '';
sorted['cijena1'] = '';
sorted_velicina = 3;

// Display based

function updateCart()
{
    new Ajax.Updater('kosarica_cont', '/webshop/ajax.php?f=updateCart');
    getTotal();
}
function ShowHideMenu(id)
{  
    if ($('navigacija_'+id)==null) { 
        ChangePage('tekst-container','/webshop/ajax.php?f=global_show_products&full=1&cat='+id +'&disp='+display,'Katalog',$('menu_kat_'+id).title);
        category = id;      
        category_old = id; 
        stranica = 1;
        trazeno = '';  
        setAkcijaCat(id)                                 
        return;
    }                          
    if ($('navigacija_'+id).style.display == "none") {
        Effect.SlideDown('navigacija_'+id, {duration:0.5}); 
    }
    else Effect.SlideUp('navigacija_'+id, {duration:0.5});  
}
function prethodna()
{                       
    if (stranica<=1) return;
    ShowProducts('','','',parseInt(stranica)-1);
}
function sljedeca()
{                                         
    if (stranica==$('ukupno_str').innerHTML) return;
    if (stranica>$('ukupno_str').innerHTML) return;
    ShowProducts('','','',parseInt(stranica)+1);   
}
function ShowProducts(disp_type, sort, search, page)
{    
    search = encodeURI(trim(search));                            
    if (sort==null || sort=="") sort = sortirano; 
    else {
        sortirano = sort;      
        setSortImages(sort);                   
    }
    if (disp_type == "" || disp_type==null) disp_type = display; else display = disp_type;  
    if (page=="" || page==null) page=stranica; else stranica=page;
    if (trim($('searchq').value)!="")      
    {                              
        search = $('searchq').value;                     
        //postavljam navbar
        $('navbar_1').innerHTML = "Rezultati pretrage";
        $('navbar_2').style.display = 'none';
        $('delimiter_2').style.display = 'none';
    }                   
        
    Effect.Fade('artikli_cont', {duration: 0.3}); 
    setTimeout("ShowProducts_next('"+disp_type+"','"+search+"','"+page+"','"+sort+"','"+sorted[sort]+"')", 300);
}   
function ShowProducts_next(disp_type, search, page, sort, dir) 
{     
    if (trim($('searchq').value)!="")      
    {                                  
        if ($('category_only').checked) category = category_old;
        else {
            category_old = category;
            category = null;   
        }
    }
    search = decodeURI(search);         
         
    new Ajax.Updater('artikli_cont', '/webshop/ajax.php?f=show_products', {
        method: 'get',
        onLoading: function() { $('loading').show(); },
        parameters: {
            srt: sort,
            dr: dir,
            disp: disp_type,
            cat: category,
            sq: search,
            p: page},
        onComplete: function() {$('loading').hide();
                                Effect.Appear('artikli_cont'), {duration: 300}; 
                                new Ajax.Updater('ukupno_str','/webshop/ajax.php?f=getUkupnoStr');
                                $('str').value = stranica;
                                new Ajax.Updater('ukupno_art','/webshop/ajax.php?f=getUkupnoArt');}});      
}
function SetPoStranici(n)
{
    new Ajax.Request('/webshop/ajax.php?f=setPoStranici', {
        method: 'get',
        parameters: { poStr: n},
        onComplete: function() {ShowProducts('','','',1); new Ajax.Updater('ukupno_str','/webshop/ajax.php?f=getUkupnoStr') }});
    $('str').value = 1;
} 
function GoToStranica(n)
{
    if (n<1) n=1;
    if (n>$('ukupno_str').innerHTML) n=$('ukupno_str').innerHTML;
    ShowProducts('','','',parseInt(n));
}
function setAkcijaCat(id)
{
    go = 0;
    new Ajax.Updater('akcije', '/webshop/ajax.php?f=setAkcijaCat&id='+id, {
        onComplete: function() {                                         
            initializemarquee('scroll_container','scroll_object',1000);
            go=1;
        }
    });                                                                 
}
function setFinalDiscount(checkedId, ukupnoField) {
    new Ajax.Updater(ukupnoField, '/webshop/ajax.php?f=setFinalDiscount', {
        method: 'post',
        parameters: {id: checkedId}});         
}
function setFinalDiscount2(checkedId, ukupnoField) {
    new Ajax.Updater(ukupnoField, '/webshop/ajax.php?f=setFinalDiscount2', {
        method: 'post',
        parameters: {id: checkedId}});
}

//Functional based

function addToCart(lid,id)
{        
    if ($(lid+'kolicina_'+id)) kol=$(lid+'kolicina_'+id).value;
    else kol = 1; 
    kol = parseInt(kol);
    if (kol==null || kol=="" || kol <= 0) return;   
    new Ajax.Request('/webshop/ajax.php?f=addToCart', {
        method: 'get',
        parameters: {
            a_id: id,
            count: kol },
        onSuccess: function(transport) {              
            switch(parseInt(transport.responseText)) {
                case 0:        
                    showDodano(lid, id, true);
                    updateCart(); 
                    break;
                case 51: // nedovoljno artikala na stanju  
                    showDodano(lid, id, false);
                    return;
                default:
                    return;
            }              
            }});     
}
function getTotal()
{
    new Ajax.Updater('ukupno', '/webshop/ajax.php?f=getTotal&type=string');
}
 
function UpdateKolicina(newKolicina, artikli_id)
{                                                                 
    new Ajax.Request('/webshop/ajax.php?f=updateKolicina&new_k='+newKolicina+'&artikli_id='+artikli_id, {
        onSuccess: function(transport) {              
            switch(parseInt(transport.responseText)) {
                case 51: // nedovoljno artikala na stanju  
                    alert("Nema dovoljno artikala na lageru!");                              
                    Refresh();
                    return;
                default:                                                   
                    Refresh();
                    updateCart();                                   
                    return;
            }
        }
    });             
}
function removeFromBasket(artikli_id)
{
    new Ajax.Updater('tekst-container', '/webshop/ajax.php?f=removeFromBasket&artikli_id='+artikli_id, {
        onComplete: function(){ updateCart();}});

}
function removeAll()
{
    new Ajax.Updater('tekst-container','/webshop/ajax.php?f=removeFromBasketAll', {
        onComplete: function(){ updateCart();}});
}
function orderDetails() {
    ChangePage( 'tekst-container',
                '/webshop/ajax.php?f=show_order_details',
                'Detalji narudžbe (1/2)',
                null); 
}
function show_error(id) {
    $(id).style.display = 'block';
}
function validateDetails() {  
    if ($('custom_address').checked) {
        if ($('adresa_dostave').value == "") {
            alert("Niste naveli adresu za dostavu!");
            return false;
        }
    };
    return true;
}
function preprocesOrder() {
    var radioGrp = document.getElementsByName('dostava');
    for(i=0; i < radioGrp.length; i++){
        if (radioGrp[i].checked == true) {
            var dostava= radioGrp[i].value;
        }
    }
    var radioGrp = document.getElementsByName('adresa');
    for(i=0; i < radioGrp.length; i++){
        if (radioGrp[i].checked == true) {
            var adresa= radioGrp[i].value;
        }
    }
    var radioGrp = document.getElementsByName('placanje');
    for(i=0; i < radioGrp.length; i++){
        if (radioGrp[i].checked == true) {
            var placanje= radioGrp[i].value;
        }
    }
    
    if (!dostava || !adresa || !placanje) {
        $('error_box').style.color = "red";
        $('error_box').innerHTML = "Niste popunili sva polja!";
        $('error_box').style.display = "inline";
        return;
    }

    if (adresa==1 && validateDetails()==false)
    {
        $('error_box').style.color = "red";
        $('error_box').innerHTML = "Niste popunili sva polja!";
        $('error_box').style.display = "inline";
        return;
    }
    new Ajax.Updater('tekst-container', '/webshop/ajax.php?f=preprocesOrder', 
        {
            onLoading: function() { $('webshop_loading').show(); },
            onComplete: function() { $('webshop_loading').hide(); },
            parameters: {
                'dostava': dostava,
                'adresa': adresa,
                'placanje': placanje,
                'adresa_dostave': $F('adresa_dostave')
            },
            method: 'post'
    });  
    $('navbar_1').innerHTML = "Detalji narudžbe (2/2)";
    $('navbar_2').style.display = 'none';
    $('delimiter_2').style.display = 'none';
}

function procesOrder() {
    new Ajax.Request('/webshop/ajax.php?f=procesOrder', {
        method: 'post',
        postBody: Form.serialize('order_details_form'),
        onSuccess: function(transport) {
            if (transport.responseText.match(/true/)) {
                $('info_box').style.display = "inline";
                $('error_box').style.display = "none";
            }
            else if (transport.responseText.match(/E01/)) { 
                $('error_box').style.color = "red";
                $('error_box').innerHTML = "Morate biti ulogirani da biste mogli naručiti!";
                $('error_box').style.display = "inline";
                return;
            }
            else if (transport.responseText.match(/E02/)) { 
                $('error_box').innerHTML = transport.responseText;
                return;
            }
            else {
                $('error_box').innerHTML = "Niste ispunili sva polja.";
                $('error_box').style.display = "inline";
                return;
            }
        }             
    } );
}

// pomocne funkcije 

function showDodano(lid, id, succesful)
{   
    if ($(lid+'dodaj_link_'+id)==null) return;
    $(lid+'dodaj_link_'+id).style.display = 'none';
    if (succesful) 
        $(lid+'dodano_'+id).style.display = '';                          
    else 
        $(lid+'E51_'+id).style.display = '';                             
        
    setTimeout('showDodano_next("'+lid+'",'+id+')', dodano_timeout * 1000);
}
function showDodano_next(lid,id)
{                         
    if ($(lid+'dodaj_link_'+id)!=null) 
	$(lid+'dodaj_link_'+id).style.display = '';
    if ($(lid+'dodano_'+id)!=null)
	$(lid+'dodano_'+id).style.display = 'none'; 
    if ($(lid+'E51_'+id)!=null)
	$(lid+'E51_'+id).style.display = 'none'; 
}
function setSortImages(sort)
{                                                
    j=0;
    for (var i in sorted) {
        $('img_'+i).style.display = 'none';
       j++;
       if (j>=sorted_velicina) break;
    }  
    $('img_'+sort).style.display = '';      
    
    switch(sorted[sort]) {
        case '':
            sorted[sort] = 'dole';
            break;
        case 'dole':
            sorted[sort] = 'gore';
            break;
        case 'gore':
            sorted[sort] = 'dole';
    }                           
    $('img_'+sort).src = 'artwork/strelica-'+sorted[sort]+'.gif';
}
function checkS(e, sr)   // for IE enter recognition
{                   
    var keyID = (window.event) ? event.keyCode : e.keyCode;
    if (keyID == 13) ShowProducts('','',sr,1);
}
function trim(str, chars) {
    if (str==null) return;
    return ltrim(rtrim(str, chars), chars);
}

function ltrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

function rtrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}
