var current_type = false;
var current_view_type = false;
var timeline_updater = false;
var _canvas_view = false;

function check_enter(act,id) {
  if (act == "fr_apply") {
      if (confirm("友達申請します。\nよろしいですか？") == false) return;
  }
  if ((act == "del") || (act == "leave") || (act == "to_msg") || (act == "fr_add") || (act == "fr_apply")) {
    document.mypage.d_id.value = id;
  }
  if ((act == "leave") || (act == "fr_add") || (act == "fr_apply")) {
    document.mypage.ajax.value = '';
  }
  document.mypage.cmd.value = act;
  document.mypage.submit();
}
function update_msg(act,id) {
  document.mypage.cmd.value = act;
  if ((act == "del") || (act == "leave") || (act == "to_msg") || (act == "fr_add")) {
    document.mypage.d_id.value = id;
  } else if ((act == "archive") || (act == "recent") || (act == "friends") || (act == "previous") || (act == "public")) {
    document.mypage.cmd.value = '';
    document.mypage.type.value = act;
    document.mypage.page.value = 0;
    current_type = act;
  } else if (act == 'add' && document.mypage.body.value.length == 0) {
    return;
  }

  if (act == 'add' && document.mypage.image.value) {
    document.mypage.target = 'upload';
    document.mypage.submit();
    upload_image('del');
    return;
  }

  document.mypage.ajax.value = 1;
  var url = '/mypage/';

  if (timeline_updater) {
    timeline_updater.stop();
    timeline_updater = false;
  }

  if (!timeline_updater) {
    timeline_updater = new Ajax.PeriodicalUpdater(
        {success: 'timeline'},
	url,
	{
	  method: 'post',
	  parameters: Form.serialize(mypage),
	  frequency: 10,
	  decay: 2.0,
	  onSuccess: function(request) {
	    var act = document.mypage.cmd.value;
	    if (!act || (act == "archive") || (act == "recent") || (act == "friends") || (act == "previous") || (act == "public")) {
	    } else {
	      document.mypage.cmd.value = '';
	      document.mypage.d_id.value = '';
	      document.mypage.body.value = '';
	      document.mypage.image.value = '';
	      to_msg_cancel();
	    }
	    timeline_updater.options.parameters = Form.serialize(mypage);
	  },
	  onFailure: function(request) { }
	});
  }
}
function update_msg_page(p,scr) {
  if (scr == 'up') {
    new Effect.ScrollTo('timeline', {offset: -50});
  } else if (scr == 'down') {
    new Effect.ScrollTo('timeline-bottom', {offset: 50});
  }
  document.mypage.page.value = p;
  update_msg();
}
function change_view_type(type) {
  document.mypage.photo.value = '';
  document.mypage.bookmark.value = '';
  document.mypage.page.value = 1;
  if (type == 'photo') {
      current_view_type = 'photo';
      document.mypage.photo.value = 1;
  } else if (type == 'bookmark') {
      current_view_type = 'bookmark';
      document.mypage.bookmark.value = 1;
  } else if (type == 'all') {
      current_view_type = 'message';
  } else {
    if (current_view_type == 'photo') {
      current_view_type = 'message';
    } else {
      current_view_type = 'photo';
      document.mypage.photo.value = 1;
    }
  }
  update_msg();
}
function select_tag(tag) {
  document.mypage.page.value = 1;
  var tag_name = $('tag-name');
  if (tag) {
    document.mypage.tag.value = tag;
    tag_name.innerHTML = '&nbsp;|&nbsp;' + tag + '&nbsp;[<a href="javascript:select_tag();">x</a>]';
  } else {
    document.mypage.tag.value = '';
    tag_name.innerHTML = '';
  }
  update_msg();
}
function upload_image(act) {
  var upload_image = $('upload-image');
  var upload_image_del = $('upload-image-del');
  if (act == 'del') {
    upload_image.innerHTML = '<input id="upload-image-file" type="file" name="image" onchange="upload_image(\'set\');">';
    upload_image.show();
    upload_image_del.hide();
  } else {
    upload_image_del.show();
  }
}
function to_msg(id,nick,msg) {
  if (_canvas_view == true) {
    var isMSIE = /*@cc_on!@*/false; 
    if (isMSIE) {
      window["Paint"].fromJSsetToUser(id);
    } else {
      document["Paint"].fromJSsetToUser(id);
    }
  } else {
    document.mypage.to_custid.value = id;
    var to_msg = $('to_msg');
    var to_nickname = $('to_nickname');
    to_nickname.innerHTML = nick;
    to_msg.show();
    $('input_msg').focus();
    if (msg) {
        $('input_msg').value += msg;
    }
  }
}
function to_msg_cancel() {
  document.mypage.to_custid.value = '';
  var to_msg = $('to_msg');
  to_msg.hide();
}
function popUpPhoto(img,elm) {
  var pos = findPos(elm);
  var popup = $('popup-photo');
  popup.innerHTML = '<img id="popup-photo-image" src="'+img+'" onload="popUpPhotoLoad('+pos[1]+');">';
  popup.style.left = pos[0] + 50;
  popup.style.top = pos[1];
}
function popUpPhoto_zzz(img) {
  var popup = $('popup-photo');
  popup.innerHTML = '<img src="'+img+'">';
  popup.style.left = mouse_X + 10;
  popup.style.top = mouse_Y - 10;
  popup.style.visibility = "visible";
  popup.show();
}
function hidePopPhoto() {
  var popup = $('popup-photo');
  popup.style.visibility = "hidden";
  popup.hide();
}
function popUpPhotoLoad(ht) {
  var popup = $('popup-photo');

  var offset = Position.realOffset(popup);
  var top = ht - offset[1];
  var bottom = ht + Element.getHeight(popup) - offset[1];

  var winHeight = document.all ? document.body.clientHeight : window.innerHeight;
  var btm = winHeight - bottom;

  if (top < 5) {
    popup.style.top = ht - top + 5;
  } else if (btm < 5) {
    popup.style.top = ht + btm - 5;
  }

  popup.style.visibility = "visible";
  popup.show();
}

