// ランコム公式ツイッター
var lastLancomeInc = 0;
var lancomeInc = 0;
var lancomes = new Array();
var lancomeY = 0;

// #UV twitter
var lastUvTwitterInc = 0;
var uVTwitterInc = 0;
var uvTwitters = new Array();
var uvTwitterY = 0;

// #UV facebook
var lastUvFacebookInc = 0;
var uvFacebookInc = 0;
var uvFacebooks = new Array();
var uvFacebookY = 0;

var interval = 5000;
var intervalId;

$(document).ready(function(){
	
	function init(){
		
		$('.ro a img').rollover();
	
		$("#tweetLancomeScrollBox").empty();
		$("#tweetUvScrollBox").empty();
		$("#facebookUvScrollBox").empty();
		
		_getLancome();
		_getUvTwitter();
		_getUvFacebook();
		_startInterval();
	}

	init();
});

/* ------------------------------
 1ツイートずつ表示
------------------------------ */
function _startInterval() {
	intervalId = setInterval("_doIndication()", interval);
}

function _doIndication() {
	_doLancome();
	_doUvTwitter();
	_doUvFacebook();
}

/* ------------------------------
 Lancome_jp
------------------------------ */
function _getLancome() {
	var url = "tweet/tweet.json";
	$.getJSON(url,function(data) {
	$.each(data, function(i, item) {
		lancomes.push(item);
	});
	return;
	});	
}

function _appearLancome() {
	$("#tweetLancome"+(lastLancomeInc-1)).animate({opacity:1.0}, {duration:500});
}

function _doLancome() {
	if(lancomes.length <= 0) return;
	var item = lancomes[lancomeInc];
	var s = "";
	var id = "tweetLancome"+lancomeInc;
	s+= "<div class='tweetLancomeTimeline' id="+id+">";
	s+= "<div class='tweetIconBox'><img src='"+item.user.profile_image_url+"' /></div>";
	s+= "<div class='tweetTextBox'>";
	s+= "<div class='tweetTextBoxName'><p class='pTweetId'>"+item.user.screen_name+"</p></div>";
	s+= "<div class='tweetTextBoxTweet'><p class='pTweet'>"+_formatTwitterString(item.text)+"</p></div>";
	s+= "</div>";
	s+= "<div class='tweetLineBox'></div>";
	s+= "</div>";
	$("#tweetLancomeScrollBox").prepend(s);
	lancomeY = $("#tweetLancome"+lancomeInc).height();
	$("#tweetLancomeScrollBox").css("top", -lancomeY);
	$("#tweetLancomeScrollBox").animate({top:0}, {duration:500, complete:_appearLancome});
	$("#tweetLancome"+lancomeInc).css("opacity", "0.0");
	lancomeInc++;
	lastLancomeInc = lancomeInc;
	if(lancomeInc >= lancomes.length) {
		lancomeInc = 0;
	}
}

/* ------------------------------
 #uv twitter
------------------------------ */
function _getUvTwitter() {
	$.ajax({
		type: "GET",
		url: "http://www.beaute-lancome.jp/uvbb/data/getGuardTwitterData.php",
		data: {},
		dataType: "jsonp",
		jsonp : "jsoncallback",
		complete: function() {
		},
		success: function(data, status){
			if(data.result == "OK") {
				uvTwitters = data.data;
			} else if(data.result == "NG") {
	//			console.log(data.message);
			}
		}
	});
}

function _appearUvTwitter() {
	$("#tweetUv"+(lastUvTwitterInc-1)).animate({opacity:1.0}, {duration:500});
}

var twitterIcons =
[
"https://si0.twimg.com/profile_images/1125559358/LOKA____normal.jpg",
"https://si0.twimg.com/profile_images/641585591/hehe_normal.gif",
"https://si0.twimg.com/profile_images/1529379195/prismtone_normal.jpg"
]

function _doUvTwitter() {
	if(uvTwitters.length <= 0) return;
	var item = uvTwitters[uVTwitterInc];
	var s = "";
	var id = "tweetUv"+uVTwitterInc;
	s+= "<div class='tweetUvTimeline' id="+id+">";
	var n = parseInt(Math.random()*3);
	var icon = twitterIcons[n];
	s+= "<div class='tweetIconBox'><img src='"+item.icon+"' /></div>";
	s+= "<div class='uvTextBox'>";
	s+= "<div class='uvTextBoxName'><p class='pTweetId'>"+item.name+"</p></div>";
	s+= "<div class='uvTextBoxTweet'><p class='pTweet'>"+_formatTwitterString(item.note)+"</p></div>";
	s+= "</div>";
	s+= "<div class='tweetLineBox'></div>";
	s+= "</div>";
	$("#tweetUvScrollBox").prepend(s);
	uvTwitterY = $("#tweetUv"+uVTwitterInc).height();
	$("#tweetUvScrollBox").css("top", -uvTwitterY);
	$("#tweetUvScrollBox").animate({top:0}, {duration:500, complete:_appearUvTwitter});
	$("#tweetUv"+uVTwitterInc).css("opacity", "0.0");
	uVTwitterInc++;
	lastUvTwitterInc = uVTwitterInc;
	if(uVTwitterInc >= uvTwitters.length) {
		uVTwitterInc = 0;
	}
}

