﻿//Quelltext parsen
$(document).ready(function(){ 
		var j = 0;
		$('#insymaOverlay').hide();
		$('#insymaOverlayContent').hide();
		$('.insymaSpecialOverlay').click(function() {
 		 	_getInsymaLayer(this);
		});
		$('.insymaNewThumbs .imagelink').attr("idx", function(){
			return this.href
		}).attr("id", function(){
			j+=1;
			return "imagelink_" + j;
		}).attr("href", function(){
				return "Javascript:_getInsymaImageLayer('" + this.id + "','" + this.href + "');"
		});
		if($('.insymaImgListThumbs').html() != null)
			_getInsymaImgListLayer();
		if(document.URL.indexOf("thanks=1") > -1)
			_getOverlayWithThanks();
		
		$(document).bind('keydown', function(e) { 
			if (e.keyCode == 27) {
				_closeInsymaOverlay()
			}
    	}); 
		
		var jump = false;
		
	});


//Layer-Labels
var closespan = '<span id="close" onclick="_closeInsymaOverlay()"><img src="../img/layout/gallery-control-close.gif" alt="schliessen" /></span>';
var prevspan = '<span id="prev" onclick="_nextInsymaOverlay(1)"><img src="../img/layout/gallery-control-prev.gif" alt="vorheriges Bild" /></span>';
var nextspan = '<span id="next" onclick="_nextInsymaOverlay(2)"><img src="../img/layout/gallery-control-next.gif" alt="nächstes Bild" /></span>';
var playspan = '<span id="play" onclick="_nextInsymaOverlay(3)"><img src="../img/layout/gallery-control-play.gif" alt="Slideshow starten" /></span>';
var stopspan = '<span id="stop" onclick="_nextInsymaOverlay(4)"><img src="../img/layout/gallery-control-pause.gif" alt="Slideshow stoppen" /></span>';
var countspan = '<span id="countspan">' + insymaImgConfig.countLabel + '<span class="current"> [current] </span>' + insymaImgConfig.countSeperatorLabel + '<span class="counter"> [counter] </span></span>';
var descspan = '<span id="descspan"></span>';
var fwLinkLabel = insymaImgConfig.fwLinkLabel;
//globale Variablen
var counter = 0;
var curr_count = 0;
var curr_id;
var i = 0;
var setTimeOut;
var img;
var imgWidth;


//-----Positionsberechnungen
function __GetPosX(aElement)
{
	return (aElement.offsetParent) ? (aElement.offsetLeft + __GetPosX(aElement.offsetParent)): (aElement.offsetLeft);
}

function __GetPosY(aElement)
{
    return (aElement.offsetParent) ? (aElement.offsetTop + __GetPosY(aElement.offsetParent)): (aElement.offsetTop);
}


