var pageMedia = [];

var mediaShowPrev = function(idx) {
	mediaClose(idx);
	if (idx <= 0) { 
		$(pageMedia[pageMedia.length - 1]).click(); 
	} else { 
		$(pageMedia[idx - 1]).click(); 
	}	
}

var mediaShowNext = function(idx) {
	mediaClose(idx);
	if (idx >= pageMedia.length - 1) { 
		$(pageMedia[0]).click(); 
	} else { 
		$(pageMedia[idx + 1]).click(); 
	}	
}

var mediaClose = function(idx) {
	if ($f('flowPlayer_'+idx)) {
		$f('flowPlayer_'+idx).stop();	
	}
	
	$('#mediaLayer_'+idx).hide(); 
	$('#shadeLayer_'+idx).hide();
}

$(document).ready(function() {
	// MEDIA LAYERS
	$('a.mediaLayer').each(function(idx, elm) {
		var params = new Array();
		var tmp = elm.href;

		var result = tmp.match(/^.*media_id=(\d*).*$/i);
		if (result != -1 && result != null) {
			params.push(new Array('article',result[1]));
			pageMedia.push(elm);
		}

		var xoffset = ($(elm).hasClass('js_home_mbm'))?12:12;
		
		// ONLY CREATE THE FLOAT LAYER IF WE FOUND ID(s)
		if (params.length == 1) {
			elm.href = 'javascript://';

			var newDivShade = $('<div></div>', { id:'shadeLayer_'+idx })
				.css({
					display:'none',
					position:'fixed',
					top:'0px',
					left:'0px',
					zIndex:'100',
					background:'url(/_img/shade.png)',
					width:$(window).width()+'px',
					height:$(window).height()+'px'
				})
				.appendTo('body');

			var newDiv = $('<div></div>', { id:'mediaLayer_'+idx })
				.css({
					display:'none',
					position:'absolute',
					left:($('#mediaBlock').offset().left - xoffset)+'px',
					top:($('#mediaBlock').offset().top - 1)+'px',
					zIndex:'101',
					background:'#252525',
					color:'#fff',
					border:'1px solid #616161',
					padding:'20px',
					width:'924px',
					height:'320px',
					textAlign:'left'
				})
				.addClass('mediaLayer')
				.appendTo('body');

			$(elm).click(function(e) {				
				$(newDivShade)
					.css({
						width:$(window).width()+'px',
						height:$(window).height()+'px'
					})
					.show();
				$(newDiv).show();
			});

			$(newDiv).load('/modules/media_layer.cfm',
				{
					media_id: params[0][1],
					idx: idx
				}
			);
			
			if (typeof(activeMedia) != 'undefined') {
				if (activeMedia == params[0][1]) {
					$(elm).click();
					activeMedia = null;
				}
			}
		}
	});

	// GALLERY LAYERS
	$('a.galleryLayer').each(function(idx, elm) {
		var params = new Array();
		var tmp = elm.href;

		pageMedia.push(elm);
		
		var result = tmp.match(/^.*cat_id=(\d*).*$/i);
		if (result != -1 && result != null) {
			params.push(new Array('category',result[1]));			
		}
		var result = tmp.match(/^.*tab_no=(\d*).*$/i);
		if (result != -1 && result != null) {
			params.push(new Array('tab',result[1]));			
		}
		var result = tmp.match(/^.*file_id=(\d*).*$/i);
		if (result != -1 && result != null) {
			params.push(new Array('file',result[1]));			
		}
		
		// ONLY CREATE THE FLOAT LAYER IF WE FOUND ID(s)
		if (params.length == 3) {
			elm.href = 'javascript://';

			var newDivShade = $('<div></div>', { id:'shadeLayer_'+idx })
				.css({
					display:'none',
					position:'fixed',
					top:'0px',
					left:'0px',
					zIndex:'100',
					background:'url(/_img/shade.png)',
					width:$(window).width()+'px',
					height:$(window).height()+'px'
				})
				.appendTo('body');

			var newDiv = $('<div></div>', { id:'mediaLayer_'+idx })
				.css({
					display:'none',
					position:'absolute',
					left:($('#mediaBlock').offset().left - 12)+'px',
					top:($('#mediaBlock').offset().top - 1)+'px',
					zIndex:'101',
					background:'#252525',
					color:'#fff',
					border:'1px solid #616161',
					padding:'20px',
					width:'924px',
					height:'320px',
					textAlign:'left'
				})
				.addClass('mediaLayer')
				.appendTo('body');

			$(elm).click(function(e) {				
				$(newDivShade)
					.css({
						width:$(window).width()+'px',
						height:$(window).height()+'px'
					})
					.show();
				$(newDiv).show();
			});

			$(newDiv).load('/modules/media_layer.cfm',{
				cat_id: params[0][1],
				tab_no: params[1][1],
				file_id: params[2][1],
				idx: idx
			});
		}
	});

	// MEDIA VAULT LAYERS
	$('a.mediaVaultLayer').each(function(idx, elm) {
		var params = new Array();
		var tmp = elm.href;

		pageMedia.push(elm);
		
		var result = tmp.match(/^.*gallery_id=(\d*).*$/i);
		if (result != -1 && result != null) {
			params.push(new Array('gallery',result[1]));			
		}
		var result = tmp.match(/^.*item_no=(\d*).*$/i);
		if (result != -1 && result != null) {
			params.push(new Array('item',result[1]));			
		}
		
		// ONLY CREATE THE FLOAT LAYER IF WE FOUND ID(s)
		if (params.length == 2) {
			elm.href = 'javascript://';

			var newDivShade = $('<div></div>', { id:'shadeLayer_'+idx })
				.css({
					display:'none',
					position:'fixed',
					top:'0px',
					left:'0px',
					zIndex:'100',
					background:'url(/_img/shade.png)',
					width:$(window).width()+'px',
					height:$(window).height()+'px'
				})
				.appendTo('body');

			var newDiv = $('<div></div>', { id:'mediaLayer_'+idx })
				.css({
					display:'none',
					position:'absolute',
					left:($('#mediaBlock').offset().left + 165)+'px',
					top:($('#mediaBlock').offset().top - 1)+'px',
					zIndex:'101',
					background:'#252525',
					color:'#fff',
					border:'1px solid #616161',
					padding:'15px 20px 20px 20px',
					width:'590px',
					height:'350px',
					textAlign:'left'
				})
				.addClass('mediaLayer')
				.appendTo('body');

			$(elm).click(function(e) {				
				$(newDivShade)
					.css({
						width:$(window).width()+'px',
						height:$(window).height()+'px'
					})
					.show();
				$(newDiv).show();
			});

			$(newDiv).load('/mediavault/video_layer.cfm',{
				gallery_id: params[0][1],
				item_no: params[1][1],
				idx: idx
			});
		}
	});
	
// ============================================================================
// OLD LAYERS BUT STILL USED POTENTIALLY !!! ==================================
// ============================================================================
	
	// VIDEO LAYERS
	$('a.videoLayer').each(function(idx, elm) {
		var params = new Array();
		var tmp = elm.href;

		var result = tmp.match(/^.*video_id=(\d*).*$/i);
		if (result != -1 && result != null) {
			params.push(new Array('article',result[1]));
		}

		// ONLY CREATE THE FLOAT LAYER IF WE FOUND ID(s)
		if (params.length == 1) {
			elm.href = 'javascript://';

			var newDivShade = $('<div></div>', { id:'shadeLayer_'+idx })
				.css({
					display:'none',
					position:'absolute',
					top:'0px',
					left:'0px',
					zIndex:'100',
					background:'url(/_img/shade.png)',
					width:$(window).width()+'px',
					height:$(window).height()+'px'
				})
				.appendTo('body');

			var newDiv = $('<div></div>', { id:'videoLayer_'+idx })
				.css({
					display:'none',
					position:'absolute',
					zIndex:'101',
					background:'#fff',
					border:'1px solid #000',
					padding:'20px',
					width:'auto',
					textAlign:'left'
				})
				.appendTo('body');

			$(elm).click(function(e) {
				scrollShade(newDivShade, newDiv);
			});

			$(window).scroll(function(e) {
				if (newDivShade && $(newDivShade).css('display') == 'block' && newDiv && $(newDiv).css('display') == 'block')
					scrollShade(newDivShade, newDiv);
			});

			$(newDiv).load('/modules/video_layer.cfm',{
				video_id: params[0][1],
				idx: idx
			});
		}
	});

	// IMAGE LAYERS
	$('a.imageLayer').each(function(idx, elm) {
		var params = new Array();
		var tmpHref = elm.href;
		var tmpTitle = $(elm).attr('layerTitle');
		var tmpDescr = $(elm).attr('layerDescr');

		var result = tmpHref.match(/^(.*)_m.jpg$/i);
		if (result != -1 && result != null) {
			params.push(new Array('article',result[1]+'.jpg', tmpTitle, tmpDescr));
		}

		// ONLY CREATE THE FLOAT LAYER IF WE FOUND ID(s)
		if (params.length == 1) {
			elm.href = 'javascript://';

			var newDivShade = $('<div></div>', { id:'shadeLayer_'+idx })
				.css({
					display:'none',
					position:'absolute',
					top:'0px',
					left:'0px',
					zIndex:'100',
					background:'url(/_img/shade.png)',
					width:$(window).width()+'px',
					height:$(window).height()+'px'
				})
				.appendTo('body');

			var newDiv = $('<div></div>', { id:'imageLayer_'+idx })
				.css({
					display:'none',
					position:'absolute',
					zIndex:'101',
					background:'#fff',
					border:'1px solid #000',
					padding:'20px',
					width:'auto',
					textAlign:'left'
				})
				.appendTo('body');

			$(elm).click(function(e) {
				scrollShade(newDivShade, newDiv);
			});

			$(window).scroll(function(e) {
				if (newDivShade && $(newDivShade).css('display') == 'block' && newDiv && $(newDiv).css('display') == 'block')
					scrollShade(newDivShade, newDiv);
			});

			$(newDiv).load('/modules/image_layer.cfm', {
				image_url: params[0][1],
				title: params[0][2],
				descr: params[0][3],
				idx: idx
			});
		}
	});
});

var scrollShade = function(shadeElm, layerElm) {
	var x = $(window).scrollLeft();
	var y = $(window).scrollTop();

	$(shadeElm).css({
		top:y+'px',
		left:x+'px'
	});

	var x = (($(window).width()/2) + $(window).scrollLeft()) - ($(layerElm).width()/2);
	var y = (($(window).height()/2) + $(window).scrollTop()) - ($(layerElm).height()/2);

	$(layerElm).css({
		top:y+'px',
		left:x+'px'
	});

	$(shadeElm).show();
	$(layerElm).show();
}
