$(document).ready(function() {
	$("#mystar_use_mywatch").click(function(){
		toggleMyWatch();
	});
	$("#mystar_use_mypoi").click(function(){
		toggleMyPoi();
	});
	$("#mystar_use_mypoi_license").click(function(){
		toggleMyPoiLicense();
	});
	$("#mystar_use_mynote").click(function(){
		toggleMyNote();
	});
	$(".mystar_logout_button").click(function(){
		eraseCookie('MYSTAR');
		$('#mystar_logoutform').submit();
	});
	$(".mystar_save_button").click(function(){
		saveSettings();
	});
	$(".mystar_delete_button").click(function(){
		deleteAccount();
	});
	$(".fuelSelect").change(function(){
		var newfid = $(this).val();
		var myid = $(this).attr("id");
		var info = myid.substr(4);
		var tsnr = info.split('.')[0];
		var oldfid = (info.split('.')[1]) ? info.split('.')[1] : 1;
		changeFuelType(tsnr,newfid,oldfid);
	});

	// validate signup form on keyup and submit
	var validator1 = $("#mystar_registerform").validate({
	rules: {
	mystar_registerform_name: {
		required: true,
		minlength: 4
	},
	mystar_registerform_email: {
		required: true,
		email: true
	},
	mystar_registerform_pwd: {
		required: true,
		password: "#mystar_registerform_name"
	},
	mystar_registerform_pwd2: {
		required: true,
		equalTo: "#mystar_registerform_pwd"
	}
	},
	messages: {
		mystar_registerform_name: {
		required: "Bitte geben Sie einen Benutzernamen ein",
		minlength: jQuery.format("Geben Sie mindestens {0} Zeichen ein")
	},
	mystar_registerform_email: {
		required: "Bitte geben Sie eine gültige eMail-Adresse an"
	},
	mystar_registerform_pwd: {
		required: "Bitte geben Sie ein Kennwort ein",
		minlength: jQuery.format("Geben Sie mindestens {0} Zeichen ein")
	},
	mystar_registerform_pwd2: {
		required: "Wiederholen Sie Ihr Kennwort",
		minlength: jQuery.format("Geben Sie mindestens {0} Zeichen ein"),
		equalTo: "Geben Sie das gleiche Kennwort wie zuvor ein"
	}
	},
	// the errorPlacement has to take the table layout into account
	errorPlacement: function(error, element) {
		//error.prependTo( element.parent().next() );
		error.appendTo( element.parent() );
	},
	// specifying a submitHandler prevents the default submit, good for the demo
	submitHandler: function(form) {
		form.submit();
	},
	// set this class to error-labels to indicate valid fields
	success: function(label) {
		// set &nbsp; as text for IE
		//label.html("&nbsp;").addClass("checked");
	}
	});

	// validate signup form on keyup and submit
	var validator2 = $("#mystar_passwordform").validate({
	rules: {
	mystar_registerform_pwd: {
		required: true,
		password: "#mystar_registerform_name"
	},
	mystar_registerform_pwd2: {
		required: true,
		equalTo: "#mystar_registerform_pwd"
	}
	},
	messages: {
	mystar_registerform_pwd: {
		required: "Bitte geben Sie ein Kennwort ein",
		minlength: jQuery.format("Geben Sie mindestens {0} Zeichen ein")
	},
	mystar_registerform_pwd2: {
		required: "Wiederholen Sie Ihr Kennwort",
		minlength: jQuery.format("Geben Sie mindestens {0} Zeichen ein"),
		equalTo: "Geben Sie das gleiche Kennwort wie zuvor ein"
	}
	},
	// the errorPlacement has to take the table layout into account
	errorPlacement: function(error, element) {
		//error.prependTo( element.parent().next() );
		error.appendTo( element.parent() );
	},
	// specifying a submitHandler prevents the default submit, good for the demo
	submitHandler: function(form) {
		form.submit();
	},
	// set this class to error-labels to indicate valid fields
	success: function(label) {
		// set &nbsp; as text for IE
		//label.html("&nbsp;").addClass("checked");
	}
	});

	// Zustand prüfen
	toggleMyWatch();
	toggleMyPoi();
	toggleMyPoiLicense();
	toggleMyNote();
});
function toggleMyWatch(){
	if($('#mystar_use_mywatch').is(':checked')){
		$("#div_mywatch").show('slow',function(){});
		var numLi = $('#tslistitems').find('li').length;
		if(0 == numLi){
			$.get("/typo3conf/ext/user_asmystar/pi1/getTsListItems.php", function(text){
				$('#tslistitems').html(text);
			});
		}
	} else {
		$("#div_mywatch").hide('slow',function(){});
	}
}
function toggleMyPoi(){
	if($('#mystar_use_mypoi').is(':checked')){
		$("#div_poilist").show('slow',function(){});
	} else {
		$("#div_poilist").hide('slow',function(){});
	}
}
function toggleMyPoiLicense(){
	if($('#mystar_use_mypoi_license').is(':checked')){
		$('#lmystar_use_mypoi_license').removeClass('alertred');
		$("a.poidownload").unbind('click');
		$("a.poidownload").click(function(event){
			var dest = encodeURI(event.currentTarget.href);
			event.preventDefault();
			var uri = "/typo3conf/ext/user_asmystar/pi1/updatePOI.php?dest="+dest;
			setIframeContent(uri);
			// im Interface gewählten Eintrag selektieren
			$(this).parent("td").parent("tr").find(":input").attr('checked', true);
		});
		$("#div_poilist_license").show('slow',function(){});
	} else {
		$("a.poidownload").unbind('click');
		$("a.poidownload").click(function(){
			$('#lmystar_use_mypoi_license').addClass('alertred');
			alert("Sie müssen sich erst mit den unten aufgeführten Lizenzbedingungen einverstanden erklären.");
			return false;
		});
		$("#div_poilist_license").hide('slow',function(){});
	}
}
function toggleMyNote(){
	if($('#mystar_use_mynote').is(':checked')){
		$("#div_mynote").show('slow',function(){});
	} else {
		$("#div_mynote").hide('slow',function(){});
	}
}
function saveSettings(){
	// get status of checkboxes
	var formref = document.getElementById('mystar_saveform');
	formref.hmystar_use_mywatch.value = $('#mystar_use_mywatch').is(':checked');
	formref.hmystar_use_mypoi.value = $('#mystar_use_mypoi').is(':checked');
	formref.hmystar_use_mynote.value = $('#mystar_use_mynote').is(':checked');
	var poiNameSelected = $("input:radio:checked[name='poiselection']").val();
	formref.hmystar_mypoi_name.value = (poiNameSelected) ? poiNameSelected : '';
	var sel = '#fd_'+poiNameSelected;
	formref.hmystar_mypoi_date.value = (poiNameSelected) ? $(sel).text() :'';
	formref.hmynote_text.value = $('#mynote_text').val();
	formref.submit();
}
function deleteAccount(){
	var res = confirm("Möchten Sie Ihr mystar Konto wirklich löschen?");
	if (res == false) return;
	var formref = document.getElementById('mystar_saveform');
	formref.modus.value = 'delete';
	formref.submit();
}
function addTs(tsnr){
	if(parseInt(tsnr) > 0){
		var defaultFuelType = 1;
		var formref = document.getElementById('mystar_saveform');
		var item = tsnr + ',' + defaultFuelType;
		formref.myts.value = (formref.myts.value) ? formref.myts.value+'|'+item : item;
		refreshTs();
	}
}
function removeTS(tsnr,fid){
	if(parseInt(tsnr) > 0 && parseInt(fid) > 0){
		var formref = document.getElementById('mystar_saveform');
		var newTS =  new Array();
		var removed = false;
		var arrTS = formref.myts.value.split('|');
		if(arrTS.length > 0){
			var test = tsnr+','+fid;
			for(var i=0; i<arrTS.length; i++){
				if(arrTS[i] != test || removed){
					newTS.push(arrTS[i]);
				} else {
					removed = true;
				}
			}
		}
		formref.myts.value = newTS.join('|');
		refreshTs();
	}
}
function changeFuelType(tsnr,newfid,oldfid){
	if(parseInt(tsnr) > 0 && parseInt(newfid) && parseInt(oldfid)){
		var formref = document.getElementById('mystar_saveform');
		var newTS =  new Array();
		var replaced = false;
		var arrTS = formref.myts.value.split('|');
		if(arrTS.length > 0){
			for(var i=0; i<arrTS.length; i++){
				var item = arrTS[i];
				var test = tsnr+','+oldfid;
				if(item == test && !replaced){
					newTS.push(tsnr+','+newfid);
					replaced = true;
				} else {
					newTS.push(item);
				}
			}
		}
		formref.myts.value = newTS.join('|');
		refreshTs();
	}
}
function refreshTs(){
	var formref = document.getElementById('mystar_saveform');
	formref.myts.value = (formref.myts.value) ? formref.myts.value : '';
	var arr = formref.myts.value.split('|');
	formref.myts.value = (arr.length > 3) ? arr.slice(arr.length-3).join('|') : arr.join('|');
	var myParam = '?myts='+formref.myts.value;
	$.get("/typo3conf/ext/user_asmystar/pi1/getMyWatchItems.php"+myParam, function(text){
		$('#mystar_tslistfavs').html(text);
		$(".fuelSelect").change(function(){
			var newfid = $(this).val();
			var myid = $(this).attr("id");
			var info = myid.substr(4);
			var tsnr = info.split('.')[0];
			var oldfid = (info.split('.')[1]) ? info.split('.')[1] : 1;
			changeFuelType(tsnr,newfid,oldfid);
		});
	});
}
function setIframeContent(url){
	var myIframeName = 'myIframe';
	var iframe = document.getElementById(myIframeName);
	if(!iframe){
		iframe = createIframe(myIframeName, url, 0, 0, true);
	}
	if (iframe) {
		var iframeDoc;
		if (iframe.contentDocument) {
			iframeDoc = iframe.contentDocument;
		}
		else if (iframe.contentWindow) {
			iframeDoc = iframe.contentWindow.document;
		}
		else if (window.frames[iframe.name]) {
			iframeDoc = window.frames[iframe.name].document;
		}
		if (iframeDoc) {
//			iframeDoc.open();
//			iframeDoc.write(
//			'<html><body><p>lore ipsum.<\/p><\/body><\/html>');
//			iframeDoc.close();
			iframeDoc.location.href = url;
		}
	}
}
function createIframe(iframeName, url, width, height, hidden) {
	var iframe;
	if (document.createElement && (iframe =
		document.createElement('iframe'))) {
		iframe.name = iframe.id = iframeName;
		iframe.width = width;
		iframe.height = height;
		iframe.src = (url) ? url : 'about:blank';
		document.body.appendChild(iframe);
	}
	return iframe;
}
