/**
 **************************************************
 * Javascript USERFUNCTIONS
 * userfunctions_ah.js
 *
 * @author: HDNET GmbH & Co. KG
 * @version: 1.0
 * @updated: 2010-02-25 (AH)
 **************************************************
**/

function openPrintWindow(params){
	var actID = $('ul#navImageArray').find('li.active').length!=0 ? jQuery(jQuery('ul#navImageArray').find('li.active')).attr('id'):'navItem1';
	//var actElement = jQuery('ul#navImageArray').find('li.active');
	//var actID = jQuery(actElement).attr('id');
	
	idIndex = actID.replace('navItem','');
	
	idDetail = 'item'+idIndex;
	
	if(params) {
		var paramsUrl = params;
	} else {
		var paramsUrl = '';
	}
	if(window.location.search != "") {
		var location = window.location+"&print=2"+paramsUrl+"&itemShow="+idDetail;
	} else {
		var location = window.location+"?print=2"+paramsUrl+"&itemShow="+idDetail;
	}
	var url = location.replace(/#top/,"");
	var url = url.replace(/#/,"");
	window.open(url,'Print','width=680,height=500,left=100,top=200,scrollbars=yes');
}




/**
 **************************************************
 IMAGE SLIDER
 *
 * @description: enable the sliding event on images
 * and switch the detail image and its title
 **************************************************
**/
jQuery.fn.welleImageSlider = function(sliderOptions) {

	// Define the settings
	sliderSettings = $.extend({
		wrapper : 'div.imageSlider',
		navClass : 'nav',
		detailClass : 'detail',
		detailItemClass : 'item',
		detailIdPrefix : 'i',
		anchorIdPrefix : 'a',
		actClass : 'act',
		delay : 500,
		fadeTime : 300,
		size : 4,
		speed : 900
	}, sliderOptions);

	
	$(sliderSettings.wrapper).ready(function() {
		// Initalize the scroll effect based on the jQuery.tools.scrollable
		$(sliderSettings.wrapper+' .'+sliderSettings.navClass).scrollable({
			// Define settings for jQuery.tools.scrollable
			size : sliderSettings.size,
			//easing : 'easeInOutBack',
			speed : sliderSettings.speed
		});

		// Find the trigger elements
		var aObject = $(sliderSettings.wrapper+' .'+sliderSettings.navClass+' ul').find('li').find('a');

		// For each trigger element...
		$(aObject).each(function(i) {
			// Set an identifier
			$(this).attr('id', sliderSettings.anchorIdPrefix+i);

			// Get text, href and the url for the colorbox image
			eTitle = $(this).parent().find('div.text').html();
			eImage = $(this).attr('href');
			eBoxImage = $(this).parent().find('img.boxImage').attr('src');

			// Insert an detail element with the params from the trigger element
			$(sliderSettings.wrapper+' div.'+sliderSettings.detailClass).append('<div class="'+sliderSettings.detailItemClass+'" id="'+sliderSettings.detailIdPrefix+i+'"><a href="'+eBoxImage+'" class="colorbox" rel="results"><img src="'+eImage+'" />'+eTitle+'</a></div>');
		});

		// Displays the first detail image and the first trigger to act
$(sliderSettings.wrapper+' div.'+sliderSettings.detailClass).find('div.'+sliderSettings.detailItemClass+':first').wait(sliderSettings.delay).fadeIn(sliderSettings.fadeTime);
		$(sliderSettings.wrapper+' .'+sliderSettings.navClass+' ul li:first').find('div.act').wait(sliderSettings.delay).fadeIn(sliderSettings.fadeTime);


		$(sliderSettings.wrapper+' .'+sliderSettings.navClass+' ul li').each(function(i){
			// Switch the detail content to the correct content shown in the triggerd element
			$(this).click(function() {
				// Set the act status
				$(sliderSettings.wrapper+' .'+sliderSettings.navClass+' ul li').find('div.act').wait(sliderSettings.delay/2).fadeOut(sliderSettings.fadeTime);
				$(this).find('div.act').fadeIn(sliderSettings.fadeTime/5);

			    // Get id from trigger element
	    		id = $(this).find('a').attr('id');

				// Set for id only the number
				idIndex = id.replace('a','');

			    // Set id from event element with the trigger id
	    		idDetail = sliderSettings.detailIdPrefix+idIndex;

	    		// Toggle the event elements with fadein
			    $(sliderSettings.wrapper+' div.'+sliderSettings.detailClass+' div.'+sliderSettings.detailItemClass).fadeOut(sliderSettings.fadeTime).removeClass(sliderSettings.actClass);
			    $(sliderSettings.wrapper+' div#'+idDetail).fadeIn(sliderSettings.fadeTime);

				return false;
			});

			// Set the hover status
			$(this).hover(function(){
				$(this).find('div.hover').fadeIn(sliderSettings.fadeTime/5);
			}, function() {
				$(this).find('div.hover').wait(sliderSettings.delay/8).fadeOut(sliderSettings.fadeTime/10);
			});

		});

	});
}




/**
 **************************************************
 DECORATE AND SETUP
 *
 * @description: enable the sliding event on images
 * and switch the detail image and its title
 **************************************************
**/
jQuery.fn.decorateSetup = function(sliderOptions) {

	// Define the settings
	sliderSettings = $.extend({
		pageWrapper : 'div.decorate',
		wrapper : 'div.slider',
		navClass : 'nav',
		detailClass : 'detail',
		detailTextClass : 'textDetail',
		detailItemClass : 'item',
		detailIdPrefix : 'i',
		detailIdSuffix : 'd',
		anchorIdPrefix : 'a',
		actClass : 'act',
		delay : 500,
		fadeTime : 300,
		size : 6,
		speed : 900
	}, sliderOptions);

	
	$(sliderSettings.wrapper).ready(function() {
		// Initalize the scroll effect based on the jQuery.tools.scrollable
		$(sliderSettings.pageWrapper+' '+sliderSettings.wrapper+' .'+sliderSettings.navClass).scrollable({
			// Define settings for jQuery.tools.scrollable
			size : sliderSettings.size,
			//easing : 'easeInOutBack',
			speed : sliderSettings.speed
		});

		// Find the trigger elements
		var aObject = $(sliderSettings.wrapper+' .'+sliderSettings.navClass+' ul').find('li').find('a');

		// For each trigger element...
		$(aObject).each(function(i) {
			// Set an identifier
			$(this).attr('id', sliderSettings.anchorIdPrefix+i);

			// Get text, href and the url for the colorbox image
			eTitle = $(this).parent().find('div.text').html();
			eImage = $(this).attr('href');
			eBoxImage = $(this).parent().find('img.boxImage').attr('src');
			eTextContent = $(this).parent().find('div.infos').html();

			// Insert an detail element with the params from the trigger element
			$(sliderSettings.pageWrapper+' '+sliderSettings.wrapper+' div.'+sliderSettings.detailClass).append('<div class="'+sliderSettings.detailItemClass+'" id="'+sliderSettings.detailIdPrefix+i+'"><a href="'+eBoxImage+'" class="colorbox" rel="results"><img src="'+eImage+'" /></a>'+eTitle+'</div>');
			
			// Insert the text info-hotspot element with the sepcial params from the trigger element
			$(sliderSettings.pageWrapper+' div#primaryContent div.scroll div.'+sliderSettings.detailTextClass).append('<div class="'+sliderSettings.detailItemClass+'" id="'+sliderSettings.detailIdPrefix+i+sliderSettings.detailIdSuffix+'">'+eTextContent+'</div>');
		});

		// Displays the first detail image and the first trigger to act
		$(sliderSettings.pageWrapper+' '+sliderSettings.wrapper+' div.'+sliderSettings.detailClass).find('div.'+sliderSettings.detailItemClass+':first').wait(sliderSettings.delay).fadeIn(sliderSettings.fadeTime);
		$(sliderSettings.pageWrapper+' div.'+sliderSettings.detailTextClass).find('div.'+sliderSettings.detailItemClass+':first').wait(sliderSettings.delay).fadeIn(sliderSettings.fadeTime, function(){
			$('#primaryContent .scroll').jScrollPane({scrollbarWidth:8, scrollbarMargin:10, showArrows:true});
		});
		
		$(sliderSettings.pageWrapper+' '+sliderSettings.wrapper+' .'+sliderSettings.navClass+' ul li:first').find('div.act').wait(sliderSettings.delay).fadeIn(sliderSettings.fadeTime);


		$(sliderSettings.pageWrapper+' '+sliderSettings.wrapper+' .'+sliderSettings.navClass+' ul li').each(function(i){
			// Switch the detail content to the correct content shown in the triggerd element
			$(this).click(function() {
				// Set the act status
				$(sliderSettings.wrapper+' .'+sliderSettings.navClass+' ul li').find('div.act').wait(sliderSettings.delay/2).fadeOut(sliderSettings.fadeTime);
				$(this).find('div.act').fadeIn(sliderSettings.fadeTime/5);

			    // Get id from trigger element
	    		id = $(this).find('a').attr('id');

				// Set for id only the number
				idIndex = id.replace('a','');

			    // Set id from event element with the trigger id
	    		idDetail = sliderSettings.detailIdPrefix+idIndex;
	    		idTextDetail = sliderSettings.detailIdPrefix+idIndex+sliderSettings.detailIdSuffix;

	    		// Toggle the event elements with fadein
			    $(sliderSettings.wrapper+' div.'+sliderSettings.detailClass+' div.'+sliderSettings.detailItemClass).fadeOut(sliderSettings.fadeTime).removeClass(sliderSettings.actClass);
			    $(sliderSettings.wrapper+' div#'+idDetail).fadeIn(sliderSettings.fadeTime);
				
				$(sliderSettings.pageWrapper+' div#primaryContent div.scroll div.'+sliderSettings.detailTextClass+' div.'+sliderSettings.detailItemClass).fadeOut(sliderSettings.fadeTime).removeClass(sliderSettings.actClass);
			    $(sliderSettings.pageWrapper+' div#'+idTextDetail).fadeIn(sliderSettings.fadeTime, function() {
			    	$('#primaryContent .scroll').jScrollPane({scrollbarWidth:8, scrollbarMargin:10, showArrows:true});
			    });

				
				return false;
			});

			// Set the hover status
			$(this).hover(function(){
				$(this).find('div.hover').fadeIn(sliderSettings.fadeTime/5);
			}, function() {
				$(this).find('div.hover').wait(sliderSettings.delay/8).fadeOut(sliderSettings.fadeTime/10);
			});

		});

	});
}




/**
 **************************************************
 GLOBAL DEFINITIONS
 *
 * @description: global domready function for all functions
 * run jQuery in noConflict mode
 **************************************************
**/
/* no conflict mode - it works besides prototype */
//var $j = jQuery.noConflict();

/* *** GLOBAL domReady begin *** */
//$j(document).ready(function() {
$(document).ready(function() {


/* INITALIZE the imageSlider */
$('div.imageSlider').welleImageSlider();
/* INITALIZE the colorbox for the imageSlider */
$('div.imageSlider a.colorbox').colorbox({
	transition: 'elastic',
	opacity: 0.5,
	rel: 'results',
	next: 'next',
	current: 'Bild {current} von {total}'
});

$('div.decorate').decorateSetup();

$('div.decorate a.colorbox').colorbox({
	transition: 'elastic',
	opacity: 0.5,
	rel: 'results',
	next: 'next',
	current: 'Bild {current} von {total}'
});


$('#primaryContent .inner').jScrollPane({scrollbarWidth:8,scrollbarMargin:60,showArrows:true});
$('#primaryContent .brochures').jScrollPane({scrollbarWidth:8,scrollbarMargin:5,showArrows:true});



$('.accordion h2').parent().find('p, div').hide();
$('.accordion').first().find('p, div').show();
$('.accordion').first().find('h2').addClass('active');
$('.accordion h2').click(function(){
	$(this).toggleClass('active');
	$(this).parent().find('p, div').slideToggle();
})

/* *** GLOBAL domready end *** */
});
