var b = new Banner();
var t = new Timer();

$(document).ready(function(){
	$.get("datalist.xml",function(msg){
			$("#js_bunner").show();
		
			b.setData(msg);
			b.initShow();
			b.scrollPre(0,0);
			b.viewAct('init');
			b.setButton();
			$("#js_bunner").hover(
				function(){t.stop();},
				function(){t.start();}
			);
			$(document).focusout(function(){t.stop();});
			$(document).focusin(function(){t.start();});
			
			t.start();
		}
	);
});


function Banner(){
	this.list = Array();
	this.viewList;
	this.act_no = 3;
	this.widx;
	this.bigimgid ;
	this.moving = false;

	this.setData = function(xml){
		var wk_ary;
		$(xml).find("item").each(function(){
			wk_ary = Array();
			wk_ary['main_img'] = $(this).attr('img_m');
			wk_ary['pre_img'] = $(this).attr('img_s');
			wk_ary['pre_img_act'] = $(this).attr('img_s_active');
			wk_ary['title'] = $.trim($(this).attr('title'));
			wk_ary['link'] = $(this).attr('path');
			//wk_ary['target'] = '_blank';
			wk_ary['target'] = $(this).attr('target');
			b.list.push(wk_ary); 
		});
	}
	
	this.initShow = function(){
		this.viewList = Array();
		var i = 0;
		var wk_id = "";
		// set main images
		b.changeMainImg(0);

		$(this.list).each(function(){
			preload(this.main_img);
			preload(this.pre_img_act);
		});
		preload('/js/js_bunner/img/arrowDown_hover.gif');
		preload('/js/js_bunner/img/arrowDown_click.gif');
		preload('/js/js_bunner/img/arrowUp_hover.gif');
		preload('/js/js_bunner/img/arrowUp_click.gif');
		
		// set preview images
		i=0;
		var f_set_pre = function(cont){
			$("#pre_list").append('<img id="'+cont.wk_id+'" class="icon" src="'+cont.pre_img+'" alt="'+cont.title+'" title="" width="230" height="74" />');
			b.viewList.push(cont.no);
		};
		var cnt = $(this.list).size();
		var last3 = cnt - 3;
		var id_no = 0;
		$(this.list).each(function(){
			if(i >= last3){
				this.wk_id = "pre_"+id_no;
				this.no = i;
				f_set_pre(this);
				id_no++;
			}
			i++;
		});
		var i2 = 0;
		$(this.list).each(function(){
			this.wk_id = "pre_"+id_no;
			this.no = i2;
			f_set_pre(this);
			id_no++;
			i2++;
		});
	}
	this.viewAct = function(st){
		$('#pre_list > img').each(function(){
			var wk = $(this).attr("id").split("_");
			var widx=wk[1];
			var flg_upd = false;
			if(widx == (b.act_no-1) || widx == b.act_no || widx == (b.act_no+1) ){
				flg_upd = true;
			}
			if(st == 'init' || flg_upd ){
				if(widx==b.act_no){
					$(this).attr("src",b.list[b.viewList[widx]].pre_img_act);
					$(this).hover(
						function(){
							var wk = $(this).attr("id").split("_");
							var widx=wk[1];
							//alert(widx);
							$(this).attr("src",b.list[b.viewList[widx]].pre_img_act);
						},
						function(){
							var wk = $(this).attr("id").split("_");
							var widx=wk[1];
							$(this).attr("src",b.list[b.viewList[widx]].pre_img_act);
						}
					);
					b.changeMainImg(b.viewList[b.act_no]);
				}else{
					$(this).attr("src",b.list[b.viewList[widx]].pre_img);
					$(this).hover(
						function(){
							var wk = $(this).attr("id").split("_");
							var widx=wk[1];
							$(this).attr("src",b.list[b.viewList[widx]].pre_img_act);
							$('#pre_list > *:eq('+b.act_no+')').attr("src",b.list[b.viewList[b.act_no]].pre_img);
							b.changeMainImg(b.viewList[widx]);
						},
						function(){
							var wk = $(this).attr("id").split("_");
							var widx=wk[1];
							$(this).attr("src",b.list[b.viewList[widx]].pre_img);
							$('#pre_list > *:eq('+b.act_no+')').attr("src",b.list[b.viewList[b.act_no]].pre_img_act);
							b.changeMainImg(b.viewList[b.act_no]);
						}
					);
				}
			}
			if(st == 'init'){
				$(this).click(function(){
					//location.href=b.list[b.viewList[widx]].link;
					if(b.list[b.viewList[widx]].target == '_self'){
						location.href=b.list[b.viewList[widx]].link;
					}else{
						window.open(b.list[b.viewList[widx]].link, b.list[b.viewList[widx]].target);
					}
				});
			}
			b.widx++;
		});
	}
	this.changeMainImg = function(no){
		if(no != this.bigimgid && b.moving == false){
			this.bigimgid = no;
			if($('#js_bunner img.big_img').size() >=2 ){
				$('#js_bunner img.big_img:not(:first)').remove();
			}
			$('#big_imgs').append('<img src="'+b.list[no].main_img+'" class="big_img" style="filter: alpha(opacity=50); -moz-opacity:0.50; opacity:0.50;"/>');
			$('#js_bunner img.big_img:first').fadeTo(200, 0.5, function(){
				$(this).remove();
				//alert("a");
				$('#js_bunner img.big_img').fadeTo(200,1);
			});
			$('.big_img').click(function(){
				if(b.list[no].target == '_self'){
					location.href=b.list[no].link;
				}else{
					window.open(b.list[no].link, b.list[no].target);
				}
			});
		}
	}
	this.setButton = function(){
		var ext = '.png';	
		if (typeof document.documentElement.style.maxHeight == "undefined") {
			// ie6
			ext = '.gif';
			$('#js_button_up').attr("src", '/js/js_bunner/img/arrowUp'+ext);
			$('#js_button_down').attr("src", '/js/js_bunner/img/arrowDown'+ext);
		}
		$("#js_button_up").hover(
			function(){
				$(this).attr("src", '/js/js_bunner/img/arrowUp_hover'+ext);
			},
			function(){
				$(this).attr("src", '/js/js_bunner/img/arrowUp'+ext);
			}
		);
		$("#js_button_down").hover(
			function(){
				$(this).attr("src", '/js/js_bunner/img/arrowDown_hover'+ext);
			},
			function(){
				$(this).attr("src", '/js/js_bunner/img/arrowDown'+ext);
			}
		);
		$("#js_button_up").mousedown(
			function(){
				$(this).attr("src", '/js/js_bunner/img/arrowUp_click'+ext);
			}
		);
		$("#js_button_down").mousedown(
			function(){
				$(this).attr("src", '/js/js_bunner/img/arrowDown_click'+ext);
			}
		);
		$("#js_button_up").click(function(){
			func_up_button();
			$("#js_button_up").attr("src", '/js/js_bunner/img/arrowUp_hover'+ext);
		});
		$("#js_button_down").click(function(){
			func_down_button();
			$("#js_button_down").attr("src", '/js/js_bunner/img/arrowDown_hover'+ext);
		});
	}
	this.scrollPre = function(adj, time){
		var cnt = b.act_no-1+adj;
		$('#pre_list').scrollTo('img:eq('+cnt+')',time);
	}
}

function func_up_button(){
	b.act_no--;
	if(b.act_no == 0){  // for loop
		b.act_no = $(b.list).size() ;
		b.scrollPre(+1,0);
	}
	b.viewAct('re');
	b.scrollPre(0,200);
}
function func_down_button(){
	b.act_no++;
	if(b.act_no == $(b.list).size()+2){  // for loop
		b.act_no = 2;
		b.scrollPre(-1,0);
	}
	b.viewAct('re');
	b.scrollPre(0,200);
}

function preload(img){
   var imgObj = new Image();
   imgObj.src = img;
}

function Timer(){
	this.flg = false;
	this.time = 5000;
	this.timer;
	this.start = function(){
		if(!this.flg){
			this.flg = true;
			this.timer = setTimeout('t.task()', t.time);
		}
	}
	this.task = function(){
		if(this.flg){
			func_down_button();
			this.timer = setTimeout('t.task()', t.time);
		}
	}
	this.stop = function(){
		this.flg = false;
		clearTimeout(this.timer);
	}
}

