Вход Регистрация
Файл: billing/_rootmenu/utils.js
Строк: 552
<?php
var Zapatec = {};

Zapatec.Utils = {};

Zapatec.Utils.getAbsolutePos = function(el) {
    var 
SL = 0, ST = 0;
    var 
is_div = /^div$/i.test(el.tagName);
    if (
is_div && el.scrollLeft)
        
SL = el.scrollLeft;
    if (
is_div && el.scrollTop)
        
ST = el.scrollTop;
    var 
r = { x: el.offsetLeft - SL, y: el.offsetTop - ST };
    if (
el.offsetParent) {
        var 
tmp = this.getAbsolutePos(el.offsetParent);
        
r.x += tmp.x;
        
r.y += tmp.y;
    }
    return 
r;
};

Zapatec.Utils.fixBoxPosition = function(box) {
    if (
box.x < 0)
        
box.x = 0;
    if (
box.y < 0)
        
box.y = 0;
    var 
cp = Zapatec.Utils.createElement("div");
    var 
s = cp.style;
    
s.position = "absolute";
    
s.right = s.bottom = s.width = s.height = "0px";
    
window.document.body.appendChild(cp);
    var 
br = Zapatec.Utils.getAbsolutePos(cp);
    
window.document.body.removeChild(cp);
    if (
Zapatec.is_ie) {
        
br.y += window.document.body.scrollTop;
        
br.x += window.document.body.scrollLeft;
    } else {
        
br.y += window.scrollY;
        
br.x += window.scrollX;
    }
    var 
tmp = box.x + box.width - br.x;
    if (
tmp > 0) box.x -= tmp;
    
tmp = box.y + box.height - br.y;
    if (
tmp > 0) box.y -= tmp;
};

Zapatec.Utils.isRelated = function (el, evt) {
    
evt || (evt = window.event);
    var 
related = evt.relatedTarget;
    if (!
related) {
        var 
type = evt.type;
        if (
type == "mouseover") {
            
related = evt.fromElement;
        } else if (
type == "mouseout") {
            
related = evt.toElement;
        }
    }
    try {
        while (
related) {
            if (
related == el) {
                return 
true;
            }
            
related = related.parentNode;
        }
    } catch(
e) {};
    return 
false;
};

Zapatec.Utils.removeClass = function(el, className) {
    if (!(
el && el.className)) {
        return;
    }
    var 
cls = el.className.split(" ");
    var 
ar = [];
    for (var 
i = cls.length; i > 0;) {
        if (
cls[--i] != className) {
            
ar[ar.length] = cls[i];
        }
    }
    
el.className = ar.join(" ");
};

Zapatec.Utils.addClass = function(el, className) {
    
Zapatec.Utils.removeClass(el, className);
    
el.className += " " + className;
};

Zapatec.Utils.getElement = function(ev) {
    if (
Zapatec.is_ie) {
        return 
window.event.srcElement;
    } else {
        return 
ev.currentTarget;
    }
};

Zapatec.Utils.getTargetElement = function(ev) {
    if (
Zapatec.is_ie) {
        return 
window.event.srcElement;
    } else {
        return 
ev.target;
    }
};

Zapatec.Utils.stopEvent = function(ev) {
    
ev || (ev = window.event);
    if (
ev) {
        if (
Zapatec.is_ie) {
            
ev.cancelBubble = true;
            
ev.returnValue = false;
        } else {
            
ev.preventDefault();
            
ev.stopPropagation();
        }
    }
    return 
false;
};

Zapatec.Utils.addEvent = function(el, evname, func) {
    if (
el.attachEvent) {
        
el.attachEvent("on" + evname, func);
    } else if (
el.addEventListener) {
        
el.addEventListener(evname, func, false);
    } else {
        
el["on" + evname] = func;
    }
};

Zapatec.Utils.removeEvent = function(el, evname, func) {
    if (
el.detachEvent) {
        
el.detachEvent("on" + evname, func);
    } else if (
el.removeEventListener) {
        
el.removeEventListener(evname, func, false);
    } else {
        
el["on" + evname] = null;
    }
};

Zapatec.Utils.createElement = function(type, parent) {
    var 
el = null;
    if (
window.self.document.createElementNS)
        
el = window.self.document.createElementNS("http://www.w3.org/1999/xhtml", type);
    else
        
el = window.self.document.createElement(type);
    if (
typeof parent != "undefined")
        
parent.appendChild(el);
    if (
Zapatec.is_ie)
        
el.setAttribute("unselectable", true);
    if (
Zapatec.is_gecko)
        
el.style.setProperty("-moz-user-select", "none", "");
    return 
el;
};