//------Textlayer
function _getInsymaLayer(aId)
{
	$('#insymaOverlay').show().css('width', '100%').css('height', insymaUtil.getPageSize()[1]+"px");
	
	$('#insymaOverlayContent').fadeIn("slow").html(closespan + $(aId).html()).css({'background-color':'#fff','width':'200px','position':'absolute', 'top': ($(aId).offset().top) + "px",'left': '40%', 'z-index': '91'});
	$('#insymaOverlay').click(function() {
 		 	_closeInsymaOverlay()
		});
}
//------Imagelayer
function _getInsymaImageLayer(aId, aDest)
{
	var window_width = window.innerWidth;
	if(!window_width)
		window_width = screen.availWidth;
	var body_width = $('html').width();
	var diff = (window_width-body_width)/2;
	var diff_width = window_width-diff;
	if (diff == 0){
		diff = 8.5;
		diff_width = window_width-15;
	}
	
	$('#insymaOverlay').show().css('width', diff_width + 'px').css('height', insymaUtil.getPageSize()[1]+"px").css('left', '-' + diff + 'px');
	$('#insymaOverlay').click(function() {
 		 	_closeInsymaOverlay()
		});
	var html = closespan
	var hidden = "";
	var hidden2 = "";
	var hidden3 = "";
	var tmp = "";
	var _tmp = "";
	var tmpid = "";
	var form = "";
		
	
	var urls = $('#' + aId).parents('.insymaNewThumbs').find('a');
	
	var anzahl = urls.length;
	urls.each(function(i) {
	   hidden += $(this).attr('idx')
	   hidden += (i+1 == anzahl) ? '' : '|';
	   hidden2 += $(this).find('img').attr('alt');
	   hidden2 += (i+1 == anzahl) ? '' : '|';
	   hidden3 += $(this).attr('id');
	   hidden3 += (i+1 == anzahl) ? '' : '|';
	   if (parseInt(anzahl) > 1) {
		   if ($(this).attr('idx') == aDest) {
			   countspan = countspan.replace("[current]", (i+1)).replace("[counter]",anzahl);
		   }
	   }
	  });

	if(parseInt(anzahl) > 1)
		{
			html += prevspan + nextspan + countspan + playspan + stopspan;
			html += "<input type='hidden' name='Overlayhidden' id='Overlayhidden' value='" + hidden + "'/>"
			html += "<input type='hidden' name='OverlayhiddenID' id='OverlayhiddenID' value='" + hidden2 + "'/>"
			html += "<input type='hidden' name='OverlayLinkID' id='OverlayLinkID' value='" + hidden3 + "'/>"
		}
	if($('#' + aId).parents('.insymaNewThumbs').attr("class").indexOf("ForwardForm") > -1)
		form = _getForwardForm();
	html += "<img src='" + aDest + "' alt='' id='o_img_" + aId + "' />" + descspan + form;
	img = new Image();
	img.src = aDest;
	//alert(img.width);
	testImage();
	//alert(img.width);
	$('#insymaOverlayContent').html(html).css({'width':'auto','padding':'44px 10px 0 10px','position':'fixed', 'left': '50%', 'top': "10%", 'z-index': '91'});
	
	$('#descspan').text($('#' + aId + " img").attr("alt"));
	countspan = '<span id="countspan">' + insymaImgConfig.countLabel + '<span class="current"> [current] </span>' + insymaImgConfig.countSeperatorLabel + '<span class="counter"> [counter] </span></span>';
	//console.log($('#insymaOverlayContent').width()/2);

	
}
function testImage()
{
	if(img.complete)
	{
		
		setTimeout("ImageOk();",100);
			
	}
	else
	{
		setTimeout("testImage();",100);
		
	}
}

function ImageOk()
{
	$('#insymaOverlayContent').show().css({'margin-left': '-' + $('#insymaOverlayContent').width()/2 + 'px'});
}
//-------Layer schliessen
function _closeInsymaOverlay()
{
	$('#insymaOverlayContent').attr("style", "").fadeOut("fast");
	$('#insymaOverlay').fadeOut("fast");
	jump = false;
}
//-------Images durchschalten
// Todo 1 = 1 Bild zurück
// Todo 2 = 1 Bild vorwärts
// Todo 3 = Slideshow starten
// Todo 4 = Slideshow stoppen
function _nextInsymaOverlay(aToDo, aDest)
{
	$('#insymaForwardLink').show();
	$('.form_forward_insyma').hide();
	var arr = $('input:hidden[name=Overlayhidden]').val().split("|");
	var arr2 = $('input:hidden[name=OverlayhiddenID]').val().split("|");
	var arr3 = $('input:hidden[name=OverlayLinkID]').val().split("|");
	var curr_img = $("img[id^='o_img_']").attr("src");
	counter = arr.length-1;
	for(i=0;i<arr.length;i++)
		{
			if(arr[i] == curr_img)
				curr_count = i;
		}
	if(aToDo == "1")
		{
			if(curr_count-1 < 0)
				{
					$("img[id^='o_img_']").attr({src: arr[counter], id:"o_img_" + arr3[counter]});
					curr_count = counter;
				}
			else
				{
					$("img[id^='o_img_']").attr({src: arr[curr_count-1], id:"o_img_" + arr3[curr_count-1]});
					curr_count -= 1;
				}
		}
	if(aToDo == "2")
		{
			if(curr_count+1 > counter)
				{
					$("img[id^='o_img_']").attr({src: arr[0], id: "o_img_" + arr3[0]});
					curr_count = 0;
				}
			else
				{
					$("img[id^='o_img_']").attr({src: arr[curr_count+1], id: "o_img_" + arr3[curr_count+1]});
					curr_count += 1;
				}
			
		}
	if(aToDo == "3")
		{
			if(curr_count+1 > counter)
				{
					$("img[id^='o_img_']").attr({src: arr[0], id: "o_img_" + arr3[0]});
					curr_count = 0;
				}
			else
				{
					$("img[id^='o_img_']").attr({src: arr[curr_count+1], id: "o_img_" + arr3[curr_count+1]});
					curr_count += 1;
				}
			_playInsymaOverlay(1)
		}
	if(aToDo == "4")
		{
			_stopInsymaOverlay()
		}
	$('#insymaOverlayContent .current').text(" " + (curr_count+1) + " ");
	$('#descspan').text(arr2[curr_count]);
}	

