

var currentOverlay;
function showOverlay(overlay) {
	currentOverlay = overlay;
	var bg = $('div#overlayBg');
	if (bg.length == 0) {
		bg =  $$('div#overlayBg')
			.css({
				position: 'absolute',
				left: 0,
				top: 0,
				'background-color': '#FDFDEE',
				opacity: 0.8,
				'z-index': 200,
				display: 'none'
			})
			.prependTo($('body'))
			.click(hideOverlay)
	}
	
	if ($.browser.msie && $.browser.version <= 6) {		
		$('select').css('visibility', 'hidden');
		$('iframe:not(iframe#iframeOverlay)').each(function(i) {
			var cont = this.contentWindow.document;
			$('select', cont).css('visibility', 'hidden');
		})
	}
	
	var screenWidth = document.documentElement.scrollWidth;
	var screenHeight = document.documentElement.scrollHeight;
	bg	.width(screenWidth)
		.height(screenHeight)
		.fadeIn(500, function() {
			overlay.fadeIn(500);
		});
}
function hideOverlay() {
	var bg = $('div#overlayBg');
	var overlay = currentOverlay;

	overlay.fadeOut(500, function(){
		bg.fadeOut(500, function() {
			if ($.browser.msie && $.browser.version <= 6) {
				$('select').css('visibility', '');
				$('iframe').each(function(i) {
					var cont = this.contentWindow.document;
					$('select', cont).css('visibility', '');
				})
			}
		});
		overlay.remove();
	});
}
var iframeMakeTrans;
function loadIframe(url, width, height, scrolling, makeTrans) {
	if (!url) {
		url = '../images/spacer.gif';
	}
	if (!width || /^[0-9]+$/.test(width) === false)
		width = 570;
	if (!height || /^[0-9]+$/.test(height) === false)
		height = 720;
	var bodyObj = $('body');
	var screenWidth = bodyObj.width();
	if (screenWidth < width) {
		OpenCenWindow(url, '', width, height)
		return;
	}
	var iframe = $('iframe#iframeOverlay');
	if (iframe.length == 0) {
		iframe = $$('iframe#iframeOverlay');
		iframe.attr({
				allowTransparency: true,
				frameBorder: 0,
				scrolling: 'no',
				name: 'iframeOverlay'
			})
			.css({
				position: 'absolute',
				'z-index': 250,
				display: 'none',
				top: 0,
				left: 0
			})
			.load(iframeLoaded);
		iframeMakeTrans = makeTrans;
		if (scrolling) {
			iframe.attr('scrolling', 'auto');
		}
		$('body').prepend(iframe);
	}
	iframe
		.attr('src', url)
		.width(width)
		.height(height)
	centerObj(iframe);
	showOverlay(iframe);
}
function iframeLoaded() {
	if ($.browser.msie && $.browser.version <= 6) {
		fixPNGInFrame();
	}
	if (iframeMakeTrans) {
		var cont = this.contentWindow.document;
		$('body', cont).css('background-color', 'transparent');
	}
}
function hideIframe() {
	hideOverlay();
}
function closeWindow() {
	if (top.location != this.location) {
		if (typeof(parent.hideOverlay) == 'function') {
			parent.hideOverlay();
		}
	}
	else {
		window.close();
	}
}
function showInOverlay(id, width, height, standardLayout) {
	var div = $('div#divOverlay');
	if (div.length == 0) {
		div = $$('div#divOverlay')
		div	.css({
				position: 'absolute',
				'z-index': 250,
				display: 'none'
			})
		$('body').prepend(div);
	}
	div.html('');
	var obj = $('#'+id);
	var inner = obj.clone().attr('id', id+'-overlay').show();
	if (standardLayout) {
		inner = wrapInStandardLayout(inner);
		inner.append(
			$$('tr',
				$$('td',
					$$('a', closeText, {href: window.location, onclick: 'hideOverlay();return false;'}),
					{colspan: 3, style: 'text-align:right'}
				)
			)
		);
	}
	div.append(inner);
	var dimensionsTest = false;
	if (div.height() == 0) {
		dimensionsTest = true;
		div.css({
			visibility: 'hidden',
			display: 'block'
		})
		inner.css({
			visibility: 'hidden'
		})
	}
	if (!width || /^[0-9]+$/.test(width) === false)
		width = div.width();
	if (!height || /^[0-9]+$/.test(height) === false)
		height = div.height();
	if (dimensionsTest) {
		div.css({
			visibility: '',
			display: 'none'
		})
		inner.css({
			visibility: ''
		})
	}
	div	.width(width)
		.height(height)
	centerObj(div);
	showOverlay(div);
}
function setTooltip(target, content, width, standardLayout) {
	if (typeof target == 'string') {
		target = $('#'+target);
	}
	$(target).hover(
		function(eventObject) {
			showTooltip(content, width, standardLayout, eventObject.target);
		},
		function(eventObject) {
			hideTooltip();
		}
	)
}
function showTooltip(content, width, standardLayout, target){
	var div = $('div#tooltip');
	if (div.length == 0) {
		div = $$('div#tooltip')
		div	.css({
				position: 'absolute',
				'z-index': 250
			})
		$('body').prepend(div);
	}
	div.html('');
	var obj = $('#'+content);
	var inner = false;
	if (obj.length == 1) {
		inner = obj.clone().attr('id', content+'-overlay').show();
	}
	else {
		inner = content;
	}
	if (standardLayout) {
		inner = wrapInStandardLayout(inner);
	}
	div.append(inner).css({width:'auto',height:'auto'}).show();
	if (!width || /^[0-9]+$/.test(width) === false)
		width = div.width();
	var height = div.height();
	var targetObj = $(target);
	var targetPos = targetObj.offset();
	var left = targetPos.left + targetObj.width() + 5;
	var top = targetPos.top + targetObj.height() + 5;
	var bodyObj = $('body');
	var screenWidth = bodyObj.width();
	var screenHeight = bodyObj.height();
	var scrollLeft = document.documentElement.scrollLeft;
	var scrollTop = document.documentElement.scrollTop;
	if ((top + height) > (scrollTop + screenHeight)) {
		top = targetPos.top - height - 5;
	}
	if ((left + width) > (scrollLeft + screenWidth)) {
		left = targetPos.left - width - 5;
	}
	div.css({
		width: width+'px',
		height: height+'px',
		top: top+'px',
		left: left+'px'
	})
}
function hideTooltip() {
	$('div#tooltip').hide();
}

