
/*
function checkForNews() {		
	var action = "checkForNews()";
	window.setTimeout(action, 30000);	
	$.get("/news.php",{} , function(data){		
		if(data != null) {
			if(data.msg != "") {
				jQuery.each(data, function() {
					var msgnr = this.msgnr;
					if(!document.getElementById("growl_"+msgnr)) {	
						$.jGrowl(this.msg+"<div id=\"growl_"+msgnr+"\"></div>", {
							life: 10000,
							close: function() {
								$.get("/news.php?setread="+msgnr);
								//alert('Close: '+msgnr);
						    }
						});
					}
				});
			}	
		}
	}, "json");
}
*/

function datepick(id, date, yearmin, yearmax) {
	
	$('#'+id).datepicker({ 
		//dateFormat: 'yy-mm-dd',
		dateFormat: 'dd.mm.yy',
		changeYear: true, 
		changeMonth: true,
		yearRange: yearmin+':'+yearmax,
		firstDay: 1,
		monthNamesShort: ['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'],
		monthNames: ['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'],
		defaultDate: date });
	$('#'+id).datepicker('show');

}

jQuery.fn.center = function () {
    this.css("position","absolute");
    this.css("top", ( $(window).height() - this.height() ) / 2+$(window).scrollTop() + "px");
    this.css("left", ( $(window).width() - this.width() ) / 2+$(window).scrollLeft() + "px");
    return this;
}

function activateLinker(target) {	
	jcrop_api = $.Jcrop('#'+target);
	jcrop_api.setSelect([0,0,80,80]);
	//jcrop_api.setOptions({ aspectRatio: 4/3 });
	jcrop_api.setOptions({
		minSize: [ 80, 80 ],
		maxSize: [ 150, 150 ],
		onSelect: updateCoords,
        onChange: updateCoords
	});	
	function updateCoords(c)	{
		$('#xkoord').val(c.x);
		$('#ykoord').val(c.y);
		$('#width').val(c.w);
		$('#height').val(c.h);
	};
}


//mit einem container+formular verschiedene aktionen durchführen und das ergebnis validieren (submitmail...)
function postAjax(formname, action) {
	//form auslesen
	fields = $(document.forms[formname]).serializeArray();
	
	//divcontainer suchen 
	containername = 'ajaxdialogs';
	jQuery.each(fields, function(i, val) {
		if(val['name'] == 'container')
			containername = val['value'];
	});	
	container = $('#'+containername).get()[0];	

	//action anhängen
	if(!action)
		action = formname;
	fields[fields.length] = {'name':'action','value':action};
	
	$.post("/ajax.php?", fields,  function(data){
		document.forms[formname].form_id.value = data.form_id;
		if(data.execjs != "") {
			eval(data.execjs);
		}
		if(data.success != true) {
			$('#'+containername+'_msg').html('<h3>Fehler</h3>'+data.msg);
			$('#'+containername+'_msg').removeClass("greenboxsolid3px");
			$('#'+containername+'_msg').addClass("redboxsolid3px");
			$('#'+containername+'_msg').css({'display':''});			
			jQuery.each(document.forms[formname], function() {
				if(this.type == "checkbox") {
					if(document.getElementById(this.name+'_label'))
						document.getElementById(this.name+'_label').style.backgroundColor='';
				} else if(this.style) {
					this.style.backgroundColor='';
				} else {
					jQuery.each(this, function() {	
						this.style.backgroundColor='';
					});
				}
			});			
			jQuery.each(data.errorfields, function() {				
				if(document.forms[formname][this]) {
					if(document.forms[formname][this].type == "checkbox") {
						if(document.getElementById(this+'_label'))	
							document.getElementById(this+'_label').style.backgroundColor='#BB3333';
					} else if(document.forms[formname][this].style) {
						document.forms[formname][this].style.backgroundColor='#BB3333';
					} else {
						jQuery.each(document.forms[formname][this], function() {	
							this.style.backgroundColor='#BB3333';
						});
					}
				}
		    });
		} else {
			if(data.dialog == true) {
				$('#ajaxdialogs').html(data.msg + '<br /><br /><iframe src="'+contentad+'" class="contentad" name="contentad"></iframe>');
				$("#ajaxdialogs").dialog('open');
				if(data.dialogtitle)
					$("#ajaxdialogs").dialog("option", "title", data.dialogtitle );
			} else {
				if(data.msg == "") {
					$('#'+containername+'_msg').css({'display':'none'});
				} else {
					$('#'+containername+'_msg').html('<h3>Information</h3>'+data.msg);
					$('#'+containername+'_msg').removeClass("redboxsolid3px");
					$('#'+containername+'_msg').addClass("greenboxsolid3px");
					$('#'+containername+'_msg').css({'display':''});
					$('#'+containername+'_msg').html("<a style='float:right;' onclick='document.getElementById(\""+containername+"_msg\").style.display=\"none\";'>Ausblenden</a>" + data.msg);
					window.setTimeout(function() { $('#'+containername+'_msg').css({'display':'none'}); }, 10000);
				}
			}	
		}
	}, "json");
}

