var currWindowIndex = -1;
var windows = new Array (
	'brand',
	'archive',
	'timelimit',
	'details',
	'disclaimer'
);

function loadPopup()
{
	if($("#bgPopup").data("state") == 0 && currWindowIndex > -1)
	{
		$("#bgPopup").css({
			"opacity": "0.7"
		});
		$("#bgPopup").fadeIn("medium");
		$("#popup_" + windows[currWindowIndex]).fadeIn("medium");
		$("#bgPopup").data("state",1);
	}
}

function centerPopup()
{
	var winw = $(window).width();
	var winh = $(window).height();
	var currscroll = $(window).scrollTop();
	var popw = $("#popup_" + windows[currWindowIndex]).width();
	var poph = $("#popup_" + windows[currWindowIndex]).height();
	$("#popup_" + windows[currWindowIndex]).css({
		"position" : "absolute",
		"top" : currscroll + winh/2-poph/2,
		"left" : winw/2-popw/2
	});
	//IE6
	$("#bgPopup").css({
		"height": winh
	});
}

function disablePopup()
{
	if ($("#bgPopup").data("state") == 1 && currWindowIndex > -1)
	{
		$("#bgPopup").fadeOut("medium");
		$("#popup_" + windows[currWindowIndex]).fadeOut("medium");
		$("#bgPopup").data("state",0);
		currWindowIndex = -1;
	}
	return false;
}