Zapatec.Utils.writeCookie = function(name, value, domain, path, exp_days) {
    
value = escape(value);
    var 
ck = name + "=" + value, exp;
    if (
domain)
        
ck += ";domain=" + domain;
    if (
path)
        
ck += ";path=" + path;
    if (
exp_days) {
        
exp = new Date();
        
exp.setTime(exp_days * 86400000 + exp.getTime());
        
ck += ";expires=" + exp.toGMTString();
    }
    
document.cookie = ck;
};

Zapatec.Utils.getCookie = function(name) {
    var 
pattern = name + "=";
    var 
tokenPos = 0;
    while (
tokenPos < document.cookie.length) {
        var 
valuePos = tokenPos + pattern.length;
        if (
document.cookie.substring(tokenPos, valuePos) == pattern) {
            var 
endValuePos = document.cookie.indexOf(";", valuePos);
            if (
endValuePos == -1) {
                
endValuePos = document.cookie.length;
            }
            return 
unescape(document.cookie.substring(valuePos, endValuePos));
        }
        
tokenPos=document.cookie.indexOf(" ",tokenPos)+1;
        if (
tokenPos == 0) {
            break;
        }
    }
    return 
null;
};

Zapatec.Utils.makePref = function(obj) {
    function 
stringify(val) {
        if (
typeof val == "object" && !val)
            return 
"null";
        else if (
typeof val == "number" || typeof val == "boolean")
            return 
val;
        else if (
typeof val == "string")
            return 
'"' + val.replace(/22/, "\22") + '"';
        else return 
null;
    };
    var 
txt = "", i;
    for (
i in obj)
        
txt += (txt ? ",'" : "'") + i + "':" + stringify(obj[i]);
    return 
txt;
};

Zapatec.Utils.loadPref = function(txt) {
    var 
obj = null;
    try {
        eval(
"obj={" + txt + "}");
    } catch(
e) {}
    return 
obj;
};

Zapatec.Utils.mergeObjects = function(dest, src) {
    for (var 
i in src)
        
dest[i] = src[i];
};

Zapatec.Utils.__wch_id = 0;

Zapatec.Utils.createWCH = function(element) {
    var 
f = null;
    
element = element || window.self.document.body;
    if (
Zapatec.is_ie && !Zapatec.is_ie5) {
        var 
filter = 'filter:progid:DXImageTransform.Microsoft.alpha(style=0,opacity=0);';
        var 
id = "WCH" + (++Zapatec.Utils.__wch_id);
        
element.insertAdjacentHTML
            
('beforeEnd', '<iframe id="' + id + '" scroll="no" frameborder="0" ' +
             
'style="z-index:0;position:absolute;visibility:hidden;' + filter +
             
'border:0;top:0;left:0;width:0;height:0;" ' +
             
'src="javascript:false;"></iframe>');
        
f = window.self.document.getElementById(id);
    }
    return 
f;
};

Zapatec.Utils.setupWCH_el = function(f, el, el2) {
    if (
f) {
        var 
pos = Zapatec.Utils.getAbsolutePos(el),
            
X1 = pos.x,
            
Y1 = pos.y,
            
X2 = X1 + el.offsetWidth,
            
Y2 = Y1 + el.offsetHeight;
        if (
el2) {
            var 
p2 = Zapatec.Utils.getAbsolutePos(el2),
                
XX1 = p2.x,
                
YY1 = p2.y,
                
XX2 = XX1 + el2.offsetWidth,
                
YY2 = YY1 + el2.offsetHeight;
            if (
X1 > XX1)
                
X1 = XX1;
            if (
Y1 > YY1)
                
Y1 = YY1;
            if (
X2 < XX2)
                
X2 = XX2;
            if (
Y2 < YY2)
                
Y2 = YY2;
        }
        
Zapatec.Utils.setupWCH(f, X1, Y1, X2-X1, Y2-Y1);
    }
};

Zapatec.Utils.setupWCH = function(f, x, y, w, h) {
    if (
f) {
        var 
s = f.style;
        (
typeof x != "undefined") && (s.left = x + "px");
        (
typeof y != "undefined") && (s.top = y + "px");
        (
typeof w != "undefined") && (s.width = w + "px");
        (
typeof h != "undefined") && (s.height = h + "px");
        
s.visibility = "inherit";
    }
};

