﻿$(document).ready(function(){
	$(document).pngFix();
	$('label.overlabel').overlabel();
	$('body#home ul.news-list>li').equalizeCols();
	
	$('#banner-animation').each(function(){
		var oControl = $(this);
		oControl.data('state','run');
		var speed = 600;
		var waitTime = 11500;
		
		$('>ul.ba-list>li:not(.current)', oControl).css('opacity','0');
		var fAnimate=function(){
			var oCurrent = $('ul.ba-buttons li.current', oControl);
			if($('a', oCurrent.next()).length>0){
				$('a', oCurrent.next()).trigger('click');
			}else{
				var oNext = $('ul.ba-buttons li:first-child', oControl).next();
				$('a', oNext).trigger('click');
			}
			oControl.data('timer', setTimeout(fAnimate, waitTime) );
		}
		$('ul.ba-buttons li a', oControl).click(function(){
			if(oControl.data('state')=='run')
			{
				oControl.data('state','animate');
				clearTimeout(oControl.data('timer'));
				
				var oThis = $(this);
				var sColor = oThis.attr('class');
				var oLi = "#banner-"+sColor;
				$('ul.ba-buttons li', oControl).removeClass('current');
				oThis.parent().addClass('current');
				$('ul.ba-list li.current', oControl).removeClass('current')
					.animate({opacity:0}, 600, function(){
						var oBody = $('body#home');
						var sClass = oBody.attr('class');
						oBody.removeClass(sClass).addClass(sColor);
						$(oLi).addClass('current')
							.animate({opacity:1}, 600, function(){
								oControl.data('timer', setTimeout(fAnimate, waitTime) );
								oControl.data('state','run');
							});
					});
			}
			return false;
		});
		oControl.data('timer', setTimeout(fAnimate, waitTime) );
	});
	$('.sponsors div.jrotator').rotator(2000);
	//$('.rotator-news div.jrotator').rotator(3000);
	/*var waitTime = 3000;*/
	
});