//-----Slideshow
// Todo 1 = Verzögerung und nächstes Bild Standardbilder
// Todo 2 = Verzögerung und nächstes BildGross-Part
function _playInsymaOverlay(aToDo)
	{
		if(aToDo == "1")
		{
			setTimeOut = window.setTimeout(function() {
				_nextInsymaOverlay(3);
			}, 5000);
		}
		if(aToDo == "2")
		{
			setTimeOut = window.setTimeout(function() {
				_nextImgLarge(3);
			}, 5000);
		}
	}
//Slideshow stoppen
function _stopInsymaOverlay()
	{
		window.clearTimeout(setTimeOut);	
	}

//BildGross - Layer
function _getInsymaImgListLayer()
	{
		var lis = $('.insymaImgListThumbs li')
		$(lis).hide();
		lis.each(function(i) {
			$(this).attr('idx', i);
			if($(this).children("a").attr('class') == "imagelink")
			{
				$(this).children("a").attr("idx", function(){
					return this.href
				}).attr("id", function(){
					return "a_bildspan_" + i;
				}).attr("href", function(){
					return "Javascript:_getInsymaImageLargeLayer(" + i + ",'" + this.href + "');"
				});
				$(this).attr("id", "li_bildspan_" + i);	
			}
			else
			{
				$(this).attr("id", "li_bildspan_" + i).children("a").attr("idx", function(){
					return this.title
				}).attr("title", function(){
					return this.href
				});	
				$(this).children("a").attr("target", "_blank");
			}
		 });
		$('.insymaImgListThumbs ul').children('li:first-child').show();
		//console.log($('.insymaImgListThumbs li').length);
		if(lis.length > 1)
			{
				$('.insymaImgListThumbs ul').html("<li class='imglarge_nav'>" + 
					prevspan.replace("nextInsymaOverlay","nextImgLarge") + 
					nextspan.replace("nextInsymaOverlay","nextImgLarge") + 
					playspan.replace("nextInsymaOverlay","nextImgLarge") +
					stopspan.replace("nextInsymaOverlay","nextImgLarge") +
					"</li>" + $('.insymaImgListThumbs ul').html());
		
			}
	}