$(document).ready(function() 
{
	$("#bgPopup").data("state",0);
	$("#bgPopup").click(function()
	{
		disablePopup();
	});
	$("#btn_brand").click(function()
	{
		$("#brandform input[name=brand]").val('');
		$("#brandform input[name=facebook]").val('');
		$("#brandform input[name=website]").val('');
		$("#brandform input[name=startsite]").val('');
		$("#brandform input[name=socialmedia]").val('');
		$("#brandform input[name=agentur]").val('');
		$("#brandform input[name=contactname]").val('');
		$("#brandform input[name=contactemail]").val('');
		$("#errormsg_brand").html('');
		
		currWindowIndex = 0;
		centerPopup();
		loadPopup();
	});
	$("#btn_archive").click(function()
	{
		currWindowIndex = 1;
		centerPopup();
		loadPopup();
	});
	$("#btn_timelimit").click(function()
	{
		$("input[name=startdate]").val('');
		$("input[name=enddate]").val('');
		
		currWindowIndex = 2;
		centerPopup();
		loadPopup();
	});
	$("#popupClose_brand").click(function()
	{
		disablePopup();
	});
	$("#popupClose_archive").click(function()
	{
		disablePopup();
	});
	$("#popupClose_timelimit").click(function()
	{
		disablePopup();
	});
	
	$("#popupClose_details").click(function()
	{
		disablePopup();
	});
	
	$("#popupClose_disclaimer").click(function()
	{
		disablePopup();
	});
		
	$(document).keypress(function(e)
	{
		if(e.keyCode == 27)
		{
			disablePopup();
		}
	});
		
	// send the brandData
	$("a.sendbranddata").click(function() {
		$("#errormsg_brand").html('');
		if($("#brandform input[name=brand]").val() == '' || $("#brandform input[name=facebook]").val() == '' || $("#brandform input[name=website]").val() == '')
		{
			$("#errormsg_brand").html('Bitte alle Pflichtfelder ausf&uuml;llen.');
		} else {
			var postvars = '';
			postvars += 'brand=' + $("#brandform input[name=brand]").val();
			postvars += '&facebook=' + $("#brandform input[name=facebook]").val();
			postvars += '&website=' + $("#brandform input[name=website]").val();
			postvars += '&startsite=' + $("#brandform input[name=startsite]").val();
			postvars += '&socialmedia=' + $("#brandform input[name=socialmedia]").val();
			postvars += '&agentur=' + $("#brandform input[name=agentur]").val();
			postvars += '&contactname=' + $("#brandform input[name=contactname]").val();
			postvars += '&contactemail=' + $("#brandform input[name=contactemail]").val();

			$.post(post_path + "/sendbranddata.php", postvars,
				 function(data) {
					if(data == "success")
					{
						$("#errormsg_brand").html('Vielen Dank f&uuml;r Deinen Vorschlag.');
						disablePopup();
					} else {
						$("#errormsg_brand").html('Fehler! Bitte versuche es sp&auml;ter noch einmal.');
					}
			});
		
		}
		return false;
	});
	
	// show the detail popup
	$('a.detailLink').click(function(evt){
				var linkname = evt.target.name;
				var brandid = linkname.substr(10, linkname.length - 1);
				
				var postvars = 'id=' + brandid;
				$.post(post_path + "/getBranddetaildata.php", postvars,
					 function(data) {
						if(data != "error")
						{
							$('#popup_details .popupContentText').html(data);
							currWindowIndex = 3;
							centerPopup();
							loadPopup();
						}
				});

				return false;
			}
		);
		
	// show the disclaimer popup
	$('a.disclaimerLink').click(function(){
		
		currWindowIndex = 4;
		centerPopup();
		loadPopup();
		return false;
	});
	
	// get the time limit data
	$("a.sendtimelimitdata").click(function() {
		$("#errormsg_timelimit").html('');
		
		var trendval = $("input:radio[name=trendval]:checked").val();
		if(trendval == 1) $("#filterform input[name=mode]").val('deltaDay');
		if(trendval == 2) $("#filterform input[name=mode]").val('deltaMonth');
		if(trendval != 1 && trendval != 2)
		{
			var sDate = $("input[name=date_start]").val();
			var eDate = $("input[name=date_end]").val();
			
			var error = false;
			if(!checkDateFormat(sDate) || !checkDateFormat(eDate)) error = true;
 			if(!checkDifferenceBetweenDates(sDate, eDate)) error = true;
 			
 			if(!error)
 			{
				$("#filterform input[name=mode]").val('deltaUserdefined');
				$("#filterform input[name=startdate]").val(sDate);
				$("#filterform input[name=enddate]").val(eDate);
			}
 		}
			
		if((trendval == 1 || trendval == 2) || !error)
		{
			$("#errormsg_timelimit").html('Bitte warten.');
			$("#filterform input[name=offset]").val('');
			$("#filterform input[name=cmd]").val('');
			$("#filterform input[name=searchstr]").val('');
			$("#filterform").submit();
		} else {
			$("#errormsg_timelimit").html('Bitte die Eingabe pr&uuml;fen.');
			return false;
		}

		
		/*
		disablePopup();*/
		return false;
	});
	
	$("input:radio[name=trendval]").click(function() {
		$("input[name=date_start]").val('');
		$("input[name=date_end]").val('');
	});
	$("input[name=date_start]").focus(function() {
		$("input:radio[name=trendval]").each(function() {
			$(this).attr('checked', false);
		});
	});
	$("input[name=date_end]").focus(function() {
		$("input:radio[name=trendval]").each(function() {
			$(this).attr('checked', false);
		});
	});
		
});

function checkDateFormat(date)
{
  	var reg = /^([0-9]{2})+\.([0-9]{2})+\.([0-9]{4})$/;
  	if(!reg.test(date)) return false;
	return true;
}

function checkDifferenceBetweenDates(startdate, enddate)
{
	var startdateArr = startdate.split('.');
	var enddateArr = enddate.split('.');
	
	var startdateObj = new Date(parseInt(startdateArr[2]), parseInt(startdateArr[1]) - 1, parseInt(startdateArr[0]));
	var enddateObj = new Date(parseInt(enddateArr[2]), parseInt(enddateArr[1]) - 1, parseInt(enddateArr[0]));
	
	if(startdateObj.getTime() >= enddateObj.getTime()) return false;
	return true;	
}