//mit einem formular-post über ajax einen container befüllen (paginierung...)
function getAjaxWithForm(formname, action) {
	//form auslesen
	var fields = $(document.forms[formname]).serializeArray();
	//divcontainer suchen	
	jQuery.each(fields, function(i, val) {
		if(val['name'] == 'container')
			containername = val['value'];
	});
	//action anhängen
	if(!action)
		action = formname;
	fields[fields.length] = {'name':'action','value':action};
	var container = $('#'+containername).get()[0];		
	$(container).hide("slow");
	$(container).load("/ajax.php", fields,function(data){
		$(container).show("slow");
		$('#'+containername+' textarea').markItUp(mySettings);
	});
}

//mit get eine aktion durchführen und das ergebnis validieren (delmail...)
function getAjax(containername, query) {	
	var container = $('#'+containername).get()[0];
	query += "&container="+containername;
	$.get("/ajax.php?"+query,{} , function(data){
		if(data.execjs != "") {
			eval(data.execjs);
		}
		if(data.success != true) {			
			$('#'+containername+'_msg').html('<h3>Fehler</h3>'+data.msg);
			$('#'+containername+'_msg').removeClass("greenboxsolid3px");
			$('#'+containername+'_msg').addClass("redboxsolid3px");
			$('#'+containername+'_msg').css({'display':''});
			jQuery.each(data.errorfields, function() {				
				if(document.forms[formname][this].style) {
					document.forms[formname][this].style.backgroundColor='#BB3333';
				} else {
					jQuery.each(document.forms[formname][this], function() {	
						this.style.backgroundColor='#BB3333';
					});
				}
		    });
		} else {
			if(data.dialog == true) {
				$('#ajaxdialogs').html(data.msg + '<br /><br /><iframe src="'+contentad+'" class="contentad" name="contentad"></iframe>');
				$("#ajaxdialogs").dialog('open');
				if(data.dialogtitle)
					$("#ajaxdialogs").dialog("option", "title", data.dialogtitle );
			} else {
				if(data.msg == "") {
					$('#'+containername+'_msg').css({'display':'none'});
				} else {
					$('#'+containername+'_msg').html('<h3>Information</h3>'+data.msg);
					$('#'+containername+'_msg').removeClass("redboxsolid3px");
					$('#'+containername+'_msg').addClass("greenboxsolid3px");
					$('#'+containername+'_msg').css({'display':''});
					$('#'+containername+'_msg').html("<a style='float:right;' onclick='document.getElementById(\""+containername+"_msg\").style.display=\"none\";'>Ausblenden</a>" + data.msg);
					window.setTimeout(function() { $('#'+containername+'_msg').css({'display':'none'}); }, 10000);
				}
			}		
		}
	}, "json");
}

