// JavaScript Document

/* 3Dsm.jsからコピー（エリアの開閉） */
function windowToggle(TARGET){
/*	new Effect.toggle(TARGET,'BLIND');*/

/*	new Effect.BlindDown(TARGET,{duration:0.5});*/
	 Element.toggle(TARGET);
}
function windowShow(TARGET){
	 Element.show(TARGET);
}


function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}



/* http://ross.archiva.jp/other/archives/2006/07/onclickjs.html */
window.onload=autoPOP;

function autoPOP()
{
	var x = document.getElementsByTagName('a');
	for (var i=0;i<x.length;i++)
	{
		if (x[i].getAttribute('className') == 'popup' || x[i].getAttribute('class') == 'popup')
		{
			x[i].onclick = function () {
			return winOpen(this.href)
			}
			x[i].title += 'ヘルプ';
		}
	}
};

function winOpen(url) {
	window.open(
		url,
		'popup',
		'width=530,height=600,scrollbars=yes,resizable=yes,menubar=no, toolbar=no'
	);

	return false;
};

function helpPop() {
window.open(this.href, 'ヘルプ', 'width=530, height=600, menubar=no, toolbar=no, scrollbars=yes, resizable=yes');
}

function GetHeight(centerColumn,centerColumn)	{
	var offset = 20;
	var minimum = 400;
	if (document.height){
		h = frames[centerColumn].document.height;
		if(h<minimum){h=minimum;}
		document.getElementById(centerColumn).style.height = h +offset +"px" ;
	}else{
		h = frames[centerColumn].document.body.scrollHeight;
		if(h<minimum){h=minimum;}
		document.getElementById(centerColumn).style.height = h +offset +"px";
	}
}

function GetHeight2(profilePage,profilePage)	{
		if (document.height)
	{
		document.getElementById(profilePage).style.height = parent.frames[profilePage].document.height +100 +"px" ;
	}
		else
	{
	document.getElementById(profilePage).style.height = parent.frames[profilePage].document.body.scrollHeight +100 +"px";
	}
}

function resize_iframe()
{
}
function AdjustParentElementHeight(elementname){
	var offset = 20;
	var minimum = 700;
	var h = 0;
	if (document.height){
		h = document.height;
	}else{
		h = document.body.scrollHeight;
	}
	if(h<minimum){h=minimum;}
	parent.document.getElementById(elementname).style.height = h +offset +"px" ;
}

// 2008.12.3 add
function GetHeight3(commentColumn,commentColumn) {
	var offset = 20;
	var minimum = 200;
	if (document.height){
		h = frames[commentColumn].document.height;
		if(h<minimum){h=minimum;}
		document.getElementById(commentColumn).style.height = h +offset +"px" ;
	}else{
		h = frames[commentColumn].document.body.scrollHeight;
		if(h<minimum){h=minimum;}
		document.getElementById(commentColumn).style.height = h +offset +"px";
	}
}

// 2009.2.6 add
function GetHeight4(topFrame,topFrame) {
	var offset = 10;
	var minimum = 70;
	if (document.height){
		h = frames[topFrame].document.height;
		if(h<minimum){h=minimum;}
		document.getElementById(topFrame).style.height = h +offset +"px" ;
	}else{
		h = frames[topFrame].document.body.scrollHeight;
		if(h<minimum){h=minimum;}
		document.getElementById(topFrame).style.height = h +offset +"px";
	}
}


try {
    document.execCommand("BackgroundImageCache", false, true);
} catch(e) {}

/**
* 引数 media_id で指定されたコンテンツを左端に置き、コンテンツリストを表示
* @param media_id  フォームパラメータ。コンテンツの media_id
* @param direction  フォームパラメータ。表示方向
*	-1=> 表示が右シフトする。
*		media_id のコンテンツが現在右端にあり、このコールによって右欄外に消える。
*	0=> 	media_id のコンテンツがを左端として表示する。
*
*	-1=> 表示が左シフトする。
*		media_id のコンテンツが現在左端にあり、このコールによって左欄外に消える。
* @param disp_num フォームパラメータ。表示アイテム数。指定がなければ２
* @return false 常に flase を返す
* @author Masuharu Endo. Splume Corp.
*/
function listContents()
{
	var params = Form.serialize('list_form'); 
	new Ajax.Request('/_list_media', { method: 'POST', parameters: params, onSuccess: showListContentsResult, onFailure: showListContentsErrResult });

	return false;
}

