Ext.onReady(function(){
  incMenuProdukty();
  incNahledyDetail();
  incOdkazyHighlight();
  incBannerySmall();
  updateSizeSelect();
  addBasket();
  setRemovableBasket();
  incSubmitNovinky(); // na rozcestníku
  incImagePulse(".imagePulse", 1, 5000, 1000);
  incImagePulse(".banner_shine", 1, 2000, 1000);
  incFilterZnacky();
});


// pulse_speed at seconds, repeat at miliseconds, delay at miliseconds
function incImagePulse(class_name, pulse_speed, repeat, delay) {
    var images = Ext.query(class_name);
    var actual_delay = 0;    
//     alert(images);
    
    Ext.each(images, function(e){
        var image = Ext.get(e);
        var parent = image.parent();
        
        var obrazek = Ext.util.Format.substr(e.src, 0, e.src.length-4);
        var extension = Ext.util.Format.substr(e.src, e.src.length-3, e.src.length);
        var obrazek_hover = new Image();
        obrazek_hover.src = obrazek +"_shine."+ extension
        
        var image_shine = Ext.DomHelper.append(parent, {
            id: parent.id, tag: 'img', cls: "img_shine", src: obrazek_hover.src
        });
        
        
        setTimeout(function(){

            setInterval(function(){
                image.setOpacity("0", {
                    easing: "easeOut",
                    duration: pulse_speed,
                    callback: function(){
                        image.setOpacity("1", {
                            easing: "easeOut",
                            duration: pulse_speed
                        });                
                    }
                });
            }, repeat);
        
        }, actual_delay);
        
        actual_delay += delay;
    });
    
    
}


function incFilterZnacky() {

    if (!document.getElementById("formFilterZnacky"))
        return false

    var form = document.getElementById("formFilterZnacky");
    var select = form.getElementsByTagName("select");
    
    select = select[0];
    
    select.onchange = function() {
        form.submit();
    }
        
    
}


function incSubmitNovinky() {
    var form = Ext.get("novinky_order");
    
    if (form == null)
        return;
    
    var input = Ext.get("novinky_input");
    
    input.on("click", function(){
        var value = input.getValue();
        
        if (value == "tvuj@e-mail.cz") {
            input.set({"value":""});
        }
    });
 
     input.on("blur", function(){
        var value = input.getValue();
        
        if (value == "") {
            input.set({"value":"tvuj@e-mail.cz"});
        }
    });  
    
    
    var submit = Ext.get("novinky_submit");
    
    submit.on("click", function(){
        var value = input.getValue();
        
        if (value != "tvuj@e-mail.cz")
            form.dom.submit();
    });
    
}


function incBannerySmall() {
    
    var image_1 = new Image();
    image_1.src = "images/layout/banner_small_01.jpg";
    var image_2 = new Image();
    image_2.src = "images/layout/banner_small_02.jpg";
    var image_3 = new Image();
    image_3.src = "images/layout/banner_small_03.jpg";
    
    var bimg = Ext.get("banner_small");
    var counter = 1;
    
    var images = new Array();
    images[0] = "images/layout/banner_small_01.jpg";
    images[1] = "images/layout/banner_small_02.jpg";
    images[2] = "images/layout/banner_small_03.jpg";
    
    setInterval(function(){
        
        if (counter >= images.length)
            counter = 0;
        
        bimg.slideOut("b", {
            easing: 'easeIn',
            duration: .3,
            callback: function(){
                bimg.dom.src = images[counter];
                bimg.stopFx();
                bimg.slideIn("t", {
                    easing: 'easeOut',
                    duration: .5,
                    callback:  function(){
                        counter++
                    }
                });
            },
            remove: false,
            useDisplay: false
        })
        
    }, 5000); 
    
        

    
}




function checkBasket() {
    
    Ext.Ajax.request({
        url: "exec/checkBasket.php",

        success: function(e) {
            var info = Ext.decode(e.responseText);
            
            updateKosikInfo(info);

        },
        failure: function(e) {
        }
    
    });  
    
}


function setRemovableBasket() {
    var krizek = Ext.query("#kosikPolozky img");

    Ext.each(krizek, function(item, index){
        var img = Ext.get(item);
        img.on("click", function(e){
            var elem = Ext.get(e.target);
            
            Ext.Ajax.request({
                url: "exec/removeBasket.php",
                params: {
                    item: index
                },
                success: function(e) {

                    var polozkaBlok = elem.parent(".kosikPolozka");

                    polozkaBlok.switchOff({
                        easing: 'easeIn',
                        duration: .3,
                        remove: true,
                        useDisplay: true
                    });

                    checkBasket();
                    
                },
                failure: function(e) {
                    alert("Nepodařilo se odebrat produkt z košíku. Stiskněte F5 a zkuste to znovu.");
                }
            
            });  
        });
    });
    
}