var mouse_X;
var mouse_Y;

positionSet();

function positionSet(){
	document.onmousemove = function(eventObj){
		mouse_X = MousePosiGet(eventObj).x;
		mouse_Y = MousePosiGet(eventObj).y;
	}
}

function MousePosiGet(eventObj) {
	var obj = new Object();
	
	if(eventObj) {
		obj.x = eventObj.pageX;
		obj.y = eventObj.pageY;
	}
	else {
		obj.x = event.x + document.body.scrollLeft;
		obj.y = event.y + document.body.scrollTop;
	}

	return obj;
}
function findPos(obj) {
    var curleft = curtop = 0;
    if (obj.offsetParent) {
	curleft = obj.offsetLeft
	    curtop = obj.offsetTop
	    while (obj = obj.offsetParent) {
		curleft += obj.offsetLeft
		curtop += obj.offsetTop
	    }
    }
    return [curleft,curtop];
}
function map_open(url) {
 var winOption = "width=604,height=400,toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=0,resizable=0" ;
 window.open(url,'mapwin',winOption);
}

google.load("feeds", "1");

function feed_url(id,url,num) {
  var feed = new google.feeds.Feed(url);
  feed.setNumEntries(num);
  feed.load(function(result) {
    if (!result.error) {
      var container = document.getElementById(id);
      for (var i = 0; i < result.feed.entries.length; i++) {
        var entry = result.feed.entries[i];
        var div = document.createElement("div");
        var a = document.createElement("a");
        a.setAttribute("href",entry.link);
        a.setAttribute("target","_blank");
        a.appendChild(document.createTextNode(entry.title));
        div.appendChild(a);
        container.appendChild(div);
      }
    }
  });
}
function feed_url_img(id,url,num) {
  var feed = new google.feeds.Feed(url);
  feed.setNumEntries(num);
  feed.setResultFormat(google.feeds.Feed.MIXED_FORMAT);
  feed.load(function(result) {
    if (!result.error) {
      var container = document.getElementById(id);
      for (var i = 0; i < result.feed.entries.length; i++) {
        var entry = result.feed.entries[i];
        var thumb_node = google.feeds.getElementsByTagNameNS(entry.xmlNode,"http://search.yahoo.com/mrss/", "thumbnail");
        var img_url = thumb_node[0].getAttributeNode("url").nodeValue;
        container.innerHTML += '<a href="'+entry.link+'" target="_blank" title="'+entry.title+'"><img src="'+img_url+'" width="42" height="42" border="0" style="margin:0 0 2px 2px;"></a>';
	/*
        var div = document.createElement("div");
        var a = document.createElement("a");
        a.setAttribute("href",entry.link);
        a.setAttribute("target","_blank");
        a.appendChild(document.createTextNode(entry.title));
        div.appendChild(a);
        container.appendChild(div);
        */
      }
    }
  });
}

