var bName;
var bVersion;
getBrowser = function() {
    if(document.ids) {
        bName = 'nc';
        bVersion = '4';
    } else if ( document.all && !document.getElementById ) {
        bName = 'ie';
        bVersion = '4';
    } else if ( window.opera && !document.createElement ) {
        bName = 'op';
        bVersion = '5';
    } else if ( window.opera && window.getComputedStyle )  {
        if (document.createRange) {
            bName = 'op';
            bVersion = '7.6';
        } else if (window.navigate) {
            bName = 'op';
            bVersion = '7.5';
        } else {
            bName = 'op';
            bVersion = '7.2';
        }
    } else if ( window.opera && document.compatMode ) {
        bName = 'op';
        bVersion = '7';
    } else if ( window.opera && document.releaseEvents ) {
        bName = 'op';
        bVersion = '6';
    } else if ( document.contains && !window.opera ) {
        bName = 'kq';
        bVersion = '3';
    } else if ( window.getSelection && window.atob ) {
        bName = 'nn';
        bVersion = '7';
    } else if ( window.getSelection && !document.compatMode ) {
        bName = 'nn';
        bVersion = '6';
    } else if ( window.clipboardData && document.compatMode ) {
        bName = 'ie';
        bVersion = '6';
    } else if ( window.clipboardData ) {
        bName = 'ie';
        bVersion = '5';
        if( !document.createDocumentFragment ) {
            bVersion+='.5';
        }
        if( document.doctype && !window.print ) {
            bVersion+='m';
        }
    } else if ( document.getElementById && !document.all ) {
        bName = 'op';
        bVersion = '4';
    } else if ( document.images && !document.all ) {
        bName = 'nn';
        bVersion = '3';
    } else {
        bName = '???';
        bVersion = '???';
    }
}
getBrowser();
if(bName=="ie") {
	var dropoffy = -156;
    var dropoffx = -246;
} else {
	var dropoffy = -58;
	var dropoffx = -256;
}
dropoffx = 0;
dropoffy = 0;

function cmsmenus() {
    this.elements = [];
}

cmsmenus.prototype.add = function(src_id, tgt_id, droppos, offset, nested) {
    var srcel = document.getElementById(src_id);
    var tgtel = document.getElementById(tgt_id);
    if ( srcel && tgtel ) {
        this.elements[this.elements.length] = src_id;
        this.elements[this.elements.length] = tgt_id;
        srcel.tgtitem = new Object();
        srcel.tgtitem.id = tgt_id;
        srcel.offset  = offset;
        srcel.droppos = droppos;
        srcel.nested = nested ? true : false;
        srcel.onmouseover = function() {
            dynmenu.showsrc(this.id);
        }
        srcel.onmouseout = function() {
            document.getElementById(this.tgtitem.id).vis = false;
            window.setTimeout("dynmenu.hidesrc('"+this.id+"')", 50);
        }
    }
}

cmsmenus.prototype.showsrc = function(el) {
    var src = document.getElementById(el);
    var tgt = document.getElementById(src.tgtitem.id);
    var pos = dynmenu.getelpos(src);
    tgt.style.left = pos[0]+"px";
    tgt.style.top  = pos[1]+"px";
    tgt.style.display = 'block';
    tgt.vis = true;
    tgt.onmouseover = function() {
        this.vis = true;
    }
    tgt.onmouseout = function() {
        this.vis = false;
        window.setTimeout("dynmenu.hidetgt('"+this.id+"')", 50);
    }
}

cmsmenus.prototype.hidesrc = function(el) {
    var src = document.getElementById(el);
    var tgt = document.getElementById(src.tgtitem.id);
    if (tgt.vis) return;
    tgt.style.display = 'none';
    window.clearTimeout();
}

cmsmenus.prototype.hidetgt = function(el) {
    var tgt = document.getElementById(el);
    if (tgt.vis) return;
    tgt.style.display = 'none';
    window.clearTimeout();
}

