/* LOGIN.JS */
$(document).ready(function(){

    $("div.mod_login button.linkButton").mouseenter(function(){
        $(this).css("text-decoration","underline");
    })    
    
    $("div.mod_login button.linkButton").mouseleave(function(){
        $(this).css("text-decoration","none");
    })    
});

loginForm = function()
{
        $("div.mod_login div.formItems").fadeIn("slow");
        $("div.mod_login button.linkButton").css("display","inline");
        $("div.mod_login a.linkButton").css("display","none");
   
    return false;   
}
    
/* SEARCH.JS */
function applyValue(value)
{
    document.getElementById('inputSearch').value = value;
}

function suggestionBar(elementID){
    
    var element = document.getElementById(elementID);
    var activeLink = null;
    var position = 0;
    this.to = 0;
    
    this.defText = 'Hľadať produkt alebo kategóriu...';
    var parent = this;
    
        this.init = function()
        {   
            if(document.addEventListener)
            {   
                element.addEventListener("focus",this.defaultText,false);
                element.addEventListener("focus",this.createBar,false);
                element.addEventListener("keyup",this.keyHandler,false);
                element.addEventListener("blur",this.clearContainer,false);
                element.addEventListener("blur",this.defaultText,false);
            }
            else
            {
                element.attachEvent("onfocus",this.defaultText);
                element.attachEvent("onfocus",this.createBar);
                element.attachEvent("onkeyup",this.keyHandler);
                element.attachEvent("onblur",this.clearContainer);
                element.attachEvent("onblur",this.defaultText);
            }        
        }
        
        this.defaultText = function()
        {
            var defaultText = parent.defText;
            
            if(element.value.length == 0)
                element.value = defaultText;
            else if(element.value == defaultText)
                element.value = '';
        }
        
        this.clearContainer = function()
        {  
            var body = document.getElementsByTagName('form')["frmSearch"];
            var oldContainer = null;
            
                if(oldContainer = document.getElementById("suggestionResults"))
                   window.setTimeout(function() {body.removeChild(oldContainer);}, 200);
            
            
        } 
        
        this.keyHandler = function(event) 
        {        
            if(window.event)
                keycode = window.event.keyCode;
            else 
                if(event.which)
                    keycode = event.which;
                else 
                    if(event.keyCode)
                        keycode = event.keyCode;
                                        
            switch(keycode)
            {
                case 40:
                    parent.moveDown();
                    break;
                case 38:
                    parent.moveUp();
                    break;
                case 27:
                    parent.clearContainer();
                    break;
                case 13: // Enter
                        parent.startSearch();
                    break;   
                case 33: // PageUp 
			    case 34: // PageDown
			    case 35: // End
			    case 36: // Home
			    case 37: // Left
			    case 39: // Right
				    break;
                default:
                    if(parent.to)
                        clearTimeout(parent.to);
                    parent.to = setTimeout(function(){parent.createBar()},1000);
                    break;
           
            }
            
        }   
        
        this.startSearch = function()
        {   
            
                if(activeLink.href.indexOf('http://') == -1)
                    setTimeout(document.getElementById('frmSearch').submit(),200);
                else 
                {
                    
                    location.href = activeLink.href;
                }
                
        }
        
        this.createBar = function()
        {
            
            if(element.value.length>3 && element.value != parent.defText && !document.getElementById('suggestionResults'))
            {          
                var body = document.getElementsByTagName('form')["frmSearch"]; 
                parent.container = document.createElement("div");
                parent.container.setAttribute("id","suggestionResults");
                
                parent.container.innerHTML = parent.ajax();
                body.appendChild(parent.container);
                
            }
            else if(element.value.length>3 && document.getElementById('suggestionResults'))
            {   
                container = document.getElementById('suggestionResults');
                container.innerHTML = parent.ajax();
                
            }else
                parent.clearContainer();
        }
               
        this.moveDown = function()
        {
            if(!activeLink)
            {   
                activeLink = document.getElementById('suggestionResults').getElementsByTagName("a")[0];
                if(activeLink.href.indexOf('http://') == -1)
                    element.value = activeLink.childNodes[0].nodeValue;
                activeLink.className = 'bgSearch';
                position = 1;
            }
            else    
            {
                var count = document.getElementById('suggestionResults').getElementsByTagName("a");
                if(activeLink.nodeName == 'A' && count.length != position)
                    activeLink.className = '';
                    
                if(count.length != position)
                {
                    activeLink = activeLink.nextSibling;
                    if(activeLink.nodeName == 'A')
                    {
                        while(activeLink.nodeType != 1)
                        {
                            activeLink = activeLink.nextSibling;
                        }
                        if(activeLink.href.indexOf('http://') == -1)
                            element.value = activeLink.childNodes[0].nodeValue;
                        activeLink.className = 'bgSearch';
                        position += 1;
                    }else
                        this.moveDown();
                    
                    
                }
                
                if(position>count.length)
                    position = count.length;
                    
                
            }
            
        }
        
        this.moveUp = function()
        {
            if(activeLink)
            {   

                if(activeLink.nodeName == 'A')
                {
                    position -= 1;
                    activeLink.className = '';
                }
                    
                activeLink = activeLink.previousSibling;
                
                if(activeLink.nodeName == 'A')
                {   
                    while(activeLink.nodeType != 1)
                    {
                        activeLink = activeLink.previousSibling;
                    }
                    if(activeLink.href.indexOf('http://') == -1)
                        element.value = activeLink.childNodes[0].nodeValue;
                    activeLink.className = 'bgSearch';
                }else
                    this.moveUp();
                
            }
            
            if(position<0)
                position = 0;
        }
        
        this.ajax = function()
        {   
            var url = '/modules/mod_search/ajax/suggestions.php?search='+element.value;          
            var method = 'GET';
            if(window.XMLHttpRequest)
                xmlHttp = new XMLHttpRequest();
            else
                xmlHttp = new ActiveXObject(Microsoft.xmlHttp);
            
            if(xmlHttp)
            {
                xmlHttp.open(method,url,false);
                xmlHttp.send(null);
                
                return xmlHttp.responseText;
            }
            else
                return ;
            
        }

}/* SHOPPINGCART.JS */
submitFrm = function(step)
{
    var previous = step;
    if(previous>0)
        document.getElementById('step'+previous).submit();
    
}/* PRODUCTS.JS */
    function loadData(type,product_id,currency_id,tag,ticket) {
       
        this.id = product_id;
        this.currency_id = currency_id;
        var parent = this;

        this.init = function(area,id,url)
        {   
            if(!area)
                var area = 'content';
            
            if(!id)
                var id = 'buttons';
            
            if(!url)
                var url = type+'.php?product_id='+parent.id+'&currency_id='+parent.currency_id+'&ticket='+ticket;
            
            if(id != 'noaction')
            {
                parent.removeClass(id);
                tag.className += ' active';
            }
            document.getElementById(area).innerHTML = parent.ajax('/modules/mod_products/ajax/'+url);
        }
        
        this.removeClass = function(id)
        {       
            var area = document.getElementById(id).getElementsByTagName('a');
            for(i = 0; i<area.length; i++) {
                area[i].className = area[i].className.replace(' active','');
            }
        }
        
        this.ajax = function(url)
        {             
            var method = 'GET';
            
            if(window.XMLHttpRequest)
                xmlHttp = new XMLHttpRequest();
            else
                xmlHttp = new ActiveXObject(Microsoft.xmlHttp);
            
            if(xmlHttp)
            {    
                xmlHttp.open(method,url,false);
                xmlHttp.send(null);
                
                return xmlHttp.responseText;
            }
            else
                return 'Error!';
            
        }
        if(this.id)
            this.init();
        
        return true;
    }
    
    function loadVideo(product_id,video_id,tag,ticket) {
    
        var video = new loadData();
    
        video.init('content','noaction','videos.php?product_id='+product_id+'&video_id='+video_id+'&ticket='+ticket);
       
       return true;
    }
    
    function loadForm(id,barem_id,currency_id,tag,ticket,type) {
    
        var form = new loadData();        
        form.init('content','noaction','installment_sale.php?'+type+'_id='+id+'&barem_id='+barem_id+'&currency_id='+currency_id+'&ticket='+ticket);
       
        return true;
    }
    
    function calculateFormData(id,barem_id,currency_id,ticket,type)
    {
        var installments = document.getElementById("_installments").value;
        var items = document.getElementById("_radioArea").getElementsByTagName('input');
        
        for(i=0;i<items.length;i++)
        {
            if(items[i].checked)
                var insurance = items[i].value;
        }
        
        var payment = document.getElementById("_payment").value;
        
        var form = new loadData();
    
        form.init('formTable','noaction','installment_sale.php?'+type+'_id='+id+'&barem_id='+barem_id+'&currency_id='+currency_id+'&ticket='+ticket+'&installments='+installments+'&insurance='+insurance+'&payment='+payment);
        
        return true;
    }
    
    $(document).ready(function(){
       
       
       function image() {
        
        this.timeCount = 0;
        this.timeID = 0;
        this.file = '';
        this.url = '';
        this.which = 0;
        this.position = 0;
        
        
        this.ajax = function(url)
        {             
            var method = 'GET';
            
            if(window.XMLHttpRequest)
                xmlHttp = new XMLHttpRequest();
            else
                xmlHttp = new ActiveXObject(Microsoft.xmlHttp);
            
            if(xmlHttp)
            {    
                xmlHttp.open(method,url,false);
                xmlHttp.send(null);
                
                return xmlHttp.responseText;
            }
        }
        
        var parent = this;
           
           showImg = function(file)
           {
               parent.file = file;
               if(!$("#picsNav").is("div"))
                   $("body").append("<div id='picsNav'><div>Klávesou ESC alebo F5 sa vrátite späť na produkt</div></div>").css("display","none").fadeIn(100);
               
               $("body").append("<div id=\"picsArea\"><div class='divClose'><a href=\"javascript:closeImg()\" id='close'><img src='/modules/mod_products/tmpl/images/close.png' alt='close' /></a></div><div id='mainImage'>&nbsp;</div></div>"); 
                    $("body div#mainImage").replaceWith("<div id='mainImage'><img id='image' src='/images/image.php?dir="+file+"&cut=0' alt='' /></div>");
                    
               parent.timeID = setInterval("checkImg()",500);                
                
               return 1; 
           }
           
           navigation = function(file)
           {
                var which = file.split('&key=');
                
                if(!which[1])
                    which[1] = 0;
                else
                {
                    var dir = which[1].split("&");
                    which[1] = dir[0];
                    if(dir[1])
                        which[0] += "&".dir[1];
                }
                
                
                parent.which = which[1];
                parent.url = which[0];
                
                $.ajax({contentType:"text/xml",url:"/images/load_images.php?dir="+which[0]+"&key="+(parseInt(which[1])+1)+"&warning=1",dataType:"html",success:function(data,status,XMLHttpRequest){
                    
                    if(data != "ERROR")
                    {   
                        if(!$("a#next").is("a"))
                        {   
                            $("div#picsArea").append("<a href=\"javascript:nextImg()\" id=\"next\"><img src=\"/modules/mod_products/tmpl/images/next.png\" alt=\"\" /></a>");
                            $("a#next").css("display","none").css("top","45%")
                                       .css("right",position+"%").fadeIn("slow");
                        } 
                    }
                    else
                    {
                        if($("a#next").is("a"))
                        {
                            $("a#next").fadeOut("slow").remove();
                        }    
                    }
                    
                }});
                
                $.ajax({contentType:"text/xml",url:"/images/load_images.php?dir="+which[0]+"&key="+(parseInt(which[1])-1)+"&warning=1",dataType:"html",success:function(data,status,XMLHttpRequest){
                   
                    if(data != "ERROR")
                    {
                        if(!$("a#previous").is("a"))
                        {
                            $("div#picsArea").append("<a href=\"javascript:previousImg()\" id=\"previous\"><img src=\"/modules/mod_products/tmpl/images/previous.png\" alt=\"\" /></a>");
                            $("a#previous").css("display","none").css("top","45%")
                                           .css("left",position+"%").fadeIn("slow");
                        }
                    }
                    else
                    {
                        if($("a#previous").is("a"))
                        {
                            $("a#previous").fadeOut("slow").remove();
                        }    
                    }
                }});
                
           }
           
           nextImg = function()
           {
            
                parent.which = parseInt(parent.which)+1;
                showImg(parent.url+"&key="+parent.which);
                recalculatePosition();
           }
           
           previousImg = function()
           {
                parent.which = parseInt(parent.which)-1;
                showImg(parent.url+"&key="+parent.which);
                recalculatePosition();
           }
           
           recalculatePosition = function() {
                
                if($("a#previous").is("a"))
                    $("a#previous").css("top","45%").animate({left:parent.position+"%"});
                                   
                
                if($("a#next").is("a"))
                    $("a#next").css("top","45%").animate({right:parent.position+"%"});
                                   
           }
           
           checkImg = function() {
              parent.timeCount++;
              var pHeight = $("div#mainImage img#image").height();
              
                if(pHeight > 0)
                {
                    var pWidth = $("div#mainImage img#image").width()+50;
                    var pHeight = $("div#mainImage img#image").height();
                    var bWidth = $(window).width();
                    var bHeight = $(window).height();
                    
                    var top = Math.floor((100-(pHeight/bHeight)*100)/2);
                    var left = Math.floor((100-(pWidth/bWidth)*100)/2);
                    $("div#picsArea img#close").css("top","-23px").css("right","-23px");
                    $("div#mainImage").width(pWidth).height(pHeight).css("padding","5px");
                    $("div#mainImage").css("visibility","visible").fadeIn("slow");
                    $("div#picsArea").css("top",top+"%").css("left",left+"%").css("padding","10px").width(pWidth).height(pHeight).css("visibility","visible");
                    $("div#picsArea").animate({width:pWidth+10,height:pHeight+10},"slow","linear");
                    
                    parent.position = left - 8;
                    recalculatePosition();
                    navigation(parent.file);
                    clearInterval(parent.timeID);
                }
              
              
                if(parent.timeCount > 50)
                {
                    closeImg();
                    clearInterval(parent.timeID);
                }
                    
            
           }   
           
           closeImg = function () {
                $("div#picsNav").remove();
                $("div#picsArea").remove();
           }
           
           $(document).keypress(function(event){
           
                if(event.keyCode == 27)
                    closeImg();
           });
           
             
        }              

        image();
        
        
    });
    