﻿/**
 * 		default.js
 * 		
 * 		2010.06.01
 * 		author: nagasakihamu
 */

var nagasakihamu = window.nagasakihamu, ngsk = window.ngsk;
var nagasakihamu = window.nagasakihamu = window.ngsk = {};

// トップページメイン画像：
// jQuery.noConflict();
// RUN
jQuery(document).ready(function(){

	jQuery('h1').html('<img src="/images/header/logo.png" alt="長崎ハム" />');

	jQuery('#parallax').jparallax(
		{triggerExposesEdges: true}, 
		{xtravel:0, ytravel:0.1}, 
		{xtravel:0.6, ytravel:0.3}, 
		{xtravel:0.6, ytravel:0.3}, 
		{xtravel:0.5, ytravel:0.3}, 
		{xtravel:0.5, ytravel:-0.3}, 
		{xtravel:0, ytravel:0}
	);
	
	if (window.hamu.checkBrowser.IE && /MSIE 6/.test(navigator.userAgent) ) {
		jQuery('h1').empty();
		jQuery('#parallax').empty();
		jQuery('#header-img').html('<h1><img src="/images/header/logo_pre.jpg" alt="長崎ハム" /></h1>');
	}

});
// end


// twitter用
$(document).ready(function(){
    // TwitterID 設定
    var twitter_id = "nagasakihamu";
    
    // jQuery JSONP Core Plugin を使用
    $.jsonp({
    url : 'http://twitter.com/statuses/user_timeline/' + twitter_id + '.json?callback=?',
    success : function(source) {
    var i,j,k,word,days,days_of_week,time;
    var setting = {};
    var result = [];
    var parse_ws = /^\s+/g;
    
    for (i = 0; i < source.length; i++) {
        
        word = source[i].text;
        
        if (word === undefined) {
            continue;
        }
        
        // 先頭の半角・全角スペースを排除
        for (k = 0; k < word.length; k++) {
            if (parse_ws.test(word.charAt(0))) {
                word = word.slice(0);
                continue;
            } else if (word.charAt(0) === " ") {
                word = word.slice(1);
                continue;
            } else if (/\u3000/.test(word.charAt(0))) {
                word = word.slice(1);
                continue;
            } else if (!(parse_ws.test(word.charAt(0))) && !(/\u3000/.test(word.charAt(0))) && !(word.charAt(0) === " ")) {
                break;
            }
        }
        
        // 先頭に @ または .@ が付くツイートは省く
        if (/@/.test(word.charAt(0))) {
            continue;
        } else if (/\./.test(word.charAt(0))) {
            if (/@/.test(word.charAt(1))) {
                continue;
            }
        }
        
        //alert("number: " + i + " ws: " + parse_ws.test(word.charAt(0)) + " word: " + word);
        
        // リンク設定 url reply および ハッシュタグ
        word = word.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>\uFF09\u3011\uFF3D]*[^.,;'">\:\s\<\>\)\]\!\uFF09\u3011\uFF3D])/g, function (url) {
            return '<a href="' + url + '">' + url + '</a>';
        }).replace(/\B@([_a-z0-9]+)/ig, function (reply) {
            return reply.charAt(0) + '<a href="http://twitter.com/' + reply.slice(1) + '">' + reply.slice(1) + '</a>';
        }).replace(/\B#([_a-z0-9]+)/ig, function (hash_tag) {
            return '<a href="http://twitter.com/search?q=%23' + hash_tag.slice(1) + '">' + hash_tag + '</a>';
        });
        
        
        // 日時
        days = (source[i].created_at).split(" ");
        
        time = days[3].split(":");
        
        // 時差修正
        days = hamu.days.lag_correction({
            "year" : days[5],
            "month" : days[1],
            "date" : days[2],
            "day" : days[0],
            "hour" : time[0],
            "minute" : time[1],
            "lag_time" : "+0900"
        });
        
        days_of_week = hamu.days.days_of_week(days["day"], 0);
        
        time = days["hour"] + ":" + days["minute"];
        
        days = time + " [" + days["month"] + "月" + days["date"] + "日(" + days_of_week + ")]";
        
        // 結果をHTMLで纏める
        result.push('<li>' + word + '<span><a href="http://twitter.com/' + twitter_id + '/status/' + source[i].id + '">' + days + "</a></span></li>");
    }
    
    
    document.getElementById("twitter_log").innerHTML = result.join("");
},

    error : function (XHR, text, error) {
            document.getElementById("twitter_log").innerHTML = '<li class="error"><p>Twitter通信中に障害が発生しました。くじらが発生している可能性があります。</p><p>[更新]をすると正常にされる場合があります。</p></li>';
    }

    });
    

});
// end


