$(window).addEvent('domready', function() {

	if($('f1')) {
		$('f1').getElement('input').addEvents({
			'focus': function() {
				if(!this.retrieve('value')) {
					this.store('value', this.get('value'));
				}
				if(this.get('value') == this.retrieve('value')) {
					this.set('value', '');
				}
			},
			'blur': function() {
				if(this.get('value') == '') {
					this.set('value', this.retrieve('value'));
				}
			}
		});
	}

	
	$$('#termine .video .teaser-link').addEvent('click', function(ev) {
		ev.stop();
		
		if(!this.retrieve('teaser')) {
			var teaser_el = this.getNext('.teaser');
			teaser_el.show();
			if(Browser.Engine.trident) {
				var video_object = teaser_el.getElement('embed');
				var video_object_size = video_object.offsetHeight;
			} else {
				var video_object = teaser_el.getElement('object');
				var video_object_size = video_object.get('height');
			}
			this.store('teaserHeight', video_object_size);
			this.store('teaser', teaser_el);
		}
		
		if(this.hasClass('open')) {
			this.retrieve('teaser').morph({'height': 0});
			(function(){this.retrieve('teaser').hide();}).delay(500, this);
			this.removeClass('open');
		} else {
			this.retrieve('teaser').show().morph({'height': this.retrieve('teaserHeight')});
			this.addClass('open');
		}
	});
	
	$$('#main .video-link').addEvent('click', function(ev) {
		ev.stop();
		
		if(!this.retrieve('teaser')) {
			var teaser_el = this.getNext('.video_container');
			teaser_el.show();
			if(Browser.Engine.trident) {
				var video_object = teaser_el.getElement('embed');
				var video_object_size = video_object.offsetHeight;
			} else {
				var video_object = teaser_el.getElement('object');
				var video_object_size = video_object.get('height');
			}
			this.store('teaserHeight', video_object_size);
			this.store('teaser', teaser_el);
		}
		
		if(this.hasClass('open')) {
			this.retrieve('teaser').morph({'height': 0});
			(function(){this.retrieve('teaser').hide();}).delay(500, this);
			this.removeClass('open');
		} else {
			this.retrieve('teaser').show().morph({'height': this.retrieve('teaserHeight')});
			this.addClass('open');
		}
	});
	
	if($$('.mod_quicklink select')) {
		$$('.mod_quicklink select').addEvent('change', function() {
			this.getParent('form').submit();
		});
	}
	
	
	/*$$('#termine .entry .recommend').addEvent('click', function(ev) {
		ev.stop();
		if(!this.retrieve('recommend')) {
			var recommend_form = this.getNext('.recommend_form');
			var recommend_form_height = recommend_form.getFirst('form').getSize().y;
			this.store('recommendHeight', recommend_form_height);
			this.store('recommend', this.getNext('.recommend_form'));
		} else if(this.getNext('.recommend_form').hasClass('resize')) {
			var recommend_form = this.getNext('.recommend_form');
			var recommend_form_height = recommend_form.getFirst('p').getSize().y;
			this.store('recommendHeight', recommend_form_height);
			this.removeClass('resize');
		}
		if(this.hasClass('open')) {
			this.retrieve('recommend').morph({'height': 0});
			this.removeClass('open')
		} else {
			this.retrieve('recommend').morph({'height': this.retrieve('recommendHeight')});
			this.addClass('open')
		}
	});*/
	
	if($$('.recommend').length > 0) {
		$$('.recommend').addEvent('click', function(ev) {
			ev.stop();
			var recommend_form = this.getParent().getNext('.recommend_form');
			if(!this.retrieve('recommend')) {
				var recommend_form_height = recommend_form.getFirst('form').getSize().y;
				this.store('recommendHeight', recommend_form_height);
				this.store('recommend', recommend_form);
			} else if(recommend_form.hasClass('resize')) {
				var recommend_form_height = recommend_form.getFirst('p').getSize().y;
				this.store('recommendHeight', recommend_form_height);
				this.removeClass('resize');
			}
			if(this.hasClass('open')) {
				this.retrieve('recommend').morph({'height': 0});
				this.removeClass('open')
			} else {
				this.retrieve('recommend').morph({'height': this.retrieve('recommendHeight')});
				this.addClass('open')
			}
		});
	}
	
	
	if($$('.recommend_form form').length > 0) {
		$$('.recommend_form form').addEvent('submit', function(ev) {
			ev.stop();
			var form_container = this.getParent('.recommend_form');
			new Request.JSON({
				'url': this.action,
				'onComplete': function(response) {
					if(response.state == 'success') {
						form_container.set('html', '<p>'+response.text+'</p>');
						form_container.addClass('resize');
					} else {
						alert(response.text);
					}
				}
			}).post(this);
		});
	}
	
	if($$('.post_comment form').length > 0) {
		$$('.post_comment form').getLast().addEvent('submit', function(ev) {
			ev.stop();
			var form_el = this;
			new Request.JSON({
				'url': this.action,
				'onComplete': function(response) {
					if(response.state == 'success') {
						window.location.toString().toURI().set('fragment', '').go();
					} else {
						var captcha_el = form_el.getElement('.captcha_container');
						reloadCaptcha(captcha_el, 'comment');
						alert(response.text);
					}
				}
			}).post(this);
		});
	}
	
	['galerie', 'handel', 'museum'].each(function(k){
		if($(k)) {
			$$('#'+k+' .right .ce_text').getLast().addClass('last');
		}
	});
	
	
	/*
	<div class="input_container">
		<input type="text" name="anzeige[]" class="text" />
	</div>
	*/
	if($('anzeige_add_field') && $('form_anzeigen_text')) {
		$('anzeige_add_field').addEvent('click', function(event) {
			for(i = 0; i < 2; i++) {
				(new Element('div', {
					'class': 'input_container',
					'html': '<input type="text" name="anzeige[]" maxlength="28" class="text" /><span class="sub_price">&nbsp;</span>',
					'events': {
						'change': klaz_preisberechnung
					}
				})).inject($('form_anzeigen_text'));
			}
			klaz_preisberechnung();
		});
		
		klaz_preise = {
			'preisChiffre': 5,
			'preisPrivatStandard': 2,
			'preisPrivatMehr': 1,
			'preisHalbgewerblichStandard': 10,
			'preisHalbgewerblichMehr': 5,
			'preisWebAdresse': 2
		};
		
		klaz_type = 0;
		klaz_chiffre = false;
		
		klaz_webadresse = false;
		
		klaz_preisberechnung();
		
		// elemente mit relevanten änderungen
		$$('input[name=chiffre]','input[name^=rubriken_p]','input[name^=rubriken_g]','.anzeige input[name^=anzeige]').addEvents({'change': klaz_preisberechnung, 'click': klaz_preisberechnung});
	}
	if($$('.mod_kleinanzeige_aufgeben').length > 0 && $$('input[name^=rubriken_p]').length > 0 && $$('input[name^=rubriken_g]').length > 0) {
		$$('input[name^=rubriken_p]').addEvent('click', function() {
			$$('input[name^=rubriken_g]').removeProperty('checked');
			$$('.mod_kleinanzeige_aufgeben .anzeige').setStyle('display', 'block');
			$$('.mod_kleinanzeige_aufgeben .webadresse').setStyle('display', 'none');
		});
		$$('input[name^=rubriken_g]').addEvent('click', function() {
			$$('input[name^=rubriken_p]').removeProperty('checked');
			if(!$('form_halbgewerblich_8').getProperty('checked')) {
				$$('.mod_kleinanzeige_aufgeben .anzeige').setStyle('display', 'block');
				$$('.mod_kleinanzeige_aufgeben .webadresse').setStyle('display', 'none');
				$$('.mod_kleinanzeige_aufgeben .webadresse input[name^=anzeige]').setProperty('value', '');
			} else if(this.getProperty('value') == '8') {
				$$('.mod_kleinanzeige_aufgeben .anzeige').setStyle('display', 'none');
				$$('.mod_kleinanzeige_aufgeben .webadresse').setStyle('display', 'block');
				$$('input[name^=rubriken_g]').filter(function(item, index, array){
					if(item.getProperty('value') == '8') {
						return false;
					}
					return true;
				}).each(function(el){
					el.removeProperty('checked');
				});
				
				$$('.mod_kleinanzeige_aufgeben .anzeige input[name^=anzeige]').setProperty('value', '');
			} else {
				$$('.mod_kleinanzeige_aufgeben .anzeige').setStyle('display', 'block');
				$$('.mod_kleinanzeige_aufgeben .webadresse').setStyle('display', 'none');
				$('form_halbgewerblich_8').removeProperty('checked');
				$$('.mod_kleinanzeige_aufgeben .webadresse input[name^=anzeige]').setProperty('value', '');
			}
		});
		
		/*$('form_halbgewerblich_8').addEvent('click', function(){
			klaz_webadresse = true;
			$$('.mod_kleinanzeige_aufgeben .anzeige').setStyle('display', 'none');
			$$('.mod_kleinanzeige_aufgeben .webadresse').setStyle('display', 'block');
		});*/
	}
	
	if($$('.mod_kleinanzeige_aufgeben .print').length > 0) {
		$$('.mod_kleinanzeige_aufgeben .print').addEvent('click', function(){
			window.print();
		});
	}
	
});