//mit get eine aktion durchführen und container mit html befüllen (openmailform...)
function getAjaxHTML(containername, query) {	
	var container = $('#'+containername).get()[0];
	query += "&container="+containername;
	query += "&pageurl="+document.location.href;
	$(container).hide("slow");
	$(container).load("/ajax.php", query,function(data){
		$(container).show("slow");
		$('#'+containername+' textarea').markItUp(mySettings);
	});
}

//mit get eine aktion durchführen und ergebnis in einem dialog anzeigen (openmailform...)
function showAjaxDialog(query, title) {
	$.get("/ajax.php?"+query,  function(data){
		$("#ajaxdialogs").html(data);
		if(title)
			$("#ajaxdialogs").dialog("option", "title", title );
		$("#ajaxdialogs").dialog('open');	
		$('#ajaxdialogs textarea').markItUp(mySettings);
	}, "json");
}

//nachricht in dialog ausgeben
function showDialog(msg) {
	$("#ajaxdialogs").html(msg);
	$("#ajaxdialogs").dialog('open');	
	$('#ajaxdialogs textarea').markItUp(mySettings);
}


function checkAll(formular) {	 
	for (var i = 0; i < formular.elements.length; i++) {	 
		formular.elements[i].checked = true;	 
	}	 
}

function uncheckAll(formular) {	 
	for (var i = 0; i < formular.elements.length; i++) {	 
		formular.elements[i].checked = false;	 
	}	 
}

function addFotoUploader(oldfotocount) {
	if(fotocount >= 9) {
		alert("Mehr als 9 Bilder kannst Du nicht auf einmal hochladen.");
		return;
	}
	if(document.getElementById('datei1') && !document.getElementById('datei2')) 
		fotocount+=1;	
	var fieldcontent = "<div class=\"infobox-main-item\" style=\"margin-top:10px;\" id=\"datei"+(fotocount+1)+"\">\n";
	fieldcontent += "<div style=\"width:250px;float:left;\">\n";
	fieldcontent += "	<label style=\"width:50px;\" for=\"foto"+(fotocount+1)+"\">Foto "+(fotocount+1)+"</label>\n";
	fieldcontent += "	<input type='file' name='foto"+(fotocount+1)+"' size='6' />\n";
	fieldcontent += "</div>\n";
	fieldcontent += "<div style=\"width:250px;float:left;\">\n";
	fieldcontent += "	<label style=\"width:50px;\" for=\"position"+(fotocount+1)+"\">Position</label>\n";
	fieldcontent += "	<select style=\"width:40px;\" name=\"position"+(fotocount+1)+"\">";
	for(i=1;i<=(fotocount + 1 + oldfotocount);i++) {
		fieldcontent += "		<option value=\""+i+"\"";
		if(i == fotocount + 1 + oldfotocount)
			fieldcontent += " selected=\"selected\"";
		fieldcontent += ">"+i+"</option>\n";
	}
	fieldcontent += "	</select>\n";
	fieldcontent += "</div>\n";
	fieldcontent += "<div style=\"margin-top:10px;width:500px;float:left;\">\n";
	fieldcontent += "	<label style=\"width:100px;\" for=\"text"+(fotocount+1)+"\">Beschreibung</label><br />\n";
	fieldcontent += "	<textarea cols=\"45\" rows=\"5\" id=\"text"+(fotocount+1)+"\" name=\"text"+(fotocount+1)+"\"></textarea>\n";
	fieldcontent += "</div>\n";
	fieldcontent += "<div class=\"clearboth\"></div>\n\n";
	fotocount++;
	newDiv = document.createElement("div");	
	document.getElementById("fotospacer").appendChild(newDiv);	
	newDiv.innerHTML += fieldcontent;
	$('#text'+(fotocount)).markItUp(mySettings);
}


