
function ShowInfo( url ) {
        posy = screen.height / 2 - 200;
        posx = screen.width / 2 - 200 ;
        info = window.open( url , 'PlayerInfo' , 'scrollbars=yes,height=250,width=300,top='+posy+',left='+posx );
        info.focus();
}


function SendSMS(   user_id, replay ,sms_betreff ) {
         lan_id = 3
        posy = screen.height / 2 - 200;
        posx = screen.width / 2 - 100 ;
        var smsw = window.open("pop.php?lan_id="+lan_id+"&a=sms&id="+user_id+"&replay=+replay+&sms_betreff="+sms_betreff,"pager","height=320,width=350,top="+posy+",left="+posx);
        smsw.focus();
}



function windowOpener(url,width,height,name,scrolls) {
                                browserName = navigator.appName;
                                browserVer = navigator.appVersion.substring(0,1);
                                if (width==null) {width=600;}
                                if (height==null) {height=400;}
                                if (name==null) {name="globaltPopup"}
                                if (scrolls==true) {
                                                                        scrollsOption="yes";
                                                                }
                                                                else {
                                                                                scrollsOption="no";
                                                                }


                                if (browserName != "Netscape" || browserVer != 2) { controlWindow=window.open(url,name,"toolbar=no,height="+height+",width="+width+",location=no,directories=no,status=no,menubar=no,scrollbars=" + scrollsOption + ",resizable=yes");
                                }
                }
function mousover( obj , clr1, clr2 )
{
        obj.style.background = clr1;
        obj.style.cursor = 'hand';
        for( i=0;i< obj.children.length;i++ )
                obj.children[i].style.color = clr2;
}
function mousout( obj , clr1, clr2 )
{
        obj.style.background = clr1;
        obj.style.cursor = 'default';
        for( i=0;i< obj.children.length;i++ )
                obj.children[i].style.color = clr2;
}
function link(id,F1)
{
  Frame1=eval("parent."+F1);
  Frame1.location.href = id  ;
}

var ie = document.all != null;
var moz = !ie && document.getElementById != null && document.layers == null;

/*
if (moz) {        // set up ie environment for Moz

        extendEventObject();
        //emulateAttachEvent();
        //emulateFromToElement();
        emulateEventHandlers(["click", "dblclick", "mouseover", "mouseout",
                                                        "mousedown", "mouseup", "mousemove",
                                                        "keydown", "keypress", "keyup"]);
        emulateDocumentAll();
        emulateElement()
        emulateCurrentStyle(["left", "right", "top", "bottom", "width", "height"]);

        // Mozilla returns the wrong button number
        Event.LEFT = 1;
        Event.MIDDLE = 2;
        Event.RIGHT = 3;



}
else {
        Event = {};
        // IE is returning wrong button number as well :-)
        Event.LEFT = 1;
        Event.MIDDLE = 4;
        Event.RIGHT = 2;
}
*/





/*
 * Extends the event object with srcElement, cancelBubble, returnValue,
 * fromElement and toElement
 */
function extendEventObject() {
        Event.prototype.__defineSetter__("returnValue", function (b) {
                if (!b) this.preventDefault();
        });

        Event.prototype.__defineSetter__("cancelBubble", function (b) {
                if (b) this.stopPropagation();
        });

        Event.prototype.__defineGetter__("srcElement", function () {
                var node = this.target;
                while (node.nodeType != 1) node = node.parentNode;
                return node;
        });

        Event.prototype.__defineGetter__("fromElement", function () {
                var node;
                if (this.type == "mouseover")
                        node = this.relatedTarget;
                else if (this.type == "mouseout")
                        node = this.target;
                if (!node) return;
                while (node.nodeType != 1) node = node.parentNode;
                return node;
        });

        Event.prototype.__defineGetter__("toElement", function () {
                var node;
                if (this.type == "mouseout")
                        node = this.relatedTarget;
                else if (this.type == "mouseover")
                        node = this.target;
                if (!node) return;
                while (node.nodeType != 1) node = node.parentNode;
                return node;
        });

        Event.prototype.__defineGetter__("offsetX", function () {
                return this.layerX;
        });
        Event.prototype.__defineGetter__("offsetY", function () {
                return this.layerY;
        });
}

/*
 * Emulates element.attachEvent as well as detachEvent
 */
function emulateAttachEvent() {
        HTMLDocument.prototype.attachEvent =
        HTMLElement.prototype.attachEvent = function (sType, fHandler) {
                var shortTypeName = sType.replace(/on/, "");
                fHandler._ieEmuEventHandler = function (e) {
                        window.event = e;
                        return fHandler();
                };
                this.addEventListener(shortTypeName, fHandler._ieEmuEventHandler, false);
        };

        HTMLDocument.prototype.detachEvent =
        HTMLElement.prototype.detachEvent = function (sType, fHandler) {
                var shortTypeName = sType.replace(/on/, "");
                if (typeof fHandler._ieEmuEventHandler == "function")
                        this.removeEventListener(shortTypeName, fHandler._ieEmuEventHandler, false);
                else
                        this.removeEventListener(shortTypeName, fHandler, true);
        };
}

