$j.fn.modalBox = function(modalbox, overlay, onload){
   var gTabbableTags = new Array("A","BUTTON","TEXTAREA","INPUT","IFRAME", "IMG", "DIV");
   var gTabIndexes = new Array();  
	
   function closeModalBox() {
            $j(overlay).css({display: 'none'});
            $j(modalbox).css({display: 'none'});
            restoreTabIndexes();
			return false;
   }

   if($j.browser.msie == true){ 
       $j(window.frames['overlay'].document.body).click(function(){closeModalBox()});
   } else {
        $j(window.frames['overlay']).click(function(){ closeModalBox()});
   }
   $j(".closeButton").click(closeModalBox);

   if(onload == true){
        toggleModalBox();       
   } else {        
        $j(this).click(function(){
            toggleModalBox();   
			return false;
        });
   }   

function toggleModalBox() {
            $j(overlay).toggle();
            $j(modalbox).toggle();
        
            if($j(overlay).is(":visible")){
                disableTabIndexes();
            } else {     
                restoreTabIndexes();
                    
            }
}
            
var taggableTags = $j('#container A, #container BUTTON, #container TEXTAREA, #container INPUT, #container IFRAME, #container IMG, #container DIV');
  
function disableTabIndexes() {
        var i = 0;
        $j(taggableTags).each(function(){
                gTabIndexes[i] = this.tabIndex;             
                this.tabIndex="-1";
                i++;
        });            
}

function restoreTabIndexes() {
    	var i = 0;
        $j(taggableTags).each(function(){
            this.tabIndex=gTabIndexes[i];
            this.tabEnabled = true;
            i++
        });
}          	
};