/* JSONP */
function JSONscriptRequest(fullUrl){
	this.fullUrl = fullUrl; 
	this.noCacheIE = '&noCacheIE=' + (new Date()).getTime();
	this.headLoc = document.getElementsByTagName("head").item(0);
	this.scriptId = 'JscriptId' + JSONscriptRequest.scriptCounter++;
}
JSONscriptRequest.scriptCounter = 1;
JSONscriptRequest.prototype.buildScriptTag = function (){
	this.scriptObj = document.createElement("script");
	this.scriptObj.setAttribute("type", "text/javascript");
	this.scriptObj.setAttribute("charset", "shift_jis");
	this.scriptObj.setAttribute("src", this.fullUrl + this.noCacheIE);
	this.scriptObj.setAttribute("id", this.scriptId);
}

JSONscriptRequest.prototype.removeScriptTag = function (){
	this.headLoc.removeChild(this.scriptObj);  
}

JSONscriptRequest.prototype.addScriptTag = function (){
	this.headLoc.appendChild(this.scriptObj);
}

/* CLICKCOUNT */
/*
function designCnt(id, uri){
	var uri = uri.replace(location.protocol + '//' + document.domain,'');
	var id2 = id + ' ' + uri;
	s.prop14 = id2;
	s.tl(this,'e',id);
	s_objectid = id;
}
*/
function designCnt(id, uri){
var id1 = id + '_' + s.hier3;
var id2 = id1 + ' ' + uri;
s.prop14 = id2;
s.tl(this,'e',id1);
s_objectid = id1;
}

/* しかたなく残すことにする */
/* ライトカラム「＠IT自分戦略研究所News」で使用中 */
function newmark(y, m, d, h){
var limit = 6 * (60 * 60 * 1000); 
var pTime = new Date(y + '/' + m + '/' + d + ' ' + h + ':00:00');
var cTime = new Date();
var diff = (cTime - pTime);
if(diff <= limit) {
	document.write('<img src="/images/new.gif" class="newmark">');
}
}

/* GOOGLE SEARCH */
function googlesearch(){
location.assign('http://www.atmarkit.co.jp/misc/search/search_ver02.html?cx=002351675112469469566:kxfahjlc-8o&q=' + encodeURIComponent(document.qform.q.value) + '&cof=FORID%3A9');
}


/* ツール使用時記事URLからフォーラムをはじき出す */
var forum = {
'ljibun01':['自分戦略研究室',
{
'link':'/ljibun01/',
'null':''
},
{}],
'lcareer01':['キャリア実現研究室',
{
'link':'/lcareer01/',
'null':''
},
{}],
'lskill01':['スキル創造研究室',
{
'link':'/lskill01/',
'null':''
},
{}],
'llife01':['生活向上研究室',
{
'link':'/llife01/',
'null':''
},
{}],
'lemb01':['組み込みキャリア研究室',
{
'link':'/lemb01/',
'null':''
},
{}],
'lcom01':['コミュニティ活動支援室',
{
'link':'/lcom01/',
'null':''
},
{}],
'lstudent':['IT業界就職ラボ',
{
'link':'http://lab.jibun.atmarkit.co.jp/',
'null':''
},
{}],
'el':['エンジニアライフ',
{
'link':'http://el.jibun.atmarkit.co.jp/',
'null':''
},
{}],
'':''};

function twitterCallback2(twitters) {
  var statusHTML = [];
  statusHTML.push('<div id="twitter" class="cbox"><div class="outerBox"><h2 class="heading"><span class="outerBox"><span class="innerBox"><span class="l"><a href="http://twitter.com/atmkit_jibun" onc' + 'lick="design' + "Cnt('jbn_twitter_ttl' + this.href,'/');" + '">編集担当のつぶやき</a></span><span class="r"><a href="http://twitter.com/atmkit_jibun" onc' + 'lick="design' + "Cnt('jbn_twitter_ttl' + this.href,'/');" + '" title="Follow Me On Twitter"><img src="/parts/images/tw.gif" style="border:0px;"></a></span></span></span></h2><div class="innerBox"><ul>');
  for (var i=0; i<twitters.length; i++){
    var username = twitters[i].user.screen_name;
    var status = twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/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.substring(1)+'">'+reply.substring(1)+'</a>';
    });
    statusHTML.push('<li><span>'+status+' <a style="font-size:85%" href="http://twitter.com/'+username+'/statuses/'+twitters[i].id+'">'+relative_time(twitters[i].created_at)+'</a><br></span></li>');
  }
  statusHTML.push('</ul><p class="btmLink"><a href="http://twitter.com/atmkit_jibun" onc' + 'lick="design' + "Cnt('jbn_twitter_btm' + this.href,'/');" + '"><span class="arrow-r">&raquo; </span>＠IT自分戦略研究所をTwitterでフォローする</a></p></div></div></div>');
  document.getElementById('twitter_div').innerHTML = statusHTML.join('');
}

function relative_time(time_value) {
  var values = time_value.split(" ");
  time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
  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);
  delta = delta + (relative_to.getTimezoneOffset() * 60);

  if (delta < 60) {
    return 'less than a minute ago';
  } else if(delta < 120) {
    return 'about a minute ago';
  } else if(delta < (60*60)) {
    return (parseInt(delta / 60)).toString() + ' minutes ago';
  } else if(delta < (120*60)) {
    return 'about an hour ago';
  } else if(delta < (24*60*60)) {
    return 'about ' + (parseInt(delta / 3600)).toString() + ' hours ago';
  } else if(delta < (48*60*60)) {
    return '1 day ago';
  } else {
    return (parseInt(delta / 86400)).toString() + ' days ago';
  }
}