//-------BildGross durchschalten
// Todo 1 = 1 Bild zurück
// Todo 2 = 1 Bild vorwärts
// Todo 3 = Slideshow starten
// Todo 4 = Slideshow stoppen
function _nextImgLarge(aToDo)
{
	$('#insymaForwardLink').show();
	$('.form_forward_insyma').hide();
	var arr = $('.insymaImgListThumbs li.bildSpan');
	counter = arr.length-1;
	arr.each(function(i){
		if ($(this).attr('style').indexOf('none') == -1)
					curr_count = i
	});
	
	
	if(aToDo == "1")
		{
			$('.insymaImgListThumbs li.bildSpan').hide();
			if(curr_count-1 < 0)
				{
					curr_count = counter;
					$("#li_bildspan_" + curr_count).show();
				}
			else
				{
					curr_count -= 1;
					$("#li_bildspan_" + curr_count).show();
				}
		}
	if(aToDo == "2")
		{
			$('.insymaImgListThumbs li.bildSpan').hide();
			if(curr_count+1 > counter)
				{
					$("#li_bildspan_0").show();
					curr_count = 0;
				}
			else
				{
					curr_count += 1;
					$("#li_bildspan_" + curr_count).show();
				}
			
		}
	if(aToDo == "3")
		{
			$('.insymaImgListThumbs li.bildSpan').hide();
			if(curr_count+1 > counter)
				{
					$("#li_bildspan_0").show();
					curr_count = 0;
				}
			else
				{
					curr_count += 1;
					$("#li_bildspan_" + curr_count).show();
				}
			_playInsymaOverlay(2)
		}
	if(aToDo == "4")
		{
			_stopInsymaOverlay()
		}
}
function _getInsymaImageLargeLayer(aId, aUrl)
{
	var window_width = window.innerWidth;
	if(!window_width)
		window_width = screen.availWidth;
	var body_width = $('body').width();
	$('#insymaOverlay').show().css('width', window_width + 'px').css('height', insymaUtil.getPageSize()[1]+"px").css('left', '-' + (window_width-body_width)/2 + 'px');
	$('#insymaOverlay').click(function() {
 		 	_closeInsymaOverlay()
		});
	var html = closespan
	var hidden = "";
	var hidden2 = "";
	var hidden3 = "";
	var tmp = "";
	var _tmp = "";
	var tmpid = "";
	var urls = $('#li_bildspan_' + aId).parents('.insymaImgListThumbs').find('li.bildSpan');
	var anzahl = urls.length;
	urls.each(function(i) {
	   hidden += $(this).find("a").attr('idx')
	   hidden += (i+1 == anzahl) ? '' : '|';
	   hidden2 += $(this).find('p').html();
	   hidden2 += (i+1 == anzahl) ? '' : '|';
	   hidden3 += $(this).attr('id');
	   hidden3 += (i+1 == anzahl) ? '' : '|';
	   if (anzahl > 1) {
		   if ($(this).attr('idx') == aId) {
			   countspan = countspan.replace("[current]", (i+1)).replace("[counter]",anzahl);
		   }
	   }
	  });

	if(parseInt(anzahl) > 1)
		{
			html += prevspan + nextspan + countspan + playspan + stopspan;
			html += "<input type='hidden' name='Overlayhidden' id='Overlayhidden' value='" + hidden + "'/>"
			html += "<input type='hidden' name='OverlayhiddenID' id='OverlayhiddenID' value='" + hidden2 + "'/>"
			html += "<input type='hidden' name='OverlayLinkID' id='OverlayLinkID' value='" + hidden3 + "'/>"
		}
	html += "<img src='" + aUrl + "' alt='' id='o_img_" + aId + "' />" + descspan;
	$('#insymaOverlayContent').fadeIn("slow").html(html).css({'width':'auto','padding':'40px','position':'absolute', 'top': (__GetPosY(document.getElementById("li_bildspan_" + aId))-200) + "px",'left': '30%', 'z-index': '91'});
	$('#insymaOverlayContent').css({'margin-left': '-' + $('#insymaOverlayContent').width()/2 + 'px'});
	$('#descspan').html($('#li_bildspan_' + aId + " p").html());
	countspan = '<span id="countspan">' + insymaImgConfig.countLabel + '<span class="current"> [current] </span>' + insymaImgConfig.countSeperatorLabel + '<span class="counter"> [counter] </span></span>';
}
//Zusammenbau Weiterleitungsformular
function _getForwardForm()
{
	var html = "";
	html += "<span id='insymaForwardLink' onclick='_getInsymaForm(this.id);'>" + fwLinkLabel + "</span>";
	html += "<form class='form_forward_insyma' name='form_forward_insyma' onsubmit='return _getValidate()' action='" + insymaImgConfig.fwMailer + "' method='post' style='display: none;'>";
	html += "<ul>";
	html += "<li><label>" + insymaImgConfig.fwSenderLabel + "</label><input type='text' name='AbsenderName' /></li>";
	html += "<li><label>" + insymaImgConfig.fwSenderMailLabel + "</label><input type='text' name='AbsenderMail' /></li>";
	html += "<li><label>" + insymaImgConfig.fwRecipientMailLabel + "</label><input type='text' name='Recipient' /></li>";
	html += "<li><label>" + insymaImgConfig.fwCommentLabel + "</label><textarea rows='5' cols='20' name='Kommentar'></textarea></li>";
	html += "<li><input type='hidden' name='fwRedirect' value='" + document.URL + "' />";
	html += "<input type='hidden' name='fwImageUrl' value='' />";
	html += "<input type='hidden' name='fwSender' value='" + insymaImgConfig.fwMailSender + "' />";
	html += "<input type='hidden' name='fwSubject' value='" + insymaImgConfig.fwSubject + "' />";
	html += "<input type='hidden' name='fwMessage' value='" + insymaImgConfig.fwMessage + "' />";
	html += "<input type='hidden' name='fwCase' value='' /></li>";
	html += "<li id='hurra_' class='hide'>" + insymaImgConfig.fwThanks + "</li>";
	html += "<li><input type='submit' value='" + insymaImgConfig.fwButtonLabel + "'  /></li>";
	html += "</ul>";
	html += "</form>";
	return html;
}	
//Weiterleitungsformular sichtbar schalten und zusätzliche Hiddenfields befüllen
function _getInsymaForm(aId)
{
	$('#' + aId).hide().next().show();
	$('input:hidden[name=fwImageUrl]').val($("img[id^='o_img_']").attr("src"));
	$('input:hidden[name=fwCase]').val($("img[id^='o_img_']").attr("id"));
}
//Validierung
function _getValidate()
{
	$('.form_forward_insyma input').removeClass("validate");
	var regex=/^(([A-Za-z0-9]+_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\.+)|([A-Za-z0-9]+\++))*[A-Za-z0-9]+@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6}$/;
	if ($('input[name=AbsenderName]')[0].value == "")
		{
			$('input[name=AbsenderName]').focus().addClass("validate");
			return false;
		}
	if($('input[name=AbsenderMail]').length > 0)
		{
			var emailaddress = $("input[name=AbsenderMail]")[0].value;
			if(!emailaddress.match(regex))
				{
					$('input[name=AbsenderMail]').focus().addClass("validate");
					return false;
				}
		}
	if($('input[name=Recipient]').length > 0)
		{
			var emailaddress = $("input[name=Recipient]")[0].value;
			if(!emailaddress.match(regex))
				{
					$('input[name=Recipient]').focus().addClass("validate");
					return false;
				}
		}
	//document.form_forward_insyma.submit()	
}

//nach Weiterleitung Einblendung Layer und Erfolgsmessage
function _getOverlayWithThanks()
{
	var query = document.URL.split("?")[1].split("&");
	var img_value = "";
	var link_id = "";
	for(i=0;i<query.length;i++)
		{
			if(query[i].split("=")[0] == "fwCase")
				img_value = query[i].split("=")[1].replace("o_img_imagelink_", "imagelink_");
		}
	if (img_value != ""){
		_getInsymaImageLayer(img_value, $("#" + img_value).attr("idx"));
	}
	$('#descspan').append("<span class='hurramessage'>" + $('#hurra_').text() + "</span>")
}
