/*

/*	Dynamic design functions and onLoad events

/*	----------------------------------------------------------------------

/* 	Creates added dynamic functions and initializes loading.

*/





// ======================================================================

//

//	On document ready functions

//

// ======================================================================



$(document).ready(function() {

	

	

	// initialise main-menu (jQuery superfish plug-in)

	// -------------------------------------------------------------------

	

	if (jQuery.browser.msie && parseInt(jQuery.browser.version, 10) < 7) {

		// IE 6 has problem with supersubs plugin so we don't use it here...

		$('ul.sf-menu').superfish({  		// initialize superfish

				delay:       400,			// one second delay on mouseout 

				animation: {				// fade-in and slide-down animation 

					height:	'show'

				},

				speed:		275

			});

	} else {

		// all other browsers, include supersubs plugin.

		$('ul.sf-menu').supersubs({ 

	            minWidth:    12,	// minimum width of sub-menus in em units 

	            maxWidth:    27,	// maximum width of sub-menus in em units 

	            extraWidth:  0		// extra width for slight rounding differences in fonts 

	        }).superfish({  		// initialize superfish

	            delay:       400,	// one second delay on mouseout 

	            animation: {		// fade-in and slide-down animation 

					height:	'show'

				},

	            speed:		275

	        });

	}

	

		

	// initialize modal (fancybox)

	// -------------------------------------------------------------------

	

	// Quickly setup some special references

	// fancybox doesn't like #name references at the end of links so we find

	// them and modify the link to use a class and remove the #name.

	$('a[href$="#popup"]').addClass('zoom').each( function() {

		theHref = $(this).attr('href');

		$(this).attr('href', theHref.replace('#popup',''))

	});

	$('a[href$="#login"]').addClass('login').each( function() {

		theHref = $(this).attr('href');

		$(this).attr('href', theHref.replace('#login',''))

	});



	

	var overlayColor = $('#fancy_overlay').css('background-color') || '#2c2c2c';

	

	$('a.zoom').fancybox({

		'padding': 12, 

		'overlayOpacity': 0.2,

		'overlayColor': overlayColor, 

		'zoomSpeedIn': 500, 

		'zoomSpeedOut': 500,

		'callbackOnShow': modalStart

	});



	// initialize login modal (fancybox)

	// -------------------------------------------------------------------

	$('a.login').fancybox({

		'padding': 12, 

		'overlayOpacity': 0.2,

		'overlayColor': overlayColor, 

		'showCloseButton': false,

		'frameWidth': 400,

		'frameHeight': 208,

		'hideOnContentClick': false,

		'callbackOnShow': modalStart		

	});

	

		



	// Slide down top content (topReveal) 

	// -------------------------------------------------------------------

	$('.topReveal, a[href$="#topReveal"]').click( function() {

		$('#ContentPanel').slideToggle(800,'easeOutQuart');	// show/hide the content area

		$.scrollTo('#ContentPanel');

		return false;

	});

	



	// image hover effects	

	// -------------------------------------------------------------------

	$("a.img").hover( function () {

		if (jQuery.browser.msie && parseInt(jQuery.browser.version, 10) <= 8) {

			$(this).stop(false, true).toggleClass('imgHover');

		} else {

			$(this).stop(false, true).toggleClass('imgHover', 200);

		}

	});

			

			

	// Text and password input styling

	// -------------------------------------------------------------------

	

	// This should be in the CSS file but IE 6 will ignore it.

	// If you have an input you don't want styles, add the class "noStyle"



	$("input[type='text']:not(.noStyle), input[type='password']:not(.noStyle)").each(function(){

		$(this).addClass('textInput');

	});



						   

	// input lable replacement

	// -------------------------------------------------------------------

	$("label.overlabel").overlabel();

	

	// apply custom search input functions

	// -------------------------------------------------------------------

	searchInputEffect();

		

	// apply custom button styles

	// -------------------------------------------------------------------

	buttonStyles();

	

	// CSS Rounded Corners (not for IE)

	// -------------------------------------------------------------------

	if (!jQuery.browser.msie) {

		$("a.img, div.img, .pagination a, .textInput, input[type='text'], input[type='password'], textarea").addClass('rounded');	// items to add rounded class

		roundCorners(); // execute it!

	}

	

});









// ======================================================================

//

//	Design functions

//

// ======================================================================





	

// Modal after load functions

// -------------------------------------------------------------------



function modalStart() {

	// apply font replacement

	Cufon.replace('.fancy_title > div');

	

	// updated styles

	$('#fancy_inner').addClass('rounded');

	roundCorners();

}







// Search input - custom effects for mouse over and focus.

// -------------------------------------------------------------------



// Search input - custom effects for mouse over and focus.

// -------------------------------------------------------------------



function searchInputEffect() {



	var	searchFocus = false,

		searchHover = false,

		searchCtnr = $('#Search'),

		searchInput = $('#SearchInput'),

		searchSubmit = $('#SearchSubmit');

	// Search input - mouse events

	if (searchCtnr.length > 0) {

		searchCtnr.hover(

			function () {	// mouseover

				if (!searchFocus) $(this).addClass('searchHover');

				searchHover = true; }, 

			function () {	// mouseout

				if (!searchFocus) $(this).removeClass('searchHover');

				searchHover = false;

		}).mousedown( function() {

			if (!searchFocus) $(this).removeClass('searchHover').addClass('searchActive');

		}).mouseup( function() {

			searchInput.focus();

			searchSubmit.show();

			searchFocus = true;

		});

		// set focus/blur events

		searchInput.blur( function() {

			if (!searchHover) {

				searchCtnr.removeClass('searchActive');

				searchSubmit.hide();

				searchFocus = false;

			}

		});

	}

}







// button styling function

// -------------------------------------------------------------------



function buttonStyles() {

	// Button styles

	

	// This will style buttons to match the theme. If you don't want a button

	// styled, give it the class "noStyle" and it will be skipped.

	$("button:not(:has(span),.noStyle), input[type='submit']:not(.noStyle), input[type='button']:not(.noStyle)").each(function(){

		var	b = $(this),

			tt = b.html() || b.val();

		

		// convert submit inputs into buttons

		if (!b.html()) {

			b = ($(this).attr('type') == 'submit') ? $('<button type="submit">') : $('<button>');

			b.insertAfter(this).addClass(this.className).attr('id',this.id);

			$(this).remove();	// remove input

		}

		b.text('').addClass('btn').append($('<span>').html(tt));	// rebuilds the button

	});

	

	// Get all styled buttons

	var styledButtons = $('.btn');

	

	// Fix minor problem with Mozilla and WebKit rendering (can also be done adding this to CSS, 

	// button::-moz-focus-inner {border: none;}

	// @media screen and (-webkit-min-device-pixel-ratio:0) { button span {margin-top: -1px;} }

	if (jQuery.browser.mozilla || jQuery.browser.webkit) {

		styledButtons.children("span").css("margin-top", "-1px");

	}

	

	// Button hover class (IE 6 needs this)

	styledButtons.hover(

		function(){ $(this).addClass('submitBtnHover'); },		// mouseover

		function(){ $(this).removeClass('submitBtnHover'); }	// mouseout

	);

}



// Rounded corner styles

// -------------------------------------------------------------------



function roundCorners() {

	$('.rounded, .ui-corner-all').css({

		'-moz-border-radius': '4px',

		'-webkit-border-radius': '4px',

		'border-radius': '4px'

	});

}

	




