/*
Funkcja ukrywajaca adres email przed spam botami wypisuje nastepujacy kod
<a href="beforeAt@afterAt" class="cssClass">beforeAt@afterAt</a>
@author   Mikolaj Krawczyk
*/
function scramble(beforeAt, afterAt, cssClass)
{
    var a,b,c,d,e;
    a = '<a ';
    if (cssClass != null)
    {
        a += 'class="' + cssClass + '" ';
    }
    a += 'href="mai';
    b = beforeAt;
    c = '">';
    a += 'lto:';
    b += '@';
    e = '</a>';
    b += afterAt;
    d = b;

    document.write(a + b + c + d + e);
}

/*
Funkcja ukrywajaca adres email przed spam botami wypisuje nastepujacy kod
<a href="beforeAt@afterAt" class="cssClass">linkName</a>
@author   Mikolaj Krawczyk
*/
function scrambleWithLink(beforeAt, afterAt, linkName, cssClass)
{
    var a,b,c;
    a = '<a ';
    if (cssClass != null)
    {
        a += 'class="' + cssClass + '" ';
    }
    a += 'href="mai';
    b = beforeAt;
    c = '">'+ linkName +'</a>';
    a += 'lto:';
    b += '@';
    b += afterAt;

    document.write(a + b + c);
}

function writeCookie(uri)
{
    var date = new Date();
    date.setTime(date.getTime()+(356*24*60*60*1000));
    var res_cookie = "users_res="+screen.width +"x"+ screen.height+"; expires="+date.toGMTString()+"; path=/"
    document.cookie = res_cookie;

    if (readCookie("users_res") === null )
    {
        location = uri;
    }
}

/**
 * Funkcja odczytuje wszystki ciastka po nazwie
 */
function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(";");
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==" ") c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}


function checkRes( i_width, i_height)
{
    if(i_width != screen.width || i_height != screen.height)
    {
        writeCookie();
    }
    else
    {
        return true;
    }
}



/*
Funkcja zmienia selecty na plywajace ramki (iframe) aby mozna bylo ustawic selecty o wybranej width w IE
@author Tomasz Sierakowski
*/





