/***********************************************************************

Author:     Sander Tiekstra
Company:    Tiekstramedia
URL:        http://www.tiekstramedia.nl

***********************************************************************/

$(function (){
	
	// mail rewrite (href: '[a]' > '@')
	// ----------------------------------------------------------------------------------------------------
	$('a[href*="mailto:"]').each(function() {
		var mailto = $(this).attr('href').split('[at]');
		$(this).attr("href", mailto[0] + "@" + mailto[1]);
	});
	// ----------------------------------------------------------------------------------------------------

	// mail rewrite (text node: '[a]' > '@')
	// ----------------------------------------------------------------------------------------------------
	$('a:contains("[at]")').each(function() {
		var mailto = $(this).text().split('[at]');
		$(this).text(mailto[0] + "@" + mailto[1]);
	});
	// ----------------------------------------------------------------------------------------------------
	
	
	// Toggle
	// ----------------------------------------------------------------------------------------------------
	$('div.toggle>*')
	.not('div')
	.hover(function() {
		$(this).addClass('hover');
	}, function() {
		$(this).removeClass('hover');
	})
	.click(function() {
		$(this).parent().find('.wrapper').slideToggle();
	})
	.parent()
	.find('.wrapper')
	.hide();
	// ----------------------------------------------------------------------------------------------------
	
	
	// Positioning the main navigation items
	// ----------------------------------------------------------------------------------------------------
	$('div.headerNav').each(function () {
		var container = $(this);
		var $mainNav = $(container).find('ul:first');
		var padding = ( $mainNav.outerWidth() - $mainNav.width() ) * 2;
		var minimalWidth = function () {
			var w = 0;
			$(container).find('ul:first>li').each(function(index) {
				w += $(this).width();
				i = index;
			});
			return w;
		};
	
		$(container).find('ul:first>li').not(':last').css({
			paddingRight: ( $mainNav.outerWidth() - padding - minimalWidth() ) / i
		});	
	});

	// ----------------------------------------------------------------------------------------------------
	
	// show submenu in IE6
	// ----------------------------------------------------------------------------------------------------
	if ($.browser.msie){
		$('div.headerNav>ul>li').hover(function() {
			$(this).addClass('over');
		}, function() {
			$(this).removeClass('over');
		})
		.mouseover(function() {
			$('ul', this).css("width", $('ul', this).width());
		});
	}
	// ----------------------------------------------------------------------------------------------------
	
	
	$.fn.vTabs = function () {
		var container = this;
		
		$(this).find('ul.tabs li a').click(function () {
			var link = this;
			var href = $(link).attr('href');
			$(this).closest('ul.tabs').find('li.active').removeClass('active');
			
			if ($(container).find('div.tabContent.active').length > 0) {
				$(container).find('div.tabContent.active').slideUp(400,function () {
					$(this).removeClass('active');
					
					showContent(href, link)
				});
			} else {
				showContent(href, link)
			}
		});
		
		$(this).find('ul.tabs li:first a').trigger('click');
		
		function showContent(contentElement, link) {
			$(link).parent().addClass('active');
			
			$(contentElement).slideDown(400, function () {
				$(this).addClass('active');
			});
			
		}
	}
	
	$(document).ready(function () {
	    if ($('div.vTabs').length > 0) {
	    	$('div.vTabs').vTabs();
	    }
	});
	
	// FAQ
	// ----------------------------------------------------------------------------------------------------
	if ($('#faq').length>0) {
		$('#faq div.categories a').click(function () {
			$(this).closest('ul').find('li.active').removeClass('active');
			$(this).closest('li').addClass('active');
		
			var cat = $(this).attr('href');
			cat = cat.replace("#", "");
			
			var delay = 0;
			
			if ($('#faq div.questions ol.active').length > 0) {
				$('#faq div.questions').animate({width: 0}, 400);
				delay = 400;
			}
			
			setTimeout(function () {
				$('#faq div.questions ol.active').hide(0).removeClass('active');
				$('#faq div.questions ol#questions-'+cat).show(0).addClass('active');					

				var questionsHeight = $('#faq div.questions ol#questions-'+cat).height();				
				$('#faq div.questions').animate({width: '482px', height: questionsHeight+'px'}, 400);
			}, delay);
			
			$('#faq div.answerBoxWrapper').removeClass('active');			
			$('#faq div.questions ol li.active').removeClass('active');
			$('#faq div.answerBox').slideUp(400);
		});
		
		$('#faq div.questions ol li a').click(function () {
			var question = $(this).text();
			var answer = $(this).closest('li').find('div.answer').html();
			
			$(this).closest('ol').find('li.active').removeClass('active');
			$(this).closest('li').addClass('active');
			
			var delay = 0;
			
			if ($('#faq div.answerBoxWrapper').hasClass('active')) {
				$('#faq div.answerBox').slideUp(400);
				delay = 400;
			}
			
			setTimeout(function () {
				$('#faq div.answerBox h4').html(question);
				$('#faq div.answerBox div.answerContent').html(answer);	
				
				$('#faq div.answerBoxWrapper').addClass('active');			
				$('#faq div.answerBox').slideDown(400);			
			}, delay);
		});
		
		var hash = window.location.hash;
	
		var arrFaq = hash.split("/");
		
		var catLink = $('#faq div.categories a[href='+arrFaq[0]+']');
		var questionLink = $('#faq div.questions a[href='+hash+']');
		
		if (hash == "" || $(catLink).length <= 0) {
			$('#faq div.categories a:first').trigger('click');
		} else {
			$(catLink).trigger('click');
			if ($(questionLink).length > 0)
				$(questionLink).trigger('click');		
		}
	}
	
	// ----------------------------------------------------------------------------------------------------
});	
	
