var eventSlide;

$(function(){
	var $eventContainerDiv = $('#eventContainerDiv');	//이벤트들의 컨테이너
	var $bgDiv = $('#bgDiv');							//배경그림자
	var $eventBtn = $('#eventBtn').parent();			//이벤트 오픈버튼.. png에 클릭이벤트가 안되므로 div에 버튼 이벤트를
	var $contentDiv = $('#eventDiv');					//이벤트들
	var $content;										//컨텐츠
	var $dotContainerDiv = $('#dotDiv');				//도트버튼 컨테이너
	var timerId;

	var currentEventNumber = 0;
	var totalEventNumber = 0;
	
	var eventUrl = new Array();
	
	//생성자
	eventSlide = {
	     add: function(url){
			eventUrl.push(url);
	     },
	
	     start: function(){
	     	initIFrame();
			initEvent();
			initDot();
			changeEvent();
			contentLeaveEventAdd();
	     }
	}
	
	function initIFrame(){
		for(var i=0; i<eventUrl.length; i++){
			var div = $('<div><iframe frameborder=0 scrolling="no"></iframe></div>').appendTo($contentDiv);
			div.children().attr({	'width' : '361px',
									'height' : '487px',
									'allowtransparency' : 'true',
									'src' : eventUrl[i]
								});
		}
	}
	
	function initEvent(){
		$content = $('#eventDiv > div');
		
		$bgDiv.hide();
		$eventContainerDiv.css('left', '-361px');
		$eventBtn.css({	'cursor': 'pointer' });
		$content.css({	'position' : 'absolute',
						'width' : '361px',
						'height' : '469px'
					});
		
		//버튼클릭
		$eventBtn.bind('click', function(evt){
			if($eventContainerDiv.css('left') != "0px"){
				openEvent();
			}else{
				closeEvent();
			}
		});
	}

	function initDot(){
		totalEventNumber = $content.length;
		for(var i=0; i<totalEventNumber; i++){
			$content.hide();
			$dotContainerDiv.append('<div><span><img src="../Main/images/event_dot_off.gif" alt="dot_off"></span><span><img src="../Main/images/event_dot_on.gif" alt="dot_on"></span></div>');

			var div = $dotContainerDiv.find('div').css({	'float' : 'left',
															'marginLeft' : '5px'
														});
			var span = div.eq(i).find('span');
			span.css({	'display': 'block',
						'width' : '18px'
					}).filter(':last').css('display', 'none');
		}
		
		div.css('cursor', 'pointer');
		div.bind('click', function(evt){
			var obj = $(evt.currentTarget);
			var idx = obj.index();
			
			if(currentEventNumber != idx){
				
				currentEventNumber = idx;
				changeEvent();
				
			}
		});
		
		//$dotContainerDiv.css( {	'left' : $content.width() - $dotContainerDiv.width() - 16,
		$dotContainerDiv.css( {	'left' : (($content.width() - $dotContainerDiv.width()) / 2) - 4,
		 						'top' : '12px'
								});
	}
	
	//이벤트변경
	function changeEvent(){
		$dotContainerDiv.find('div > span').show().filter(':odd').hide(); //전부 off 로
		$content.hide();
		
		var span = $dotContainerDiv.find('div:eq('+currentEventNumber+') > span');
		span.toggle(); //off는 숨기고 on을 보이게한다.
		
		$content.eq(currentEventNumber) .show()
										.css('opacity', '0')
										.animate({	'opacity': '1'
										},{queue:false, duration:1000, easing:"easeOutQuint"});
	}
	
	//열림
	function openEvent(){
		$contentDiv.css('display', 'none');
		//하나라도 있다면.
		if(totalEventNumber > 0){
			
			$contentDiv.eq(0).css('display', 'block');
		
			$bgDiv.show();
			$eventContainerDiv.animate({	'left': '0px'
										},{queue:false, duration:500, easing:"easeOutQuint"});
		}
	}
	
	//닫힘
	function closeEvent(){
		$eventContainerDiv.animate({	'left': '-361px'
							},{queue:false, duration:400, easing:"easeOutQuint", complete:comp});
							
		function comp(){
			$bgDiv.hide();
			timerStop();
			contentLeaveEventAdd();
		}
	}
	
	//타이머 시작
	function timerStart(){
		//alert('start');
		timerStop();
		if(totalEventNumber > 1)timerId = setInterval(timer, 5500);
	}
	
	//타이머 종료
	function timerStop(){
		//alert('stop');
		clearInterval(timerId);
	}
	
	//타이머 내용
	function timer(){
		var dotBtn = $dotContainerDiv.find('div');
		var num = currentEventNumber + 1;
		
		if(num >= totalEventNumber)num = 0;

		$(dotBtn[num]).trigger('click');
	}
	
	//타이머 조절을 위한 컨텐츠 DIV 오버&아웃 이벤트
	function contentEnterEventAdd(){
		$eventContainerDiv.bind('mouseenter', function(evt){
			//이벤트가 열려있는 상태일때만
			if($eventContainerDiv.css('left') != '-361px'){
				var obj = $(evt.currentTarget);
				obj.unbind('mouseenter');
										
				timerStop();
				contentLeaveEventAdd();  
			}
		});
	}
	
	function contentLeaveEventAdd(){
		$eventContainerDiv.bind('mouseleave', function(evt){
			//이벤트가 열려있는 상태일때만
			if($eventContainerDiv.css('left') != '-361px'){
				var obj = $(evt.currentTarget);
				obj.unbind('mouseleave');
				
				timerStart();
				contentEnterEventAdd();
			}
		});
	}
	
	if($.browser.msie && parseInt($.browser.version) < 8){
		DD_belatedPNG.fix('.myPNG');
	}
})