cmsmenus.prototype.getelpos = function(el) {
    if ( el.nested ) {
        return([el.clientWidth,el.offsetTop]);
    }
    var xpos = ypos = 0;
    var x = y = 0;
    var o_el = el;
    if ( !el.offset ) el.offset = [0,0];

    if ( document.getElementById ) {
        if ( !el ) {
            x = 0;
            y = 0;
        }
        xpos = el.offsetLeft;
        ypos = el.offsetTop;
        while( (el = el.offsetParent) != null ) {
            if (el.style && el.style.display=="none") {
                el.style.display="block";
            }
            xpos += el.offsetLeft;
            ypos += el.offsetTop;
        }
    } else {
        x = 0;
        y = 0;
    }

    switch(o_el.droppos) {
        case "tl":
        break;
        case "tr":
        xpos = xpos+o_el.offsetWidth;
        break;
        case "bl":
        ypos = ypos+o_el.offsetHeight;
        break;
        case "br":
        xpos = xpos+o_el.offsetWidth;
        ypos = ypos+o_el.offsetHeight;
        break;
        default:
        break;
    }
    x = xpos+o_el.offset[0];
    y = ypos+o_el.offset[1];
    return([x,y]);
}

var dynmenu = new cmsmenus();

window.onunload = function() {
    for ( z=0; z<dynmenu.elements.length; z++) {
        el = document.getElementById(dynmenu.elements[z]);
        el.vis = null;
        el.tgtitem = null;
        el.nested = null;
        el.offset  = null;
        el.droppos = null;
        el.onmouseover = null;
        el.onmouseout = null;
    }
    dynmenu = null;
}

function embedflash(src, w, h) {
    var oeTags = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'
    + 'width="'+w+'" height="'+h+'"'
    + 'data="'+src+'"'
    + 'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab">'
    + '<param name="movie" value="'+src+'" />'
    + '<param name="loop" value="false"/>'
    + '<param name="menu" value="false" />'
    + '<param name="quality" value="high" />'
    + '<param name="wmode" value="transparent" />'
    + '<embed src="'+src+'" quality="high" wmode="transparent" width="'+w+'" height="'+h+'" name="obj" align="" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed>'
    + '<\/object>';
    document.write(oeTags);
}

function getelpos(el, droppos) {
    if(!droppos) droppos = "tl";
    var xpos = ypos = 0;
    var x = y = 0;
    var o_el = el;

    if ( document.getElementById ) {
        if ( !el ) {
            x = 0;
            y = 0;
        }
        xpos = el.offsetLeft;
        ypos = el.offsetTop;
        while( (el = el.offsetParent) != null ) {
            if (el.style && el.style.display=="none") {
                el.style.display="block";
            }
            xpos += el.offsetLeft;
            ypos += el.offsetTop;
        }
        x = xpos;
        y = ypos;
    } else {
        x = 0;
        y = 0;
    }
    switch(droppos) {
        case "tl":
        break;
        case "tr":
        x = x+o_el.offsetWidth;
        break;
        case "bl":
        y = y+o_el.offsetHeight;
        break;
        case "br":
        x = x+o_el.offsetWidth;
        y = y+o_el.offsetHeight;
        break;
        default:
        break;
    }
    return([x,y]);
}

var linkstatus = false;
function setlink(el, mode, pos) {
    if(!mode) mode = "none";
    if(!pos) pos = "tl";
    var el_ = document.getElementById(el);
    if(el_) {
        if(!el_.inPosition) {
            el_.orgborder = el_.style.border;
            el_.orgmargin = el_.style.margin;
            var coord = getelpos(el_.parentNode, pos);
            window.status = coord[0]+" : "+coord[1];
            el_.style.left = coord[0]+"px";
            el_.style.top  = coord[1]+"px";
            el._inPosition = true;
        }
        if (mode=='block') {
            el_.parentNode.style.border = mode=='block' ? '1px dashed #FF0000' : el_.orgborder;
            el_.parentNode.style.margin = mode=='block' ? '-1px' : el_.orgmargin;
            el_.style.display = mode;
            el_.vis = true;
        } else {
            el_.vis = false;
            window.setTimeout("remlink('"+el+"', '"+mode+"', '"+pos+"')", 300);
        }
    }
}

function remlink(el, mode, pos) {
    if(!mode) mode = "none";
    if(!pos) pos = "tl";
    var el_ = document.getElementById(el);
    window.status=el_.vis;
    if (el_.vis==true) return;
    el_.parentNode.style.border = mode=='block' ? '1px dashed #FF0000' : el_.orgborder;
    el_.parentNode.style.margin = mode=='block' ? '-1px' : el_.orgmargin;
    el_.style.display = mode;
}