/**
* 表示を右にシフトする。
* このとき、media_id で指定されたコンテンツが、現在右端にあるものとし、このコールによって右欄外に消える。
* @argument media_id  右端から欄外に消えるコンテンツの media_id
* @param disp_num フォームパラメータ。表示アイテム数。指定がなければ２
* @return false 常に flase を返す
* @author Masuharu Endo. Splume Corp.
*/
function listContentsLeft(media_id)
{
	var elem=document.getElementById('media_id');
	if(!elem){ return false; }
	elem.value = media_id;

	elem=document.getElementById('direction');
	if(!elem){ return false; }
	elem.value = -1;

	var params = Form.serialize('list_form'); 
	new Ajax.Request('/_list_media', { method: 'POST', parameters: params, onSuccess: showListContentsResult, onFailure: showListContentsErrResult });

	return false;
}

/**
* 表示を左にシフトする。
* このとき、media_id で指定されたコンテンツが、現在左端にあるものとし、このコールによって左欄外に消える。
* @argument media_id  左端から欄外に消えるコンテンツの media_id
* @param disp_num フォームパラメータ。表示アイテム数。指定がなければ２
* @author Masuharu Endo. Splume Corp.
*/
function listContentsRight(media_id)
{
	var elem=document.getElementById('media_id');
	if(!elem){ return false; }
	elem.value = media_id;

	elem=document.getElementById('direction');
	if(!elem){ return false; }
	elem.value = 1;

	var params = Form.serialize('list_form');
	new Ajax.Request('/_list_media', { method: 'POST', parameters: params, onSuccess: showListContentsResult, onFailure: showListContentsErrResult });

	return false;
}

/**
* Ajax 応答。
* <div id='media_list'></div> の innerHTML を置き換える。
* 応答内容のテンプレートは templates/_system/media/list_media.html,
* @argument httpObj  Ajax request 戻り
* @param media_list  HTML 内、Ajax 応答を表示する div エレメント名。
* @param left_end    左端に表示されるコンテンツの media_id. listContentsLeft  の引数に指定する。 テンプレート変数。
* @param right_end   右端に表示されるコンテンツの media_id. listContentsRight の引数に指定する。テンプレート変数。
* @param media_list  コンテンツ一覧。ループで表示。以下はループ内変数名。 テンプレート変数。
* @param name        コンテンツ名。media_list ループ内変数。
* @param link        コンテンツURL。media_list ループ内変数。
* @param thumbnail   サムネイルURL。media_list ループ内変数。
* @param author_name 著者名。media_list ループ内変数。
* @param author_link 著者プロフィールURL。media_list ループ内変数。
*/
function showListContentsResult(httpObj)
{
	var str = httpObj.responseText;
	var m = str.match(/<splume_error>.*<\/splume_error>/);
	if (m) {
	        if (!m.match(/not_enough_data/)) {
		        alert(m);
		}
	} else {
		var ee = document.getElementById("media_list");
		if (!ee) { return; }
		ee.innerHTML = str;
	}
}

/**
* Ajax エラー時応答処理。alert でエラーを表示しているだけなので、再考の余地あり。
*/
function showListContentsErrResult()
{
	alert('コンテンツリスト表示ができません。');
}


// 2009.7.8 add 一覧ページの大きい画像用
function func(img) {
	img.style.width = "auto";
	img.style.height = "auto";
	if (img.width > img.height) {
	if (img.width > 100) img.style.width = "300px";
		} else {
	if (img.height > 100) img.style.height = "200px";
		}
	img.style.visibility = "visible";
}

// 2009.9.1 add コメント画像用
function commentImg(img) {
	img.style.width = "auto";
	img.style.height = "auto";
	if (img.width > img.height) {
	if (img.width > 50) img.style.width = "50px";
		} else {
	if (img.height > 50) img.style.height = "50px";
		}
	img.style.visibility = "visible";
}

// 2009.9.1 add マイページTOPのフレンドリスト画像用
function friendsImg(img) {
	img.style.width = "auto";
	img.style.height = "auto";
	if (img.width > img.height) {
	if (img.width > 1) img.style.width = "50px";
		} else {
	if (img.height > 1) img.style.height = "50px";
		}
	img.style.visibility = "visible";
}