var jsiNaListe = '';
var displayed = null;
var Site = {
	start: function(){
		var lastDysplayed = -1;
		var hidden = true;
		if ($('bonus')){
			Site.hideTextInputs();
			$$('div.toggler').each(function(element){
			    Site.createOver(element);
			});
			$$('div#bonus input').each(function(element){
			    Site.changeAction(element);
			});

			$('bonus').getElements('input[type=text]').each(function(element){
			    element.setEmptyValue('- Zde vyplňte podrobnější informace -', {'color': 'gray'});
			});
			
			if ($('actions')) {
				$('actions').getElements('textarea').each(function(element) {
					element.setEmptyValue('- Zde vyplňte Vaše akční nabídky -', {'color': 'gray', 'text-align': 'center'});
					element.addEvent('keydown', function(event) {
						if (this.value.length >= 200) {
							this.value = this.value.substr(0, 200);
						}
					});
				});
			}
			
			$('bonus').getElements('input[type=radio]').each(function(element){
				var id = element.id.split('-');
				id = id[1];
				element.addEvent('click', function(e) {
				    $('bonus-box-'+id).getElements('input[type=text]').each(function(el) {
						var note = null;
						$('bonus').getElements('span[class='+el.id+']').each(function(elLabel) {
							note = elLabel;
						});			    
						if (element.getProperty('rel') == 'empty') {
							el.setStyle('display', 'none');
							note.setStyle('display', 'none');
						} else {
							el.setStyle('display', '');
							note.setStyle('display', 'block');
							note.setStyle('width', '150px');
						}
						el.setStyle('position', 'absolute');
						el.setStyle('left', element.getCoordinates().left + 200);

						note.setStyle('position', 'absolute');
						note.setStyle('left', element.getCoordinates().left + 510);
						
						var fx = new Fx.Styles(el, {transition: Fx.Transitions.Cubic.easeIn, wait: true, duratinon: 500});						
						fx.start({'top': element.getCoordinates().top - 4});
						var fx2 = new Fx.Styles(note, {transition: Fx.Transitions.Cubic.easeIn, wait: true, duratinon: 500});						
						fx2.start({'top': element.getCoordinates().top - 2});						
				    });
				});
			});
			var accordion = new Accordion('div.toggler', 'div.element', {
				show: -1,
				alwaysHide: true,
				opacity: false,
				
				onActive: function(toggler, element){
					toggler.getFirst().setStyle('color', '#ff3300');
					var arrow = (toggler.getFirst().getFirst().className == 'description') ?
						toggler.getFirst().getFirst().getNext() : toggler.getFirst().getFirst();
					arrow.removeClass('arrow-right');
					arrow.addClass('arrow-down');
					displayed = toggler;
					this.hidden = false;
					this.lastDysplayed = toggler.id.replace('toggler', '');
				},

				onComplete: function(){
					/**
					 * Zobrazit input
					 */
					 if (!this.hidden) {
					 	Site.displayInput(this.lastDysplayed);
					 }
				},

				onBackground: function(toggler, element){
					toggler.getFirst().setStyle('color', '#4175a2');
					var arrow = (toggler.getFirst().getFirst().className == 'description') ?
						toggler.getFirst().getFirst().getNext() : toggler.getFirst().getFirst();
					arrow.removeClass('arrow-down');
					arrow.addClass('arrow-right');
					this.hidden = (this.hidden || toggler.id.replace('toggler', '') == this.lastDysplayed);
					/**
					 * Schovat input
					 */
					Site.hideTextInputs();
				}
				
			}, $('bonus'));
		}
	},

	/**
	 * Schova vsechny textove inputy
	 */
	hideTextInputs: function() {
		$('bonus').getElements('input[type=text]').each(function(el) {
			el.setStyle('display', 'none');
			    $('bonus').getElements('label[for='+el.id+']').each(function(elLabel) {
			        elLabel.setStyle('display', 'none');
			    });
			    $('bonus').getElements('span[class='+el.id+']').each(function(elLabel) {
			        elLabel.setStyle('display', 'none');
			    });			    
		});
	},
	
	displayInput: function(id) {
		$('bonus-box-'+id).getElements('input[type=text]').each(function(element) {
			var note = null;
			$('bonus').getElements('span[class='+element.id+']').each(function(elLabel) {
				note = elLabel;
			});			    
			var checkedElement = null;
			$('bonus-box-'+id).getElements('input[type=radio]').each(function(rEl) {
				if (rEl.checked) {
					checkedElement = rEl;
				}
			});
			element.setStyle('position', 'absolute');
			element.setStyle('left', checkedElement.getCoordinates().left + 200);
			element.setStyle('top', checkedElement.getCoordinates().top - 4);

			note.setStyle('position', 'absolute');
			note.setStyle('left', checkedElement.getCoordinates().left + 510);
			note.setStyle('top', checkedElement.getCoordinates().top - 2);
			
			
			if ($('bonus-'+id+'-1').checked == false) {
				element.setStyle('display', '');
				note.setStyle('display', 'block');
				note.setStyle('width', '150px');
			}
		});
	},
	
	changeAction: function(el) {
		if (el.getAttribute('type') == 'text') {
			el.addEvent('keyup', function(e) {
				var anchor = el.getParent().getParent().getFirst().getFirst();
				var text = "";
				for (x = 0; x < anchor.innerHTML.length; x++) {
					if (anchor.innerHTML.charAt(x) != '<') {
						text += anchor.innerHTML.charAt(x);
					} else {
						break;
					}
				}

				if (el.getValue() != '') {
					text += '<span class="description">' + el.getValue() + '</span>';
				}
				text += ' <span class="arrow-down" style="padding-left: 20px;">&nbsp;</span>';
				anchor.innerHTML = text;
			});
		}
		
		if (el.getAttribute('type') == 'radio') {
			el.addEvent('click', function(e) {
			    $$('label').each(function(element){
					if (element.getProperty('for') == el.id) {
						var anchor = element.getParent().getParent().getFirst().getFirst();
                        anchor.className = '';
						anchor.className = element.getProperty('rel') + '-large';
						var text = "";
						var id = element.getProperty('for').split('-');
						id = id[1];
						if (element.getProperty('rel') == 'empty') {
							$('toggler'+id).addClass('empty');
							$('list'+id).addClass('inactive');
							$('bonus-'+id+'-popis').emptyValue();
						} else {
                            $('toggler'+id).removeClass('empty');
                            $('list'+id).removeClass('inactive');
						}
						if ($('bonus-'+id+'-popis').getValue() != '') {
                            text += '<span class="description">' + $('bonus-'+id+'-popis').getValue() + '</span>';
						}
						text += '&nbsp;<span class="arrow-down" style="padding-left: 20px;">&nbsp;</span>';
						text = element.innerHTML + text;
						anchor.setHTML(text);
					}
				});
			});
		}
	},
	
	createOver: function(el){
			var first = el.getFirst();

			if (!first || first.getTag() != 'a') return;
			var overfxs = new Fx.Styles(first, {'duration': 200, 'wait': false});
			var tocolor, fromcolor;
			el.mouseouted = true;
			el.setStyle('cursor', 'hand');
			el.setStyle('cursor', 'pointer');
			var coordinates = first.getCoordinates();
			el.addEvent('mouseenter', function(e){
				var arrow = (this.getFirst().getFirst().className == 'description') ?
					this.getFirst().getFirst().getNext() : this.getFirst().getFirst();
				arrow.removeClass('arrow-right');
				arrow.addClass('arrow-down');
				overfxs.start({
					'margin-left': 10
				});
			}.bind(el));
			el.addEvent('mouseleave', function(e){
				var arrow = (el.getFirst().getFirst().className == 'description') ?
					this.getFirst().getFirst().getNext() : this.getFirst().getFirst();
				if (el != displayed) {
					arrow.removeClass('arrow-down');
					arrow.addClass('arrow-right');
				}
				overfxs.start({
					'margin-left': 0
				});
			}.bind(el));
	}
 }
 
 
 Element.extend({
    setEmptyValue: function(text, styles) {
		this.$tmp.emptyValue = text;
		var stylesArguments = new Array();
		for (style in styles) {
			stylesArguments.push(style);
		}
		this.$tmp.styles = Element.getMany(this, 'getStyle', stylesArguments);
		this.$tmp.emptyStyles = styles;
		this.$tmp.empty = false;
		
		if (this.value == '') {
			this.$tmp.empty = true;
			this.setStyles(this.$tmp.emptyStyles);
			this.value  = this.$tmp.emptyValue;
		}
		
		
		this.addEvent('keydown', function(e) {
			if (this.value != '') {
				this.$tmp.empty = false;
			} else {
				this.$tmp.empty = true;
			}
		});
		
		this.addEvent('blur', function(e) {
			if (this.value == '') {
				this.$tmp.empty = true;
				this.setStyles(this.$tmp.emptyStyles);
				this.value = this.$tmp.emptyValue;
			}
		});

		this.addEvent('focus', function(e) {
			if (this.$tmp.empty) {
				this.value = '';
				this.setStyles(this.$tmp.styles);
			}
		});
	},
	
	emptyValue: function() {
			this.$tmp.empty = true;
			this.setStyles(this.$tmp.emptyStyles);
			this.value  = this.$tmp.emptyValue;
	},
	
	getValue: function() {
		if (this.value == this.$tmp.emptyValue) {
			return "";
		} else {
			switch(this.getTag()){
				case 'select':
					var values = [];
					$each(this.options, function(option){
						if (option.selected) values.push($pick(option.value, option.text));
					});
					return (this.multiple) ? values : values[0];
				case 'input': if (!(this.checked && ['checkbox', 'radio'].contains(this.type)) && !['hidden', 'text', 'password'].contains(this.type)) break;
				case 'textarea': return this.value;
			}
			return false;
		}
	}
 });
 
 window.addEvent('load', Site.start);