//	JavaScript Document
/*
	@filename:	jquery-layers.js
	@author:	j.wessel
*/


function hide_iframeLayer(){
	//	deprecated
};


/* include bgiframe fix for internet explorer 6 issues */
/* Copyright (c) 2006 Brandon Aaron (http://brandonaaron.net)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) 
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 *
 * $LastChangedDate: 2007-07-11 23:14:51 -0500 (Wed, 11 Jul 2007) $
 * $Rev: 2323 $
 *
 * Version 2.1
 */

(function($){

/**
 * The bgiframe is chainable and applies the iframe hack to get 
 * around zIndex issues in IE6. It will only apply itself in IE 
 * and adds a class to the iframe called 'bgiframe'. The iframe
 * is appeneded as the first child of the matched element(s) 
 * with a tabIndex and zIndex of -1.
 * 
 * By default the plugin will take borders, sized with pixel units,
 * into account. If a different unit is used for the border's width,
 * then you will need to use the top and left settings as explained below.
 *
 * NOTICE: This plugin has been reported to cause perfromance problems
 * when used on elements that change properties (like width, height and
 * opacity) a lot in IE6. Most of these problems have been caused by 
 * the expressions used to calculate the elements width, height and 
 * borders. Some have reported it is due to the opacity filter. All 
 * these settings can be changed if needed as explained below.
 *
 * @example $('div').bgiframe();
 * @before <div><p>Paragraph</p></div>
 * @result <div><iframe class="bgiframe".../><p>Paragraph</p></div>
 *
 * @param Map settings Optional settings to configure the iframe.
 * @option String|Number top The iframe must be offset to the top
 * 		by the width of the top border. This should be a negative 
 *      number representing the border-top-width. If a number is 
 * 		is used here, pixels will be assumed. Otherwise, be sure
 *		to specify a unit. An expression could also be used. 
 * 		By default the value is "auto" which will use an expression 
 * 		to get the border-top-width if it is in pixels.
 * @option String|Number left The iframe must be offset to the left
 * 		by the width of the left border. This should be a negative 
 *      number representing the border-left-width. If a number is 
 * 		is used here, pixels will be assumed. Otherwise, be sure
 *		to specify a unit. An expression could also be used. 
 * 		By default the value is "auto" which will use an expression 
 * 		to get the border-left-width if it is in pixels.
 * @option String|Number width This is the width of the iframe. If
 *		a number is used here, pixels will be assume. Otherwise, be sure
 * 		to specify a unit. An experssion could also be used.
 *		By default the value is "auto" which will use an experssion
 * 		to get the offsetWidth.
 * @option String|Number height This is the height of the iframe. If
 *		a number is used here, pixels will be assume. Otherwise, be sure
 * 		to specify a unit. An experssion could also be used.
 *		By default the value is "auto" which will use an experssion
 * 		to get the offsetHeight.
 * @option Boolean opacity This is a boolean representing whether or not
 * 		to use opacity. If set to true, the opacity of 0 is applied. If
 *		set to false, the opacity filter is not applied. Default: true.
 * @option String src This setting is provided so that one could change 
 *		the src of the iframe to whatever they need.
 *		Default: "javascript:false;"
 *
 * @name bgiframe
 * @type jQuery
 * @cat Plugins/bgiframe
 * @author Brandon Aaron (brandon.aaron@gmail.com || http://brandonaaron.net)
 */
$.fn.bgIframe = $.fn.bgiframe = function(s) {
	// This is only for IE6
	if ( $.browser.msie && /6.0/.test(navigator.userAgent) ) {
		s = $.extend({
			top     : 'auto', // auto == .currentStyle.borderTopWidth
			left    : 'auto', // auto == .currentStyle.borderLeftWidth
			width   : 'auto', // auto == offsetWidth
			height  : 'auto', // auto == offsetHeight
			opacity : true,
			src     : 'javascript:false;'
		}, s || {});
		var prop = function(n){return n&&n.constructor==Number?n+'px':n;},
		    html = '<iframe class="bgiframe" frameborder="0" tabindex="-1" src="'+s.src+'"'+
		               'style="display:block;position:absolute;z-index:-1;'+
			               (s.opacity !== false?'filter:Alpha(Opacity=\'0\');':'')+
					       'top:'+(s.top=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderTopWidth)||0)*-1)+\'px\')':prop(s.top))+';'+
					       'left:'+(s.left=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderLeftWidth)||0)*-1)+\'px\')':prop(s.left))+';'+
					       'width:'+(s.width=='auto'?'expression(this.parentNode.offsetWidth+\'px\')':prop(s.width))+';'+
					       'height:'+(s.height=='auto'?'expression(this.parentNode.offsetHeight+\'px\')':prop(s.height))+';'+
					'"/>';
		return this.each(function() {
			if ( $('> iframe.bgiframe', this).length == 0 )
				this.insertBefore( document.createElement(html), this.firstChild );
		});
	}
	return this;
};

})(jQuery);


