/* jQuery vorhanden? */
if(typeof jQuery == "function"){
	$(document).ready(function(){
		// fancybox
		if($('a.lightbox').length){
			$('a.lightbox').fancybox({
				'zoomSpeedIn': 300,
				'zoomSpeedOut': 300,
				'overlayShow': true
				/*,
				'onStart': function(el){
					console.log(el.parent());
					$.fancybox.cancel();
				}*/
			});
		}
		/*
		
		$('.imageflow .images img').fancybox({
			'zoomSpeedIn': 300,
			'zoomSpeedOut': 300,
			'overlayShow': true
		});
		*/
		
		
		// header anpassen
		setHeading();		
				
		// clearFields
		//$('input.text').clearField();
		
		// tooltip		
		$("a.tooltip-product").tooltip({
			effect: 'slide',
			slideOffset: 10,
			position: 'top right',
			relative: true,
			offset: [10, -20]
		});
		$("a.tooltip-glossar").tooltip({
			effect: 'slide',
			slideOffset: 10,
			position: 'top right',
			offset: [10, -20]
		});
		
		// autocomplete quicksearch
		initAutoComplete('#quicksearch', 'quicksearch');
		initAutoComplete('#tx-indexedsearch-searchbox-sword', 'tx_indexedsearch');
		initAutoComplete('#product-search', 'productsearch');
		
		// input felder leeren wenn value = title (nur bei inputs mit der klasse '.clear', title tag muss vorhanden und gefüllt sein)
		initClearFields();
	});
}

function initAutoComplete(input_id, form_name){
	if($(input_id).length){
		var myautocomplete = $(input_id).autocomplete({
			source: function(request, response){
		    	$.ajax({
		        	url: '?eID=k5lugato&action=terms&pid=13',
		        	dataType: 'json',
		        	data: { q: request.term },
		        	success: function(data) {
		          		response($.map(data, function(item){
		            		return {
		                		label: __highlight(item, request.term), 
		                		value: item
							};
						}));
		        	}
				});
			},
			select: function(event, ui){
				$(input_id).val(ui.item.value);
				document.forms[form_name].submit();
			},	
		    minLength: 2,
		    delay: 400
		}).data('autocomplete');
		
		myautocomplete._renderItem = function(ul,item){
			return $('<li></li>').data('item.autocomplete', item).append($('<a></a>').html(item.label)).appendTo(ul);
		};
		
		myautocomplete._renderMenu = function(ul, items){
			  var self = this;
			  ul.append('<li class="top"></li>');			  		  
			  $.each( items, function( index, item ) {
			    self._renderItem(ul, item );
			  });		  
			  ul.append('<li class="bottom"></li>');			  
		};
	}
}

function __highlight(s,t){
	var matcher = new RegExp('('+$.ui.autocomplete.escapeRegex(t)+')', 'gi' );
	return s.replace(matcher,"<strong>$1</strong>");
}

function setHeading(){
	var heading = $('.heading-section .l h1');
	if(heading.length){		
		var height = parseInt(heading.height());
		var line_height = parseInt(heading.css('line-height').substr(0, 2));

		if(height > line_height){
			heading.parent().addClass('tworow');
			
			var new_height = parseInt(heading.height()); 
			//console.log(new_height);
			if(new_height <= 19){
				heading.parent().addClass('tworow-mid');
			}
		}
	}
}

function initTabs()
{
	var sets = document.getElementsByTagName("ul");
	for (var i = 0; i < sets.length; i++)
	{
		if (sets[i].className.indexOf("tabset") != -1)
		{
			var tabs = [];
			var links = sets[i].getElementsByTagName("a");
			for (var j = 0; j < links.length; j++)
			{
				if (links[j].className.indexOf("tab") != -1)
				{
					tabs.push(links[j]);
					links[j].tabs = tabs;
					var c = document.getElementById(links[j].href.substr(links[j].href.indexOf("#") + 1));

					if (c) if (links[j].className.indexOf("active") != -1) c.style.display = "block";
					else c.style.display = "none";

					links[j].onclick = function ()
					{
						var c = document.getElementById(this.href.substr(this.href.indexOf("#") + 1));
						if (c)
						{
							for (var i = 0; i < this.tabs.length; i++)
							{
								var tab = document.getElementById(this.tabs[i].href.substr(this.tabs[i].href.indexOf("#") + 1));
								if (tab)
								{
									tab.style.display = "none";
								}
								this.tabs[i].className = this.tabs[i].className.replace("active", "");
							}
							this.className += " active";
							c.style.display = "block";
							return false;
						}
					}
				}
			}
		}
	}
}
if (window.addEventListener)
	window.addEventListener("load", initTabs, false);
else if (window.attachEvent && !window.opera)
	window.attachEvent("onload", initTabs);


/**
 * jQuery-Plugin "clearField"
 * 
 * @version: 1.1, 04.12.2010
 * 
 * @author: Stijn Van Minnebruggen
 *          stijn@donotfold.be
 *          http://www.donotfold.be
 * 
 * @example: $('selector').clearField();
 * @example: $('selector').clearField({ blurClass: 'myBlurredClass', activeClass: 'myActiveClass' });
 * 
 */

(function($) {	
	$.fn.clearField = function(settings) {		
		/**
		 * Settings
		 * 
		 */
		
		settings = jQuery.extend({
			blurClass: 'clearFieldBlurred',
			activeClass: 'clearFieldActive',
			attribute: 'rel',
			value: ''
		}, settings);
		
		
		/**
		 * loop each element
		 * 
		 */		
		return $(this).each(function() {			
			/**
			 * Set element
			 * 
			 */			
			var el = $(this);
			
			
			/**
			 * Get starting value
			 * 
			 */			
			settings.value = el.val();
			
			
			/**
			 * Add or get attribute
			 * 
			 */			
			if(el.attr(settings.attribute) == undefined) {
				el.attr(settings.attribute, el.val()).addClass(settings.blurClass);
			} else {
				settings.value = el.attr(settings.attribute);
			}
						
			/**
			 * Set focus action
			 * 
			 */			
			el.focus(function() {				
				if(el.val() == el.attr(settings.attribute)) {
					el.val('').removeClass(settings.blurClass).addClass(settings.activeClass);
				}				
			});
			
			/**
			 * Set blur action
			 * 
			 */			
			el.blur(function() {				
				if(el.val() == '') {
					el.val(el.attr(settings.attribute)).removeClass(settings.activeClass).addClass(settings.blurClass);
				}				
			});						
		});		
	};
})(jQuery);

function initClearFields(){
	$('input.clear').each(function(){
		$(this).focus(function(){
			if($(this).val() == $(this).attr('title')){
				$(this).val('');
			}
		});
		
		$(this).blur(function(){
			if($(this).val() == ''){
				$(this).val($(this).attr('title'));
			}			
		});
	});	
}

