var imageLayer;

Event.observe(window, 'load', function() {
	imageLayer = new Element('div', {
		style: "border:1px solid gray; display: none; position: absolute; z-index: 101; line-height: 0;"
	});
	
	imageLayer.observe('mouseout', function() {
		imageLayer.hide();
		if (isIE6()) {
			labelHide(false);
		}
	});
	
	jQuery('img[onmouseover*="showImage"]').mouseout(function() {
		imageLayer.hide();
		if (isIE6()) {
			labelHide(false);
		}
	});
	
	var a = new Element('a');	
	var img = new Element('img');
	
	imageLayer.appendChild(a).appendChild(img);
	imageLayer.cleanWhitespace();
	
	$('main').appendChild(imageLayer);
});

function showImage(img, link, url) {
	imageLayer.firstChild.writeAttribute("href", link);
	imageLayer.down(1).src = url;

	var offset = $(img).positionedOffset();
	imageLayer.setStyle({
		left:	(offset.left - $(img).getWidth() * 2 + 'px'),
		top:	(offset.top + $(img).getHeight() + 'px')
	});
	
	/* Hide RemoteControl Dropdowns from IE6 (z-index bug) */
	if (isIE6()) {
		labelHide(true);
	}
	
	imageLayer.show();
}

function labelHide(hideVar) {
	var hide = hideVar;
	if(hide) {
		jQuery("#sidebar select").css({
			'visibility' : 'hidden'
		});
	} else {
		jQuery("#sidebar select").css({
			'visibility' : 'visible'
		});
	}
}

function isIE6() {
	if (jQuery.browser.msie && parseInt(jQuery.browser.version) <= 6) {
		return true;
	} else {
		return false;
	}
}

function addFieldToURL(field) {
	var element = $(field);
	addParamToURL(element.readAttribute('name'), element.getValue());
}

function addParamToURL(param) {
	var paramName;
	if (arguments.length == 1) {
		paramName = param.split('=')[0];
	} else {
		paramName = arguments[0];
		param = arguments[0] + '=' + arguments[1];
	}
	
	var url = window.location.href;
	var regexp = new RegExp(paramName + '=[^&]*');
	if (url.match(regexp)) {
		url = url.sub(regexp, param);
	} else {
		url = url + (url.match(/\?/) ? '&' : '?') + param;
	}

	window.location = url;
}
