var timer = 0;

$().ready(function(){

	$("#zoomPicContainer").mouseout(function() {
		timer = window.setInterval("hidePic()", 100);
	});

	$("#zoomPicContainer").mouseover(function(){
		window.clearInterval(timer);
	});

	$("#cbselectall").click(function(){
		addItem("xxx");
	});

	//$("#ImagebankResult").css("position", "static !important");
});

function setChecked(items)
{
	if (items)
	{
		for (var i=0; i<items.length; i++)
		{
			var index = items[i].image + "-" + items[i].id_milieu + "-" + items[i].type;
            
			$("#item" + index.replace(/\./g, "\\.")).addClass("selected");
		}
	}

}

function updateItems(items)
{
	if (items)
	{
		$("#countItems").html(items.length);

		$("#Basket").html("");
		var c = "";

		for (var i=0; i<items.length; i++)
		{
			i % 2 == 0 ? c = "odd" : c = "even";

			var desc = items[i].image;
			var id = items[i].image + "-" + items[i].id_milieu + "-" + items[i].type;
			var thumb = items[i].image_thumb;

			var el = $.create(
				"div", {"id": "remove"+id, "class": "item " + c},
				[
					"div", {"class": "thumb"}, ["img", {"src": thumb, "alt": ""}, []],
					"div", {"class": "filename"}, ["p", {}, [desc]],
					"div", {"class": "delete"}, ["a", {"href": "javascript:removeItem('"+id+"')"}, ["img", {"src": "/page/img/imagebank/delete.png", "alt": ""}, []]]
				]
			);
            
			$("#Basket").append(el);
		}

		$("#itemList").css("display", "block");
	}

	else
	{
		$("#countItems").html(0);
		$("#Basket").html("");

		$("#itemList").css("display", "none");
	}
}

function removeItem(id)
{
	$.post("./response/remove.php", {"id_item":id}, function(items)
	{
		items = eval(items);

		if (id == "xxx") {
			$("div[id^='item']").removeClass("selected");
		}
		else {
			$("#item" + id.replace(/\./g, "\\.")).removeClass("selected");
		}

		updateItems(items);
	});
}


function addItem(id)
{
	$.post("./response/add.php", {"id_item":id}, function(items)
	{
		items = eval(items);
		updateItems(items);

		if (id == "xxx") {
			$("#cbselectall").removeClass("Checkbox_checked");
			setChecked(items);
		}
	});
    
	$("#item" + id.replace(/\./g, "\\.")).addClass("selected");
	//hidePic();
}

function showInfo(id, col, row, last, image, name, date)
{
	hidePic();
	
	
	$("#ImagebankResult").addClass("rel");

	var x = 0;
	var y = 0;
	var m = 575;	// Gesamtbreite
	var b = 2;		// Border
	var p = 9;		// Padding
	var w = 129;	// Breite
	var h = 129;	// Höhe

	h = h + p + b - 1;

	switch (col) {
		case(1): x = 0;   y = row*h-h + row*p-p; break;
		case(2): x = 116; y = row*h-h + row*p-p; break;
		case(3): x = 266; y = row*h-h + row*p-p; break;
		case(4): x = 383; y = row*h-h + row*p-p; break;
	}


	
	if (row > 1 && !last) {
		y = y - ($("#zoomPicContainer").height()-h)/2;
	}
	
	if ("dxf" != image) {
		$("#zoomPic").html('<img src="' + image + '" alt="" />');
	}
	
	if ("dxf" == image) {
		$('#infoLayer').css('margin-top', '-65px');
		$('#zoomPic').attr('height', '1');
		$('#zoomPicContainer').css('height', '140px')
	}
	else {
		$('#infoLayer').css('margin-top', '0px');
		$('#zoomPic').attr('height', '182');
		$('#zoomPicContainer').css('height', '240px')
	}

	$("#namePic").html(name);
	$("#date").html(date);
	$("#link").attr("href", "javascript:addItem('" + id + "')");

	$("#zoomPicContainer").css("left", x);
	$("#zoomPicContainer").css("top", y);

	$("#zoomPicContainer").css("display", "block");

	if (last) {
		y = y - ($("#zoomPicContainer").height() - h) - p - b + 1;
		$("#zoomPicContainer").css("top", y)
	}
}

function hidePic()
{
	$("#ImagebankResult").removeClass("rel");

	$("#zoomPicContainer").hide();
	$("#zoomPic").html('&nbsp');
	window.clearInterval(timer);
}

