jQuery(document).ready( function($) {
	
	//COUNT DOWN
	if(jQuery().countdownToEvent) {
		
		$('#countdown').countdownToEvent({
			year:2012,
			month:10,
			day:9,
			text:new Array('Days Left'),
			refresh:false
		});
	}
	
	//HEADER ROTATING IMAGE
	if(jQuery().fadeBanners) {
		var HEADERIMG = $('#header-img').fadeBanners({
			duration:8000,
			duration2:1000,
			loading:true,
			buttonNumber:false,
			buttonStyle:false
		});
	}
	
	//NEWS TICKER
	if(jQuery().newsTicker) {
		var NEWSTICKER = $('#latest_news_ticker').newsTicker({
			margin:100,
			ftp:25,
			speed:2
		});
	}
	
	//TWITTER
	if(jQuery().getTweetsList) {
		$('#tweet_box').getTweetsList({
			url:'wp-content/themes/iptvee11/js/getTweetsList/php/getTweet.php',
			count:5,
			screenName:'IPTVForumEE',
			duration:8000,
			refresh:0,
			OAuth:true
		});	
	}
	
	//EXHIBITOR LIST
	if(jQuery().listRotatorVertical) {
		var EXHIBITLIST = $('#exhibit-list').listRotatorVertical({
			direction:1,
			duration:4000,
			display:7,
			speed:300,
			textAlpha:1
		});
	}
	
	//VIDEO POPUP FROM VIDEO BOX
	if(window.XMLHttpRequest) {
		$.videoPopup({
			zIndex:500
		});
	}
	
	//SPONSOR BOX AT SIDEBAR
	if(jQuery().listFlow) {
		var SPONSORBOX = new Array();
		$('.sponsors_box_sidebar').each( function() {
			var func = $(this).listFlow({
				fps:25,
				display:2,
				speed:1,
				direction:-1
			});
			SPONSORBOX.push(func);
		});
	}
	
	//VIDEO POPUP ADDITIONAL FUNCTION
	$('#video_screen').find('a').click( function(e) {
		HEADERIMG.stopTimer();
		NEWSTICKER.stopTimer();
		EXHIBITLIST.stopTimer();
		for(var i=0;i<SPONSORBOX.length;i++) {
			SPONSORBOX[i].stopTimer();
		}
	});
	$('#black_box_close_box').live('click', function(e) {
		HEADERIMG.startTimer();
		NEWSTICKER.startTimer();
		EXHIBITLIST.startTimer();
		for(var i=0;i<SPONSORBOX.length;i++) {
			SPONSORBOX[i].startTimer();
		}
	});



//VIDEO BOX SCRIPT

	
	var videoScreen = $('#video_screen');
	var videoNavi = $('#video_navi');
	var naviIcons = $('#video_navi .navi_icons').css({'overflow':'hidden','position':'relative'});
	var videoIcons = naviIcons.find('li');
	var iconTotal = videoIcons.length;
	var iconWidth = videoIcons.eq(0).width();
	var current = 0;
	var moving = false;
	
	var args = {
		range:4,
		speed:300
	}
	
	videoIcons.each( function(index) {	
		$(this).css({'position':'absolute','top':0,'left':index*iconWidth+'px'}).click( function(e) {
			e.preventDefault();
			changeDetail(index);
		});
		if(window.addEventListener) {
			document.getElementById('video_navi').getElementsByClassName('navi_icons')[0].getElementsByTagName('li')[index].addEventListener('touchstart', function(e){
				e.preventDefault();
				changeDetail(index);
			}, false);
		}
	});
	
	if(naviIcons.width() < iconTotal * iconWidth) {
		videoNavi.delegate('.navi_left', 'click', function(e) {
			e.preventDefault();
			goMove(1);
		});
		videoNavi.delegate('.navi_right', 'click', function(e) {
			e.preventDefault();
			goMove(-1);
		});
		if(window.addEventListener) {
			document.getElementById('video_navi').getElementsByClassName('navi_left')[0].addEventListener('touchstart', function(e) {
				e.preventDefault();
				goMove(1);
			}, false);
			document.getElementById('video_navi').getElementsByClassName('navi_right')[0].addEventListener('touchstart', function(e) {
				e.preventDefault();
				goMove(-1);
			}, false);
		}
	}else{
		videoNavi.find('.navi_left').css('visibility','hidden');
		videoNavi.find('.navi_right').css('visibility','hidden');	
	}
	
	function goMove(direction) {
		if(moving == 0) {
			moving = args.range+1;
			if(direction > 0) {
				var preLeft = iconWidth*direction*(-1);
				var endIcon = adjustIndex(current-1);
			}else{
				preLeft = iconWidth*args.range;
				endIcon = adjustIndex(current+args.range);
			}
			var indexes = new Array();
			indexes.push(endIcon);
			for(var i=0; i<args.range; i++) {
				indexes.push(adjustIndex(current+i));	
			}
			videoIcons.eq(endIcon).css({'left':preLeft});
			
			for(i=0; i<indexes.length; i++) {
				var icon = videoIcons.eq(indexes[i]);
				var nextLeft = icon.position().left+iconWidth*direction;
				videoIcons.eq(indexes[i]).stop(true,true).animate({'left':nextLeft+'px'}, args.speed, function() {
					moving--;
				});	
			}
			current = adjustIndex(current+direction*(-1));
		}
		return false;
	}
	
	function changeDetail(index) {
		var icon = videoIcons.eq(index);
		var screen = icon.attr('screen');
		var videosrc = icon.attr('videosrc');
		var imagesrc = icon.attr('imagesrc');
		videoScreen.find('a').attr({'videosrc':videosrc,'imagesrc':imagesrc}).find('img').attr('src',screen);
		return false;
	}
	
	function adjustIndex(index) {
		if(index >= iconTotal) return index-iconTotal;
		else if(index < 0) return iconTotal-1;
		else return index;
	}


//INTRO BOX

	
	var args = {
		btnHeight:78,
		speed:700,
		scrollbar:{
			width:15,
			bgColor:'#eeeeee',
			handleColor:'#aaaaaa'
		},
		scroller:true
	}
	
	var introCntsBox = $('#intro-box .intro_contents');
	var introBtns = $('#intro-box .intro_buttons').find('li');
	var introCnts = introCntsBox.css({'position':'relative'}).find('li');
	var btnWidth = introBtns.width();
	var boxHeight = $('#intro-box').height();
	var dragged = false;
	
	introBtns.eq(0).css({'background-position':btnWidth*(-2)+'px 0'}).addClass('active');
	
	introBtns.each( function(index) {
		$(this).hover( function(e) {
			e.preventDefault();
			dragged = false;
			if(!$(this).hasClass('active')) {
				$(this).css({'background-position':btnWidth*(-1)+'px '+args.btnHeight*index*(-1)+'px'});
			}
		},function(e) {
			e.preventDefault();
			if(!$(this).hasClass('active')) {
				$(this).css({'background-position':'0 '+args.btnHeight*index*(-1)+'px'});
			}
		});
		$(this).click( function() {
			introBtns.each( function(index2) {
				$(this).css({'background-position':'0 '+args.btnHeight*index2*(-1)+'px'}).removeClass('active');
			});
			introBtns.eq(index).css({'background-position':btnWidth*(-2)+'px '+args.btnHeight*index*(-1)+'px'}).addClass('active');
			introCnts.each( function(index3) {
				if(index3 != index)
					$(this).stop(true,true).animate({'opacity':0},args.speed, function() {
						$(this).hide();	
					});
				else 
					$(this).css('display','block').stop(true,true).animate({'opacity':1},args.speed);
			});
		});
	});
	
	//SET UP CONTENTS	
	introCnts.each( function(index) {
		var innerDiv1 = $('<div></div>').css({'position':'relative','margin':'10px 0','width':'100%','height':boxHeight-20+'px','overflow':'hidden'});
		var innerDiv2 = $(this).children('div').addClass('intro_cont_inner').css({'padding':'0 10px'}).appendTo(innerDiv1);		
		$(this).css({'position':'absolute','top':0,'left':0,'opacity':0,'width':'100%','overflow':'hidden','height':boxHeight+'px'}).append(innerDiv1);
		
////////////////////////////////		
//console.log(innerDiv2.height()+':'+innerDiv2.outerHeight()+':'+innerDiv2.innerHeight());
//The height method doesn't work in some case.
//if(innerDiv2.height() > boxHeight) {
/////////////////////////////////

	if(args.scroller) { 
			
			innerDiv2.css({'position':'absolute','left':0,'top':0,'padding-right':args.scrollbar.width+10+'px'});
			var scrollHandle = $('<div></div>').css({'position':'absolute','top':0,'left':0,'width':'100%','background-color':args.scrollbar.handleColor,'cursor':'pointer'});
			var scrollBar = $('<div></div>').addClass('intro_box_scrollbar_'+index).css({'position':'absolute','left':introCntsBox.width()-args.scrollbar.width+'px','top':0,'width':args.scrollbar.width+'px','height':'100%','background-color':args.scrollbar.bgColor}).append(scrollHandle);
			$(this).append(scrollBar);
			
			var handleHeight = boxHeight/innerDiv2.height()*boxHeight;
			scrollHandle.css('height',handleHeight+'px');
			
			var curPosi = 0;
			scrollBar.delegate('div', 'mousedown', function(e) {
				e.preventDefault();
				dragged = true;
				curPosi = e.pageY;
			});
			scrollBar.delegate('div', 'mouseup', function(e) {
				e.preventDefault();
				dragged = false;
				curPosi = 0;
			});
			scrollBar.delegate('div', 'mouseleave', function(e) {
				e.preventDefault();
				dragged = false;
				curPosi = 0;
			});
			scrollBar.delegate('div', 'mousemove', function(e) {
				e.preventDefault();
				if(dragged) {
					var move = e.pageY-curPosi;
					curPosi = e.pageY;
					scrollHandleMove($(this), move, innerDiv2);
				}
			});
			
			innerDiv2.mousewheel( function(e, delta) {
				e.preventDefault();
				var move = delta*-10;
				scrollHandleMove(scrollHandle, move, $(this));
			});
			
			//FOR MOBILE
			if(window.addEventListener) {
				var curPosiMobile = 0;
				var introBoxContents = document.getElementById('intro-box').getElementsByClassName('intro_contents')[0].getElementsByTagName('li')[index].getElementsByClassName('intro_cont_inner')[0];
				introBoxContents.addEventListener('touchstart', function(e) {
					e.preventDefault();
					dragged = true;
					curPosiMobile = e.touches[0].pageY;
				}, false);
				introBoxContents.addEventListener('touchend', function(e) {
					e.preventDefault();
					dragged = false;
					curPosiMobile = 0;
				}, false);
				introBoxContents.addEventListener('touchmove', function(e) {
					e.preventDefault();
					var move = (e.touches[0].pageY-curPosiMobile);
					curPosiMobile = e.touches[0].pageY;
					scrollHandleMove(scrollHandle, move, $(this));
				}, false);
			}
	}
	
		$(this).hide();
	});
	introCnts.eq(0).css({'opacity':1}).show();
	
	function scrollHandleMove(obj, move, cont) {
		var newPosi = obj.position().top+move;
		if(newPosi < 0) newPosi = 0;
		else if(newPosi > boxHeight-obj.height()) newPosi = boxHeight-obj.height();
		obj.css('top',newPosi+'px');
		var contPosi = (newPosi/boxHeight)*(cont.height()+60);
		cont.css('top',contPosi*(-1)+'px');
		return false;
	}

});