(function ($){	
	// Eventlist
	// ----------------------------------------------------------------------------------------------------
	$.fn.eventList = function (type) {
		$(this).load('/backend/events/events/formlist/', {type: type});
	}
	
	$.eventItemClick = function (event) {
		if ($(event).hasClass('active')) {
			$(event).removeClass('active');
			$(event).find('input.checkEvent').attr('checked', false);
		} else {
			$(event).addClass('active');
			$(event).find('input.checkEvent').attr('checked', true);				
		}
	}
	
	$.submitSubscription = function (form, type) {
		var action = $(form).attr('action');
	
		$.ajax({
			type: 	'POST',
			url: 	action,
			data: 	$(form).serialize(),
			dataType: 'json',
			success: function (data) {
				$("input[id*='LynxEventsSubscribers_'], div.radiolist.error").removeClass('error');

				if (data.errors != undefined) {
					var errors = data.errors;
					for (k in errors) {
						var input = $("input[id*='LynxEventsSubscribers_"+k+"']").addClass('error');
						
						if ($(input).closest('div.radiolist').length > 0) {
							$(input).closest('div.radiolist').addClass('error');
						}
					}
				} else {
					if (type == "seminars") {
						location.href = "seminarbedankt.php";
					} else {
						location.href = "webinarbedankt.php";
					}
				}

			}
		});
		
		return false;
	}

	// ----------------------------------------------------------------------------------------------------
})(jQuery);


(function ($){	
	// Library
	// ----------------------------------------------------------------------------------------------------
	$.fn.showLibraryBook = function () {
		var url = $(this).attr('href');
		Shadowbox.open({
			content:    url,
			player:     'iframe',
			height:     410,
			width:      660
		});
		
		return false;
	}

})(jQuery);

// Sifr
// ----------------------------------------------------------------------------------------------------
var HelveNeuConBol = {
	src: 'layout/sifr/helvetica-neue-bold-condensed.swf'
	,ratios: [6,1.41,9,1.35,15,1.29,21,1.25,22,1.22,27,1.24,28,1.23,34,1.22,38,1.21,39,1.22,51,1.21,80,1.2,82,1.19,87,1.2,88,1.19,89,1.2,93,1.19,94,1.2,1.19]
};

sIFR.activate(HelveNeuConBol);

sIFR.replace(HelveNeuConBol, {
	selector: 'body.home ul.nav-sub li.special'
	,css: [
		'.sIFR-root { color: #009b3a; leading: -21; letter-spacing: -3.5; text-transform: uppercase; }'
		,'a:link { color: #009b3a; text-decoration: none; }'
		,'a:hover { color: #353535; text-decoration: none; }'
	]
	,offsetLeft: '2'
	,offsetTop: '-15'
	,tuneHeight: '-15'
	,wmode: 'transparent'
});