/* =jQuery Plugins*/
(function($){
	/* = plug-in : overlabel */
	$.fn.overlabel = function(options){
		var opts = $.extend( {},$.fn.overlabel.defaults, options );
		var selection = this.filter('label[for]').map(function(){
				var label = $(this);
				var id = label.attr('for');
				var field = $('#'+id);
				if(!field) return;
				var o = $.meta ? $.extend( {}, opts, label.data() ) : opts;
				label.addClass(o.label_class);
				var hide_label = function(){ label.css(o.hide_css) };
				var show_label = function(){ this.value || label.css(o.show_css) };
				$(field)
					.parent().addClass(o.wrapper_class).end()
					.focus(hide_label).blur(show_label).each(hide_label).each(show_label);
				return this;
		});
		return opts.filter ? selection : selection.end();
	};
	$.fn.overlabel.defaults = {
		label_class: 'overlabel-apply',
		wrapper_class: 'overlabel-wrapper',
		hide_css: { 'display': 'none' },
		show_css: { 'display': 'block' },
		filter: false
	};
	/********EQUALIZE************/
	$.fn.equalizeCols = function(){
		var height = 0,
			reset = $.browser.msie ? "1%" : "auto";
  
		return this
			.css("height", reset)
			.each(function() {
				height = Math.max(height, $(this).outerHeight(true));
			})
			.css("height", height)
			.each(function() {
				var h = $(this).outerHeight(true);
				if (h > height) {
					$(this).css("height", height - (h - height));
				};
			});	
	};
	/******** Rotator **********/
		$.fn.rotator = function(waitTime){	
		var oRotator = $(this);
		oRotator.data('state','run');
		var speed = 600;
		
		var oUL = $('div.jr-messages ul', oRotator);
		var w = oUL.width();
		var oLIs = $('div.jr-messages div:first-child li', oRotator);
		oLIs.filter(':first-child').before( oLIs.filter(':last-child') );
		oUL.css({width:(w*oLIs.length), left:-w});
		var fanimate = function(side){
			if(oRotator.data('state')=='run')
			{
				oRotator.data('state','animate');
				clearTimeout(oRotator.data('timer'));
				if(side=='left')
				{
					oUL.animate({left:0}, speed, function(){
						oLIs.filter(':first-child').before( oLIs.filter(':last-child') );
						oUL.css({left:-w});
						if(oRotator.data('state')!='pause')
							oRotator.data('timer', setTimeout(fanimate, waitTime) );
						oRotator.data('state','run');
					});
				}else{			
					oUL.animate({left:-(w*2)}, speed, function(){
						oLIs.filter(':last-child').after( oLIs.filter(':first-child') );
						oUL.css({left:-w});
						if(oRotator.data('state')!='pause')
							oRotator.data('timer', setTimeout(fanimate, waitTime) );
						oRotator.data('state','run');
					});
				}
			}
		};
		$('a.jr-button-left', oRotator).click(function(){
			fanimate('left');
			return false;
		});
		$('a.jr-button-right', oRotator).click(function(){
			fanimate();
			return false;
		});
		$('a.jr-button-pause-off', oRotator).hover(function(){
			clearTimeout(oRotator.data('timer'));
			oRotator.data('state','pause');
		},function(){
			oRotator.data('timer', setTimeout(fanimate, waitTime) );
			oRotator.data('state','run');
		});
		oRotator.data('timer', setTimeout(fanimate, waitTime) );
	};
	/********FIX PNG************/
	jQuery.fn.pngFix = function(settings) {

	// Settings
	settings = jQuery.extend({
		blankgif: 'common/images/blank.gif'
	}, settings);

	var ie55 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf("MSIE 5.5") != -1);
	var ie6 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf("MSIE 6.0") != -1);

	if (jQuery.browser.msie && (ie55 || ie6)) {

		//fix images with png-source
		jQuery(this).find("img[src$=.png]").each(function() {

			jQuery(this).attr('width',jQuery(this).width());
			jQuery(this).attr('height',jQuery(this).height());

			var prevStyle = '';
			var strNewHTML = '';
			var imgId = (jQuery(this).attr('id')) ? 'id="' + jQuery(this).attr('id') + '" ' : '';
			var imgClass = (jQuery(this).attr('class')) ? 'class="' + jQuery(this).attr('class') + '" ' : '';
			var imgTitle = (jQuery(this).attr('title')) ? 'title="' + jQuery(this).attr('title') + '" ' : '';
			var imgAlt = (jQuery(this).attr('alt')) ? 'alt="' + jQuery(this).attr('alt') + '" ' : '';
			var imgAlign = (jQuery(this).attr('align')) ? 'float:' + jQuery(this).attr('align') + ';' : '';
			var imgHand = (jQuery(this).parent().attr('href')) ? 'cursor:hand;' : '';
			if (this.style.border) {
				prevStyle += 'border:'+this.style.border+';';
				this.style.border = '';
			}
			if (this.style.padding) {
				prevStyle += 'padding:'+this.style.padding+';';
				this.style.padding = '';
			}
			if (this.style.margin) {
				prevStyle += 'margin:'+this.style.margin+';';
				this.style.margin = '';
			}
			var imgStyle = (this.style.cssText);

			strNewHTML += '<span '+imgId+imgClass+imgTitle+imgAlt;
			strNewHTML += 'style="position:relative;white-space:pre-line;display:inline-block;background:transparent;'+imgAlign+imgHand;
			strNewHTML += 'width:' + jQuery(this).width() + 'px;' + 'height:' + jQuery(this).height() + 'px;';
			strNewHTML += 'filter:progid:DXImageTransform.Microsoft.AlphaImageLoader' + '(src=\'' + jQuery(this).attr('src') + '\', sizingMethod=\'scale\');';
			strNewHTML += imgStyle+'"></span>';
			if (prevStyle != ''){
				strNewHTML = '<span style="position:relative;display:inline-block;'+prevStyle+imgHand+'width:' + jQuery(this).width() + 'px;' + 'height:' + jQuery(this).height() + 'px;'+'">' + strNewHTML + '</span>';
			}

			jQuery(this).hide();
			jQuery(this).after(strNewHTML);

		});

		// fix css background pngs
		jQuery(this).find("*").each(function(){
			var bgIMG = jQuery(this).css('background-image');
			if(bgIMG.indexOf(".png")!=-1){
				var iebg = bgIMG.split('url("')[1].split('")')[0];
				jQuery(this).css('background-image', 'none');
				jQuery(this).get(0).runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + iebg + "',sizingMethod='scale')";
			}
		});
		
		//fix input with png-source
		jQuery(this).find("input[src$=.png]").each(function() {
			var bgIMG = jQuery(this).attr('src');
			jQuery(this).get(0).runtimeStyle.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader' + '(src=\'' + bgIMG + '\', sizingMethod=\'scale\');';
   		jQuery(this).attr('src', settings.blankgif)
		});
	
	}
	
	return jQuery;

	};
	/**************************/
})(jQuery);