function dropdown_menu_hack(el)
{


    if(el.runtimeStyle.behavior.toLowerCase()=="none"){return;}
    el.runtimeStyle.behavior="none";

    var ie5 = (document.namespaces==null);
    el.ondblclick = function(e)
                    {
                    window.event.returnValue=false;
                    return false;
                    }

    if(window.createPopup==null)
    {

    var fid = "dropdown_menu_hack_" + Date.parse(new Date());

    window.createPopup = function()
                         {
                            if(window.createPopup.frameWindow==null)
                            {
                                el.insertAdjacentHTML("AfterEnd","<iframe id='"+fid+"' name='"+fid+"' src='about:blank' frameborder='1' scrolling='no'></></iframe>");
                                var f = document.frames[fid];
                                f.document.open();
                                f.document.write("<html><body></body></html>");
                                f.document.close();
                                f.fid = fid;


                                var fwin = document.getElementById(fid);
                                fwin.style.cssText="position:absolute;top:0;left:0;display:none;z-index:99999;";


                                f.show = function(px,py,pw,ph,baseElement)
                                         {
                                         py = py + baseElement.getBoundingClientRect().top + Math.max( document.body.scrollTop, document.documentElement.scrollTop) ;
                                         px = px + baseElement.getBoundingClientRect().left + Math.max( document.body.scrollLeft, document.documentElement.scrollLeft) ;
                                         fwin.style.width = pw + "px";
                                         fwin.style.height = ph + "px";
                                         fwin.style.posLeft =px ;
                                         fwin.style.posTop = py ;
                                         fwin.style.display="block";
                                         }


                                f_hide = function(e)
                                {
                                if(window.event && window.event.srcElement && window.event.srcElement.tagName && window.event.srcElement.tagName.toLowerCase()=="select"){return true;}
                                fwin.style.display="none";
                                }

                                f.hide = f_hide;
                                document.attachEvent("onclick",f_hide);
                                document.attachEvent("onkeydown",f_hide);

                             }
                        return f;
                        }
    }

    function showMenu()
    {

        function selectMenu(obj)
        {
        var o = document.createElement("option");
        o.value = obj.value;
        o.innerHTML = obj.innerHTML;
        while(el.options.length>0){el.options[0].removeNode(true);}
        el.appendChild(o);
        el.title = o.innerHTML;
        el.contentIndex = obj.selectedIndex ;
        el.menu.hide();
        }

    el.menu.show(0 , el.offsetHeight , 10, 10, el);
    var mb = el.menu.document.body;

    mb.style.cssText ="border:solid 1px black;margin:0;padding:0;overflow-y:auto;overflow-x:auto;background:white;text-align:left;font-family:Verdana;font-size:12px;";
    var t = el.contentHTML;
    t = t.replace(/<select/gi,'<ul');
    t = t.replace(/<option/gi,'<li');
    t = t.replace(/<\/option/gi,'</li');
    t = t.replace(/<\/select/gi,'</ul');
    mb.innerHTML = t;


    el.select = mb.all.tags("ul")[0];
    el.select.style.cssText="list-style:none;margin:0;padding:0;";
    mb.options = el.select.getElementsByTagName("li");


        for(var i=0;i<mb.options.length;i++)
        {
        mb.options[i].selectedIndex = i;
        mb.options[i].style.cssText = "list-style:none;margin:0;padding:1px 2px;width/**/:100%;cursor:hand;cursor:pointer;white-space:nowrap;"
        mb.options[i].title =mb.options[i].innerHTML;
        mb.options[i].innerHTML ="<nobr>" + mb.options[i].innerHTML + "</nobr>";
        mb.options[i].onmouseover = function()
                                    {
                                    if( mb.options.selected ){mb.options.selected.style.background="white";mb.options.selected.style.color="black";}
                                    mb.options.selected = this;
                                    this.style.background="#333366";this.style.color="white";
                                    }

        if (el.className=='selectbox_sub')
        {
        mb.options[i].onmouseout = function(){this.style.background="white";this.style.color="black";}
        mb.options[i].onmousedown = function(){selectMenu(this); sub(); }
        mb.options[i].onkeydown = function(){selectMenu(this);sub(); }
        }
        else
        {
        mb.options[i].onmouseout = function(){this.style.background="white";this.style.color="black";}
        mb.options[i].onmousedown = function(){selectMenu(this); }
        mb.options[i].onkeydown = function(){selectMenu(this); }
        }

            if(i == el.contentIndex)
            {
            mb.options[i].style.background="#333366";
            mb.options[i].style.color="white";
            mb.options.selected = mb.options[i];
            }
        }


    var mw = Math.max( ( el.select.offsetWidth + 22 ), el.offsetWidth + 22 );
    mw = Math.max( mw, ( mb.scrollWidth+22) );
    var mh = mb.options.length * 15 + 8 ;

    var mx = (ie5)?-3:0;
    var my = el.offsetHeight -2;
    var docH = document.documentElement.offsetHeight ;
    var bottomH = docH - el.getBoundingClientRect().bottom ;

    mh = Math.min(mh, Math.max(( docH - el.getBoundingClientRect().top - 50),100) );

    if(( bottomH < mh) )
    {

        mh = Math.max( (bottomH - 12),10);
        if( mh <100 )
        {
        my = -100 ;

        }
        mh = Math.max(mh,100);
    }


    self.focus();

    el.menu.show( mx , my , mw, mh , el);
    sync=null;

        if(mb.options.selected)
        {
        mb.scrollTop = mb.options.selected.offsetTop;
        }

    window.onresize = function(){el.menu.hide()};
    }


    function switchMenu()
    {
        if(event.keyCode)
        {
        if(event.keyCode==40){ el.contentIndex++ ;}
        else if(event.keyCode==38){ el.contentIndex--; }
        }
        else if(event.wheelDelta )
        {
        if (event.wheelDelta >= 120)
        el.contentIndex++ ;
        else if (event.wheelDelta <= -120)
        el.contentIndex-- ;
        }else{return true;}


        if( el.contentIndex > (el.contentOptions.length-1) ){ el.contentIndex =0;}
        else if (el.contentIndex<0){el.contentIndex = el.contentOptions.length-1 ;}

    var o = document.createElement("option");
    o.value = el.contentOptions[el.contentIndex].value;
    o.innerHTML = el.contentOptions[el.contentIndex].text;

        while(el.options.length>0){el.options[0].removeNode(true);}

    el.appendChild(o);
    el.title = o.innerHTML;
    }

        if(dropdown_menu_hack.menu ==null)
        {
        dropdown_menu_hack.menu = window.createPopup();
        document.attachEvent("onkeydown",dropdown_menu_hack.menu.hide);
        }
    el.menu = dropdown_menu_hack.menu ;
    el.contentOptions = new Array();
    el.contentIndex = el.selectedIndex;
    el.contentHTML = el.outerHTML;

        for(var i=0;i<el.options.length;i++)
        {
            el.contentOptions [el.contentOptions.length] =
            {
            "value": el.options[i].value,
            "text": el.options[i].innerHTML
            }

            if(!el.options[i].selected){el.options[i].removeNode(true);i--;};
        }

    el.onkeydown = switchMenu;
    el.onclick = showMenu;
    el.onmousewheel= switchMenu;

}


