/*
 * Adapted from Thickbox 3
 * By Cody Lindley (http://www.codylindley.com)
 * Copyright (c) 2007 cody lindley
 * Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php
*/

var WIDTH = 600;
var HEIGHT = 400;
var SCROLL = 'yes';

$j(document).ready(function(){
	modalbox.init();
	imgLoader = new Image();
	imgLoader.src = "/resources/10071/images/modal-loader.gif";
});

var modalbox = {
	init: function(){
		$j('a.modalbox').click(function(){
			var t = this.title || this.name || null;
			if(t==null) t = "";
			var u = this.href;
			modalbox.show(t,u);
			this.blur();
			return false;
		});
	},

	show: function(title, url, args) {
		var sOverlay = "";
		var sBody = "";
		var sLoad = '<div id="mb-load"><img src="'+ imgLoader.src +'" /></div>';
	
		try {
			
			if (typeof document.body.style.maxHeight == "undefined") {
				$j("body","html").css({height: "100%", width: "100%"});
				$j("html").css("overflow","hidden");
				if (document.getElementById("mb-hide") == null) {
					sOverlay += '<iframe id="mb-hide"></iframe>';
					sOverlay += '<div id="mb-overlay"></div>';
					sOverlay += '<div id="mb-window"></div>';
				}
			}
			else if(document.getElementById("mb-overlay") == null){
				sOverlay += '<div id="mb-overlay"></div>';
				sOverlay += '<div id="mb-window"></div>';
			}
		
			$j("body").append(sOverlay);
			$j("#mb-overlay").click(modalbox.remove);
	
			$j("body").append(sLoad);
			$j('#mb-load').show();
			
			var args = modalbox.getArgs(url);
			
			if (args.length > 0){
				for (var i=0; i<args.length; i++){
					if (i == 0) WIDTH = args[0];
					else if (i == 1) HEIGHT = args[1];
					else if (i == 2) SCROLL = args[2];
				}
			}
	
			var sBody = '<iframe frameborder="0" hspace="0" src="'+ url +'" scrolling="'+ SCROLL +'" title="'+ title +'"id="mb-iframe" name="mb-iframe" style="width:'+ WIDTH +'px; height:'+ HEIGHT +'px;" allowtransparency="true" onload="modalbox.showIframe()"> </iframe>';
			$j("#mb-window").append(sBody);

			modalbox.position();
		
			if(frames['mb-iframe'] === undefined){ // safari
				$j("#mb-load").remove();
				$j("#mb-window").css({display:"block"});
				$j(document).keyup(function(e){ 
					var key = e.keyCode; 
					if(key == 27){ modalbox.remove(); }
				});
			}

			var fr = document.getElementById("mb-iframe"); 
			if (document.all)
    			fr.document.body.focus(); 
			else 
				fr.contentDocument.body.focus();
		
		} catch(e) {
			//do nothing
		}
	},
	
	/* Args can be set by setting a mbArgss=value in the url
	 * If no args are set then an empty Array will be returned
	 * More than one arg can be set in the mbParams value but
	 * they must be seperated by a - delimiter.
	 */
	getArgs: function(url){
		var url = url.split('?');
		var mbArgsArray = new Array();
		
		if(url[1]){
			if (url[1].indexOf("mbArgs") > -1){
				var urlNVPairs = url[1].split('&');

				for(i=0; i<=(urlNVPairs.length); i++){
					if(urlNVPairs[i]){
						var urlNVPart = urlNVPairs[i].split('=');
						if (urlNVPart[0] == "mbArgs") {
							if (urlNVPart[1].indexOf("-") > -1) {
								mbArgsArray = urlNVPart[1].split("-");
							}
							else{
								mbArgsArray = new Array(urlNVPart[1]);
							}
							break;
						}
					}
				}
			}
		}
		
		return mbArgsArray;   
	},
	
	showIframe: function(){
		$j("#mb-load").remove();
		$j("#mb-window").css({display:"block"});
	},

	remove: function(){
		$j("#mb-overlay").unbind("click");
		$j("#mb-window").fadeOut("fast",function(){$j('#mb-window,#mb-overlay,#mb-hide').remove();});
		$j("#mb-load").remove();
		if (typeof document.body.style.maxHeight == "undefined") {
			$j("body","html").css({height: "auto", width: "auto"});
			$j("html").css("overflow","");
		}
		document.onkeydown = "";
		return false;
	},
	
	position: function(){
		$j("#mb-window").css({marginLeft: '-'+ parseInt((WIDTH / 2),10) +'px', width: WIDTH +'px'});
		if ( !(jQuery.browser.msie && typeof XMLHttpRequest == 'function')) {
			$j("#mb-window").css({marginTop: '-'+ parseInt((HEIGHT / 2),10) +'px'});
		}
	}
	
};