// přidat do košíku
function addBasket() {
    
    if (document.getElementById("vyrobekID") != null) {
        var vyrobek_id        = document.getElementById("vyrobekID").value; 
        var vyrobek_cena      = document.getElementById("vyrobekCena").value; 
        var vyrobek_nazev     = document.getElementById("vyrobekNazev").value; 
        
        var button = Ext.select("#doKosiku");
        
        button.on("click", function(){
            var vyrobek_velikost  = document.getElementById("vyrobekVelikost").value;
    
            if (vyrobek_velikost == 0) {
                alert("Vyberte velikost");
                return false;
            }
        
            Ext.Ajax.request({
                url: "exec/addBasket.php",
                params: {
                    id: vyrobek_id,
                    cena: vyrobek_cena,
                    nazev: vyrobek_nazev,
                    velikost: vyrobek_velikost
                },
                success: function(e) {
                    var dh = Ext.DomHelper;
    
                    var polozka_new = dh.append("kosikPolozky", {
                        tag: 'div', cls: 'kosikPolozka', children: [
                            {tag: 'span', html: vyrobek_nazev +'<br />'+ vyrobek_cena +',- '},
                            {tag: 'img', src: 'images/layout/kosik_krizek_blue.gif', alt: 'Odebrat z košíku'}
                        ]
                    });
                    
                    setRemovableBasket();
                    
                    Ext.get(polozka_new).highlight("EC008C", {
                        attr: "color",
                        easing: 'easeIn',
                        duration: 1.5
                    });
                    
                    checkBasket();
                    
                },
                failure: function(e) {
                    alert("Nepodařilo se přidat výrobek do košíku. Zkuste to později.");
                }
            
            
            });
        
        });
        
    }
    
    
}


function updateKosikInfo(kosik_info) {

//     alert(kosik_info.cena);

    var first_polozka = Ext.get("kosikPolozky").first("div");
    var oznaceni = sklonuj("položka", "položky", "položek", kosik_info.polozek)
    var odkazObjednat = document.getElementById("odkazObjednat");
    
    if (kosik_info.cena > 0) {
        first_polozka.dom.innerHTML = '<span id="kosikPolozek">'+ kosik_info.polozek +'</span> <span id="kosikPolozekOznaceni">'+ oznaceni +'</span> / <span id="kosikCena">'+ kosik_info.cena +'</span>,- Kč';
        odkazObjednat.style.display = "block";
    } else {
        first_polozka.dom.innerHTML = 'košík je prázdný';
        odkazObjednat.style.display = "none";
    }

}



// v detailu produktu updatuje kusy podle velikosti 
function updateSizeSelect() {
    if (document.getElementById("vyrobekID") != null) {

        var select            = Ext.select("#velikostVybrat");
        var vyrobek_id        = document.getElementById("vyrobekID").value;
        var vyrobek_velikost  = document.getElementById("vyrobekVelikost");
        var span_kusy         = document.getElementById("kusy");
        
        select.on("change", function(e) {
            var sel = Ext.get(e.target);
            var idecko = sel.dom.options[sel.dom.selectedIndex].value
            
//             if (idecko == 0) {
//                 span_kusy.innerHTML = "vyberte velikost...";
// 
//             } else {
//                 span_kusy.innerHTML = "<div style='display: inline; background: url(images/layout/ajax-loader.gif) no-repeat center center; height: 9px; width: 16px;'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</div>";
//                 
//                 Ext.Ajax.request({
//                     url: "exec/getPocetKusu.php",
//                     params: {
//                         velikost: idecko,
//                         vyrobek: vyrobek_id
//                     },
//                     success: function(e) {
//                         span_kusy.innerHTML = e.responseText;
                        vyrobek_velikost.value = idecko;
//                     },
//                     failure: function(e) {
//                         span_kusy.innerHTML = "Nepodařilo se načíst počet kusů. Zkuste to znovu.";
//                     }
//                 
//                 });    
//             }
            
            
        });

    
    }
    
}


function incOdkazyHighlight() {
    var odkazy = Ext.query(".hlHover");

    if (odkazy !== "") {
        Ext.each(odkazy, function(e, f){
            var element = Ext.get(e);
            
            element.on({
                "mouseover": {
                    fn: function(e){
                        var polozka = Ext.get(e.target);
                        polozka.stopFx();
                        polozka.highlight("EC008C", {
                            attr: "color",
                            easing: "easeIn",
                            duration: .4
                        });
                    }
                }
            });
        });
    }

}