/*
 * This function binds the event object passed along in an
 * event to window.event
 */
function emulateEventHandlers(eventNames) {
        for (var i = 0; i < eventNames.length; i++) {
                document.addEventListener(eventNames[i], function (e) {
                        window.event = e;
                }, true);        // using capture
        }
}

/*
 * Simple emulation of document.all
 * this one is far from complete. Be cautious
 */

function emulateAllModel() {
        var allGetter = function () {
                var a = this.getElementsByTagName("*");
                var node = this;
                a.tags = function (sTagName) {
                        return node.getElementsByTagName(sTagName);
                };
                return a;
        };
        HTMLDocument.prototype.__defineGetter__("all", allGetter);
        HTMLElement.prototype.__defineGetter__("all", allGetter);
}

function extendElementModel() {
        HTMLElement.prototype.__defineGetter__("parentElement", function () {
                if (this.parentNode == this.ownerDocument) return null;
                return this.parentNode;
        });

        HTMLElement.prototype.__defineGetter__("children", function () {
                var tmp = [];
                var j = 0;
                var n;
                for (var i = 0; i < this.childNodes.length; i++) {
                        n = this.childNodes[i];
                        if (n.nodeType == 1) {
                                tmp[j++] = n;
                                if (n.name) {        // named children
                                        if (!tmp[n.name])
                                                tmp[n.name] = [];
                                        tmp[n.name][tmp[n.name].length] = n;
                                }
                                if (n.id)                // child with id
                                        tmp[n.id] = n
                        }
                }
                return tmp;
        });

        HTMLElement.prototype.contains = function (oEl) {
                if (oEl == this) return true;
                if (oEl == null) return false;
                return this.contains(oEl.parentNode);
        };
}

/*

document.defaultView.getComputedStyle(el1,<BR>null).getPropertyValue('top');

*/
function emulateCurrentStyle(properties) {
        HTMLElement.prototype.__defineGetter__("currentStyle", function () {
                var cs = {};
                var el = this;
                for (var i = 0; i < properties.length; i++) {
                        //cs.__defineGetter__(properties[i], function () {
                        //        window.status = "i: " + i        ;
                        //        return document.defaultView.getComputedStyle(el, null).getPropertyValue(properties[i]);
                        //});
                        cs.__defineGetter__(properties[i], encapsulateObjects(el, properties[i]));
                }
                return cs;
        });
}
// used internally for emualteCurrentStyle
function encapsulateObjects(el, sProperty) {
        return function () {
                return document.defaultView.getComputedStyle(el, null).getPropertyValue(sProperty);
        };
}

function emulateHTMLModel() {

        // This function is used to generate a html string for the text properties/methods
        // It replaces '\n' with "<BR"> as well as fixes consecutive white spaces
        // It also repalaces some special characters
        function convertTextToHTML(s) {
                s = s.replace(/\&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/\n/g, "<BR>");
                while (/\s\s/.test(s))
                        s = s.replace(/\s\s/, "&nbsp; ");
                return s.replace(/\s/g, " ");
        }

        HTMLElement.prototype.insertAdjacentHTML = function (sWhere, sHTML) {
                var df;        // : DocumentFragment
                var r = this.ownerDocument.createRange();

                switch (String(sWhere).toLowerCase()) {
                        case "beforebegin":
                                r.setStartBefore(this);
                                df = r.createContextualFragment(sHTML);
                                this.parentNode.insertBefore(df, this);
                                break;

                        case "afterbegin":
                                r.selectNodeContents(this);
                                r.collapse(true);
                                df = r.createContextualFragment(sHTML);
                                this.insertBefore(df, this.firstChild);
                                break;

                        case "beforeend":
                                r.selectNodeContents(this);
                                r.collapse(false);
                                df = r.createContextualFragment(sHTML);
                                this.appendChild(df);
                                break;

                        case "afterend":
                                r.setStartAfter(this);
                                df = r.createContextualFragment(sHTML);
                                this.parentNode.insertBefore(df, this.nextSibling);
                                break;
                }
        };

        HTMLElement.prototype.__defineSetter__("outerHTML", function (sHTML) {
           var r = this.ownerDocument.createRange();
           r.setStartBefore(this);
           var df = r.createContextualFragment(sHTML);
           this.parentNode.replaceChild(df, this);

           return sHTML;
        });

        HTMLElement.prototype.__defineGetter__("canHaveChildren", function () {
                switch (this.tagName) {
                        case "AREA":
                        case "BASE":
                        case "BASEFONT":
                        case "COL":
                        case "FRAME":
                        case "HR":
                        case "IMG":
                        case "BR":
                        case "INPUT":
                        case "ISINDEX":
                        case "LINK":
                        case "META":
                        case "PARAM":
                                return false;
                }
                return true;
        });

        HTMLElement.prototype.__defineGetter__("outerHTML", function () {
                var attr, attrs = this.attributes;
                var str = "<" + this.tagName;
                for (var i = 0; i < attrs.length; i++) {
                        attr = attrs[i];
                        if (attr.specified)
                                str += " " + attr.name + '="' + attr.value + '"';
                }
                if (!this.canHaveChildren)
                        return str + ">";

                return str + ">" + this.innerHTML + "</" + this.tagName + ">";
        });


        HTMLElement.prototype.__defineSetter__("innerText", function (sText) {
                this.innerHTML = convertTextToHTML(sText);
                return sText;
        });

        var tmpGet;
        HTMLElement.prototype.__defineGetter__("innerText", tmpGet = function () {
                var r = this.ownerDocument.createRange();
                r.selectNodeContents(this);
                return r.toString();
        });

        HTMLElement.prototype.__defineSetter__("outerText", function (sText) {
                this.outerHTML = convertTextToHTML(sText);
                return sText;
        });
        HTMLElement.prototype.__defineGetter__("outerText", tmpGet);

        HTMLElement.prototype.insertAdjacentText = function (sWhere, sText) {
                this.insertAdjacentHTML(sWhere, convertTextToHTML(sText));
        };

}