var twitter_element;
var twitter_url;
var twitter_entry_num = 0;
function twitter_json(id,url,num) {
    twitter_element = id;
    twitter_url = url;
    twitter_url = twitter_url.split('rss');
    twitter_url = twitter_url.join('json');
    twitter_entry_num = num;
    twitter_json_reload();
    var periodicalAleter = new PeriodicalExecuter(twitter_json_reload, 30); 
}
function twitter_json_reload() {
    var myajax = new Ajax.Request(
       '/gw/'+twitter_url+'?count=20',
       {
         method: 'get',
         onComplete: function(req) {
	       var container = $(twitter_element);
	       eval("var ret = " + req.responseText);
	       var num = ret.length;
	       if (num > twitter_entry_num) num = twitter_entry_num;
	       var tmpHTML = '';
	       for (var i = 0; i < num; i++) {
		   var entry = ret[i];
		   var img_url = entry.user.profile_image_url;
		   tmpHTML += '<div><a href="http://twitter.com/'+entry.user.screen_name+'" target="_blank" title="'+entry.user.name+'"><img src="'+img_url+'" width="18" height="18" border="0"></a><span style="margin:0 0 0 3px;">'+entry.user.screen_name+'</span></div>';
		   tmpHTML += '<div style="margin:0 0 10px 0;"><a href="http://twitter.com/'+entry.user.screen_name+'/statuses/'+entry.id+'" target="_blank">'+entry.text+'</a></div>';
	       }
	       container.innerHTML = tmpHTML;
	   }
       });
}
function twitter_setup(id,form) {
    var param = 'uid=' + form.uid.value + '&pwd=' + form.pwd.value;
    var myajax = new Ajax.Request(
       '/mypage/setting.cgi',
       {
         method: 'post',
	 parameters: param,
         onComplete: function(req) {
	   $(id).hide();
	   form.uid.value = '';
	   form.pwd.value = '';
	 }
       });
}

var buzztv_element;
var buzztv_url;
var buzztv_entry_num = 0;
function buzztv_json(id,url,num) {
    buzztv_element = id;
    buzztv_url = url;
    //buzztv_url = twitter_url.split('rss');
    //buzztv_url = twitter_url.join('json');
    buzztv_entry_num = num;
    buzztv_json_reload();
    var periodicalAleter = new PeriodicalExecuter(buzztv_json_reload, 30);
}
function buzztv_json_reload() {
    var myajax = new Ajax.Request(
       '/gw/'+buzztv_url,
       {
         method: 'get',
         onComplete: function(req) {
	       var container = $(buzztv_element);
	       eval("var ret = " + req.responseText);
	       var num = ret.length;
	       if (num > buzztv_entry_num) num = buzztv_entry_num;
	       var tmpHTML = '';
	       for (var i = 0; i < num; i++) {
		   var entry = ret[i];
		   var img_url = entry.user.profile_image_url;
		   tmpHTML += '<div><a href="http://buzztv.jp/mypage/'+entry.user.screen_name+'/" target="_blank" title="'+entry.user.name+'"><img src="'+img_url+'" width="18" height="18" border="0"></a><span style="margin:0 0 0 3px;"><a href="http://buzztv.jp/mypage/'+entry.user.screen_name+'/" target="_blank" title="'+entry.user.name+'">'+entry.user.screen_name+'</a></span></div>';
		   if (entry.program.name) {
		       tmpHTML += '<div>'+entry.text+'</div>';
		       tmpHTML += '<div align="right" style="margin:0 0 10px 0;"><a href="'+entry.program.url+'" target="_blank">'+entry.program.name+'</a></div>';
		   } else if (entry.performer.name) {
		       tmpHTML += '<div>'+entry.text+'</div>';
		       tmpHTML += '<div align="right" style="margin:0 0 10px 0;"><a href="'+entry.performer.url+'" target="_blank">'+entry.performer.name+'</a></div>';
		   } else {
		       tmpHTML += '<div style="margin:0 0 10px 0;">'+entry.text+'</div>';
		   }
	       }
	       container.innerHTML = tmpHTML;
	   }
       });
}

function div_toggle (id) {
    $(id).toggle();
}
function div_hide (id) {
    $(id).hide();
}

function nomalform() {
  _canvas_view = false;
  $('input_paint').hide();
  $('input_message').show();
}

function paintform() {
  _canvas_view = true;
  $('input_message').hide();
  $('input_paint').show();

  var s = new SWFObject("/swf/Paint.swf", "Paint", "400", "560", "9", "#ffffff");
  s.write("input_paint");
}

