$(document).ready(function(){
	
	
	function updatePreview() {
		
		previewText = $('#row_1_field').val() + '<br>';
		previewText += $('#row_2_field').val() + '<br>';
		previewText += $('#row_3_field').val();
		
		previewText = previewText.replace(/ /g,'&nbsp;');

		$('#stramplerpreview').html(previewText);
		fcolor = $("#colorfield option:selected").attr('fcolor');
		bcolor = $("#colorfield option:selected").attr('bcolor');
		$('#stramplerpreview').css('color','#'+fcolor);
		$('#stramplerpreview').css('background-color','#'+bcolor);		
	}
	
	function checkInput(fieldId, allowedChars) {
		error = '';
		$('#'+fieldId).css('border','1px solid #ccc');
		val = $('#'+fieldId).val();
		for( i = 0; i < val.length ; i++) {
			if ( allowedChars.indexOf ( val.charAt(i)) < 0 ) {
				error += '1';
				$('#'+fieldId).css('border','2px solid #900');
			}
		}
		return error;
	}
	
	function getSaying() {
		saying = $('#sayingfield').val();
		rows = saying.split('|');
		$('#row_1_field').val(rows[0]);
		$('#row_2_field').val(rows[1]);
		$('#row_3_field').val(rows[2]);
		
		updatePreview();
	}
	
	updatePreview();
	
	$('#sayingfield').change(function(){ getSaying(); });
	$('#colorfield').change(function(){ updatePreview(); });
	$('#row_1_field').keyup(function(){ updatePreview('row_1_field','special'); });
	$('#row_2_field').keyup(function(){ updatePreview('row_2_field','special'); });
	$('#row_3_field').keyup(function(){ updatePreview('row_3_field','special'); });
	
	
	$("form").submit(function(){
		//special		= "ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ\nabcdefghijklmnopqurstuvwxyzöäüßáàíìúùóòéèý-.,!?:;/&@+*#´ ";
		special		= "AĄBCĆDEĘFGHIJKLŁMNŃOÓPQRSŚTUVWXYZŹŻÄÖÜ\naäáàąbcćdeéèęfghiíìjklłmnńoöóòpqursßśtuüúùvwxyýzźż-.,!?:;/&@+*#´ ";
		numbers		= "1234567890";
		special_and_numbers = specia + numbers;
		
		error = '';
		error += checkInput('row_1_field', special_and_numbers);
		error += checkInput('row_2_field', special_and_numbers);
		error += checkInput('row_3_field', special_and_numbers);
		
		if (error != '') {
			$('#errormsg').html('Bitte überprüfen Sie Ihre Eingaben.');
			return false;
		}
		
	});
	
});