function fixPNGInFrame() {
	var cont = this.contentWindow.document;
	$('[src$=png]', cont).each(function(){
		this.style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src='+this.src+');';
		this.src = '../images/spacer.gif';
	})
}

function wrapInStandardLayout(obj) {
	return $$('table',
				$$('tr',
					$$('td',
						{style: 'background:url(/layout/images/left_top_corner.gif) no-repeat;width:12px;height:12px;padding:0;'}
					),
					$$('td',
						{style: 'background:url(/layout/images/middle_top_stretch.gif) repeat-x;padding:0;'}
					),
					$$('td',
						{style: 'background:url(/layout/images/right_top_corner.gif) no-repeat;width:12px;padding:0;'}
					)
				),
				$$('tr',
					$$('td', {style: 'background:url(/layout/images/middle_left_stretch.gif) repeat-y;padding:0;'}),
					$$('td', obj, {style: 'padding:0;'}),
					$$('td', {style: 'background:url(/layout/images/middle_right_stretch.gif) repeat-y;padding:0;'}),
					{style: 'background-color:#FFF7DD'}
				),
				$$('tr',
					$$('td',
						{style: 'background:url(/layout/images/left_bottom_corner.gif) no-repeat;height:12px;padding:0;'}
					),
					$$('td',
						{style: 'background:url(/layout/images/middle_bottom_stretch.gif) repeat-x;padding:0;'}
					),
					$$('td',
						{style: 'background:url(/layout/images/right_bottom_corner.gif) no-repeat;padding:0;'}
					)
				),
				{cellspacing: 0, cellpadding: 0, border:0}
			)
}