Zapatec.Utils.hideWCH = function(f) {
    if (
f)
        
f.style.visibility = "hidden";
};

Zapatec.Utils.getPageScrollY = function() {
    return 
window.pageYOffset ||
            
document.documentElement.scrollTop ||
            (
document.body ? document.body.scrollTop : 0) ||
            
0;
};

Zapatec.ScrollWithWindow = {};
Zapatec.ScrollWithWindow.list = [];
Zapatec.ScrollWithWindow.stickiness = 0.25;

Zapatec.ScrollWithWindow.register = function(node) {
    var 
top = parseInt(node.style.top) || 0;
    var 
scrollY = window.pageYOffset || document.body.scrollTop ||
        
document.documentElement.scrollTop || 0;
    
top -= scrollY;
    if (
top < 0) top = 0;
    
Zapatec.ScrollWithWindow.list[Zapatec.ScrollWithWindow.list.length] = {
        
node: node,
        
origTop: top
    
};
};

Zapatec.ScrollWithWindow.unregister = function(node) {
    for (var 
count = 0; count < Zapatec.ScrollWithWindow.list.length; count++) {
        var 
elm = Zapatec.ScrollWithWindow.list[count];
        if (
node == elm.node) {
            
Zapatec.ScrollWithWindow.list.splice(count, 1);
            return;
        }
    }
};

Zapatec.ScrollWithWindow.handler = function(newScrollY) {
    
oldScrollY += ((newScrollY - oldScrollY) * this.stickiness);
    if (
Math.abs(oldScrollY - newScrollY) <= 1) oldScrollY = newScrollY;
    for (var 
count = 0; count < Zapatec.ScrollWithWindow.list.length; count++) {
        var 
elm = Zapatec.ScrollWithWindow.list[count];
        var 
node = elm.node;
        if (!
elm.origTop) {
            
elm.origTop = Zapatec.Utils.getAbsolutePos(node).y;
            
node.style.position = 'absolute';
        }
        
node.style.top = elm.origTop + parseInt(oldScrollY) + 'px';
    }
};

var 
oldScrollY = Zapatec.Utils.getPageScrollY();
setInterval(
    
'var newScrollY = Zapatec.Utils.getPageScrollY(); ' +
    
'if (newScrollY != oldScrollY) { ' +
        
'Zapatec.ScrollWithWindow.handler(newScrollY); ' +
    
'}', 50);

Zapatec.Utils.destroy = function(el) {
    if (
el && el.parentNode)
        
el.parentNode.removeChild(el);
};

Zapatec.Utils.newCenteredWindow = function(url, windowName, width, height, scrollbars){
    var 
leftPosition = 0;
    var 
topPosition = 0;
    if (
screen.width)
        
leftPosition = (screen.width -  width)/2;
    if (
screen.height)
        
topPosition = (screen.height -  height)/2;
    var 
winArgs =
        
'height=' + height +
        
',width=' + width +
        
',top=' + topPosition +
        
',left=' + leftPosition +
        
',scrollbars=' + scrollbars +
        
',resizable';
    var 
win = window.open(url,windowName,winArgs);
    return 
win;
};

Zapatec.Utils.getWindowSize = function() {
    var 
winH = document.body.clientHeight || document.documentElement.clientHeight || window.innerHeight || 0;
    var 
winW = document.body.clientWidth || document.documentElement.clientWidth || window.innerWidth || 0;
    var 
dimension = {};
    
dimension.height = winH;
    
dimension.width = winW;
    return 
dimension;
}


Zapatec.Utils.selectOption = function(sel, val, call_default) {
    var 
a = sel.options, i, o;
    for (
i = a.length; --i >= 0;) {
        
o = a[i];
        
o.selected = (o.val == val);
    }
    
sel.value = val;
    if (
call_default) {
        if (
typeof sel.onchange == "function")
            
sel.onchange();
        else if (
typeof sel.onchange == "string")
            eval(
sel.onchange);
    }
};

Zapatec.Utils.getNextSibling = function(el, tag, alternateTag) {
    
el = el.nextSibling;
    if (!
tag) {
        return 
el;
    }
    
tag = tag.toLowerCase();
    if (
alternateTag) alternateTag = alternateTag.toLowerCase();
    while (
el) {
        if (
el.nodeType == 1 && (el.tagName.toLowerCase() == tag ||
         (
alternateTag && el.tagName.toLowerCase() == alternateTag))) {
            return 
el;
        }
        
el = el.nextSibling;
    }
    return 
el;
};