function xDate()
{
	var minYear = 1900;
	var maxYear = 9999;

	this.daysInFebruary = function(year) {
		return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
	}

	this.toTimestamp = function(year, month, day)
	{
		month -= 1;

		if (month < 1) {
			month = 12;
			year -= 1;
		}

		var date = new Date(year, month, day);
		var time = parseInt(date.getTime() / 1000);

		return time;
	}

	this.daysArray = function(n)
	{
		for (var i = 1; i <= n; i++)
		{
			this[i] = 31;

			if (i==4 || i==6 || i==9 || i==11) {
				this[i] = 30;
			}

			if (i==2) {
				this[i] = 29;
			}
	   }

	   return this;
	}

	/**
	 * @param date1 = YYYY-MM-DD
	 * @param date2 = YYYY-MM-DD
	 */
	this.isGreater = function(date1, date2)
	{
		// Start- und Enddatum prüfen
		if (date1.match(/\d{4}-\d{1,2}-\d{1,2}/) && date2.match(/\d{4}-\d{1,2}-\d{1,2}/))
		{
			var split1 = date1.split("-");
			var split2 = date2.split("-");

			var testDate1 = new Date(split1[0], split1[1], split1[2]);
			var testDate2 = new Date(split2[0], split2[1], split2[2]);

			if (parseInt(testDate1.getTime()/1000) <= parseInt(testDate2.getTime()/1000)) {
				return true;
			}
		}

		return false;
	}

	this.isDate = function(date)
	{
		if (date.length != 10 && date.length != 19) {
			return false;
		}

		if (date.match(/(\d{2})\.(\d{2})\.(\d{4})/))
		{
			var year  = date.substring(10,6);
			var month = date.substring(5,3);
			var day   = date.substring(0,2);
		}

		if (date.match(/(\d{4})-(\d{2})-(\d{2})/))
		{
			var year  = date.substring(0,4);
			var month = date.substring(5,7);
			var day   = date.substring(10,8);
		}

		if (year == "0000" && month == "00" && day == "00") {
			return true;
		}

		if (!year || !month || !day) {
			return false;
		}

		var daysInMonth = this.daysArray(12);

		if (month.length<1 || month<1 || month>12){
			return false;
		}

		if (day.length<1 || day<1 || day>31 || (month==2 && day>this.daysInFebruary(year)) || day > daysInMonth[month]) {
			return false;
		}

		if (year.length != 4 || year == 0 || year<minYear || year>maxYear){
			return false;
		}

		return true;
	}
}


function checkImagebankForm(check)
{
	var hasError = false;
	var d = new xDate();

	if (typeof check == "object")
	{
		if (check.length == 0) {
			hasError = true;
		}
		else
		{
			for (var i=0; i<check.length; i++)
			{
				if ($("#"+check[i]).val() == "")
				{
					$("#"+check[i]).addClass("formError");
					hasError = true;
				}
				else if (check[i].match(/email/) && !checkEmail($("#"+check[i]).val())) {
					$("#"+check[i]).addClass("formError");
					hasError = true;
				}
				else if (check[i].match(/homepage/) && !checkURL($("#"+check[i]).val())) {
					$("#"+check[i]).addClass("formError");
					hasError = true;
				}
				else if (check[i].match(/date/) && d.isDate($("#"+check[i]).val()) === false) {
					$("#"+check[i]).addClass("formError");
					hasError = true;
				}
				else {
					$("#"+check[i]).removeClass("formError");
				}
			}
		}
	}
	else {
		hasError = true;
	}

	return !hasError;
}


function checkURL(s)
{
	if (s.match("^((ht|f)tp(s?)\\:\\/\\/|~/|/)?([\\w]+:\\w+@)?([a-zA-Z]{1}([\\w\\-]+\\.)+([\\w]{2,5}))(:[\\d]{1,5})?((/?\\w+/)+|/?)(\\w+\\.[\\w]{3,4})?((\\?\\w+=\\w+)?(&\\w+=\\w+)*)?")) {
		return true;
	}

	return false;
}


function checkEmail(s)
{
	var match = new RegExp("^([a-zA-Z0-9\\-\\.\\_]+)(\\@)([a-zA-Z0-9\\-\\.]+)(\\.)([a-zA-Z]{2,4})$");
	var result = (match.test(s));

	return(result);
}