function tooLong(strTest,maxLength)
{
if(strTest.value.length > maxLength)
{
strTest.value = strTest.value.substr(0,maxLength);
}
}

function toggleCartSelectTagsByState(taggsToHideClass, indicatorElementId)
{
    //funkcja przeznaczona tylko dla IE6
    if (true == (Prototype.Browser.IE && parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE")+5)) == 6))
    {
        if (null == document.getElementById(indicatorElementId))
        {
            toggleCartSelectTags(taggsToHideClass, true);
        }
        else
        {
            toggleCartSelectTags(taggsToHideClass, false);
        }
    }
}

function uncheckRadio( form_name, field_name )
{
   $(Form.getInputs(form_name,'radio', field_name).find(function(radio) { return radio.checked; }).id).checked = false;
}

function fillFields( fieldArray, valueArray )
{
     for( i in fieldArray )
     {
        $(fieldArray[i]).value = valueArray[i];
     }
}

function onSearchFormSubmit()
{
    if( null != $("priceFrom"))
    {
        if ( parseFloat($("priceFrom").value) > parseFloat($("priceTo").value) )
        {
            Element.show($("priceWarn")); return false;
        }
    }

    setTimeout("$('search_advanced').submit()", 100);
    return false;
}

function showCartIndicator()
{
}

function categorySubtreeToogleAction( i_PrimaryKey, i_CategorySubtreeName, i_Url, i_Params )
{
    $("category_subtree_" + i_CategorySubtreeName + i_PrimaryKey).toggle();
    new Ajax.Updater("category_subtree_" + i_CategorySubtreeName + i_PrimaryKey, i_Url, {asynchronous:true, method:"GET", evalScripts:false, parameters:"category_id=" + i_PrimaryKey + i_Params });
}

function changeImageSource( i_Element, i_ImageBaseSource, i_ImageDestinationSource )
{
    var SrcString = i_Element.src;
    if( i_ImageBaseSource == SrcString.substring(SrcString.length-6) )
    {
        i_Element.src = SrcString.substring(0,SrcString.length-7)+"/"+i_ImageDestinationSource;
    }
    else
    {
        i_Element.src = SrcString.substring(0,SrcString.length-8)+"/"+i_ImageBaseSource;
    }
}

function changeImgSrc( i_Element, i_ImageBaseSource, i_ImageDestinationSource )
{
	i_Element.src = i_Element.src.replace(i_ImageBaseSource, i_ImageDestinationSource);
}

/* funkcja sprawdzająca czy sa jakieś zaznaczone produkty do dodania do koszyka na liscie dokumentów */
function checkCheckedProducts(submitFormId, alertMessage)
{
    var submitForm = false;
    $$("#order_document_form input[id^='order_products_']").each(function(o)
        {
            if (o.checked == true)
                {
                    submitForm = true;
                }
        });
    
    if (true == submitForm)
    {
        $(submitFormId).submit();
    }
    else
    {
        alert(alertMessage);
    }
}

function addListener(i_Element, i_Type, i_Expression)
{
    i_Element = document.getElementById( i_Element );
    if( null !== i_Element)
    {
        if(window.addEventListener)
        { // Standard
            i_Element.addEventListener( i_Type, function(){i_Expression( i_Element )} , false);
            return true;

        }
        else if(window.attachEvent)
        { // IE
            i_Element.attachEvent('on' + i_Type, function(){i_Expression( i_Element )} );
            return true;
        }
        else
        {
            return false;
        }
    }
}