sIFR.replace(HelveNeuConBol, {
	selector: 'body.home ul.nav-sub li'
	,css: [
		'.sIFR-root { leading: -21; letter-spacing: -4; letter-spacing: -3.5; text-transform: uppercase; }'
		,'a:link { color: #353535; text-decoration: none; }'
		,'a:hover { color: #009b3a; text-decoration: none; }'
		
	]
	,offsetLeft: '2'
	,offsetTop: '-13'
	,tuneHeight: '-13'
	,wmode: 'transparent'
});


//sIFR.replace(HelveNeuConBol, {
//	selector: '#content h1'
//	,css: ['.sIFR-root { color: #009b3a; leading: -22; letter-spacing: -3; text-transform: uppercase; }' ]
//	,offsetTop: '0'
//	,tuneHeight: '-16'
//	,wmode: 'transparent'
//});

sIFR.replace(HelveNeuConBol, {
	selector: '#content h2.subheading'
	,css: ['.sIFR-root { color: #009b3a; leading: -22; letter-spacing: -2; text-transform: uppercase; }' ]
	,wmode: 'transparent'
});

sIFR.replace(HelveNeuConBol, {
	selector: '#content blockquote p'
	,css: [
		'.sIFR-root { color: #009b3a; leading: -16; letter-spacing: -2; text-transform: uppercase; }'
		,'em { color: #353535; font-style: normal; }'
		,'strong { color: #353535; font-weight: normal; }'
	]
	,offsetTop: '-11'
	,tuneHeight: '-11'
});
// ----------------------------------------------------------------------------------------------------


// Google Search
// ----------------------------------------------------------------------------------------------------
google.load('search', '1');

function OnLoad() {
	// Create a search control
	var searchControl = new google.search.SearchControl();

	// Add in a WebSearch
	lynxSearch = new google.search.WebSearch();

	// Restrict our search to pages from the Lynx
	lynxSearch.setSiteRestriction('www.lynxbroker.de');

	// create a search control
	var searchControl = new google.search.SearchControl();

	// web search, open
	var options = new google.search.SearcherOptions();
	options.setExpandMode(google.search.SearchControl.EXPAND_MODE_OPEN);
	options.setRoot(document.getElementById("searchresult"));
	searchControl.addSearcher(lynxSearch, options);

	// tell the searcher to draw itself and tell it where to attach
	searchControl.draw(document.getElementById("search"));
	
	//change the text of the search button
	$('.gsc-search-button').attr("value", "SUCHE");
	
	function searchComplete(a, response) {
		$('#searchresult .found, span.back').remove();
		$('.gsc-all-results').trigger('click');
		$('#searchresult').show();
		$('#content').hide();
		$('#searchresult div.gsc-trailing-more-results').hide();

		if ($('#searchresult div.gsc-cursor-page').length == 1) {
			$('#searchresult div.gsc-cursor').hide();
		};

		//show the user the results of their search
		if (response.results.length < 1) {
			$('#searchresult').append("<span class='back'>&#60; Zur&uuml;ck</span><p class='found error'>Ihre Suchanfrage '" + a.input.value + "' hat kein Ergebnis gefunden.");
		 } else if(response.cursor != null && response.cursor.estimatedResultCount == '1') {
			$('#searchresult').prepend("<span class='back'>&#60; Zur&uuml;ck</span> <p class='found'>Ihre Suchanfrage '" + a.input.value + "' hat 1 Ergebnis gefunden.");
		} else if (response.cursor != null){
			$('#searchresult').prepend("<span class='back'>&#60; Zur&uuml;ck</span> <p class='found'>Ihre Suchanfrage '" + a.input.value + "' hat folgende Ergebnisse gefunden.");
		}
	}

	
	$('span.back').live("click", function(event) {
		$('#content').show();
		$('#searchresult').hide();
	});
	
	searchControl.setSearchCompleteCallback(this, searchComplete, null);
	

}
google.setOnLoadCallback(OnLoad);
// ----------------------------------------------------------------------------------------------------