if (moz) {        // set up ie environment for Moz
        extendEventObject();
        emulateEventHandlers(["mousedown", "mouseup", "mousemove"]);
        emulateAllModel();
        extendElementModel()
        emulateCurrentStyle(["left", "top"]);
}


var checkZIndex = true;

var dragobject = null;
var tx;
var ty;

var ie5 = document.all != null && document.getElementsByTagName != null;

function getReal(el) {
        temp = el;

        while ((temp != null) && (temp.tagName != "BODY")) {
                if ((temp.className == "moveme") || (temp.className == "handle")){
                        el = temp;
                        return el;
                }
                temp = temp.parentElement;
        }
        return el;
}


function moveme_onmousedown() {
        el = getReal(window.event.srcElement)

        if (el.className == "moveme" || el.className == "handle") {
                if (el.className == "handle") {
                        tmp = el.getAttribute("handlefor");
                        if (tmp == null) {
                                dragobject = null;
                                return;
                        }
                        else
                                dragobject = eval(tmp);
                }
                else
                        dragobject = el;

                if (checkZIndex) makeOnTop(dragobject);

                ty = window.event.clientY - getTopPos(dragobject);
                tx = window.event.clientX - getLeftPos(dragobject);

                window.event.returnValue = false;
                window.event.cancelBubble = true;
        }
        else {
                dragobject = null;
        }
}

function moveme_onmouseup() {
        if(dragobject) {
                dragobject = null;
        }
}

function moveme_onmousemove() {
        if (dragobject) {
                if (window.event.clientX >= 0 && window.event.clientY >= 0) {
                        dragobject.style.left = window.event.clientX - tx;
                        dragobject.style.top = window.event.clientY - ty;
                }
                window.event.returnValue = false;
                window.event.cancelBubble = true;
        }
}

function getLeftPos(el) {
        if (ie5) {
                if (el.currentStyle.left == "auto")
                        return 0;
                else
                        return parseInt(el.currentStyle.left);
        }
        else {
                return el.style.pixelLeft;
        }
}

function getTopPos(el) {
        if (ie5) {
                if (el.currentStyle.top == "auto")
                        return 0;
                else
                        return parseInt(el.currentStyle.top);
        }
        else {
                return el.style.pixelTop;
        }
}

function makeOnTop(el) {
        var daiz;
        var max = 0;
        var da = document.all;

        for (var i=0; i<da.length; i++) {
                daiz = da[i].style.zIndex;
                if (daiz != "" && daiz > max)
                        max = daiz;
        }

        el.style.zIndex = max + 1;
}

if (document.all) { //This only works in IE4 or better
        document.onmousedown = moveme_onmousedown;
        document.onmouseup = moveme_onmouseup;
        document.onmousemove = moveme_onmousemove;
}

document.write("<style>");
document.write(".moveme                {cursor: auto;}");
document.write(".handle                {cursor: move;}");
document.write("</style>");

function mOvr(src,clrOver){
         if (!src.contains(event.fromElement)){
         src.style.cursor = 'hand';
         src.bgColor = clrOver;
         }
}

function mOut(src,clrIn){
         if (!src.contains(event.toElement)){
         src.style.cursor = 'default';
         src.bgColor = clrIn;
         }
}

function mClk(src){
         if(event.srcElement.tagName=='TD')
                for( i=0;i<src.children.length;i++)
                        if ( src.children[i].tagName == 'A' )
                        {
                                window.location.href = src.children[i];
                                // src.children[i].click();
                                break;
                        }

         // src.children.tags('A')[0].click();
}
function port(id)
{
            switch(id)
                {
                case "2": document.form.s_port.value = '21';
                                    document.form.s_port.blur();
                break;

                case "6": document.form.s_port.value = '80';
                                    document.form.s_port.blur();
                break;

                case "5": document.form.s_port.value = '6667';
                                    document.form.s_port.blur();
                break;

                default:        document.form.s_port.value = '';
                                    document.form.s_port.blur();
                break;
                }
}