function incNahledyDetail() {
    var nahledy_male = Ext.query(".nahledMaly img");
    
    Ext.each(nahledy_male, function(e, f){
        var element = Ext.get(e);
        element.on("click", function(e){
            
            var img = Ext.get(e.target);
            var nahled_main = Ext.select("#nahledMain");
            
            nahled_main.setOpacity("0", {
                easing: "easeNone",
                duration: 0.05,
                callback: function() {
                    
                    preload = new Image();
                    preload.src = "images/vyrobky_detaily/"+ img.id;
                    
                    preload.onload = function() {
                        var nahled_main_src = document.getElementById("nahledMain");
                        nahled_main_src.src = "images/vyrobky_detaily/"+ img.id;
                        nahled_main.setOpacity("1", {
                            easing: "easeNone",
                            duration: 0.05
                        });
                    
                    }
                
                }
            });

//             nahled_main.src = "images/vyrobky_detaily/"+ img.id
        });
    });
}


var rychlost_posunu = 0.8;
var rychlost_stmivani = 0.8;

// nastaví, aby se po kliknutí rozevřela submenu
function incMenuProdukty() {
    var menus = Ext.query("div#submenu div.parent");
    
    Ext.each(menus, function(e,f){
        var element = Ext.get(e);
        
        if (element.first() == null) {
        
            element.on("click", function(e){
                var children = Ext.get(e.target).next();
                var notOpen = (children.hasClass("children") && !children.isDisplayed()) ? true : false;


                hideAllMenu();
                if (notOpen) {

                    children.show({
                        easing: 'easeOut',
                        duration: rychlost_stmivani
                    });
                    children.slideIn("t", {
                        easing: 'easeOut',
                        duration: rychlost_posunu,
                        useDisplay: true
                    });
                }
                
            });
        }
    
    });
}

// skryje všechna rozevřená submenu
function hideAllMenu() {
    var menus = Ext.query("div#submenu div.children{display=block}");
    
    Ext.each(menus, function(e,f){
        var element = Ext.get(e);

        element.hide({
            easing: 'easeOut',
            duration: rychlost_stmivani
        });
        element.slideOut("t", {
            easing: 'easeOut',
            duration: rychlost_posunu,
            useDisplay: true
        });

    
    });


}



// function incMenuProduktyX() {
//     var muzi_head = Ext.select("#muzi");
//     var zeny_head = Ext.select("#zeny");
//     
//     var rychlost_posunu = 0.3;
//     var rychlost_stmivani = 0.8;
//     
//     muzi_head.on({
//         "click" : {
//             fn : function(e) {
//                 var thisMuzi = Ext.get(e.target);
//                 var muzi_children = thisMuzi.next();
//   
//                 if (muzi_children.isDisplayed() == false) {
//                     muzi_children.show({
//                         easing: 'easeOut',
//                         duration: rychlost_stmivani
//                     });
//                     muzi_children.slideIn("t", {
//                         easing: 'easeOut',
//                         duration: rychlost_posunu,
//                         useDisplay: true
//                     });
//     
//                     var zeny_children = Ext.select("#childrenZeny");
//                     zeny_children.hide({
//                         easing: 'easeOut',
//                         duration: rychlost_stmivani
//                     });
//                     zeny_children.slideOut("t", {
//                         easing: 'easeOut',
//                         duration: rychlost_posunu,
//                         useDisplay: true
//                     });
//                 } 
// 
//             }
//         }
//     
//     });
// 
// 
//     zeny_head.on({
//         "click" : {
//             fn : function(e) {
//                 var thisZeny = Ext.get(e.target);
//                 var zeny_children = thisZeny.next();
//   
//                 if (zeny_children.isDisplayed() == false) {
//                     zeny_children.show({
//                         easing: 'easeOut',
//                         duration: rychlost_stmivani
//                     });
//                     zeny_children.slideIn("t", {
//                         easing: 'easeOut',
//                         duration: rychlost_posunu,
//                         useDisplay: true
//                     });
//     
//                     var muzi_children = Ext.select("#childrenMuzi");
//                     muzi_children.hide({
//                         easing: 'easeOut',
//                         duration: rychlost_stmivani
//                     });
//                     muzi_children.slideOut("t", {
//                         easing: 'easeOut',
//                         duration: rychlost_posunu,
//                         useDisplay: true
//                     });
//                 } 
// 
//             }
//         }
//     
//     });
// 
// 
// }









function incMenu() {
    var polozkyMenu = Ext.select("#menu a");
    
    polozkyMenu.on("mouseover", function(){
        polozkyMenu.setOpacity("1");
    });
    polozkyMenu.on({
        "mouseover": {
            fn: function(e){
                var polozka = Ext.get(e.target);
                polozka.setOpacity("0", {
                    easing: "easeOut",
                    duration: .1
                });
            }
        },
        "mouseout": {
            fn: function(e){
                var polozka = Ext.get(e.target);
                polozka.setOpacity("1", {
                    duration: .05
                });
            }
        }
    });
}


function sklonuj(kus, kusy, kusu, pocet) {
    if (pocet == 1) {
        return kus;
    } else if (pocet > 1 && pocet < 5) {
        return kusy;
    } else {
        return kusu;
    }
}



function Confirm(text) {
    yes = confirm(text); 
    if (yes) return true; 
    else return false;
}