var lWidth;	//	width of the layer
var lHeight;	//	height of the layer	

function closeLayer(info_ID) {
	var info_ID = $(this).attr('id');
	$('div.layer#'+info_ID).css('display','none');
	//	console.log('s.pagename zurückgesetzt auf: '+pNam);
	$('body').css('overflow','auto');
}
		
jQuery(
	function($) {		
		//	all links that trigger a layer
		$('.hasLayer').each(
			function() {		
				
				var info_ID = $(this).attr('id');	//	id of the link to define s.prop6-Variable

				$(this).click(
					function(e) {
					
						//trk_Layer;	//	execute the tracking function (accepts the info_ID)
						
						//	setting up dimension variables on click
						var xPos = e.pageX;
						var yPos = e.pageY;						
						
						lWidth = $('div.layer#layer_'+info_ID).width();	//	width of the layer
						lHeight = $('div.layer#layer_'+info_ID).height();	//	height of the layer	
						
						//	show and position the layer with dim	
						if($(this).hasClass('hasDim')) {
							$.dimScreen(1000, 0.5, function() {
								$('div.layer#layer_'+info_ID).css('left',($(document).width()/2)-(lWidth/2)).css('top',($(document).height()/2)-(lHeight/2));
								$('div.layer#layer_'+info_ID).appendTo('body');
								$('div.layer#layer_'+info_ID).show("fast", function () {$('div.layer#layer_'+info_ID).bgiframe();});
								$('body').css('overflow','auto');
								}
							);
						}
						else if($(this).hasClass('underClick')) {
							//	show and position the layer
							//	underClick
							$('div.layer#layer_'+info_ID).css('left',($(document).width()/2)-(lWidth/2)).css('top',yPos+20);
							$('div.layer#layer_'+info_ID).appendTo('body').show("fast", function () {$('div.layer#layer_'+info_ID).bgiframe();});
						}
						else {
							//	show and position the layer
							$('div.layer#layer_'+info_ID).css('left',($(document).width()/2)-(lWidth/2)).css('top',($(document).height()/2)-(lHeight/2));
							$('div.layer#layer_'+info_ID).appendTo('body');
							$('div.layer#layer_'+info_ID).show("fast", function () {$('div.layer#layer_'+info_ID).bgiframe();});
						}
					
						//	hide layer
						$('div.layer#layer_'+info_ID).find('div.layer_t a.layer_close').bind('click',function() {
								$('div.layer#layer_'+info_ID).css('display','none');
							}
						);
						
					}
				);			
			}
		);


		//	opening layers via URL parameter
		//	document information from jquery-functions.js

		//	var locURL = document.URL;
		//	var locREF = document.referrer;
		//	var locHREF = '';
		//	var locSRCH = window.location.search;	
		
		//	console.log('locSRCH= '+locSRCH);
		
		//	if(locSRCH && locSRCH.match(/openlayer/gi)) {
			//locSRCH = locSRCH.split('openlayer=')[1];
			//var info_ID = locSRCH;
			
			if(locSRCH && locSRCH.match(/openlayer/gi)) {
				var params = locSRCH.substr(locSRCH.indexOf("?")).split('&');

				//	IncludeURL is always the first parameter in static pages
				var IncludeURL = params[0].split('?')[1];

				for(var i = 0;i<params.length;i++) {
					if( params[i].match(/openlayer/g) ) {
						openlayer = params[i].split('=')[1];
					}	
				}	
			var info_ID = openlayer;
			
			//	width of the layer
			lWidth = $('div.layer#layer_'+info_ID).width();
			//	height of the layer
			lHeight = $('div.layer#layer_'+info_ID).height();	
						
			//	show and position the layer
			$('div.layer#layer_'+info_ID).css('left',($(document).width()/2)-(lWidth/2)).css('top',($(document).height()/2)-(lHeight/2));
			$('div.layer#layer_'+info_ID).appendTo('body');
			$('div.layer#layer_'+info_ID).show("fast", function () {$('div.layer#layer_'+info_ID).bgiframe();});
					
			//	add 'hide layer' functionality
			$('div.layer#layer_'+info_ID).find('div.layer_t a.layer_close').bind('click',function() {
				$('div.layer#layer_'+info_ID).css('display','none');
				}
			);
		}

	}
);