/*!
 * (v) Compact labels plugin
 * Takes one option: labelOpacity [default: true] set to false to disable label opacity change on empty input focus
 */
(function($){$.fn.compactize=function(options){var defaults={labelOpacity:true};options=$.extend(defaults,options);return this.each(function(){var label=$(this),input=$('#'+label.attr('for'));input.focus(function(){if(options.labelOpacity){if(input.val()===''){label.css('opacity','0.5');}}else{label.hide();}});if(options.labelOpacity){input.keydown(function(){label.hide();label.css('opacity',1);});} input.blur(function(){if(input.val()===''){label.show();} if(options.labelOpacity){label.css('opacity',1);}});window.setTimeout(function(){label.toggle(input.val()==='');},50);});};})(jQuery);

/*!
 * (v) hrefID jQuery extention
 * returns a valid #hash string from link href attribute in Internet Explorer
 */
(function($){$.fn.extend({hrefId:function(){return $(this).attr('href').substr($(this).attr('href').indexOf('#'));}});})(jQuery);

/*!
 * (v) Equal Height plugin v. 1.11
 */
(function($){$.fn.equalHeights=function(){$(window).resize($.proxy(function(){var tallest=0;$(this).css('min-height',0);$(this).each(function(){if($(this).outerHeight()>tallest){tallest=$(this).outerHeight();}});$(this).each(function(){var padding=$(this).outerHeight()-$(this).height();var height=tallest-padding;$(this).css({'min-height':height});if($.browser.msie&&parseInt($.browser.version,10)==6)$(this).height(height);});},this)).triggerHandler('resize');return this;};})(jQuery);

/*!
 * Scripts
 *
 */
jQuery(function($) {
 
	var Engine = {
		utils : {
			links : function(){
				$('a[rel*=external]').click(function(e){
					e.preventDefault();
					window.open($(this).attr('href'));						  
				});
			},
			mails : function(){
				$('a[href^=mailto:]').each(function(){
					var mail = $(this).attr('href').replace('mailto:','');
					var replaced = mail.replace('/at/','@');
					$(this).attr('href','mailto:'+replaced);
					if($(this).text() == mail) {
						$(this).text(replaced);
					}
				});
			},
			labels : function(){
				$('#global-nav form label, div.section-email label').compactize();
			}
		},
		ui : {
			togglers : function(){
				$('div.section-togglable').each(function(){
					var toggler = $('<a />',{
						'href' : '#',
						'class' : 'toggle',
						'text' : 'toggle',
						'click' : function(e){
							e.preventDefault();
						}
					});
					
					var h = $(this).find('h2,h3');

					h.append(document.createTextNode(' '),toggler);
					h.click($.proxy(function(e){
						e.preventDefault();
						$(this).toggleClass('section-active');
					},this));
				});
			}			
		},
		fixes : {
			nav : function(){
				$('#nav li:has(ul)').addClass('parent');
			},
			caption : function(){
				if (!$.browser.msie) {
					return;
				}
				$('div.figure-b-wrap').append('<span class="arr" />');
			},
			zebra : function(){
				if (!$.browser.msie) {
					return;
				}
				
				$('div.catalogs-a table tbody tr:odd').addClass('odd');
			}
		}
	};

	Engine.utils.links();
	Engine.utils.mails();
	Engine.utils.labels();
	Engine.ui.togglers();
	Engine.fixes.nav();
	Engine.fixes.zebra();
	Engine.fixes.caption();
	
});
