﻿var msie6 = jQuery.browser.msie && (jQuery.browser.version < 7);
var htmlOverflow = "";

// Dodaje "Pokaż wszystkie" do pagera
function addShowAllLinkToPager(href)
{
    var pagerInnerHtml = $j(".PagerControl").html();
 
    if (pagerInnerHtml!=null)
    {
        var index;

        if (pagerInnerHtml.indexOf("UnselectedNext")>0)        
        {
            index = pagerInnerHtml.toLowerCase().lastIndexOf("<a");
        }
        else
        {
            index = pagerInnerHtml.toLowerCase().lastIndexOf("<span");
            
        }
                    
        var result = pagerInnerHtml.substring(0,index)+
                "<a href='"+href+"' class='showAll'>Pokaż wszystkie</a> "+
                pagerInnerHtml.substring(index);
            
        $j(".PagerControl").html(result); 
    }
}

function ikeaMenuAddEvents() {    
    var slided = new Array();
    $j("ul.dropdown li").hover(
        function(){
            $j(this).addClass("hover");
            $j('> .dir',this).addClass("open");  
            if($j('ul:first',this).attr('slided') != "t" ){
                $j('ul:first',this).slideDown(500,function(){});
                $j('ul:first',this).attr('slided','t');
            }
            
        }
        ,
        function(){
            
            $j('ul:first',this).slideUp(500, 
                function(){
                    $j(this).removeClass("hover");
                    $j('.open',this).removeClass("open");  
                    $j(this).removeAttr('slided');
                }
            );
        }
    );
}



function removeEmptyDivs()
{
    var divsArray = new Array('divMainPageContentTop','divMainPageContentBottom','divContent','ikeaFamilyBreadcrumb');

    for (var i = 0; i < divsArray.length; i++)
    { 
        // remove unwated white space
        if ($j("#"+divsArray[i]).html().replace(/^\s*|\s*$/g,'').length==0)
        {
           $j("#"+divsArray[i]).remove();
        }
    } 
}

function productListActions() {
    $j('.productsList .PagerControl').eq(1).insertAfter('.productsList');
    $j('.productsList').append('<div class="bottomSpacer">&nbsp;</div>');
    $j('.productsList .PagerControl').eq(0).after('<div class="topSpacer">&nbsp;</div>');
}


function showAjaxLoader(sender, args)
{
    var layerBg, layerContent, layerFakeFrame;
    var bgWidth, bgHeight, layerTop, layerLeft, layerWidth, layerHeight, marginTop, marginLeft;
    if ($j('#loaderBgLayer').length > 0) {
        return;
    }
    layerBg = $j('<div id="loaderBgLayer">&nbsp;</div>');
    layerContent = $j('<div id="loaderLayer"><span>Czekaj...</span></div>');
    $j(document.body).append(layerBg).append(layerContent);
    if (layerBg.css("display") != "none") {
        return;
    }
    layerWidth = layerContent.width();
    layerHeight = layerContent.height();
    if(msie6) { 
        htmlOverflow = document.getElementsByTagName('html')[0].style.overflow;
        document.getElementsByTagName('html')[0].style.overflow = "hidden";
        layerFakeFrame = $j('<iframe id="loaderFakeFrame" frameborder="0" width="100%" height="100%" ></iframe>')
        layerBg.before(layerFakeFrame);
        marginTop = (document.documentElement.clientHeight - layerHeight) / 2 + "px";
        marginLeft = (document.documentElement.clientWidth - layerWidth) / 2 + "px";
        layerTop = document.documentElement.scrollTop;
        layerLeft = document.documentElement.scrollLeft;
        layerContent.css({"position": "absolute", "top": layerTop, "left": layerLeft});
        layerBg.css({"position": "absolute", "top": layerTop, "left": layerLeft});
        layerFakeFrame.css({"top": layerTop, "left": layerLeft});
    }
    else {
        marginTop = (0 - layerHeight) / 2 + "px";
        marginLeft = (0 - layerWidth) / 2 + "px";
    }
    layerBg.show();
    layerContent.css({ "margin-top": marginTop, "margin-left": marginLeft, "width" : layerWidth, "height" : layerHeight});
    layerContent.show();
}

function hideAjaxLoader(sender, args)
{
    $j('#loaderBgLayer').remove();
    $j('#loaderLayer').remove();
    if(msie6) {        
        $j('#loaderFakeFrame').remove();
        document.getElementsByTagName('html')[0].style.overflow = htmlOverflow;
    }
}

// Sprawdza poprawność daty w postaci DD/MM/YYYY
function isValidDate(dateStr) 
{
    var datePat = /^(\d{1,2})(\/)(\d{1,2})\2(\d{4})$/;

    var matchArray = dateStr.match(datePat);
    if (matchArray == null)
    {
        return false;
    }
    month = matchArray[3]; // parse date into variables
    day = matchArray[1];
    year = matchArray[4];
    if (month < 1 || month > 12) { 
        return false;
    }
    if (day < 1 || day > 31) {        
        return false;
    }
    if ((month==4 || month==6 || month==9 || month==11) && day==31)
    {            
        return false
    }
    if (month == 2) 
    { 
        var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
        if (day>29 || (day==29 && !isleap)) {                    
            return false;
        }
    }
    return true; // date is valid
}

function IsNumberOrFunctionKey(e) {
    
    var key = window.event ? e.keyCode : e.which;

    if (!key) return true;
    if (((key >= 48) && (key <= 57)) || (key == 8) || (key == 127))
        return true;
    return false;
}

function ValidateNameCharacter(e) {

    var key = window.event ? e.keyCode : e.which;
    
    var validchars = ' ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890ąęśźżćółń\'-';
    
    if ((key==0) || (key==8)) return true;                      // klawisz funkcyjny
    
    return (validchars.indexOf(String.fromCharCode(key))>=0)    // dozwolone znaki
}

function ValidatePhoneChar(e)
{
    var key = window.event ? e.keyCode : e.which;
    
    var validchars = '()+-1234567890';
    
    if ((key==0) || (key==8)) return true;                      // klawisz funkcyjny
    
    return (validchars.indexOf(String.fromCharCode(key))>=0)    // dozwolone znaki
}

function GetUrlParam(name) {
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regexS = "[\\?&]" + name + "=([^&#]*)";
    var regex = new RegExp(regexS);
    var results = regex.exec(window.location.href);
    if (results == null)
        return "";
    else return results[1];
 }