Вход Регистрация
Файл: js/toggle.js
Строк: 141
<?php
function getRealDisplay(elem) {
    if (
elem.currentStyle) {
        return 
elem.currentStyle.display;
    } else if (
window.getComputedStyle) {
        var 
computedStyle = window.getComputedStyle(elem, null );
        return 
computedStyle.getPropertyValue('display');
    }
}
function 
hide(id) {
    var 
el = document.getElementById(id);
    if (!
el.getAttribute('displayOld')) {
        
el.setAttribute("displayOld", el.style.display);
    }
    
el.style.display = "none";
    
//setCookie(id, false, {expires: 0, path: '/'});
}

displayCache = {};
function 
isHidden(id) {
    var 
el = document.getElementById(id);
    var 
width = el.offsetWidth, height = el.offsetHeight,
        
tr = el.nodeName.toLowerCase() === "tr";

    return 
width === 0 && height === 0 && !tr ?
        
true : width > 0 && height > 0 && !tr ? false :    getRealDisplay(el);
}
function 
toggle(id) {
    
isHidden(id) ? show(id) : hide(id);
}
function 
toggleAndHideAnother(id1, id2) {
    
toggle(id1);
    
hide(id2)
}
function 
show(id) {
    var 
el = document.getElementById(id);
    if (
getRealDisplay(el) != 'none') return;
    var 
old = el.getAttribute("displayOld");
    
el.style.display = old || "";
    if ( 
getRealDisplay(el) === "none" ) {
        var 
nodeName = el.nodeName, body = document.body, display;
        if ( 
displayCache[nodeName] ) {
            
display = displayCache[nodeName];
        } else {
            var 
testElem = document.createElement(nodeName);
            
body.appendChild(testElem);
            
display = getRealDisplay(testElem);
            if (
display === "none" ) {
                
display = "block";
            }
            
body.removeChild(testElem);
            
displayCache[nodeName] = display;
        }
        
el.setAttribute('displayOld', display);
        
el.style.display = display;
    }
    
//setCookie(id, true, {expires: 0, path: '/'})
}
function 
getCookie(name) {
    var 
matches = document.cookie.match(new RegExp("(?:^|; )" + name.replace(/([.$?*|{}()[]\/+^])/g, '\$1') + "=([^;]*)"));
    return 
matches ? decodeURIComponent(matches[1]) : undefined;
}
function 
setCookie(name, value, props) {
    
props = props || {} ;
    var 
exp = props.expires;
    if (
typeof exp == "number" && exp) {
        var 
d = new Date();
        
d.setTime(d.getTime() + exp*1000);
        
exp = props.expires = d;
    }
    if(
exp && exp.toUTCString) { props.expires = exp.toUTCString(); }
    
value = encodeURIComponent(value);
    var 
updatedCookie = name + "=" + value;
    for(var 
propName in props){
        
updatedCookie += "; " + propName;
        var 
propValue = props[propName];
        if(
propValue !== true){ updatedCookie += "=" + propValue; }
    }
    
document.cookie = updatedCookie;
}
function 
deleteCookie(name) {
    
setCookie(name, null, { expires: -1 });
}
function 
bindReady(handler) {
    var 
called = false;
    function 
ready() {
        if (
called) return;
        
called = true;
        
handler();
    }
    if ( 
document.addEventListener ) {
        
document.addEventListener( "DOMContentLoaded", function() {
            
ready();
        }, 
false );
    } else if ( 
document.attachEvent ) {
        if ( 
document.documentElement.doScroll && window == window.top ) {
            function 
tryScroll() {
                if (
called) return;
                if (!
document.body) return;
                try {
                    
document.documentElement.doScroll("left");
                    
ready();
                } catch(
e) {
                    
setTimeout(tryScroll, 0);
                }
            }
            
tryScroll();
        }
        
document.attachEvent("onreadystatechange", function() {
            if ( 
document.readyState === "complete" ) {
                
ready();
            }
        });
    }
    if (
window.addEventListener)
        
window.addEventListener('load', ready, false);
    else if (
window.attachEvent)
        
window.attachEvent('onload', ready);
}

readyList = [];
function 
onReady(handler) {
    if (!
readyList.length) {
        
bindReady(function() {
            for(var 
i=0; i<readyList.length; i++) {
                
readyList[i]();
            }
        })
    }
    
readyList.push(handler);
}
?>
Онлайн: 2
Реклама