﻿/*************************************************
* functions with jQuery
* since:	2010-11-25
* last update: 2011-01-11
* create: morita
*************************************************/
/*====================================================================


 ■　top.js


--------------------------------------------------------------------*/


/*====================================================================

 □　初期設定

--------------------------------------------------------------------*/
$(function (){
	//Char limit
	var maxLength=38
	//twitter api
	var account = "TANDOOR_CURRY"; 
	var twitAPI = "http://api.twitter.com/1/statuses/user_timeline/"+account+".json?callback=?";
	//twitter limit
	var tMax=3
	//twitter num
	var tNum=0
	//interval
	var tInterval
	//
	function jsonTwit(){
		$.getJSON(twitAPI, function(data){
			if(data.length<=tMax){
				tMax=data.length
			}
			$.each(data, function(i, item){
				var txt = item.text
				.replace(/(https?:\/\/[-a-z0-9._~:\/?#@!$&amp;amp;amp;\'()*+,;=%]+)/ig,"<a href='$1'>$1</a>")
				.replace(/@+([_A-Za-z0-9-]+)/ig,"<a href='http://twitter.com/$1'>@$1</a>")
				.replace(/#+([_A-Za-z0-9-]+)/ig,"<a href='http://search.twitter.com/search?q=$1'>#$1</a>");
				if(txt.length>=maxLength){
					txt=txt.slice(0,maxLength)+"..."
				}
				$('<li></li>').html(txt).prependTo(".top-twitter ul");
				if(i == tMax){ return false; }
			});
			//twitter link
			$('.top-twitter').click(function(){
				var w=window.open("http://twitter.com/#!/TANDOOR_CURRY");
			}).css('cursor','pointer')
			//setting
			$(".top-twitter ul").css({'top':'40px'})
			//Interval
			twitterTimer()
		},"json");
	};
	jsonTwit();
	//Timer
	function twitterTimer(){
		clearInterval(tInterval)
		//animation
		$(".top-twitter ul").animate({'top':tNum*40*(-1)},'slow')
		if(tNum<(tMax-1)){
			tNum++
		}else{
			tNum=0
		}
		tInterval=setInterval(twitterTimer,5000)
	}
	//top
	var topPath="common/js/topdata.json"
	var topMax=3
	$.getJSON(topPath, function(data){
		if(data.length<=topMax){
			topMax=data.topImage.length
		}
		var topImgArr=new Array()
		var topImgNav=new Array()
		for(var p=0;p<topMax;p++){
			var topImgLi='<li><a href="'+data.topImage[p].url+'" target="'+data.topImage[p].target+'"><img src="'+data.topImage[p].imgSrc+'" width="700" height="322" alt="" /></a></li>'
			topImgArr.push(topImgLi)
			//
			var topNavLi='<li><img src="common/img/top/top_main_nav_def.png" width="20" height="24" alt="" /></li>'
			topImgNav.push(topNavLi)
		}
		$('#top-main-image').append(topImgArr.join(""))
		$('.top-main-nav').append(topImgNav.join(""))
		//
		topImageInit()
	})
	//top animate
	var topNum=0;
	var topOld=topNum;
	var topTimer
	var interval=8000
	
	function topImageInit(){
		$('#top-main-image li').hide()
		$('.top-main-nav li').css('cursor','pointer').bind('click',topClick).hover(function(){
			$(this).fadeTo('fast',0.5)
		},function(){
			$(this).fadeTo('fast',1)
		})
		topNavActive(topNum)
		$('#top-main-image li:first').fadeIn('slow',function(){topTimer=setInterval(topInterval,interval)})
	}
	//nav active
	function topNavActive(tNum){
		var target=$('.top-main-nav li').eq(tNum)
		//
		var aSrc=target.find('img').attr('src').replace('_def.','_act.')
		target.find('img').attr('src',aSrc)
		//
		target.css('cursor','default').unbind('click',topClick).unbind("mouseenter").unbind("mouseleave").fadeTo(0,1)
	}
	//nav non active
	function topNavDefault(oNum){
		var target=$('.top-main-nav li').eq(oNum)
		//
		var dSrc=target.find('img').attr('src').replace('_act.','_def.')
		target.find('img').attr('src',dSrc)
		//
		target.css('cursor','pointer').bind('click',topClick).hover(function(){
			$(this).fadeTo('fast',0.5)
		},function(){
			$(this).fadeTo('fast',1)
		})
	}
	//nav click
	function topClick(){
		topNavDefault(topNum)
		topNum=$('.top-main-nav li').index(this)
		topImageFade()
		topNavActive(topNum)
		topOld=topNum
	}
	//top fade
	function topImageFade(){
		clearInterval(topTimer)
		var topObj=$('#top-main-image li').eq(topNum)
		var oldObj=$('#top-main-image li').eq(topOld)
		//
		topObj.hide()
		//
		oldObj.fadeOut()
		topObj.fadeIn('slow',function(){topTimer=setInterval(topInterval,interval)})
		//
	}
	//setInterval
	function topInterval(){
		topNavDefault(topNum)
		topOld=topNum
		if(topNum<topMax-1){
			topNum++
		}else{
			topNum=0
		}
		topImageFade()
		topNavActive(topNum)
	}
})