function centerObj(obj) {
	var viewWidth = document.documentElement.clientWidth;
	var viewHeight = document.documentElement.clientHeight;
	var marginTop = viewHeight / 2 - obj.height() / 2;
	if (marginTop < 0)
		marginTop = 0;
	var marginLeft = viewWidth / 2 - obj.width() / 2;
	if (marginLeft < 0)
		marginLeft = 0;
	marginTop += document.documentElement.scrollTop;
	marginLeft += document.documentElement.scrollLeft;
	obj.css({
			'margin-top': marginTop+'px',
			'margin-left': marginLeft+'px'
		});
}

function fixFooter() {
	var footer = $('div.footer').css('display', 'none');
	var innerFooter = $('div', footer);
	var screenHeight = document.documentElement.scrollHeight;
	if (innerFooter.length == 0) {
		footer = $('div.footer');
		footer.remove().removeClass('footer').prependTo('body').wrap('<div class="footer"></div>').parent();
		footer = $('div.footer').css({
				position: 'absolute',
				'z-index': -5,
				width: '100%',
				'text-align': 'left'
			})
		var adminFooter = $('div#adminFooter').css('margin-left', 0)
		$('div', footer)
			.css({
				position: 'absolute',
				bottom: 0,
				width: '100%',
				'text-align': 'center',
				display: ''
			})
			.prepend(adminFooter)
		if ($.browser.mozilla && parseFloat($.browser.version) <= 1.8) {
			// Firefox 2 can't handle negative z-index
			$('body *:not(script,noscript)').each(function() {
				var obj = $(this);
				var curZ = obj.css('z-index');
				if (curZ == 'auto') {
					curZ = 0;
				}
				obj.css('z-index', parseInt(curZ)+10);
			});
			footer.css('z-index', 1);
		}
		
	}
	footer.css({
		height: (screenHeight+100)+'px',
		display: 'block'
	});
}

var windowObj;
function OpenCenWindow (url, winname, width, height) {
	var x = 0.5 *(window.screen.width - width);
	var y = 0.5 *(window.screen.height - height);
	if (typeof (windowObj) != 'undefined')  {
		windowObj.close();
	}
	var posStr = ", screenX=" + x + ", screenY=" + y;
	if ($.browser.msie) {
		posStr = ", left=" + x + ", top=" + y;
	}
	var pStr = 'resizable=yes, scrollbars=yes, status=no,width='+width+', height='+height+', alwaysRaised=1, addressbar=no, titlebar=no, toolbar=no, menubar=no, status=no';
	var windowObj = window.open (url, winname,pStr +posStr);
	//sw.resizeTo (600, 500);
	//sw.title = 'My Window';
	windowObj.focus();
	return windowObj;
}

function $$(tagName){var max=arguments.length-1,options={},obj=null,match=null;if(typeof arguments[max]=='object'&&!(arguments[max].html)){options=arguments[max--];}
if(match=/^([\w-]+)(#([\w-]+))?((\.[\w-]+)*)$/.exec(tagName)){var obj=$(document.createElement(match[1]));if(match[3])obj[0].id=match[3];if(match[4])obj[0].className=match[4].replace(/\./g,' ');for(var k in options){if(k=='hover'&&options[k]instanceof Array){obj.hover(options[k][0],options[k][1]);}else if($.isFunction(options[k])){obj.bind(k,options[k]);}else{obj.attr(k,options[k])}}
for(var i=1;i<=max;i++)obj.append(arguments[i]);}
return obj;};