function reloadCaptcha(el, id) {
	el.set('load', {'method': 'post', 'data': {'id': id}});
	el.get('load').post('captcha.html');
}

function klaz_recheck() {
	// privat oder halbgewerblich
	$$('input[name^=rubriken_p]').each(function(el){
		if(el.getProperty('checked')) {
			klaz_type = 1;
		}
	});
	$$('input[name^=rubriken_g]').each(function(el){
		if(el.getProperty('checked')) {
			klaz_type = 2;
		}
	});
	// chiffre ?
	klaz_chiffre = !!$$('input[name=chiffre]').getLast().getProperty('checked');
}

function klaz_preisberechnung() {
	klaz_recheck();
	if(klaz_type == 0) {
		return;
	}
	var preis;
	var lines = $$('.anzeige input[name^=anzeige].text');
	var line_count = lines.length;
	var last_line = $$('.anzeige input[name^=anzeige].text').getLast();
	if(klaz_type == 2) {
		var preisStandard = klaz_preise.preisHalbgewerblichStandard;
		var preisMehr = klaz_preise.preisHalbgewerblichMehr;
		if(lines > 5) {
			preis = (((lines - 5) % 2 === 0 ? (lines - 5) / 2 * klaz_preise.preisHalbgewerblichMehr : ((lines - 5) + 1) / 2 * klaz_preise.preisHalbgewerblichMehr) + klaz_preise.preisHalbgewerblichStandard);
		} else {
			preis = klaz_preise.preisHalbgewerblichStandard;
		}
	} else {
		var preisStandard = klaz_preise.preisPrivatStandard;
		var preisMehr = klaz_preise.preisPrivatMehr;
		if(lines > 5) {
			preis = (((lines - 5) % 2 === 0 ? (lines - 5) / 2 * klaz_preise.preisPrivatMehr : ((lines - 5) + 1) / 2 * klaz_preise.preisPrivatMehr) + klaz_preise.preisPrivatStandard);
		} else {
			preis = klaz_preise.preisPrivatStandard;
		}
	}
	
	var temp_preis_prog = 0;
	if(klaz_chiffre) {
		temp_preis_prog += klaz_preise.preisChiffre;
	}
	for(i = 0; i < line_count; i++) {
		var temp_linecount = i + 1;
		var temp_preis = 0;
		if(klaz_chiffre) {
			temp_preis += klaz_preise.preisChiffre;
		}
		if(i == 4) {
			temp_preis += preisStandard;
			temp_preis_prog += preisStandard;
			lines[i].getNext('span').set('html', 'Betrag bis jetzt: '+temp_preis_prog+'&euro;');
		} else if((i % 2) === 0 && i > 4) {
			if(klaz_tolerance(lines[i])) {
				temp_preis_prog += preisMehr;
				temp_preis += (((temp_linecount - 5) % 2 === 0 ? (temp_linecount - 5) / 2 * preisMehr : ((temp_linecount - 5) + 1) / 2 * preisMehr) + preisStandard);
				lines[i].getNext('span').set('html', 'Betrag bis jetzt: '+temp_preis_prog+'&euro;');
			} else {
				lines[i].getNext('span').set('html', '');
			}
		}
	}
	/*if(klaz_chiffre) {
		preis += klaz_preise.preisChiffre;
	}*/
	//last_line.getNext('span').set('html', 'Betrag bis jetzt: '+preis+'&euro;');
}

/* returns true if str_length ( line ( 1 || 2 ) ) >= 5 */
function klaz_tolerance(el) {
	var strlen1 = el.getProperty('value').length;
	var strlen2 = el.getParent().getPrevious().getElement('input').getProperty('value').length;
	return (strlen1 >= 5 || strlen2 >= 5);
}

function klaz_relevant_lines() {
	var lines = $$('.anzeige input[name^=anzeige]');
	var linecount = lines.count;
	var relevant_lines = 0;
	for(i = 0; i < linecount; i++) {
		if(lines[i].getProperty('value').length >= 5) {
			relevant_lines++;
		}
	}
	return relevant_lines;
}
