/*

/*	Dynamic design functions and onLoad events

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

/* 	Creates added dynamic functions and initializes loading.

*/





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

//

//	On document ready functions

//

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



jQuery(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...

		$j('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.

		$j('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.

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

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

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

	});

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

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

		if (theHref == '#login') {

			theHref = themePath + 'login.html';

		}

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

	});



	

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

	

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

		'padding': 12, 

		'overlayOpacity': 0.2,

		'overlayColor': overlayColor, 

		'zoomSpeedIn': 500, 

		'zoomSpeedOut': 500,

		'callbackOnShow': modalStart

	});



	// initialize login modal (fancybox)

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

	$j('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) 

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

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

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

		$j.scrollTo('#ContentPanel');

		return false;

	});

	



	// image hover effects	

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

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

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

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

		} else {

			$j(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"



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

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

	});



						   

	// input lable replacement

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

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

	

	// apply custom search input functions

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

	searchInputEffect();

		

	// apply custom button styles

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

	buttonStyles();

	

	// CSS Rounded Corners (not for IE)

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

	if (!jQuery.browser.msie) {

		$j("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

	jQuery('#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() {



		searchFocus = false,

		searchHover = false,

		searchCtnr = $j('#Search'),

		searchInput = $j('#SearchInput'),

		searchSubmit = $j('#SearchSubmit');

	// Search input - mouse events

	if (searchCtnr.length > 0) {

		searchCtnr.hover(

			function () {	// mouseover

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

				searchHover = true; }, 

			function () {	// mouseout

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

				searchHover = false;

		}).mousedown( function() {

			if (!searchFocus) $j(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.

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

		var	b = $j(this),

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

		

		// convert submit inputs into buttons

		if (!b.html()) {

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

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

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

		}

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

	});

	

	// Get all styled buttons

	var styledButtons = $j('.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(){ $j(this).addClass('submitBtnHover'); },		// mouseover

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

	);

}



// Rounded corner styles

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



function roundCorners() {

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

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

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

		'border-radius': '4px'

	});

}

	