Zapatec.Utils.getFirstChild = function(el, tag, alternateTag) {
    
el = el.firstChild;
    if (!
tag) {
        return 
el;
    }
    
tag = tag.toLowerCase();
    if (
el.nodeType == 1) {
        if (
el.tagName.toLowerCase() == tag) {
            return 
el;
        } else if (
alternateTag) {
            
alternateTag = alternateTag.toLowerCase();
            if (
el.tagName.toLowerCase() == alternateTag) {
                return 
el;
            }
        }
    }
    return 
Zapatec.Utils.getNextSibling(el, tag, alternateTag);
};

Zapatec.Utils.insertAfter = function(oldNode, newNode) {
    if(
oldNode.nextSibling) {
        
oldNode.parentNode.insertBefore(newNode, oldNode.nextSibling);
    } else {
        
oldNode.parentNode.appendChild(newNode);
    }
}

Zapatec.Utils._ids = {};

Zapatec.Utils.generateID = function(code, id) {
    if (
typeof id == "undefined") {
        if (
typeof this._ids[code] == "undefined")
            
this._ids[code] = 0;
        
id = ++this._ids[code];
    }
    return 
"zapatec-" + code + "-" + id;
};

Zapatec.Utils.addTooltip = function(target, tooltip) {
return new 
Zapatec.Tooltip(target, tooltip);
};

Zapatec.isLite=true;

Zapatec.Utils.checkActivation = function() {
    return 
true;
}

Zapatec.is_opera = /opera/i.test(navigator.userAgent);

Zapatec.is_ie = ( /msie/i.test(navigator.userAgent) && !Zapatec.is_opera );

Zapatec.is_ie5 = ( Zapatec.is_ie && /msie 5.0/i.test(navigator.userAgent) );

Zapatec.is_mac_ie = ( /msie.*mac/i.test(navigator.userAgent) && !Zapatec.is_opera );

Zapatec.is_khtml = /Konqueror|Safari|KHTML/i.test(navigator.userAgent);

Zapatec.is_konqueror = /Konqueror/i.test(navigator.userAgent);

Zapatec.is_gecko = /Gecko/i.test(navigator.userAgent);

if (!Function.
prototype.call) {
    Function.
prototype.call = function () {
        var 
self = arguments[0];
        
self._this_func = this;
        var 
args = new Array();
        for (var 
i=1; i < arguments.length; i++) {
            
args[args.length] = 'arguments[' + i + ']';
        }
        var 
ret = eval('self._this_func(' + args.join(',') + ')');
        
self._this_func = null;
        return 
ret;
    };
}

if (!Array.
prototype.pop) {
    Array.
prototype.pop = function() {
        var 
last;
        if (
this.length) {
            
last = this[this.length - 1];
            
this.length -= 1;
        }
        return 
last;
    };
}

if (!Array.
prototype.push) {
    Array.
prototype.push = function() {
        for (var 
i = 0; i < arguments.length; ++i) {
            
this[this.length] = arguments[i];
        }
        return 
this.length;
    };
}

if (!Array.
prototype.shift) {
    Array.
prototype.shift = function() {
        var 
first;
        if (
this.length) {
            
first = this[0];
            for (var 
i = 0; i < this.length - 1; ++i) {
                
this[i] = this[i + 1];
            }
            
this.length -= 1;
        }
        return 
first;
    };
}

if (!Array.
prototype.unshift) {
    Array.
prototype.unshift = function() {
        if (
arguments.length) {
            var 
i, len = arguments.length;
            for (
i = this.length + len - 1; i >= len; --i) {
                
this[i] = this[i - len];
            }
            for (
i = 0; i < len; ++i) {
                
this[i] = arguments[i];
            }
        }
        return 
this.length;
    };
}

if (!Array.
prototype.splice) {
    Array.
prototype.splice = function(index, howMany) {
        var 
elements = [], removed = [], i;
        for (
i = 2; i < arguments.length; ++i) {
            
elements.push(arguments[i]);
        }
        for (
i = index; (i < index + howMany) && (i < this.length); ++i) {
            
removed.push(this[i]);
        }
        for (
i = index + howMany; i < this.length; ++i) {
            
this[i - howMany] = this[i];
        }
        
this.length -= removed.length;
        for (
i = this.length + elements.length - 1; i >= index + elements.length; --i) {
            
this[i] = this[i - elements.length];
        }
        for (
i = 0; i < elements.length; ++i) {
            
this[index + i] = elements[i];
        }
        return 
removed;
    };
}
?>
Онлайн: 2
Реклама