/* ------------------------------
 #uv facebook
------------------------------ */
function _getUvFacebook() {
	$.ajax({
		type: "GET",
		url: "http://www.beaute-lancome.jp/uvbb/data/getGuardFacebookData.php",
		data: {},
		dataType: "jsonp",
		jsonp : "jsoncallback",
		complete: function() {
		},
		success: function(data, status){
			if(data.result == "OK") {
				uvFacebooks = data.data;
			} else if(data.result == "NG") {
//				console.log(data.message);
			}
		}
	});


}

function _appearUvFacebook() {
	$("#facebookUv"+(lastUvFacebookInc-1)).animate({opacity:1.0}, {duration:500});
}

var facebookIcons =
[
"http://profile.ak.fbcdn.net/hprofile-ak-snc4/371243_1301048420_135499169_q.jpg",
"http://profile.ak.fbcdn.net/hprofile-ak-ash2/372802_119669288106086_278544757_q.jpg",
"http://profile.ak.fbcdn.net/hprofile-ak-snc4/202926_100002231361526_214564_q.jpg"
]

function _doUvFacebook() {
	if(uvFacebooks.length <= 0) return;
	var item = uvFacebooks[uvFacebookInc];
	var s = "";
	var id = "facebookUv"+uvFacebookInc;
	s+= "<div class='facebookUvTimeline' id="+id+">";
	var n = parseInt(Math.random()*3);
	var icon = facebookIcons[n];
	s+= "<div class='tweetIconBox'><img src='"+item.icon+"' /></div>";
	s+= "<div class='uvTextBox'>";
	s+= "<div class='uvTextBoxName'><p class='pTweetId'>"+item.name+"</p></div>";
	s+= "<div class='uvTextBoxTweet'><p class='pTweet'>"+_formatTwitterString(item.note)+"</p></div>";
	s+= "</div>";
	s+= "<div class='tweetLineBox'></div>";
	s+= "</div>";
	$("#facebookUvScrollBox").prepend(s);
	uvFacebookY = $("#facebookUv"+uvFacebookInc).height();
	$("#facebookUvScrollBox").css("top", -uvFacebookY);
	$("#facebookUvScrollBox").animate({top:0}, {duration:500, complete:_appearUvFacebook});
	$("#facebookUv"+uvFacebookInc).css("opacity", "0.0");
	uvFacebookInc++;
	lastUvFacebookInc = uvFacebookInc;
	if(uvFacebookInc >= uvFacebooks.length) {
		uvFacebookInc = 0;
	}
}

/* ------------------------------
 変換 
------------------------------ */
function _formatTwitterString(str){
str = str.replace(/((ftp|http|https?):\/\/([-\w\.]+)+(:\d+)?(\/([\w/_\.]*(\?\S+)?)?)?)/gm,'<a href="$1" target="_blank">$1</a>');
str = str.replace(/@(\w+)/gm,'<a href="http://twitter.com/$1" target="_blank">@$1</a>');
str = str.replace(/#(\w+)/gm,'<a href="http://search.twitter.com/search?q=$1" target="_blank">#$1</a>');
return str;
}


function _relativeTime(pastTime){
if($.trim(pastTime) == "") return "";
var create = pastTime.split(" ");
var post = create[1] + " " +  create[2] + ", " + create[5] + " " + create[3];
var date = new Date(post);
var origStamp = Date.parse(date);
var curDate = new Date();
var currentStamp = curDate.getTime();
var difference = parseInt((currentStamp - origStamp)/1000);
if(difference < 0) return false;
if(difference <= 5)            return "いまさっき";
if(difference <= 20)         return "数秒前";
if(difference <= 60)         return "1分以内";
if(difference < 3600)         return parseInt(difference/60)+" 分前";
if(difference <= 1.5*3600)       return "1時間前";
if(difference < 23.5*3600)      return Math.round(difference/3600)+" 時間前";
if(difference < 1.5*24*3600)   return "1日前";
var dateArr = pastTime.split(' ');
return (parseInt(difference / 86400)).toString() + '日前';
}


function _hashrelativeTime(pastTime){
var origStamp = Date.parse(pastTime);
var curDate = new Date();
var currentStamp = curDate.getTime();
var difference = parseInt((currentStamp - origStamp)/1000);
if(difference < 0) return false;
if(difference <= 5)            return "いまさっき";
if(difference <= 20)         return "数秒前";
if(difference <= 60)         return "1分以内";
if(difference < 3600)         return parseInt(difference/60)+" 分前";
if(difference <= 1.5*3600)       return "1時間前";
if(difference < 23.5*3600)      return Math.round(difference/3600)+" 時間前";
if(difference < 1.5*24*3600)   return "1日前";
var dateArr = pastTime.split(' ');
return (parseInt(difference / 86400)).toString() + '日前';
}
