    function addLoadEvent(func) {
        var oldonload = window.onload;
        if (typeof window.onload != 'function') {
            window.onload = func;
        } else {
            window.onload = function() {
                if (oldonload) {
                    oldonload();
                }
                func();
            }
        }
    }

    function addResizeEvent(func) {
        var oldonresize = window.onresize;
        if (typeof window.onresize != 'function') {
            window.onresize = func;
        } else {
            window.onresize = function() {
                if (oldonresize) {
                    oldonresize();
                }
                func();
            }
        }
    }
    
    addLoadEvent(externalLinks);
    
    function jumpMenu(targ,selObj,restore){
        eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
		if (restore) selObj.selectedIndex=0;
    }
	
    function refreshParent() {
        window.opener.location.href = window.opener.location.href.replace("#", "&act=refresh#");
        if (window.opener.progressWindow) 
        window.opener.progressWindow.close();
        window.close();
    }
      
    var win = null;
    function NewWindow(mypage,myname,w,h,scroll){
        LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
        TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
        settings = 'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',resizable';
        win = window.open(mypage,myname,settings);
    }  
  
    function getWindowScroll(w) {
        if (!w) {
        if (document.documentElement && document.documentElement.scrollTop) { return document.documentElement.scrollTop; }
        else if (document.body.scrollTop) { return document.body.scrollTop; }
        else if (window.pageYOffset) { return window.pageYOffset; }
        } else {
        if (w.document.documentElement && w.document.documentElement.scrollTop) {  return w.document.documentElement.scrollTop; }
        else if (w.document.body.scrollTop) { return w.document.body.scrollTop; }
        else if (w.pageYOffset) { alert( w.pageYOffset ); return w.pageYOffset; }
        }
        return(0);
    }
    
    function setHover(parent, tagName, className, hvrClassName) {
        if(parent == null)
            parent = document;
        else
            parent = document.getElementById(parent);
        
        var testClass = (className!=null);
                
        var e = parent.getElementsByTagName(tagName);
        var reg = new RegExp('\\b' + className + '\\b')
        for(var i = 0; i < e.length; i++) {
            if(testClass==false || reg.test(e[i].className)) {
                e[i].hvrClassName = hvrClassName;
                e[i].onmouseover = over;
                e[i].onmouseout = out;
                if(e[i].captureEvents) {
                    e[i].captureEvents(Event.MOUSEOVER);
                    e[i].captureEvents(Event.MOUSEOUT);
                }
            }
        }
        
        function out() {
            var regHvr = new RegExp('\\b' + this.hvrClassName + '\\b', 'g');
            this.className = this.className.replace(regHvr, '');
        }
        
        function over() {
            this.className += ' ' + this.hvrClassName;
        }
    }
    
    function initTinyMCE() {
        tinyMCE.init({
            mode: "none",
            theme: "advanced",
            skin : "o2k7",
            skin_variant : "silver",
            plugins : "table,print,paste,preview,media,searchreplace,contextmenu,imagemanager,inlinepopups,advhr",
            //extended_valid_elements : "br[class]",
            
            theme_advanced_buttons1: "formatselect,|,bold,italic,underline,strikethrough,|,sup,sub,|,justifyleft,justifycenter,justifyright,justifyfull,|,bullist,numlist,|,indent,outdent,blockquote,|,removeformat",
            theme_advanced_buttons2: "link,unlink,|,insertimage,|,charmap,image,insertimage,media,|,table,advhr,|,cut,copy,paste,pastetext,pasteword,|,undo,redo,print,preview,code,|,search,replace",
            theme_advanced_buttons3 : "",
            
            theme_advanced_toolbar_location : "top",
            theme_advanced_toolbar_align : "left",
            theme_advanced_statusbar_location: "bottom",
            theme_advanced_resize_horizontal : true,
		    theme_advanced_resizing : true,
            height: "300px",
            width: "500px",
            
            imagemanager_insert_template : '<img src="{$url}" width="{$custom.width}" height="{$custom.height}" alt="" />'
            
        });
    }
    
    function checkViewEditPageControl (status, idPageControl, idPage) {
    	
	    var add = document.getElementById("module_right_add_" + idPageControl + "_idPage_" + idPage);
	    var view = document.getElementById("module_right_view_" + idPageControl + "_idPage_" + idPage);
	    var edit = document.getElementById("module_right_edit_" + idPageControl + "_idPage_" + idPage);
    	
	    var viewPage = document.getElementById("page_right_view_" + idPage);
    	
	    if ((viewPage.checked == 0) && ((add.checked == 1) || (edit.checked == 1) || (view.checked == 1))) {
	    viewPage.checked = true;
	    }
    	
	    if (status=='add') {
	        if (add.checked == 1) {
	            if (view.checked == 0) {
	            view.checked = true;
    	        }
	            if (edit.checked == 0) {
	            edit.checked = true;
	            }
	        }		
        }
        if (status=='edit') {
            if (edit.checked == 1) {
                if (view.checked == 0) {
	            view.checked = true;
    	        }
    	    }
       	
    	    if (edit.checked == 0) {
                if (add.checked == 1) {
	            add.checked = false;
    	        }
    	    }
        }
        
        if (status=='view' && view.checked == 0) {
	            edit.checked = false;
	            add.checked = false;
	     }
    }


    function checkViewEditPage (status, IDPAGE) {
        if (status=='edit') {
            var edit = document.getElementById("page_right_edit_" + IDPAGE);
            if (edit.checked == 1) {
            document.getElementById("page_right_view_" + IDPAGE).checked = true;
            var el = document.getElementById('aspnetForm');
	        for (var i = 0; i < el.elements.length; i++) {
	          var str = el.elements[i].id;
	          var _idpage = "idPage_" + IDPAGE;
	          if ((str.search(/module_right_/)==0) && (str.search(_idpage)>0)) {
	          el.elements[i].checked = true;
	          }
	        }
	        }
	    }
	    if (status=='view') {
	    var view = document.getElementById("page_right_view_" + IDPAGE);
	    if (view.checked == 0) {
	        document.getElementById("page_right_edit_" + IDPAGE).checked = false;
    	    
	        var el = document.getElementById('aspnetForm');
	        for (var i = 0; i < el.elements.length; i++) {
	          var str = el.elements[i].id;
	          var _idpage = "idPage_" + IDPAGE;
	          if ((str.search(/module_right_/)==0) && (str.search(_idpage)>0)) {
	          el.elements[i].checked = false;
	          }
	        }
	    }
	    }
    }

    function externalLinks() {
     if (!document.getElementsByTagName) return;
     var anchors = document.getElementsByTagName("a");
     for (var i=0; i<anchors.length; i++) {
       var anchor = anchors[i];
       if (anchor.getAttribute("href") &&
           anchor.getAttribute("rel") == "external")
         anchor.target = "_blank";
     }
    } 
    
    function showHideDivLanSelector(editDiv, link) {
        var div = document.getElementById(editDiv);
        if (div.style.display=='none') {
            div.style.display='block';
            link.className = 'adminHideEditDiv';
        }else{
            div.style.display='none';
            link.className = 'adminShowEditDiv';
        }
    }

    function openPopUp(link, width, height) {
        var l = Math.floor((screen.width - width) / 2);
        var t = Math.floor((screen.height - height) / 2);
        window.open(link, "", "width=" + width + ",height=" + height + ",top=" + t + ",left=" + l);
    }