function checkLocation(field, type) {
	var value = document.getElementById(field).value;	
	var index = value.lastIndexOf(',');
	if(index > 0)
		var chars = value.length - index - 1;
	else
		var chars = value.length;
	if(chars < buddyfoundoldlength)
		document.getElementById(field+'_cont').title = "cont"
	buddyfoundoldlength = value.length;	
	if(chars >= 3) {
		if(document.getElementById(field+'_cont').title == "cont")
			getAjaxHTML(field+'_cont', 'action=quicksearch&type='+type+'&keyword='+escape(value)+'&field='+field)
	}
}
function insertVoteField(form) {
	$('div.controls',form).html(
		['<input type="radio" class="star" name="dynamic-control" value="1"/>',
			'<input type="radio" class="star" name="dynamic-control" value="2"/>',
			'<input type="radio" class="star" name="dynamic-control" value="3"/>',
			'<input type="radio" class="star" name="dynamic-control" value="4"/>',
			'<input type="radio" class="star" name="dynamic-control" value="5"/>'
		].join('')
	);
	$('input[type=radio]',form).rating();
}

function setEventDates(event, promokat) {
	
	if(document.getElementById('type').value != promokat) {
		return 0;
	}
	
	$.get("/ajax.php?action=port_eventdates&event="+event,{} , function(data){
		for(i=0;i<document.getElementById('regionen').length;i++) {
			if(document.getElementById('regionen').options[i].value == data.region) {
				document.getElementById('regionen').options[i].selected = true;			
			} else {
				document.getElementById('regionen').options[i].selected = false;
			}
		}
		
		$("#date_to").datepicker( "option", "minDate", new Date(data.date_to_min_year, data.date_to_min_month, data.date_to_min_day) ); 
		$("#date_to").datepicker( "option", "maxDate", new Date(data.date_to_max_year, data.date_to_max_month, data.date_to_max_day) ); 
		
		$("#date_from").datepicker( "option", "minDate", new Date(data.date_from_min_year, data.date_from_min_month, data.date_from_min_day) ); 
		$("#date_from").datepicker( "option", "maxDate", new Date(data.date_from_max_year, data.date_from_max_month, data.date_from_max_day) ); 
				
		$("#date_to").datepicker( "option", "selectDefaultDate", true );		
		
		$("#date_to").datepicker( "option", "defaultDate", data.date_to );		
		$("#date_from").datepicker( "option", "defaultDate", data.date_from );
		
		document.getElementById('date_from').value = data.date_from;
		document.getElementById('date_to').value = data.date_to;
		
		calcPrice();
	}, "json");
}




function datepick2(id, date, yearmin, yearmax) {

	$(function() {
		$("#"+id).datepicker({
			dateFormat: 'dd.mm.yy',
			changeYear: true, 
			changeMonth: true,
			yearRange: yearmin+':'+yearmax,
			firstDay: 1,
			monthNamesShort: ['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'],
			monthNames: ['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'],
			defaultDate: date 
		});		
	});
}

function calcPrice() {
	var price = 0;
	var type = $("#type").val();
	var count = 1;
	
	if (type == 1) {
		price = 5.90;
	} else if (type == 2) {
		price = 14.90;
	} else if (type == 3) {
		price = 39.90;
		region = $("#regionen").val() || [];
		count = region.length;
		
		date_from = $("#date_from").val().split(".");
		date_to = $("#date_to").val().split(".");
		days = daysBetween(new Date(date_from[2], date_from[1], date_from[0]), new Date(date_to[2], date_to[1], date_to[0]));
		twoweeks =  Math.ceil(days / 14);
		
		price = count * twoweeks * price;
	}
	if ( !isNaN( parseFloat(price.toFixed(2)) ) ) {
		$("#price").text(price.toFixed(2));
	}
}

function daysBetween(date1, date2) {
    // The number of milliseconds in one day
    var ONE_DAY = 1000 * 60 * 60 * 24

    // Convert both dates to milliseconds
    var date1_ms = date1.getTime()
    var date2_ms = date2.getTime()

    // Calculate the difference in milliseconds
    var difference_ms = Math.abs(date1_ms - date2_ms)
    
    // Convert back to days and return
    return Math.round(difference_ms/ONE_DAY)
}
