/**
 * twitterer.js
 */
		var screen_name = '';
		var account_info = '';
		var tweet_str = '';
		var page = 1;
		var tweets_html="";	// html for tweets searched by keyword "INORI"

		// defines 
		var hash_tag = "ORIZURU";
		//var hash_tag = "stitchlab";

		var tweet_view_cnt	= 15;

		//FlashからのTweetデータ
		function sendTwitt(str){
				tweet_str = str;
				if(screen_name == '') {
						getJsonp('https://twitter.com/account/verify_credentials.json?callback=funcOwnCredential');
				}
				else{
						resSwf();
				}
		}

		// for authenticate twitter.
		function getJsonp(url){
				var s = document.createElement('script');
				var head = document.getElementsByTagName('head').item(0);
				s.setAttribute('type', 'text/javascript');
				s.setAttribute('src', url);
				s.setAttribute('charset', 'UTF-8');
				head.appendChild(s);
		}

		// call after authentication.
		function funcOwnCredential(obj) {
				screen_name = obj.screen_name;
				account_info = obj;
				resSwf();
		}

		// Flashに認証成功のレスポンス返す
		function resSwf(){
				//success or error
				var swf = document.all? window["cont"] : document["cont"];
				swf.sendRes("success");
		}

		// Flashアニメーション終了時
		function animeStatus(val){
				var url = "https://twitter.com/statuses/update.xml";
				var status = tweet_str + ' #' + hash_tag + ' http://bit.ly/bAiqve';
				tweet_str = status;
				var vals = new Array(createhidden('status', status));
				updateTwitter(url, vals);
		}

		function createhidden(name, value) {
				var h = this.document.createElement('input');
				h.type = 'hidden';
				h.name = name;
				h.value = value;
				return h;
		}

		function getTweets(page){
			if(page == '1'){tweets_html="";}
				var tweeturl = "http://search.twitter.com/search.json?q=%23"+ hash_tag +"&page="+ page +"&callback=?&rpp=" + tweet_view_cnt;

				$.getJSON(tweeturl, function(data){
					$.each(data.results , function(i, replace){
						tweets_html += prepareTweet(replace.profile_image_url, replace.from_user, replace.text, replace.created_at);
					})
					$("#twitter_text").html(tweets_html);
			});
		}

		// prepare one Tweet
		function prepareTweet(profile_image_url, user_name, user_tweet, created){
			var prepared_tweet = "";
			prepared_tweet += "<li><a href=\"http://twitter.com/" + user_name + "\"><img src=\""+ profile_image_url +"\" width=\"48\" height=\"48\" /></a>";
			prepared_tweet += "<span><a href=\"http://twitter.com/" + user_name + "\">" + user_name +"</a></span> ";
			prepared_tweet += user_tweet
				.replace(/(https?:\/\/[-a-z0-9._~:\/?#@!$&\'()*+,;=%]+)/ig,'<span><a href="$1">$1</a></span>')
				.replace(/@+([_A-Za-z0-9-]+)/ig, '<a href="http://twitter.com/$1">@$1</a>')
				.replace(/#+([_A-Za-z0-9-]+)/ig, '<span><b><a href="http://search.twitter.com/search?q=$1">#$1</a></b></span>');
			prepared_tweet += "<span class=\"time\">（"+ relative_time(created) +"）</span>";
			prepared_tweet += "</li>";

			return prepared_tweet;
		}

		function relative_time(time_value) {
			if(time_value == '1'){
				return '10秒以内前';
			}
			else{
				var parsed_date = Date.parse(time_value);
				var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
				var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
				if (delta < 60) {
					return '1分前';
				}
				else if (delta < 120) {
					return '2分前';
				}
				else if (delta < (45 * 60)) {
					return (parseInt(delta / 60)).toString() + '分前';
				}
				else if (delta < (90 * 60)) {
					return '1時間前';
				}
				else if (delta < (24 * 60 * 60)) {
					return (parseInt(delta / 3600)).toString() + '時間前' //' hours ago';
				}
				else if (delta < (48 * 60 * 60)) {
					return '1日前' //'1 day ago';
				}
				else {
					return (parseInt(delta / 86400)).toString() + '日前' //' days ago';
				}
			}
		}


		function updateTwitter(url, vals){
				var f = this.document.getElementById('TwiterAPIForm');

				if (!f) {
						f = this.document.createElement('form');
						f.id = 'TwitterAPIForm';
						f.method = 'POST';
						f.target = 'TwitterAPIFrame';
						f.style.display = 'none';
						var i = this.document.createElement('iframe');
						i.name = 'TwitterAPIFrame';
						f.appendChild(i);
						this.document.body.appendChild(f);
						i.contentWindow.name = i.name;
				}
				f.action = url;
				var children = f.childNodes;
				var dels = new Array();
				for (var i=0; i<children.length; i++)
				{
						var c = children[i];
						if (c.tagName.toLowerCase() == 'input') {
								dels.push(c);
						}
				}
				for (var i=0; i<dels.length; i++) {
						f.removeChild(dels[i]);
				}
				if (vals) {
						for (var i=0; i<vals.length; i++) {
								f.appendChild(vals[i]);
						}
				}
				f.submit();

				// put in my tweet.
				var my_tweet_html = prepareTweet(account_info.profile_image_url, account_info.screen_name, tweet_str, '1');
				$("#my_tweet").html(my_tweet_html);
		}


		function my_updateTwitter(tweet_str, profile_image_url, screen_name){
				var status = tweet_str + ' #' + hash_tag + ' http://bit.ly/bAiqve';
				var my_tweet_html = prepareTweet(profile_image_url, screen_name, status, '1');
				$("#my_tweet").html(my_tweet_html);
		}

		//Flash読み込み部分
		function putSWF(){
				var flashvars = {};
				var params = {
						menu: "false",
						allowScriptAccess: "always"
				};
				var attributes = {
						id: "cont",
						name: "cont"
				};
				swfobject.embedSWF("sendEx.swf", "flashContent", "400", "300", "9.0.0","expressInstall.swf", flashvars, params, attributes);
		}

		$(function(){
					$(".more").click(function() {
						page++;
						getTweets(page);
						if(page > 16){
							location.href = "http://twitter.com/#search?q=%23ORIZURU";
							$(this).html("<a href=\"http://twitter.com/#search?q=%23ORIZURU\"><img class=\"on\" src=\"/jp/images/bt_moretweets.gif\" alt=\"Read More\" /></a>");
						}
						else{
							$(this).html("<a href=\"javascript:void(0);\"><img class=\"on\" src=\"/jp/images/bt_more.gif\" alt=\"Read More\" /></a>");
						}
					});

					$(".more").hover(
						function(){
							if(page > 15){
								$(this).html("<a href=\"http://twitter.com/#search?q=%23ORIZURU\"><img class=\"on\" src=\"/jp/images/bt_moretweets_on.gif\" alt=\"Read More\" /></a>");
							}
							else{
								$(this).html("<a href=\"javascript:void(0);\"><img class=\"on\" src=\"/jp/images/bt_more_on.gif\" alt=\"Read More\" /></a>");
							}
						},
						function(){
							if(page > 15){
								$(this).html("<a href=\"javascript:void(0);\"><img class=\"on\" src=\"/jp/images/bt_moretweets.gif\" alt=\"Read More\" /></a>");
							}
							else{
								$(this).html("<a href=\"javascript:void(0);\"><img class=\"on\" src=\"/jp/images/bt_more.gif\" alt=\"Read More\" /></a>");
							}
						}
					);
		});

