/*
 * 20110217.01
 */

jQuery.easing['jswing'] = jQuery.easing['swing'];
jQuery.extend( jQuery.easing,
{
	def: 'easeOutQuad',
	swing: function (x, t, b, c, d) {
		return jQuery.easing[jQuery.easing.def](x, t, b, c, d);
	},
	easeOutQuad: function (x, t, b, c, d) {
		return -c *(t/=d)*(t-2) + b;
	},
	easeInOutExpo: function (x, t, b, c, d) {
		if (t==0) return b;
		if (t==d) return b+c;
		if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
		return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
	}
});


$(function(){

	if($("ul#indexEfectImages").size()){
		var index_images_obj = $("ul#indexEfectImages");
		var li_html = index_images_obj.html();

		var time_delay = 4800;
		var time_fade = 400;

		var efect_lock = false;
		
		index_images_obj
			.html(li_html + li_html + li_html)
			.find("li")
				.hover(
					function(){
						clearInterval(efect_interval);
						$(this).fadeTo(200,0.2,function(){
							$(this).fadeTo(150,1);
						});
					},
					function(){
						efect_lock = false;
						setEfectInterval();
					}
				)
				.eq(0).addClass("center_pos");

			

		var li_obj = index_images_obj.find("li");
		var li_max = li_obj.size();

		var image_cd = 0;
		var images_max_num = li_max / 3;
		var image_width = li_obj.eq(0).width();


		var default_left_pos = ((li_max / 3) * image_width * -1); 

		index_images_obj
			.width(li_max * image_width)
			.css({'left': default_left_pos + "px"});
		
		$("div#imagesNavigation").after('<div id="filter_box"><div class="left"></div><div class="center"></div><div class="right"></div></div>');
		
		$("div#imagesNavigation a").mousedown(function(){
			clearInterval(efect_interval);
			
			if(efect_lock){
				return false;
			}else{
				efect_lock = true;
			}		
			

			if($(this).hasClass("prev")){
				image_cd--;
			}else{
				image_cd++;
			}

			slideEfect();

			return false;
		}).hover(
			function(){
				$(this).addClass("on");
			},
			function(){
				efect_lock = false;
				setEfectInterval();
				$(this).removeClass("on");
			}
		);


		function slideEfect() {
			var image_flg = images_max_num + image_cd;
			var left_pos = default_left_pos;
			var slide_efect = true;
			if( image_flg < images_max_num ){
				left_pos = (images_max_num * 2 - 1) * image_width * -1;
				image_cd = images_max_num - 1; 
			}else if( image_cd == images_max_num ){
				image_cd = 0;
			}else{
				slide_efect = false;
			}
			
			li_obj.eq( images_max_num+image_cd ).addClass("center_pos").addClass("cd");	

	
			index_images_obj.animate({
					'left': (image_flg * -1) * image_width + "px"	
				},
				time_fade ,
				"easeInOutExpo" ,
				function(){
					efect_lock = false;
					if(slide_efect) $(this).css({'left': left_pos + "px" });				
					li_obj.not(".cd").removeClass("center_pos");
					li_obj.removeClass("cd");
			});
		}

		var efect_interval = false;
		function setEfectInterval(){
			clearInterval(efect_interval);
			efect_interval = setInterval(function(){
				if(efect_lock) return false;
				efect_lock++;
				image_cd++;
				slideEfect();
			},time_delay);
		}
		setEfectInterval();
				

		var flash_div_obj = $("div#flashContent");
		var flash_div = flash_div_obj.width();
		var content_w = $("#content").width();
		var filter_obj = $("#filter_box");
		var filter_box_obj = filter_obj.find("div.left , div.right");
		function paddingSet() {
			var body_w = ($(window).width());
			var default_padding = ( ( body_w - flash_div ) / 2);
			
			
			filter_obj.width(body_w);
			if(body_w < content_w){
				default_padding = 77;
				
				filter_box_obj.width(0);
			}else{
				filter_box_obj.width(default_padding);
			}

			flash_div_obj.css({
				"padding" : "0 " + default_padding + "px" ,
				"margin-left" :  (default_padding - 10) * -1 + "px" // for IE.
			});
		}
		
		paddingSet();
		
		setTimeout(function(){
			paddingSet();
		},3000);// recheck.
		
		$(window).resize(function(){
			paddingSet();
		});

	}

	// Pramardo
	var bg_img_0 = $("ul#indexEfectImages li.button span.main img").eq(0).attr("src");
	$("ul#indexEfectImages li.button")
		.find("span.main").css({"background-image":["url(",bg_img_0,")"].join('')})
		.end()
		.find("span.thumb")
			.each(function(){
				var i = 1;
				$(this).find("a").each(function(){
					$(this).addClass(["thumb_",i++].join(''));
				}).eq(0).addClass("pointer");	
	});
	$("ul#indexEfectImages li.button span.thumb a").hover(function(){
		$("ul#indexEfectImages li.button span.thumb a").removeClass("pointer");
		$(this).addClass("pointer");
		var href_no = $(this).attr("rel");
		var bg_img = $("ul#indexEfectImages li.button span.main img").eq(href_no-1).attr("src");
		$("ul#indexEfectImages li.button span.main")
			.fadeOut(230,function(){
				$("ul#indexEfectImages li.button span.main").css({"background-image":["url(",bg_img,")"].join('')}).fadeIn();	
			});
		return false;
	});

	if(1 < $("ul#search_images li").size()){
		var li_obj = $("ul#search_images li");
		var max_num = li_obj.size();
		var ul_obj = $("ul#search_images");
		var num = 0;
		var time_delay = 3500;
		var time_fade = 500;
		var efect_lock = 0;
		var button_ul_obj = $("ul#search_images_button");

	
		$("ul#search_images_button").width( max_num * (13 + 5) + 5 );//13 button size


		var li_i = 0;
		var button_ul_html = "";
		var n = 0;
		li_obj.each(function(){
			button_ul_html += [button_ul_obj.html(),'<li><a href="#/images/">','<img class="on" src="/top/images/pointer0' + (max_num - n) + '_on.png" />','<img class="off" src="/top/images/pointer0' + (max_num - n) + '_off.png" />',"</a></li>"].join("");
			n++;
		});
		button_ul_obj.html(button_ul_html);

		var button_li_obj = button_ul_obj.find("li");
		button_li_obj.eq(max_num-1).addClass("on");


		var efect_flg = false;
		var efect_interval = false;
		function li_fade(_num,max_num) {
			if(efect_flg) return false;
			li_false = true;
			num = _num;
			num++;
			clearInterval(efect_interval);
			efect_interval = setInterval(function(){
				if( max_num <= num){
					num = 0;
					li_obj.fadeIn(time_fade,function(){
						if ($(this).is(':last-child')) {
						}
					});
				}else{
					li_obj.eq( max_num - num ).fadeOut(time_fade,function(){
					});
				}
	
				button_li_obj.removeClass("on").eq(max_num-num-1).addClass("on");

				num++;
			},time_delay);
		}

		// Hover
		li_obj.hover(
			function(){				
				clearInterval(efect_interval);
			},
			function(){
				li_fade(num-1,max_num);
			});

		
		$("ul#search_images_button li a").hover(function(){
			clearInterval(efect_interval);
			efect_flg = false;
			var num_a = $("ul#search_images_button li a").index(this);
			var button_rel = $(this).attr("rel");
			num = max_num - num_a - 1;
			

			$("ul#search_images")
				.find("li:lt("+ (num_a + 1) +")").fadeIn(300)
				.end()
				.find("li:gt("+ (num_a) +")").fadeOut(300);
			button_li_obj.removeClass("on").eq(max_num-num-1).addClass("on");

			li_fade(num,max_num);			

			return false;
		});
		li_fade(num,max_num);// first li_fade.
	}
});


