jQuery("document").ready(function($){

	String.prototype.startsWith = function(str){ 
    		return (this.indexOf(str) === 0); 
	} 
	
	function buildCustomCloudItem (target, cloudTitle, itemClass, itemTitle, itemHref, itemText) {
		if ( $(target).find("ul#" + cloudTitle).length == 0 ) {
			if (cloudTitle) {
				$(target).append("<h3>" + cloudTitle + "</h3><ul id='" + cloudTitle + "' class='cloud'></ul>");
			} else {
				$(target).append("<ul id='undefined' class='cloud'></ul>");
			}
		}
		if (cloudTitle) {
			$(target).find("ul#" + cloudTitle).append("<li class='" + itemClass + "'><a title='" + itemTitle + "' href='" + itemHref + "'>" + itemText + "</a></li>");
		} else {
			$(target).find("ul#undefined").append("<li class='" + itemClass + "'><a title='" + itemTitle + "' href='" + itemHref + "'>" + itemText + "</a></li>");
		}
	}

	function manipulateCloudHtmlOutput () {
		var siteTitle = null, cloudWrappers = null, clouds = null, cloudItems = null, regionCloud = null, cloudItemParameters;
		
		siteTitle	= $(".ce_headline").text();

		cloudWrappers	= $(".mod_tagcloud");
		$.each(cloudWrappers, function(cloudWrapperIndex,cloudWrapper) {
			clouds 		= $(cloudWrapper).find("ul.cloud");
			$.each(clouds, function(cloudIndex,cloud) {
				cloudItems	= $(cloud).hide().find("li");
	
				if (cloudItems && typeof(cloudItems) == "object" && cloudItems.length > 0) {
					$(cloudWrapper).children().hide();

					$.each(cloudItems, function(cloudItemIndex,cloudItem) {
						try {
							cloudItemParameters 			= new Array();
							cloudItemParameters["class"] 		= $(cloudItem).attr("class") ? $(cloudItem).attr("class") : null ;
							if ($(cloudItem).find("a").attr("title").indexOf("_") !== -1) {
								cloudItemParameters["cloudTitle"]	= $(cloudItem).find("a").attr("title").split("_")[0];
								cloudItemParameters["itemTitle"]	= $(cloudItem).find("a").attr("title").split("_")[1];
							} else {
								cloudItemParameters["cloudTitle"]	= null;
								cloudItemParameters["itemTitle"]	= $(cloudItem).find("a").attr("title") ? $(cloudItem).find("a").attr("title") : null ;
							}
							cloudItemParameters["href"] 		= $(cloudItem).find("a").attr("href") ? $(cloudItem).find("a").attr("href") : null ;
							if ($(cloudItem).find("a").html().indexOf("_") !== -1) {
								cloudItemParameters["text"] 		= $(cloudItem).find("a").html().split("_")[1];
							} else {
								cloudItemParameters["text"] 		= $(cloudItem).find("a").html() ? $(cloudItem).find("a").html() : null ;
							}
						} catch (expression) {
							cloudItemParameters 			= null;
						}
						if ($(cloudWrapper).hasClass("cloudWithoutPrefix")) {
							if (cloudItemParameters && cloudItemParameters["itemTitle"]) {
								if (cloudItemParameters["itemTitle"].startsWith("Schlagwort ohne Präfix")) {
									buildCustomCloudItem(cloudWrapper, null, cloudItemParameters["class"], cloudItemParameters["itemTitle"], cloudItemParameters["href"], cloudItemParameters["text"]);
								}
							}
						} else {
							if (cloudItemParameters && cloudItemParameters["cloudTitle"] && cloudItemParameters["itemTitle"]) {							
								switch (cloudItemParameters["cloudTitle"]) {
									case "Region":
										switch (siteTitle) {
											case "Praxisgalerie":
												// no Region-Cloud
												break;
											case "Überregionale Projekte, Inititativen und MaßnahmenPraxisbeispiele":
												if (cloudItemParameters["itemTitle"].startsWith("Mecklenburg-Vorpommern")) {					
													buildCustomCloudItem(cloudWrapper, cloudItemParameters["cloudTitle"], cloudItemParameters["class"], cloudItemParameters["itemTitle"], cloudItemParameters["href"], cloudItemParameters["text"]);								
												}
												break;
											case "Praxisbeispiele in der Region Mecklenburgische Seenplatte":
												if (cloudItemParameters["itemTitle"].startsWith("Mecklenburgische Seenplatte")) {
													buildCustomCloudItem(cloudWrapper, cloudItemParameters["cloudTitle"], cloudItemParameters["class"], cloudItemParameters["itemTitle"], cloudItemParameters["href"], cloudItemParameters["text"]);								
												}
												break;
											case "Praxisbeispiele in der Region Mittleres Mecklenburg":
												if (cloudItemParameters["itemTitle"].startsWith("Mittleres Mecklenburg")) {					
													buildCustomCloudItem(cloudWrapper, cloudItemParameters["cloudTitle"], cloudItemParameters["class"], cloudItemParameters["itemTitle"], cloudItemParameters["href"], cloudItemParameters["text"]);								
												}
												break;
											case "Praxisbeispiele in der Region Vorpommern":
												if (cloudItemParameters["itemTitle"].startsWith("Vorpommern")) {					
													buildCustomCloudItem(cloudWrapper, cloudItemParameters["cloudTitle"], cloudItemParameters["class"], cloudItemParameters["itemTitle"], cloudItemParameters["href"], cloudItemParameters["text"]);								
												}
												break;
											case "Praxisbeispiele in der Region Westmecklenburg":
												if (cloudItemParameters["itemTitle"].startsWith("Westmecklenburg")) {					
													buildCustomCloudItem(cloudWrapper, cloudItemParameters["cloudTitle"], cloudItemParameters["class"], cloudItemParameters["itemTitle"], cloudItemParameters["href"], cloudItemParameters["text"]);								
												}
												break;
											default:
												buildCustomCloudItem(cloudWrapper, cloudItemParameters["cloudTitle"], cloudItemParameters["class"], cloudItemParameters["itemTitle"], cloudItemParameters["href"], cloudItemParameters["text"]);
												break;
										}
										break;	
									default:
										buildCustomCloudItem(cloudWrapper, cloudItemParameters["cloudTitle"], cloudItemParameters["class"], cloudItemParameters["itemTitle"], cloudItemParameters["href"], cloudItemParameters["text"]);
										break;
								}
							}
						}
					});
				}
			});
		});

	}
	manipulateCloudHtmlOutput();

	var lp_site_title = $(".mod_globalArticleList h1").text().split("_");
	if (lp_site_title.length == 2) {
		$(".mod_globalArticleList h1").after("<h2>" + lp_site_title[0] + ": " + lp_site_title[1] + "</h2>").remove();
	}
/*
	$.each(liArray, function(index,li) {
		var liParams = new Array();
		liParams["class"] = $(li).attr("class");
		liParams["title"] = $(li).find("a").attr("title").split("_");
		liParams["href"] = $(li).find("a").attr("href");
		liParams["text"] = $(li).find("a").html().split("_");

		if (siteTitle && liParams["title"][0] == "Region") {
			if (siteTitle == liParams["title"][1]) {
				region_cloud += "<li class='"+liParams["class"]+"'><a title='"+liParams["title"][1]+"' href='"+liParams["href"]+"'>"+liParams["text"][1]+"</a></li>";
			}
		} else {
			if ( $("ul#"+liParams["title"][0]).length == 0) { 
				$(li).parent().before("<h3>"+liParams["title"][0]+"</h3><ul id='"+liParams["title"][0]+"' class='cloud'></ul>");
			}
			$("ul#"+liParams["title"][0]).append("<li class='"+liParams["class"]+"'><a title='"+liParams["title"][1]+"' href='"+liParams["href"]+"'>"+liParams["text"][1]+"</a></li>");
		}

		if (regionCloud) {
			if ( $("ul#Region").length == 0) { 
				$(li).parent().before("<h3>Region</h3><ul id='Region' class='cloud'></ul>");
			}
			$("ul#Region").append(regionCloud);
		}

		switch (siteTitle){
			case "Praxisgalerie":
				break;
			default:

				break;
		}
	});
*/


/*Sortierung Trefferliste*/

	var lis = [];
	var vals = [];
	var result = [];
	$('#tagcloud_landingpage li').each(function(index) {
		lis[index] = $(this);
	});
	$('#tagcloud_landingpage li a').each(function(index) {
		vals[index] = $(this).html();
	});	
	vals.sort();
	var i;
	for (i = 0; i < vals.length; i++) {
		for (var j = 0; j < lis.length; j++) {
			if(vals[i] == $(lis[j]).find('a').html()) {
				result.push($(lis[j]).html());
			}
		}			
	}
	$('#tagcloud_landingpage ul li').each(function(index) {
		$(this).html(result[index]);
	});



	$.datepicker.regional['de'] = {
		clearText: 'l&ouml;schen',
		clearStatus: 'aktuelles Datum l&ouml;schen',
		closeText: 'schlie&szlig;en',
		closeStatus: 'ohne &Auml;nderungen schlie&szlig;en',
		prevText: '&#x3c;zur&uuml;ck',
		prevStatus: 'letzten Monat zeigen',
		nextText: 'Vor&#x3e;',
		nextStatus: 'n&auml;chsten Monat zeigen',
		currentText: 'heute',
		currentStatus: '',
		monthNames: ['Januar','Februar','M&auml;rz','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'],
		monthNamesShort: ['Jan','Feb','M&auml;r','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez'],
		monthStatus: 'anderen Monat anzeigen',
		yearStatus: 'anderes Jahr anzeigen',
		weekHeader: 'Wo',
		weekStatus: 'Woche des Monats',
		dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'],
		dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'],
		dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'],
		dayStatus: 'Setze DD als ersten Wochentag',
		dateStatus: 'W&auml;hle D, M d',
		dateFormat: 'dd.mm.yy',
		firstDay: 1,
		initStatus: 'W&auml;hle ein Datum',
		isRTL: false};
	$.datepicker.setDefaults($.datepicker.regional['de']); 

	$(".datepicker").datepicker({
		showOn: 'button',
		buttonImage: 'tl_files/impulse/images/calendar_2.png',
		buttonImageOnly: true
	});

	$('form').submit(function(){
		$(this).find('.date_ts').each(function(){			
			var date_array = $(this).val().split('.');
			var date = new Date(date_array[2],date_array[1],date_array[0]);
			$(this).val( (date.getTime()/1000).toString() );
		});
		var now = new Date();
		var today = new Date(now.getFullYear(),now.getMonth()+1,now.getDate());
		$(this).append('<input type="text" name="date" value="' + (today.getTime()/1000).toString() + '"/>');
		$(this).append('<input type="text" name="time" value="' + (today.getTime()/1000).toString() + '"/>');
		$(this).append('<input type="text" name="alias" value="' + $(this).find('input[name="headline"]').val().toLowerCase().replace(/ /g, '-') + '-' + $(this).find('input[name="subheadline"]').val().toLowerCase().replace(/ /g, '-') + '-' + $(this).find('input[name="pid"]').val() + '"/>');
		return true;
	});
	
	$(this).find("#js_map area").each( function(index) {
		$(this).attr("id","js_area_"+(index+1));
	});
	var mapposition = $("#imap").css('background-position');
	$("#js_map").css('background-position', mapposition);
	$("#js_map area").hover(
		function(){
			var imgheight = $(this).parents("#js_map").find("img").attr("height");
			var factor = $(this).attr("id").substr(8);
			var position = "0px "+imgheight*factor*-1 + "px";
			$(this).parents("#js_map").css('background-position', position);
		}, function(){
			$(this).parents("#js_map").css('background-position', mapposition);
		}
	);

	$("li:first-child,tr:first-child").addClass("first");
	$("li:even,tr:even").addClass("even");
	$("li:odd,tr:odd").addClass("odd");
	$("li:last-child,tr:last-child").addClass("last"); 
});
	




