document.domain='filebank.co.jp';
var url = '';

var g_asc = 0;
var g_sort = 1;
var defaultTop = 300;

function setDnImg()
{
	var dname = 'down_method_fb';
	var curdn = getCookie( dname );

	if( curdn != 2 )	// app
	{
		$('dnmsg').update( "転送モード切替(マネージャ)" );
		$('mode_button').src="/image/folder/fb_icon_transfer_manager.gif";	
	}
	else				
	{
		$('dnmsg').update( "転送モード切替（ブラウザ）" );
		$('mode_button').src="/image/folder/fb_icon_transfer_browser.gif";	
	}
}

function ViewModeHelp(guest)
{
	var url;
   	if( guest == 1 )		url = 'http://www.filebank.co.jp/cgi-bin/folder/guest_mode_change.cgi';
	else					url = 'http://www.filebank.co.jp/cgi-bin/folder/mode_change.cgi';

	ViewList( url );
}

function ViewModeChange(type)
{
	for( var i = 1; i < 3; i++ )
	{
		var downmode = document.getElementById( 'downmode'+i );
		if( !downmode )	continue;

		if( i == type )
			downmode.style.display = 'block';
		else
			downmode.style.display = 'none';
	}
}

function setSortImg( sorttype, asc )
{
//	alert( 'sorttype: '+sorttype+ '  asc:'+asc );
	if( asc == 0 ) 
	{   
		for( var i = 1; i <= 4; i++ )
		{   
			var imgname = 'sortimg'+i+'';
			var sortImg = parent.document.getElementById( imgname );

			if( i == sorttype )
			{   
				if( sortImg ) sortImg.src = '/image/fb_icon_arrow2.gif';
			}   
			else
			{   
				if( sortImg ) sortImg.src = '/image/ico_arrangenone.gif';
			}   
		}   
	}   
	else if( asc == 1 )    
	{   
		for( var i = 1; i <= 4; i++ )
		{   
			var imgname = 'sortimg'+i+'';
			var sortImg = parent.document.getElementById( imgname );

			if( i == sorttype )
				if( sortImg ) sortImg.src = '/image/fb_icon_arrow.gif';
			else
				if( sortImg ) sortImg.src = '/image/ico_arrangenone.gif';
		}
	}
}


function LeftMenuInit( ltop )
{
	var stype = document.getElementById( 'stype' ).value;
	var menuLeft;
	if( stype==1 )
		menuLeft = Math.ceil((document.body.clientWidth+2)/2)-504;
	else
		menuLeft = Math.ceil(document.body.clientWidth/2)-503;

	var lmenu = document.getElementById( 'left_menu' );
	lmenu.style.left = menuLeft;

	if( ltop )	defaultTop = ltop;

	LeftMenuMove();

	if (window.addEventListener) 
	{ 
		window.addEventListener('scroll', LeftMenuMove , false); 
		window.addEventListener('resize', LeftMenuMove , false); 
	} 

	else 
	{ 
		window.attachEvent('onscroll', LeftMenuMove ); 
		window.attachEvent('onresize', LeftMenuMove ); 
	} 
}

function LeftMenuMove()
{
	var stype = document.getElementById( 'stype' ).value;
	var width;
	if( stype==1 )
		width = Math.ceil(document.body.clientWidth/2)-504;
	else
		width = Math.ceil(document.body.clientWidth/2)-503;

	var banner = document.getElementById( 'left_menu' );
	banner.style.left = width;

	var rtop=document.body.scrollTop+defaultTop; 
	if( rtop+300 > document.body.scrollHeight )	return;

	if (document.body.scrollHeight - 500 > document.body.scrollTop)
	{ 
		banner.style.top=rtop;
	}
}


var beforeLyr = null;
var processnow = 0;

//20100526 add start
function ViewSNS(id, flag)
{
	var snsObj = document.getElementById( 'sns'+id );
	if( flag )	snsObj.style.display = 'block';
	else	snsObj.style.display = 'none';
}
// type 1: twitter
function MakeSNSTag( type, id, st )
{
	var param = { "fid":id, "stype":st, "type":type };
	var url = 'http://www.filebank.co.jp/cgi-bin/filelink/filelink_make_ajax.cgi';

	new Ajax.Request( url, { method:'post', parameters:param, onSuccess:OnSuccessFL } );
}	

function MakeSNSTagGuest(type, encstr,length)
{
//	var title = 'ゲストフォルダのアクセスはこちら<br>';
//	var encTitle = encodeURIComponent( title );
	
//	if( type != 1 )	encstr = encTitle + encstr;
//	alert( encstr );

	if( type == 1 )			// twitter
	{
		if( encstr.length > 140)
		{
			var headlength = encstr.length -length;
			var overlength = 140-headlength;
			alert( 'Twitterの文字数制限のため、ゲストフォルダ名を変更する必要があります。\n現在のゲストフォルダ名が'+length+'文字ですが、'+overlength+'文字までのフォルダ名に変更してから、再試行してください。');

			return;
		}

		var url = 'http:\/\/twitter.com\/home?status='+encstr;
	}

	else if( type == 2 )	// ameba
	{
//		var url = 'http:\/\/blog.ameba.jp\/ucs\/entry\/srventryinsertinput.do?entry_text='+encstr+'&editor_flg=1&';

		var tag = '<strong>↓のURLをクリックした先のページからゲストフォルダにログインしてください。</strong><br/><a href=\"'+encstr+'\" target=\"_blank\"><strong><u>'+encstr+'</u></strong></a>';
		var encTag = encodeURIComponent(tag);
		var url = 'http:\/\/blog.ameba.jp\/ucs\/entry\/srventryinsertinput.do?entry_text='+encTag+'&editor_flg=1';
	}

	else if( type == 3 )	// goo
	{
		var url = 'http:\/\/blog.goo.ne.jp\/admin\/newentry?fid=newentry&entry_description=test&entry/entry_text='+encstr;
	}

	else if( type == 4 )	// facebook
	{
		var url = 'http:\/\/www.facebook.com\/sharer.php?u='+encstr;
//		var url = 'http:\/\/www.facebook.com\/sharer.php?u='+encstr+'&amp;t='+title;
	}

	else	return;


	var opt = 'resizable=1,titlebar=0,status=0,toolbar=0,height=650,width=1024,scrollbars=yes';
	window.open(url, 'FileLink', opt );
}


function OnSuccessFL(response)
{
	var result = response.responseText;
	var value = result.split(',');
	if( value.length != 5 )	return;	//error

	var encstr 	= value[0];
	var id		= value[1];
	var st		= value[2];
	var type	= value[3];
	var name 	= value[4];

//	var url = encodeURIComponent('http:\/\/twitter.com\/home?status='+encstr);
//	name = decodeURIComponent( name );

	if( type == 1 )			// twitter
	{
		var url = 'http:\/\/twitter.com\/home?status=http%3A\/\/www.filebank.co.jp\/filelink\/'+encstr;
	}

	else if( type == 2 )	// ameba
	{
//		var url = 'http:\/\/blog.ameba.jp\/ucs\/entry\/srventryinsertinput.do?entry_text=http%3A\/\/www.filebank.co.jp\/filelink\/'+encstr+'&editor_flg=1';
		var link = 'http:\/\/www.filebank.co.jp\/filelink\/'+encstr;
//		var tag = '<strong>'+name+'&nbsp;のダウンロード</strong><br/><a href=\"'+link+'\" target=\"_blank\"><strong><u>'+link+'</u></strong></a>';
		var tag = '<strong>↓のURLをクリックした先のページからダウンロードしてください。</strong><br/><a href=\"'+link+'\" target=\"_blank\"><strong><u>'+link+'</u></strong></a>';
		var encTag = encodeURIComponent(tag);
//		var encTag = tag;
		var url = 'http:\/\/blog.ameba.jp\/ucs\/entry\/srventryinsertinput.do?entry_text='+encTag+'&editor_flg=1';
		//&entry_title='+name;
	}

	else if( type == 3 )	// goo
	{
		var url = 'http:\/\/blog.goo.ne.jp\/admin\/newentry?fid=newentry&entry/entry_text=http%3A\/\/www.filebank.co.jp\/filelink\/'+encstr;
//		var url = 'http:\/\/blog.goo.ne.jp\/portal_login\/blogparts\/?title='+name+'<br/> http%3A\/\/www.filebank.co.jp\/filelink\/'+encstr;
	}

	else if( type == 4 )	// facebook
	{
		var url = 'http:\/\/www.facebook.com\/sharer.php?u=http%3A\/\/www.filebank.co.jp\/filelink\/'+encstr;
//		var url = 'http:\/\/www.facebook.com\/sharer.php?u=http%3A\/\/www.filebank.co.jp\/filelink\/'+encstr+'&amp;t='+name;
	}

	else	return;

	var opt = 'resizable=1,titlebar=0,status=0,toolbar=0,height=650,width=1024,scrollbars=yes';
	window.open(url, 'FileLink', opt );
}

//20100526 add end

function ItemOut( obj )
{    
	obj.style.backgroundColor = '#FFFFFF';
	obj.style.border = '#FFFFFF solid 1px';
}    

function ItemOver( obj )
{    
	beforeLyr = obj; 
	obj.style.backgroundColor = '#f4f7fe';
	obj.style.border = '#bad8fc solid 1px';
}

function ItemClick( obj )
{    
	if( beforeLyr != null ) ItemOut( beforeLyr );
	ItemOver( obj );
}    

function OpenList()
{
	var url = '/cgi-bin/weblink/weblink_mail_addrlist.cgi';
	var opt = 'resizable=0,titlebar=0,status=0,toolbar=0,height=510,width=720';
	window.open(url, 'AddressList', opt );
}

function OpenAddrList()
{
	var url = '/cgi-bin/weblink/weblink_mail_addrlist.cgi';
	var opt = 'resizable=0,titlebar=0,status=0,toolbar=0,height=510,width=720';
	window.open(url, 'AddressList', opt );
}

function OpenAddrBook()
{
	var url = '/cgi-bin/weblink/weblink_mail_addrbook.cgi';
	var opt= 'resizable=0,titlebar=0,status=0,toolbar=0,height=370,width=540';
	window.open(url, 'AddressBook', opt );
}

function ItemDblClickFolder( fid, pid )
{
	var url = 'http://www.filebank.co.jp/folder/';
	var fobj = document.flist;
	fobj.fid.value = fid;
	ViewList( url );
}

function ItemDblClickShareFolder( fid, pid )
{
	var url = 'http://www.filebank.co.jp/share/';
	var fobj = document.flist;
	fobj.fid.value = fid;
	ViewList( url );
}

//북마크 톱
function ItemDblClickBookMarkFolder( fid, pid )
{
	var url = 'http://www.filebank.co.jp/bookmark/';
	var fobj = document.flist;
	fobj.fid.value = fid;
	ViewList( url );
}

function ItemDblClickBookMarkGFolder( seqno, gname, gfname, stype )
{
	var url = 'http://login.filebank.co.jp/cgi-bin/guest_gbmloginprocess.cgi?seqno='+seqno+'&gname='+gname+'&gfname='+gfname+'&stype='+stype;
	document.location.href=url;
}

function ItemDblClickBookMarkSFolder( stype, fid, oid, lid, fname )
{
	setCookieSession( "link_id", lid ); 
	var url = '/cgi-bin/folder/share_login_process.cgi';
	var param = { "mode":'auth', "stype":stype, "oid":oid, "fid":fid, "lid":lid };
	new Ajax.Request( url, { method:'post', parameters:param, onSuccess:OnSuccessShareLogin} );
}

function OnSuccessShareLogin( response )
{
	var result = response.responseText;
	if( result == '' )	// ok
	{
	}
	else
	{
		document.location.href= result;
	}
}

function ItemDblClickBookMarkSFolder2( fid )
{
	var url = 'http://www.filebank.co.jp/sharefolder/';
	var fobj = document.flist;
	fobj.fid.value = fid;
	ViewList( url );
}

function ItemDblClickGFolder( fid, pid )
{
//	alert( 'click' );
	var url = 'http://www.filebank.co.jp/guestmain/';
	var fobj = document.flist;
	fobj.fid.value = fid;
	ViewList( url );
}

function ItemDblClickFolderInfo( fid, pid, isshare )
{
	var url;
   	if( isshare == 1 )	url = '/cgi-bin/folder/share_folder_info.cgi';
	else				url = '/foinfo/';
	var fobj = document.flist;
	fobj.fid.value = fid;
	ViewList( url );
}

function ItemDblClickFileInfo( fid, pid, isshare )
{
	var url;
   	if( isshare == 1 )	url = '/cgi-bin/folder/share_file_info.cgi';
	else				url = '/fiinfo/';
	var fobj = document.flist;
	fobj.fid.value = fid;
	ViewList( url );
}

function FileSet( fid, stype, folderno, isshare )
{
	var url;
   	if( isshare == 1 )	url = '/cgi-bin/folder/share_file_info.cgi';
	else				url = '/fiinfo/';

	var fobj = document.flist;
	fobj.fid.value = fid;
	ViewList( url );
}

// 마이폴더와 공유폴더에서 사용
function FolderSet( fid, stype, isshare )
{
	var url;
	if( isshare == 1 ) 	url = '/cgi-bin/folder/share_folder_info.cgi';
	else			url = '/foinfo/';

	var fobj = document.flist;
	fobj.fid.value = fid;
	ViewList( url );
}

function ViewList( url, param1, value1 )
{
//	var param = $('flist').serialize(); 
	var pageobj 	= document.getElementById( 'page' );
	var stypeobj 	= document.getElementById( 'stype' );
	var fidobj 		= document.getElementById( 'fid' );
	var pidobj		= document.getElementById( 'pid' );
	var oidobj		= document.getElementById( 'oid' );
	var lidobj		= document.getElementById( 'lid' );
	var isguestobj	= document.getElementById( 'isguest' );
	var sorttypeobj	= document.getElementById( 'sortType' );
	var ascobj		= document.getElementById( 'asc' );
	var vtypeobj	= document.getElementById( 'vtype' );
	var isfiobj		= document.getElementById( 'isfi' );

	var fobj = document.flist;
	var param = '';
	if( pageobj ) param += 'page='+fobj.page.value+'&';
	if( stypeobj ) param += 'stype='+fobj.stype.value+'&';
	if( fidobj ) param += 'fid='+fobj.fid.value+'&';
	if( pidobj ) param += 'pid='+fobj.pid.value+'&';
	if( oidobj ) param += 'oid='+fobj.oid.value+'&';
	if( lidobj ) param += 'lid='+fobj.lid.value+'&';
	if( isguestobj ) param += 'isguest='+fobj.isguest.value+'&';
	if( sorttypeobj ) param += 'sortType='+fobj.sortType.value+'&';
	if( ascobj ) param += 'asc='+fobj.asc.value+'&';
	if( isfiobj ) param += 'isfi='+fobj.isfi.value+'&';
	if( param1 )	param += ''+param1+'='+value1+'&';

//	alert( param );
	document.location.href= url+'?'+param;
}

function ChangeViewType( fid, vtype, type, share )
{
	document.flist.vtype.value = vtype;
	setCookie( "__fvtv", vtype, 10000 ); 
	if( type == 1 )		ItemDblClickGFolder( fid );	// guest folder
	else if( type == 2 )	ItemDblClickBookMarkSFolder2( fid );
	else if( type == 3 )	ItemDblClickShareFolder(fid);	// share folder
	else				ItemDblClickFolder( fid );
}


var stop;

var Rolling = {
	initialize: function( initkey, type, share ) {
		this.listKey	= initkey;
		this.type		= type;
		this.speed		= 1;
		this.stop_time	= 1000000000;
		this.direct		= -1;
		this.width		= 100;
		this.moveCount	= 1;
		this.selfid		= 0;
		this.isshare	= share;

		this.roll = $('roll_area');
		this.roll_count = $('roll_number');

		var str="";
		for(var i=0;i<ReviewRoll.length;i++)
		{
			var item = this.makeRollList( i );
			str += item;
		}

		this.roll.update(str);
//		this.clickToMove( 'click', this.direct, 0, 0, initkey-1);
		this.initRoll();

//		if( this.listKey == 0 )
//			this.roll_count.update( ReviewRoll.length+'/'+ReviewRoll.length+'' );
//		else
			this.roll_count.update( eval(this.listKey+1)+'/'+ReviewRoll.length+'' );
	},
	
	initRoll : function()
			   {
				   if( ReviewRoll.length < 4 ) return;	// 

				   var index = this.listKey-1;
				   if( index < 0 )	index = 0;
				   var value = this.width*(index)*this.direct;
				   for(var i=0;i<ReviewRoll.length;i++){
					   var temp=document.getElementById("slide_"+i);
					   var max = this.width*ReviewRoll.length;
					   temp.style.left= (max+parseInt(temp.style.left)+value+this.width)%max-this.width;
				   }
			}, 

	clickToMove: function(event, value, move, fid, count ) {
//		 Event.stop(event);
		 this.direct = value;
		 this._move(value, move, fid, count);
	 },
		
	makeRollList: function( index )
				  {
						var item = ReviewRoll[index];

						var temp = '';
						var result = '';
						if( this.listKey == index )	// selected
						{
							result = this.templatesel.evaluate(item);
						}
						else
						{
//							var pos = Math.abs(this.listKey - index);
							var pos = this.listKey - index;
							var abspos = Math.abs( pos%3 );
							var pos2 = pos%3;

							if( abspos == 0 )
							{
								if( pos2 > 0 )
									result = this.templatepre.evaluate(item);	// to left
								else	
									result = this.templatenex.evaluate(item);	// to right
							}
							else if( abspos == 2 )
							{
								result = this.templatecur.evaluate(item);	// middle
							}
							else
							{
								if( pos2 > 0 )
									result = this.templatenex.evaluate(item);	// right
								else
									result = this.templatepre.evaluate(item);	// to left
							}
						}

						if( ReviewRoll.length == 1 )
						{
							result = '<span class="choice1none" id="" style=""><div class="choice"></div><div class="choice_text"></div></span>' + result + '<span class="choice1none" id="" style=""><div class="choice"></div><div class="choice_text"></div></span>';
						}
						else if( ReviewRoll.length == 2 )
						{
							result = result + '<span class="choice1" id="" style=""><div class="choice"></div><div class="choice_text"></div></span>';
						}

						return result;
				  },
	MoveTo: function( fid )
			   {
				   if( this.isshare == 1 )	// share folder
				   {
					   if( this.type == 2 )	
					   {
						   ItemDblClickFileInfo( fid, fid, 1 );
					   }
					   else
					   {
						   ItemDblClickFolderInfo( fid, fid, 1 );
					   }
				   }
				   else		// my folder
				   {
					   if( this.type == 2 )	
					   {
						   ItemDblClickFileInfo( fid );
					   }
					   else
					   {
						   ItemDblClickFolderInfo( fid );
					   }
				   }
			   },

	moveNext: function() { this._move(1); },

	movePrev: function(event) { this._move(-1); },

	_move: function(value, move, fid, count ) {
		if(ReviewRoll.length != 0) 
		{ 
			var isStop = false;

			if( ReviewRoll.length < 4 )
			{
				this.MoveTo( fid );
				return;
			}

			if( (ReviewRoll.length <= this.listKey+count+1) && (ReviewRoll.length<5) )
			{
				var diff = ReviewRoll.lentth - (this.listKey+count );
				count = 1;
			}

			if( value == 0 )
			{
				this.MoveTo( fid );
				return;
			}

			value *= 25;
			for(var i=0;i<ReviewRoll.length;i++){
				var temp=document.getElementById("slide_"+i);
				var max = this.width*ReviewRoll.length;
				temp.style.left= (max+parseInt(temp.style.left)+value+this.width)%max-this.width;
//				if( (this.direct< 0) && (parseInt(temp.style.left) == 0) )
				if(this.direct< 0 && (this.moveCount == (4*count) ) )
				{
					isStop = true;
					this.moveCount = 0;
//					this.listKey += count;

//					if( this.listKey > ReviewRoll.length )
//						this.listKey = this.listKey%ReviewRoll.length;

					if( move )	this.MoveTo( fid );
				}
				else if( (this.direct>0) && (this.moveCount == (4*count) ) )
				{
					isStop = true;
					this.moveCount = 0;
//					this.listKey -= 2;
//					if( this.listKey < 0 )	this.listKey = -(this.listKey );
					if( move )	this.MoveTo( fid );
				}

			}
			if(isStop)
			{
				stop=setTimeout("Rolling.clickToMove('click',"+this.direct+"," +move+","+fid+","+count+")", this.stop_time);
			}
			else
			{
				stop=setTimeout("Rolling.clickToMove('click',"+this.direct+"," +move+","+fid+","+count+")", this.sspeed);
			}

//			if( this.listKey+1 == ReviewRoll.length )
//				this.roll_count.update( ReviewRoll.length+'/'+ReviewRoll.length+'' );
//			else
				this.roll_count.update( eval(this.listKey+1)+'/'+ReviewRoll.length+'' );

			this.moveCount++;
		}
	},

	templatepre: new Template(
		'<span class="choice1" onclick="Rolling.clickToMove(event,-1,1,#{fid}, 1)" onmouseover="this.className=\'choice1_sel\'" onmouseout="this.className=\'choice1\'" id="slide_#{index}" style="left:#{left}"><div class="choice"><a href="javascript:void(0)" title="#{name}" onfocus="this.blur()"><img src="#{img}" border="0" alt="#{realname}"/></a></div><div class="choice_text">#{name}</div></span>'
	),

	templatenex: new Template(
		'<span class="choice1" onclick="Rolling.clickToMove(event,1,1,#{fid}, 1)" onmouseover="this.className=\'choice1_sel\'" onmouseout="this.className=\'choice1\'" id="slide_#{index}" style="left:#{left}"><div class="choice"><a href="javascript:void(0)" title="#{name}" onfocus="this.blur()"><img src="#{img}" border="0" alt="#{realname}"/></a></div><div class="choice_text">#{name}</div></span>'
	),

	templatecur: new Template(
		'<span class="choice1" onclick="Rolling.clickToMove(event,0,1,#{fid}, 1)" onmouseover="this.className=\'choice1_sel\'" onmouseout="this.className=\'choice1\'" id="slide_#{index}" style="left:#{left}"><div class="choice"><a href="javascript:void(0)" title="#{name}" onfocus="this.blur()"><img src="#{img}" border="0" alt="#{realname}"/></a></div><div class="choice_text">#{name}</div></span>'
	),

	templatesel: new Template(
		'<span class="choice1_sel" onmouseover="this.className=\'choice1_sel2\'" id="slide_#{index}" style="left:#{left}"><div class="choice"><img src="#{img}" border="0" alt="#{realname}"/></div><div class="choice_text">#{name}</div></span>'
	)

};


function ShareSelect( selid )
{
	for( var i = 1; i < 4; i++ )
	{
		var layer = document.getElementById( 'ft'+i );

		if( selid == i )
		{
			if( layer )	layer.style.display = 'block';
		}
		else
		{
			if( layer )	layer.style.display = 'none';
		}
	}
}

function ShareSet( fromtype )
{
	if( processnow == 1 )	return 0;

	var fobj = document.subform;
	var validchars = '0123456789abcdefghijklmnopqrstuvwxyz';

//	if( keyRestrictFolder( fobj.foldername, validchars ) !=  true )
	var retVal = CheckString( name );
	if( retVal == false )
	{
		alert(' フォルダ名を入力してください。');
//		fn.foldername.focus();
		return;
	}
	
	var url = '/cgi-bin/folder/share_setup_process.cgi';  
	ProcessFunc( "ShareSet", fobj, url );
	processnow = 1;
}

function NormalSet( fromtype )
{
	if( processnow == 1 )	return 0;

	var fobj;
	var url = '';
	if( fromtype == "ston" )	
	{
		fobj = document.subform;
//		fobj.share_type[0].checked = false;
		fobj.share_type.checked = false;
		url = '/cgi-bin/folder/share_setup_process.cgi';  
	}
	else if( fromtype == "gton" )	
	{
		fobj = document.guestset;
		fobj.mode.value = fromtype;
		url = '/cgi-bin/folder/guest_setup_process.cgi';  
	}

	if( fromtype != "nton" )
		ProcessFunc( "NormalSet", fobj, url );
}

function GuestSet( fromtype )
{
	var fn = document.guestset;
	var passwd = document.getElementById( 'passwd' );
	var allowup = document.getElementById( 'allowup' );
	var allowpacket = document.getElementById( 'allowpacket' );
	var validchars = '0123456789abcdefghijklmnopqrstuvwxyz';

	if( !fn.foldername.value )
	{
		alert(' フォルダ名を入力してください。');
//		fn.foldername.focus();
		return;
	}

	if( keyRestrictFolder( fn.foldername, validchars ) !=  true )
	{
		ErrAlert( 'invalidname' );
//		fn.foldername.focus();
		return;
	}
	
	if( (fn.ispass[1].checked == true) && (!fn.passwd.value) )
	{
		alert( 'パスワードを入力してください。' );
		fn.passwd.focus();
		return;
	}

	if( (fn.passwd.value.length>0) && (fn.passwd.value.length < 4) )
	{
		alert( 'ゲストフォルダパスワードは4文字以上12文字以下で設定してください。' );
		fn.passwd.focus();
		return;
	}

	if( keyRestrictFolder( fn.passwd, validchars ) !=  true )
	{
		ErrAlert( 'invalidpass' );
		fn.passwd.value = '';
		fn.passwd.focus();
		return;
	}

	if( allowup.checked == true ) allowup.value = 1;
	if( allowpacket.checked == true ) allowpacket.value = 1;

//	fn.mode.value = 'mod';
	var url = '/cgi-bin/folder/guest_setup_process.cgi';  

	ProcessFunc( "GuestSet", fn, url );
}

function CopyLink()
{
	try
	{
		var guesturl = document.getElementById('guesturl');
		if( window.clipboardData.setData( 'Text', guesturl.value ) )
		{
			alert('URLをコピーしました。');
		}
	}
	catch(e)
	{
		alert( 'IE以外のブラウザでは直接コピーしてください。' );
	}
}

function ViewLayer( name )
{
	var viewLyr = document.getElementById( 'mainFolderBox' );
	if( viewLyr )
	{
		Effect.SlideDown($('mainFolderBox'),{duration: 0.1}); 
	}
	var viewfunc = document.getElementById( 'viewfunc' );
	if( viewfunc )
		viewfunc.href= 'javascript:CloseLayer("'+name+'")';

	var viewimg = document.getElementById( 'viewimg' );
	if( viewimg )
		viewimg.src = '/image/folder/tab_propertyclose.gif';

	defaultTop = 600;
	LeftMenuMove();
}

function CloseLayer( name )
{
	var closeLyr = document.getElementById( name );
	if( closeLyr )
	{
		Effect.SlideUp($(name),{duration: 0.1}); 
	}

	var viewfunc = document.getElementById( 'viewfunc' );
	if( viewfunc )
		viewfunc.href= 'javascript:ViewLayer("'+name+'")';

	var viewimg = document.getElementById( 'viewimg' );
	if( viewimg )
		viewimg.src = '/image/folder/tab_propertyopen.gif';

	defaultTop = 300;
	LeftMenuMove();
}

function CopyTag()
{
	try
	{
		var guestTag = document.getElementById('guesttag');

		if( window.clipboardData.setData( 'Text', guestTag.value ) )
		{
			alert('タグをコピーしました。');
		}
	}
	catch(e)
	{
		alert( 'IE以外のブラウザでは直接コピーしてください。' );
	}
}

///////////////////////////////////////////////////
/// folder up/down function	start				///
///////////////////////////////////////////////////
function DownLoad( uid )
{
	var fn = document.flist;
	if( !fn ) return;
	var stype = fn.stype.value;
	var oid = fn.oid.value;
	var uid = uid;
	var lid = fn.lid.value;
	var cnt = fn.idcnt.value;
	var dname = 'down_method_fb';

	var type = getCookie( dname );

	if( type != 2 )
	{
		AppDown();
		return;
	}

	var folder_cnt = 0;
	var file_cnt = 0;
	var fid;

	for( var i=0; i < cnt; i++ )
	{
		eval( 'if(fn.id'+i+'.checked==true && fn.idt'+i+'.value==1 ) folder_cnt++;' );
		eval( 'if(fn.id'+i+'.checked==true && fn.idt'+i+'.value==2 ) { file_cnt++;fid=fn.id'+i+'.value; }' );
	}

	if( folder_cnt > 0 )
	{
		alert( 'フォルダのダウンロードはできません。ファイルを選択してください。' );
		return;
	}

	if( file_cnt == 0 )
	{
		alert( 'ファイルを選択してください。' );
		return;
	}

	if( file_cnt > 1 )
	{
		alert( '2つ以上のファイルは選択できません。');
		return;
	}

	var opt = 'resizable=1,titlebar=0,status=0,toolbar=0,height=450,width=725';
	var nw = window.open('', 'WEBDOWNLOAD', opt );
	if( nw == null )
	{
		alert( 'ポップアップブロックを解除してください。' );
		return;
	}

	var orifid = fn.fid.value;
	fn.fid.value = fid;
	fn.target = 'WEBDOWNLOAD';
	fn.action = 'http://www.filebank.co.jp/cgi-bin/folder/folder_webdown.cgi';
	fn.submit();

	fn.fid.value = orifid;
}

function UpLoad( uid )
{
	var fn = document.flist;
	if( !fn ) return;
	var fid = fn.fid.value;
	var stype = fn.stype.value;
	var oid = fn.oid.value;
	var lid = fn.lid.value;
	var uid = uid;
	var dname = 'down_method_fb';

	if( fn.up_disable.value == 1 )
	{
		alert( '上書き権限がありません。');
		return;
	}

	var type = getCookie( dname );

	if( type != 2 )
	{
		AppUp();
		return;
	}

	var url = '/cgi-bin/folder/file_upload.cgi?stype='+stype+'&fid='+fid+'&oid='+oid+'&lid='+lid;
	document.location.href=url;
//	WinOpenResize( url, 'FileBankUpload', 520, 530, 'no', 'no' );
}

function AppUp()
{
	if( IsAppUsable() == false )
	{
		alert( 'ブラウザモードを利用して下さい。' );
		return;
	}

	var fn = document.flist;
	if( !fn ) return;
	fn.mode.value = 'up';
	fn.target = 'APP';

	if( IsSafari() )
	{
		fn.action = '/cgi-bin/folder/run_mac2.cgi';
	}
	else
	{
		fn.action = '/cgi-bin/folder/run_app.cgi';
	}

	fn.submit();
}

function IsAppUsable()
{
	var brow = BrowserCheck();
	var os = OsCheck();
	if( (brow.indexOf("chrome") != -1) || (brow.indexOf("others") != -1 ) )
	{
		return false;
	}

	if( (brow.indexOf("safari" ) != -1 ) && (os.indexOf("mac") < 0) )
	{
		return false;
	}

	if( brow.indexOf("firefox") != -1 )
	{
		if( !confirm( "IE TABを利用していますか?"  ) )
		{
			return false;
		}
	}

	return true;
}

function AppDown()
{
	if( IsAppUsable() == false )
	{
		alert( 'ブラウザモードを利用して下さい。' );
		OpenGuide('browser');
		return;
	}

	var fn = document.flist;
	if( !fn ) return;
	var oid = fn.oid.value;
	var cnt = fn.idcnt.value;

	var folder_cnt = 0;
	var file_cnt = 0;
	var fid;

	for( var i=0; i < cnt; i++ )
	{
		eval( 'if(fn.id'+i+'.checked==true && fn.idt'+i+'.value==1 ) folder_cnt++;' );
		eval( 'if(fn.id'+i+'.checked==true && fn.idt'+i+'.value==2 ) { file_cnt++;fid=fn.id'+i+'.value; }' );
	}

	if( file_cnt == 0 && folder_cnt == 0 )
	{
		alert( 'ファイルまたはフォルダを選択してください。' );
		return;
	}

	fn.mode.value = 'down';
	fn.target = 'APP';

	if( IsSafari() )
	{
		fn.action = '/cgi-bin/folder/run_mac2.cgi';
	}
	else
	{
		fn.action = '/cgi-bin/folder/run_app.cgi';
	}

	fn.submit();
}

function SetSort( value, mode )
{
	var fn = document.flist;
	
	if( value != 0 )
	{
		fn.sortType.value = value;
		g_sort = value;
	}

	if( mode != '' )
	{
		fn.sortMode.value = mode;
		g_mode = mode;
	}

	fn.target = '_self';
	fn.mode.value = '';
	fn.action = '/cgi-bin/folder/folder_list.cgi';
	fn.submit();
	fn.action = '';
}

//게스트 폴더에서 새로운 폴더 만들기
function NewFolderGuest()
{
	var url = '/cgi-bin/folder/guest_new.cgi';
//	var form = document.flist;
//	var param = $(form).serialize(true); 
	var param = { "oid":$F('oid'), "fid":$F('fid'), "stype":$F('stype'), "isguest":$F('isguest'), "sortType":$F('sortType'), "asc":$F('asc'), "idcnt":$F('idcnt'), "type":'guestnew' };

	new Ajax.Request( url, { method:'post', parameters:param, onSuccess:OnSuccessView } );
}

// 북마크쉐어폴더에서 새폴더 만들기
function NewFolderBookMarkShare()
{
	var url = '/cgi-bin/folder/share_bookmark_new.cgi';
	var param = { "oid":$F('oid'), "lid":$F('lid'), "fid":$F('fid'), "stype":$F('stype'), "isguest":$F('isguest'), "sortType":$F('sortType'), "asc":$F('asc'), "idcnt":$F('idcnt'), "ficount":$F('ficount'), "type":'normal' };

	new Ajax.Request( url, { method:'post', parameters:param, onSuccess:OnSuccessView } );
}

//마이폴더에서 새폴더 만들기
function NewFolder()
{
	var url = '/cgi-bin/folder/folder_new.cgi';
	var param = { "oid":$F('oid'), "lid":$F('lid'), "fid":$F('fid'), "stype":$F('stype'), "isguest":$F('isguest'), "sortType":$F('sortType'), "asc":$F('asc'), "idcnt":$F('idcnt'), "ficount":$F('ficount'), "type":'normal' };

	new Ajax.Request( url, { method:'post', parameters:param, onSuccess:OnSuccessView } );
}

//공유폴더에서 새 게스트 폴더 만들기
function NewGuestFolder()
{
	var url = '/cgi-bin/folder/share_new.cgi';
	var param = { "oid":$F('oid'), "lid":$F('lid'), "fid":$F('fid'), "stype":$F('stype'), "isguest":$F('isguest'), "sortType":$F('sortType'), "asc":$F('asc'), "idcnt":$F('idcnt'), "ficount":$F('ficount'), "type":'guest' };

	new Ajax.Request( url, { method:'post', parameters:param, onSuccess:OnSuccessView} );
}

//공유폴더에서 신규쉐어 폴더 만들기
function NewShareFolder()
{
	var url = '/cgi-bin/folder/share_new.cgi';
	var param = { "oid":$F('oid'), "lid":$F('lid'), "fid":$F('fid'), "stype":$F('stype'), "isguest":$F('isguest'), "sortType":$F('sortType'), "asc":$F('asc'), "idcnt":$F('idcnt'), "ficount":$F('ficount'), "type":'share' };

	new Ajax.Request( url, { method:'post', parameters:param, onSuccess:OnSuccessView} );
}

function NewFolderRefresh( newid )
{
	var url = '/cgi-bin/folder/folder_new_cancel.cgi';
	var param = { "oid":$F('oid'), "lid":$F('lid'), "fid":$F('fid'), "stype":$F('stype'), "isguest":$F('isguest'), "sortType":$F('sortType'), "asc":$F('asc'), "idcnt":$F('idcnt'), "ficount":$F('ficount'), "type":'normal', "newid":newid };

	new Ajax.Request( url, { method:'post', parameters:param, onSuccess:OnSuccessView } );
}


function NewBookMarkShareFolderRefresh( newid )
{
	var url = '/cgi-bin/folder/share_bookmark_list_ajax.cgi';
	var param = { "oid":$F('oid'), "lid":$F('lid'), "fid":$F('fid'), "stype":$F('stype'), "isguest":$F('isguest'), "sortType":$F('sortType'), "asc":$F('asc'), "idcnt":$F('idcnt'), "ficount":$F('ficount'), "type":'normal', "newid":newid };

	new Ajax.Request( url, { method:'post', parameters:param, onSuccess:OnSuccessView } );
}

function NewShareFolderRefresh()
{
	var url = '/cgi-bin/folder/share_list_ajax.cgi';
	var param = { "oid":$F('oid'), "lid":$F('lid'), "fid":$F('fid'), "stype":$F('stype'), "isguest":$F('isguest'), "sortType":$F('sortType'), "asc":$F('asc'), "idcnt":$F('idcnt'), "ficount":$F('ficount'), "type":'normal' };


	new Ajax.Request( url, { method:'post', parameters:param, onSuccess:OnSuccessView } );
}

function NewGuestFolderRefresh()
{
	var url = '/cgi-bin/folder/guest_list_ajax.cgi';
	var param = { "oid":$F('oid'), "fid":$F('fid'), "stype":$F('stype'), "isguest":$F('isguest'), "sortType":$F('sortType'), "asc":$F('asc'), "idcnt":$F('idcnt'), "type":'guestnew' };

	new Ajax.Request( url, { method:'post', parameters:param, onSuccess:OnSuccessView } );
}

var newprocess = 0;
function DoNothing()
{
	var newfolder = document.getElementById( 'newfolder' );
	if( newfolder )
	{
		newfolder.blur();
	}

	return;
}

//게스트 게시판 삭제시에 사용
function keyCheckComment( index )
{
	if( event )
	{
		if((event.which && event.which == 13) || (event.keyCode && event.keyCode == 13))
		{
			DeleteComment( index, 0 );
		}
		else
		{
			return;
		}
	}
}

function ViewBbsPopup( oid, stype, fid, thread )
{
	var param = 'ono='+oid+'&stype='+stype+'&fid='+fid+'&thread='+thread;
	var url = '/cgi-bin/gfboard/gfboard_bookmark_list.cgi?';
	var value = url + param;

	window.open( value, '', '' );
}

// 마이폴더에서 새폴더 만들기시 Ajax 리스트 갱신
function OnSuccessView( response )
{
	var result = response.responseText;
//	alert( result );

	$("folder_list").update( result );

	var newfolder = document.getElementById( 'newfolder' );
	if( newfolder )
	{
		newfolder.focus();
		return;
	}

	//새로운 폴더를 만들후에 포커스
	var newid = document.getElementById( newID );
	if( newid )
	{
		newid.focus();
		ItemOver(newid );
	}
}

function OnSuccessViewComplete( response )
{
}

function SaveFolderName( event, obj )
{
	SaveNewFolderName();
}

//게스트 폴더에서 새폴더 만들기 저장할때
function SaveGuestFolderName( event, obj )
{
	var fobj = 'null';
	var url = '/cgi-bin/folder/guest_folder_create_process.cgi';
	var newfname = document.getElementById( 'newfolder' );
	var name = newfname.value;

	if( name == '' )
	{
		alert(' フォルダ名を入力してください。   ');
		newfname.focus();
		return;
	}

	var retVal = CheckString( name );
	if( retVal == false )
	{
		alert(' フォルダ名を入力してください。  ');
		newfname.focus();
		return;
	}

	var param = { "mode":'add', "stype":$F('stype'), "oid":$F('oid'), "fid":$F('fid'), "lid":$F('lid'), "isguest":$F('isguest'), "fname":name };

	new Ajax.Request( url, { method:'post', parameters:param, onSuccess:OnSuccessAfterMakeGuestFolder} );
}

// 마이폴더에서 새폴더 만들기 처리.
function SaveNewFolderName()
{
	var fobj = 'null';
	var url = '/cgi-bin/folder/folder_create_process.cgi';
	var newfname = document.getElementById( 'newfolder' );
	var name = newfname.value;

	if( name == '' )
	{
		alert(' フォルダ名を入力してください。   ');
		newfname.focus();
		return;
	}
	var retVal = CheckString( name );
	if( retVal == false )
	{
		alert(' フォルダ名を入力してください。  ');
		newfname.focus();
		return;
	}

	var param = { "mode":'add', "stype":$F('stype'), "oid":$F('oid'), "fid":$F('fid'), "lid":$F('lid'), "isguest":$F('isguest'), "fname":name };

	new Ajax.Request( url, { method:'post', parameters:param, onSuccess:OnSuccessAfterMakeFile } );
}


//  북마크 쉐어폴더에서 새폴더 만들기 처리.
function SaveBookMarkShareFolderName()
{
	var fobj = 'null';
	var url = '/cgi-bin/folder/folder_create_process.cgi';
	var newfname = document.getElementById( 'newfolder' );
	var name = newfname.value;

	if( name == '' )
	{
		alert(' フォルダ名を入力してください。   ');
		newfname.focus();
		return;
	}
	var retVal = CheckString( name );
	if( retVal == false )
	{
		alert(' フォルダ名を入力してください。  ');
		newfname.focus();
		return;
	}

	var param = { "mode":'add', "stype":$F('stype'), "oid":$F('oid'), "fid":$F('fid'), "lid":$F('lid'), "isguest":$F('isguest'), "fname":name };

	new Ajax.Request( url, { method:'post', parameters:param, onSuccess:OnSuccessAfterMakeBookMarkShareFolder } );
}

function keyRestrictFolder( obj, validchars )
{
	var str = obj.value;
	var result = true;

	for( var i=0; i<str.length; i++ )
	{
		result = false;
		for( var j=0; j<validchars.length; j++ )
		{
			if( str.charAt(i) == validchars.charAt(j) ) 
			{
				result = true;
				break;
			}
		}

		if( result == false )	return false;
	}

	return true;
}

// 공유폴더에서 새폴더 만들기 처리.
function SaveShareFolderName( event, obj, type, guest )
{
	var fobj = 'null';
	var url = '/cgi-bin/folder/folder_create_process.cgi';
	var newfname = document.getElementById( 'newfolder' );
	var name = newfname.value;

	if( name == '' )
	{
		alert(' フォルダ名を入力してください。   ');
		newfname.focus();
		return;
	}

	var validchars = '0123456789abcdefghijklmnopqrstuvwxyz';

	if( guest )
	{
		if( keyRestrictFolder( newfname, validchars ) !=  true )
		{
			ErrAlert( 'invalidname' );
			newfname.focus();
			return;
		}
	}
	else
	{
		var retVal = CheckString( name );
		if( retVal == false )
		{
			alert(' フォルダ名を入力してください。  ');
			newfname.focus();
			return;
		}
	}
	
	var retVal = CheckString( name );
	if( retVal == false )
	{
		alert(' フォルダ名を入力してください。  ');
		newfname.focus();
		return;
	}

	var param = { "mode":'add', "stype":$F('stype'), "oid":$F('oid'), "fid":$F('fid'), "lid":$F('lid'), "isguest":$F('isguest'), "fname":name, "type":type };

	new Ajax.Request( url, { method:'post', parameters:param, onSuccess:OnSuccessAfterMakeShareFolder } );
}

var newID = 0;
function OnSuccessAfterMakeGuestFolder( response )
{
	var result = response.responseText;

	if( result == "0" )
	{
		ErrAlert( "dupname" );

		var newfolder = document.getElementById( 'newfolder' );
		if( newfolder )
		{
			newfolder.focus();
		}

		return;
	}

	newID = result;
	NewGuestFolderRefresh();
}	

//마이폴더에서 새폴더 만들기 완료시
function OnSuccessAfterMakeFile( response )
{
	var result = response.responseText;

	if( result == "0" )
	{
		ErrAlert( "dupname" );

		var newfolder = document.getElementById( 'newfolder' );
		if( newfolder )
		{
			newfolder.focus();
		}

		return;
	}

	newID = result;
//	alert( newID );
	NewFolderRefresh(newID);
}	


// 북마크 쉐어폴더에서 새폴더 만들기 완료시
function OnSuccessAfterMakeBookMarkShareFolder( response )
{
	var result = response.responseText;

	if( result == "0" )
	{
		ErrAlert( "dupname" );

		var newfolder = document.getElementById( 'newfolder' );
		if( newfolder )
		{
			newfolder.focus();
		}

		return;
	}

	newID = result;
//	alert( newID );
	NewBookMarkShareFolderRefresh(newID);
}	

// 공유폴더에서 새폴더 만들기 완료시
function OnSuccessAfterMakeShareFolder( response )
{
	var result = response.responseText;
//	alert( result );

	if( result == "0" )
	{
		ErrAlert( "dupname" );

		var newfolder = document.getElementById( 'newfolder' );
		if( newfolder )
		{
			newfolder.focus();
		}

		return;
	}

	newID = result;
//	alert( newID );
	NewShareFolderRefresh();
}	

function DelListBookMark()
{
	var fn = document.flist;
	if( !fn ) return;
	var cnt = fn.idcnt.value;
	var pid = fn.pid.value;

	if( fn.del_disable.value == 1 )
	{
		alert( '権限がありません。');
		return;
	}

	var sel_cnt = 0;

	for( var i=0; i < cnt; i++ )
	{
		eval('if(fn.id'+i+'.checked == true)sel_cnt++;');
	}

	if( sel_cnt < 1 )
	{
		alert( 'ファイルまたはフォルダを選択してください。' );
		return;
	}

	var msg = '本当に削除してもよろしいですか。';

	if( !confirm( msg ) )
		return;

	fn.mode.value = 'dellist';
	var url= "/cgi-bin/folder/share_delete_process.cgi";
	ProcessFunc( "DelListShare", fn, url );

//	fn.action = '/cgi-bin/folder/folder_man.cgi';
//	fn.submit();
}

function DelListBookMarkShare()
{
	var fn = document.flist;
	if( !fn ) return;
	var cnt = fn.idcnt.value;
	var pid = fn.pid.value;

	if( fn.del_disable.value == 1 )
	{
		alert( '権限がありません。');
		return;
	}

	var sel_cnt = 0;

	for( var i=0; i < cnt; i++ )
	{
		eval('if(fn.id'+i+'.checked == true)sel_cnt++;');
	}

	if( sel_cnt < 1 )
	{
		alert( 'ファイルまたはフォルダを選択してください。' );
		return;
	}

	var folder_cnt = 0;

	for( var i = 0; i < cnt; i++ )
	{
		eval( 'if(fn.id'+i+'.checked==true && fn.idt'+i+'.value==1) folder_cnt++;' );
	}

	if( folder_cnt > 0 )
	{
		alert( 'TOMOフォルダでは、フォルダの削除はできません。' );
		return;
	}

	var msg = '本当に削除してもよろしいですか。';

	if( !confirm( msg ) )
		return;

	fn.mode.value = 'dellist';
	var url= "/cgi-bin/folder/folder_man.cgi";
	ProcessFunc( "DelList", fn, url );
}


function DelList()
{
	var fn = document.flist;
	if( !fn ) return;
	var cnt = fn.idcnt.value;
	var pid = fn.pid.value;

	if( fn.del_disable.value == 1 )
	{
		alert( '権限がありません。');
		return;
	}

	var sel_cnt = 0;

	for( var i=0; i < cnt; i++ )
	{
		eval('if(fn.id'+i+'.checked == true)sel_cnt++;');
	}

	if( sel_cnt < 1 )
	{
		alert( 'ファイルまたはフォルダを選択してください。' );
		return;
	}

	var msg = '本当に削除してもよろしいですか。';

	if( !confirm( msg ) )
		return;

	fn.mode.value = 'dellist';
	var url= "/cgi-bin/folder/folder_man.cgi";
	ProcessFunc( "DelList", fn, url );
}

function MoveCopy()
{
	var fn = document.flist;
	if( !fn ) return;
	var cnt = fn.idcnt.value;
	var fid = fn.fid.value;
//	var isguest = fn.isguest.value;
	var isguest = 0;

	var sel_cnt = 0;

	for( var i=0; i < cnt; i++ )
	{
		eval( 'if(fn.id'+i+'.checked==true) sel_cnt++;' );
		eval( 'if( (fn.isguest'+i+') && (fn.id'+i+'.checked==true) )	if(fn.isguest'+i+'.value == 1 ) isguest++;' );
	}

	if( sel_cnt < 1 )
	{
//		alert( '選択したファイルがありません。');
		alert( 'ファイルまたはフォルダを選択してください。' );
		return;
	}

	if( isguest > 0 && fid == -1 )
	{
		alert( 'ゲストフォルダ直下には移動/コピーは出来ません。');
		return;
	}

	fn.target = '_self';
	fn.action = '/cgi-bin/folder/folder_movecopy.cgi';
	fn.submit();
	fn.action='';
}

function IsSafari()
{
	var brow = BrowserCheck();
	if( brow == 'safari' )	return true;
	else	return false;
}

function BrowserCheck()
{
	ua = navigator.userAgent.toLowerCase();
	if(ua.indexOf("ie 7") != -1 )
		ua = "ie7"; 
	else if(ua.indexOf("firefox") != -1) 
		ua = "firefox";
	else if(ua.indexOf("safari") != -1) 
		ua = "safari";
	else if(ua.indexOf("ie 6") != -1) 
		ua = "ie6";
	else if(ua.indexOf("chrome") != -1) 
		ua = "chrome";
	else if(ua.indexOf("ie 8") != -1) 
		ua = "ie7";
	else
		ua = "others";

	return ua;
}

function OsCheck()
{
	var uo = navigator.platform.toLowerCase();
	if ( uo.indexOf("win") != -1 )
		uo = "win";
	else if ( uo.indexOf("mac") != -1 )
		uo = "mac";
	else
		uo = "others";

	return uo;
}


function ToggleAll()
{
	var fn = document.flist;
	if( !fn ) return;
	var cnt = fn.idcnt.value;

	var selall = document.getElementById('selall');
	var curSel = 0;

	if( selall.checked == true )	curSel = 1;
	else							curSel = 0;

	for( var i = 0; i < cnt; i++ )
	{
		eval( 'fn.id'+i+'.checked=curSel;' );
	}
}

function Reload()
{
	document.location.reload();
}

function sortView( st, fid, asc, type )
{
	document.flist.sortType.value = st;
	if( asc == 1 )    asc = 0;
	else              asc = 1;

	g_asc	= asc;
	g_sort	= st;

	document.flist.asc.value = asc;
	if( type == 1 )	ItemDblClickGFolder( fid );
	else if( type == 2 )	ItemDblClickBookMarkSFolder2( fid );
	else if( type == 3 )	ItemDblClickShareFolder(fid);
	else				ItemDblClickFolder( fid );
}

function CheckString( str )
{
	for( var i=0; i<str.length; i++ )
	{
		var tempstr = str.charAt( i );
		if( tempstr == '\\' ||
				tempstr == '/' ||
				tempstr == ':' ||
				tempstr == '*' ||
				tempstr == '?' ||
				tempstr == '\"' ||
				tempstr == '<' ||
				tempstr == '>' ||
				tempstr == '|' ||
				tempstr == '#' ||
				tempstr == '%' ) return false;
	}

	return true;
}

function FolderNameChView(fid )
{
	var newfname = document.getElementById( 'newfname' );
	if( newfname )
	{
		newfname.readOnly = false;
//		newfname.style.backgroundColor='#FFFFFF';
		newfname.className='inputofff';
		newfname.focus();
	}

	var chtext = document.getElementById( 'savetext' );
	if( chtext )
	{
		chtext.innerHTML = '適用';
	}

	var savefunc = document.getElementById( 'savefunc' );
	if( savefunc )
	{
		savefunc.href= 'javascript:FolderNameChange('+fid+')';
	}
}

//
function GetByteLength( event, obj, maxlen )
{
	var msg = obj.value;
	var str = new String(msg);
	var len = str.length;
	var count = 0;

	if((event.which && event.which == 46) || (event.keyCode && event.keyCode == 46))
	{
		return true;
	}
	
	for( k = 0; k < len; k++ )
	{
		temp = str.charAt(k);
		if( escape(temp).length > 4 )
		{
			count += 2;
		}
		else if( temp =='\r' && str.charAt(k+1) == '\n' )
		{
			count += 2;
		}
		else if( temp != '\n')
		{
			count++;
		}

		if( count > maxlen )
		{
			var newfname = document.getElementById( 'newfname' );
			if( newfname )
			{
				newfname.blur();
				newfname.readOnly = true;
			}
//			obj.readOnly = true;
			return false;
		}

		obj.readOnly = false;
	}

	return true;
}

function FolderNameChange( fid )
{
	var fobj = 'null';
	var url = '/cgi-bin/folder/folder_edit_process.cgi';
	var newfname = document.getElementById( 'newfname' );
	var name = newfname.value;

	if( name == '' )
	{
		alert(' フォルダ名を入力してください。   ');
		newfname.focus();
		return;
	}
	var retVal = CheckString( name );
	if( retVal == false )
	{
		alert(' フォルダ名を入力してください。  ');
		newfname.focus();
		return;
	}

	ProcessFunc( "FolderNameChange", fobj, url, fid, name );
}

function FolderDescChView(fid )
{
	var newfname = document.getElementById( 'newdesc' );
	if( newfname )
	{
		newfname.readOnly = false;
//		newfname.style.backgroundColor='#FFFFFF';
		newfname.className='inputofff';
		newfname.focus();
	}

	var chtext = document.getElementById( 'savedesctext' );
	if( chtext )
	{
		chtext.innerHTML = '適用';
	}

	var savefunc = document.getElementById( 'savedescfunc' );
	if( savefunc )
	{
		savefunc.href= 'javascript:FolderDescChange('+fid+')';
	}
}

function FolderDescChange( fid )
{
	var fobj = 'null';
	var url = '/cgi-bin/folder/folder_edit_process.cgi';
	var newdesc = document.getElementById( 'newdesc' );
	var desc = newdesc.value;

	if( desc == '' )
	{
		alert(' フォルダの説明を入力してください。');
		newdesc.focus();
		return;
	}

	var retVal = CheckString( desc );
	if( retVal == false )
	{
		alert(' フォルダの説明を入力してください。');
		newdesc.focus();
		return;
	}

	ProcessFunc( "FolderDescChange", fobj, url, fid, desc );
}


////////////////file
function FileNameChView(fid )
{
	var newfname = document.getElementById( 'newfname' );
	if( newfname )
	{
		newfname.readOnly = false;
		newfname.className='inputofff';
		newfname.focus();
	}

	var chtext = document.getElementById( 'savetext' );
	if( chtext )
	{
		chtext.innerHTML = '適用';
	}

	var savefunc = document.getElementById( 'savefunc' );
	if( savefunc )
	{
		savefunc.href= 'javascript:FileNameChange('+fid+')';
	}
}

function FileNameChange( fid )
{
	var fobj = 'null';
	var url = '/cgi-bin/folder/file_edit_process.cgi';
	var newfname = document.getElementById( 'newfname' );
	var name = newfname.value;

	if( name == '' )
	{
		alert(' フォルダ名を入力してください。   ');
		newfname.focus();
		return;
	}
	var retVal = CheckString( name );
	if( retVal == false )
	{
		alert(' フォルダ名を入力してください。  ');
		newfname.focus();
		return;
	}

	ProcessFunc( "FileNameChange", fobj, url, fid, name );
}

function FileDescChView(fid )
{
	var newfname = document.getElementById( 'newdesc' );
	if( newfname )
	{
		newfname.readOnly = false;
		newfname.className='inputofff';
		newfname.focus();
	}

	var chtext = document.getElementById( 'savedesctext' );
	if( chtext )
	{
		chtext.innerHTML = '適用';
	}

	var savefunc = document.getElementById( 'savedescfunc' );
	if( savefunc )
	{
		savefunc.href= 'javascript:FileDescChange('+fid+')';
	}
}

function FileDescChange( fid )
{
	var fobj = 'null';
	var url = '/cgi-bin/folder/file_edit_process.cgi';
	var newdesc = document.getElementById( 'newdesc' );
	var desc = newdesc.value;

	if( desc == '' )
	{
		alert(' フォルダの説明を入力してください。');
		newdesc.focus();
		return;
	}

	var retVal = CheckString( desc );
	if( retVal == false )
	{
		alert(' フォルダの説明を入力してください。');
		newdesc.focus();
		return;
	}

	ProcessFunc( "FileDescChange", fobj, url, fid, desc );
}

function ModeChangeGuest()
{
	obj = $('dnmsg');
	var leftpos = 0;
	var toppos = 0;
	 if(obj.offsetParent){
	  while(obj.offsetParent){
	   toppos += obj.offsetTop;
	   leftpos += obj.offsetLeft;
	   obj = obj.offsetParent;
	  }
	 }
	toppos = toppos + 18;
	leftpos = leftpos-95;

	$('modeChResult').style.top= toppos + "px";
	$('modeChResult').style.left= leftpos +  "px";
	$('modech').style.display="none";



	var dname = 'down_method_fb';

	var curdn = getCookie( dname );
	var dntype = 0;

	if( curdn != 2 )	// from app to brow
	{
		dntype = 2;
		$('dnmsg').update( "転送モード切替(ブラウザ)&nbsp;&nbsp;&nbsp;" );
		$('modeChResult').innerHTML ="<img src='/image/folder/baloon_browser.gif'>";
		$('modeChResult').style.display="inline";
	}
	else				
	{
		dntype = 1;
		$('dnmsg').update( "転送モード切替(マネージャ)" );
		$('modeChResult').innerHTML ="<img src='/image/folder/baloon_manager.gif'>";
		$('modeChResult').style.display="inline";
	}

	setCookie( dname, dntype, 100000 );
}

function ModeChange(a)	// toggle func
{
	alert(a);
}

function ModeChange()	// toggle func
{
	obj = $('dnmsg');
	var leftpos = 0;
	var toppos = 0;
	 if(obj.offsetParent){
	  while(obj.offsetParent){
	   toppos += obj.offsetTop;
	   leftpos += obj.offsetLeft;
	   obj = obj.offsetParent;
	  }
	 }
	toppos = toppos + 18;
	leftpos = leftpos-95;

	$('modeChResult').style.top= toppos + "px";
	$('modeChResult').style.left= leftpos +  "px";
	$('modech').style.display="none";

	var dname = 'down_method_fb';

	var curdn = getCookie( dname );
	var dntype = 0;


	if( curdn != 2 )	// from app to brow
	{
		dntype = 2;
		$('dnmsg').update( "転送モード切替(ブラウザ)&nbsp;&nbsp;&nbsp;" );
		$('mode_button').src="/image/folder/fb_icon_transfer_browser.gif";	
		$('modeChResult').innerHTML ="<img src='/image/folder/baloon_browser.gif'>";
		$('modeChResult').style.display="inline";
	}
	else				
	{
		dntype = 1;
		$('dnmsg').update( "転送モード切替(マネージャ)" );
		$('mode_button').src="/image/folder/fb_icon_transfer_manager.gif";	
		$('modeChResult').innerHTML ="<img src='/image/folder/baloon_manager.gif'>";
		$('modeChResult').style.display="inline";
	}


	setCookie( dname, dntype, 100000 );
}

function ModeChange2( type, pos )
{

	obj = $('dnmsg');
	var leftpos = 0;
	var toppos = 0;
	 if(obj.offsetParent){
	  while(obj.offsetParent){
	   toppos += obj.offsetTop;
	   leftpos += obj.offsetLeft;
	   obj = obj.offsetParent;
	  }
	 }
	toppos = toppos + 18;
	leftpos = leftpos-95;

	$('modeChResult').style.top= toppos + "px";
	$('modeChResult').style.left= leftpos +  "px";
	$('modech').style.display="none";






	var dname = 'down_method_fb';
	var dntype = 0;

	if( type != 2 )	// app mode
	{
		dntype = 1;
		$('dnmsg').update( "転送モード切替(マネージャ)" );
		$('mode_button').src="/image/folder/fb_icon_transfer_manager.gif";	
		$('modeChResult').innerHTML ="<img src='/image/folder/baloon_manager.gif'>";
		$('modeChResult').style.display="inline";
	}
	else	// brow mode			
	{
		dntype = 2;
		$('dnmsg').update( "転送モード切替(ブラウザ)&nbsp;&nbsp;&nbsp;" );
		$('mode_button').src="/image/folder/fb_icon_transfer_browser.gif";	
		$('modeChResult').innerHTML ="<img src='/image/folder/baloon_browser.gif'>";
		$('modeChResult').style.display="inline";
	}

	setCookie( dname, dntype, 100000 );
	var url;
	if(pos == 1)	url= '/folder/';
	else if( pos == 2 )	url = '/share/';
	else if( pos == 4 ) url = '/sharefolder/';
	else url = '/folder/';
	ViewList( url );
}


function ModeChange2Guest( type )
{
	obj = $('dnmsg');
	var leftpos = 0;
	var toppos = 0;
	 if(obj.offsetParent){
	  while(obj.offsetParent){
	   toppos += obj.offsetTop;
	   leftpos += obj.offsetLeft;
	   obj = obj.offsetParent;
	  }
	 }
	toppos = toppos + 18;
	leftpos = leftpos-95;

	$('modeChResult').style.top= toppos + "px";
	$('modeChResult').style.left= leftpos +  "px";
	$('modech').style.display="none";




	var dname = 'down_method_fb';
	var dntype = 0;

	if( type != 2 )	// app mode
	{
		dntype = 1;
		$('dnmsg').update( "転送モード切替(マネージャ)" );
		$('mode_button').src="/image/folder/fb_icon_transfer_manager.gif";	
		$('modeChResult').innerHTML ="<img src='/image/folder/baloon_manager.gif'>";
		$('modeChResult').style.display="inline";
	}
	else	// brow mode			
	{
		dntype = 2;
		$('dnmsg').update( "転送モード切替(ブラウザ)&nbsp;&nbsp;&nbsp;" );
		$('mode_button').src="/image/folder/fb_icon_transfer_browser.gif";	
		$('modeChResult').innerHTML ="<img src='/image/folder/baloon_browser.gif'>";
		$('modeChResult').style.display="inline";
	}

	setCookie( dname, dntype, 100000 );
	var url = '/guestmain/';
	ViewList( url );
}


function showModeCh(e, param)
{
	var evt=window.event || e;

	obj = $('dnmsg')
	var leftpos = 0;
	var toppos = 0;
	 if(obj.offsetParent){
	  while(obj.offsetParent){
	   leftpos += obj.offsetLeft;
	   toppos += obj.offsetTop;
	   obj = obj.offsetParent;
	  }
	 }

	toppos = toppos + 18;

	$('modech').style.top=toppos + "px";
	$('modech').style.left= leftpos + "px";
	$('modech').style.display=param;

	if(param == "none")
	{
		$('modeChResult').style.display = param;
	}
}




///////////////////////////////////////////////////
/// folder up/down function end					///
///////////////////////////////////////////////////


///////////////////////////////////////////////////
//// guest folder function start				///
///////////////////////////////////////////////////
function Fcopy( mode, user )
{
	var dname = 'down_method_fb';

	var type = getCookie( dname );
	
	if( type == 2 && mode == 'dn' )
	{
		alert( ' ブラウザモードでは特急ダウンロードできません。\\n各駅ダウンロードを選択してください  ' );
		return;
	}

	var fn = document.flist;
	var cnt = fn.idcnt.value;
	var folder_cnt = 0;
	var file_cnt = 0;
	var fid;

	for( var i = 0; i < cnt; i++ )
	{
		eval( 'if(fn.id'+i+'.checked==true && fn.idt'+i+'.value==1) folder_cnt++;' );
		eval( 'if(fn.id'+i+'.checked==true && fn.idt'+i+'.value==2) { file_cnt++;fid=fn.id'+i+'.value; }' );
	}

	if( file_cnt == 0 && folder_cnt == 0 )
	{
		alert( 'ファイルまたはフォルダを選択してください。' );
		return;
	}
	var stype = document.flist.stype.value;
	if( mode == 'dn' )
	{
		if( user != 0 )		GuestDownload( user );
		else
		{
			var url= '/cgi-bin/folder/guest_fcopy.cgi?mode='+mode+'&stype='+stype;
//			WinOpenResize( url, 'GuestFCopy', '580', '608', 'no', 'yes' );
		}
	}
	else
	{
		var url= '/cgi-bin/folder/guest_fcopy.cgi?mode='+mode+'&stype='+stype;
//		WinOpenResize( url, 'GuestFCopy', '630', '450', 'no', 'yes' );
	}

	fn.action = url;
	fn.submit();
}

function ViewNormalDown()
{
	$('normalview').show();
}

function GuestPacketAllow()
{
	var dname = 'down_method';
	var type = getCookie( dname );
	
	if( type == 2 )
	{
		alert( 'ブラウザモードでは、特急ダウンロードは利用できませ\n各駅ダウンロードを選択してください。' );
		return;
	}

	AppDownload( 99 );
}

function GuestDownload( userno, exp )
{
	var fn = document.flist;
	var oid = fn.oid.value;
	var cnt = fn.idcnt.value;
	var stype	= fn.stype.value;
	var dname = 'down_method_fb';

	var type = getCookie( dname );

	if( (exp == 1) && (userno < 100) && (type!=2) )
	{
		popLogin();
		return;
	}

	if( type != 2 )
	{
		AppDownload( userno );
		return;
	}

	var folder_cnt = 0;
	var file_cnt = 0;
	var fid;

	for( var i = 0; i < cnt; i++ )
	{
		eval( 'if(fn.id'+i+'.checked==true && fn.idt'+i+'.value==1) folder_cnt++;' );
		eval( 'if(fn.id'+i+'.checked==true && fn.idt'+i+'.value==2) { file_cnt++;fid=fn.id'+i+'.value; }' );
	}

	if( folder_cnt > 0 )
	{       
		alert( 'フォルダのダウンロードはできません。ファイルを選択してください。' );
		return; 
	}       

	if( file_cnt == 0 )
	{       
		alert( 'ファイルを選択してください。' );
		return; 
	}       

	if( file_cnt > 1 )
	{       
		alert( '2つ以上のファイルは選択できません。');
		return; 
	}      

	var opt = 'resizable=1,titlebar=0,status=0,toolbar=0,height=530,width=725';
	var nw = window.open('', 'WEBDOWNLOAD', opt );
	if( nw == null )
	{
		alert( 'ポップアップブロックを解除してください。' );
		return;
	}

	var orifid = fn.fid.value;
	fn.fid.value = fid;
	fn.target = 'WEBDOWNLOAD';
//	fn.action = 'http://www.filebank.co.jp/cgi-bin/folder/folder_webdown.cgi';
	fn.action = 'http://www.filebank.co.jp/cgi-bin/folder/guest_webdown.cgi';
	fn.submit();

	fn.fid.value = orifid;

//	var url = 'http://wf.filebank.co.jp/cgi-bin/folder/guest_down.cgi?fid='+fid+'&stype='+ stype;
//	document.location.href = url;
}

function AppDownload( userno )
{
	if( IsAppUsable() == false )
	{
		alert( 'ブラウザモードを利用して下さい。' );
		OpenGuide('browser');
		return;
	}

	var fn = document.flist;
	var oid = fn.oid.value;
	var cnt = fn.idcnt.value;

	var folder_cnt = 0;
	var file_cnt = 0;
	var fid;

	for( var i=0; i < cnt; i++ )
	{
		eval( 'if(fn.id'+i+'.checked==true && fn.idt'+i+'.value==1) folder_cnt++;' );
		eval( 'if(fn.id'+i+'.checked==true && fn.idt'+i+'.value==2) { file_cnt++;fid=fn.id'+i+'.value; }' );
	}

	if( file_cnt == 0 && folder_cnt == 0 )
	{
		alert( 'ファイルまたはフォルダを選択してください。' );
		return;
	}

//	alert( userno );
	fn.mode.value = 'down';
	fn.target = 'APP';
	var stype = fn.stype.value;

	if( IsSafari() )
	{
		if( userno == 99 )
		{
			fn.action = '/cgi-bin/folder/guest_mac2.cgi?stype='+ stype; 
			fn.userid.value='public';
		}
		else if( userno == 97 )
		{
			fn.action = '/cgi-bin/folder/guest_mac2.cgi?stype='+ stype; 
			fn.userid.value='guest';
		}
		else
		{
			fn.action = '/cgi-bin/folder/run_mac2.cgi?stype='+stype;
		}
	}
	else
	{
		if( userno == 99 )
		{
			fn.action = '/cgi-bin/folder/guest_app.cgi?stype='+stype;
			fn.userid.value='public';
		}
		else if( userno == 97 )
		{
			fn.action = '/cgi-bin/folder/guest_app.cgi?stype='+stype;
			fn.userid.value='guest';
		}
		else
		{
			fn.action = '/cgi-bin/folder/run_app.cgi?stype='+stype;
		}
	}

	fn.submit();
}

function GuestUpload( user )
{
	var fn = document.flist;
	var oid = fn.oid.value; 
	var fid = fn.fid.value;
	var stype = fn.stype.value;

//	if( user < 100 )	user = 97;

	var dname = 'down_method_fb';

	var type = getCookie( dname );
	
	if( type != 2 )
	{
		AppUpload( user );
		return;
	}

	var url = '/cgi-bin/folder/guest_upload.cgi?fid='+fid+'&stype='+stype;
	document.location.href=url;
//	WinOpenResize( url, 'FileBankUpload', 520, 480, 'no', 'no' );
}

function AppUpload(userno)
{
	if( IsAppUsable() == false )
	{
		alert( 'ブラウザモードを利用して下さい。' );
		return;
	}

	var fn = document.flist;
	fn.mode.value = 'up'; 
	fn.target = 'APP';
	var stype = fn.stype.value;

	if( IsSafari() )
	{
		if( (userno == 97) || (userno == 99) )
		{
			fn.action = '/cgi-bin/folder/guest_mac2.cgi?stype='+stype;
			fn.userid.value='guest';
		}
		else
		{
			fn.action = '/cgi-bin/folder/run_mac2.cgi?stype='+stype;
		}
	}
	else
	{
		if( (userno == 97) || (userno == 99) )
		{
			fn.action = '/cgi-bin/folder/guest_app.cgi?stype='+stype;
			fn.userid.value='guest';
		}
		else
		{
			fn.action = '/cgi-bin/folder/run_app.cgi?stype='+stype;
		}
	}

	fn.submit();
}       


function AddBookMark( from, to )
{
	if( from  == to )
	{
		alert( '自分のゲストフォルダは登録できません。');
		return;
	}

	var fn = document.flist;
	var stype	= fn.stype.value;
	var fid		= fn.fid.value;

	var url = 'http://www.filebank.co.jp/cgi-bin/folder/guest_bookmark_input.cgi?fid='+fid+'&stype='+stype;
	WinOpenResize( url, 'BookMark', 580, 560, 'no', 'no' );
}


function Rcopy( user )
{
	var fn = document.flist;
	if( !fn ) return;
	var fid = fn.fid.value;
	var stype = fn.stype.value;

	if( fn.up_disable.value == 1 )
	{
		alert( '上書き権限がありません。');
		return false;
	}

	if( user > 100 )
	{
		var url = '/cgi-bin/folder/guest_fcopy_reverse.cgi?fid='+fid+'&stype='+stype;
		document.location.href= url;
//		WinOpenResize( url, 'GuestReverseCopy', '630', '450', 'no', 'no' );
	}
	else
	{
		var url = 'http://www.filebank.co.jp/login/login_popup.html';
		WinOpenResize(url, 'popLogin', '480', '500', 'no', 'no');
	}
}

///////////////////////////////////////////////////
//// guest folder function end					///
///////////////////////////////////////////////////






///////////////////////////////////////////////////
//// bbs function end					///
///////////////////////////////////////////////////

function GetBbsList()
{
	if( processnow == 1 )	return 0;

	var fobj = document.gfboardform;
	var url = '/cgi-bin/gfboard/gfboard_guest_list.cgi';  
	var param = { 'thread':g_thread, 'stype':$F('stype'), 'page':g_page, 'oid':$F('oid') };
	ProcessFunc( "GetBbsList", fobj, url, param );
	processnow = 1;
}

function GetBbsList2()
{
	if( processnow == 1 )	return 0;

	var writer 	= document.getElementById('writer').value;
	var content	= document.getElementById('contents').value;
	var passwd	= document.getElementById('passwd').value;
	var thread	= document.getElementById('thread').value;
	var own		= document.getElementById('oid').value;
	var stype	= document.getElementById('stype').value;
	var fid		= document.getElementById('fid').value;
	var fname	= document.getElementById('fname').value;

	var url = '/cgi-bin/gfboard/gfboard_guest_list.cgi';  
	var param = { 'thread':thread, 'passwd':passwd, 'writer':writer, 'contents':contents, 'mode':'insert', 'oid':own, 'stype':stype, 'fid':fid, 'fname':fname };

	var fobj = 'null';
	ProcessFunc( "GetBbsList2", fobj, url, param );
	processnow = 1;
}

function GetBbsListBookMark()
{
	if( processnow == 1 )	return 0;

	var fobj = document.gfboardform;
	var url = '/cgi-bin/gfboard/gfboard_guest_list.cgi';  
	var param = { "oid":$F('oid'), "fid":$F('fid'), "thread":$F('thread'), "stype":$F('stype'), "page":g_page };

	ProcessFunc( "GetBbsListBookMark", fobj, url, param );
	processnow = 1;
}

function UnuseableAlertMsg()
{
	var msg = '使用できません。';
	alert( msg );
}

function CheckLength( obj )
{
	var lengthLimit = new Array();
	lengthLimit = [ [ 'writer', 'ニックネームは12文字以内でご入力ください', 12 ],
					[ 'passwd', 'パスワードは4～12文字で入力して下さい。', 12, 4 ] ];
		
	var reallen = obj.value.length;
	for( var i = 0; i < lengthLimit.length; i++ )
	{
		if( obj.name == lengthLimit[ i ][ 0 ] )
		{
			if( reallen	> lengthLimit[ i ][ 2 ] )
			{
				alert( lengthLimit[ i][ 1 ] );
				return false;
			}
			if( lengthLimit[ i ][ 3 ] && reallen < lengthLimit[ i ][ 3 ] )
			{
				alert( lengthLimit[ i][ 1 ] );
				return false;
			}

			break;
		}
	}

	return true;
}
	
function GetEmptyErrMsg( str )
{
	var msg = new Array();
	msg = [ [ 'writer', 'ニックネームを入力して下さい。' ],
		  	[ 'contents', '内容を入力して下さい。' ],
		  	[ 'passwd', 'パスワードを入力して下さい。' ] ];
	
	var errmsg = '';
	for( var i = 0; i < msg.length; i++ )
	{
		if( str == msg[ i ][ 0 ] )
		{
			errmsg = msg[ i ][ 1 ];
			break;
		}
	}

	return errmsg;
}

function submitCheck( obj )
{
	if( obj.value == '' )
	{
		alert( GetEmptyErrMsg( obj.name ) );
		obj.focus();
		return false;
	}

	return true;
}


function CheckValid()
{
//	var form = document.gfboardform;
	var writer 	= document.getElementById('writer');
	var content	= document.getElementById('contents');
	var passwd	= document.getElementById('passwd');

	if( writer )	if( !submitCheck( writer ) )	return false;
	if( content )	if( !submitCheck( content ) ) 	return false;
	if( passwd )	if( !submitCheck( passwd ) ) 	return false;

	if( writer )	if( !CheckLength(writer) ) 	return false;
	if( passwd )	if( !CheckLength(passwd) ) 	return false;

	return true;
}

function writeBbs2()
{
	var form = document.gfboardform;
	var mode = document.getElementById( "mode" );

//	alert( form.page.value );

	if( !CheckValid() ) 	
	{
//		alert( 'error' );
		return;
	}

	var writer 	= document.getElementById('writer').value;
	var content	= document.getElementById('contents').value;
	var passwd	= document.getElementById('passwd').value;
	var thread	= document.getElementById('thread').value;
	var own		= document.getElementById('oid').value;
	var stype	= document.getElementById('stype').value;
	var fid		= document.getElementById('fid').value;
	var fname	= document.getElementById('fname').value;
	var page	= document.getElementById('page').value;

	var url = "/cgi-bin/gfboard/gfboard_guest_write.cgi";
	var param = { 'thread':thread, 'passwd':passwd, 'writer':writer, 'contents':contents, 'mode':'insert', 'oid':own, 'stype':stype, 'fid':fid, 'fname':fname, 'page':page };

	ProcessFunc( "WriteBbsList2", form, url, param );
//	form.submit();
}


function writeBbs()
{
	var form = document.gfboardform;
	var mode = document.getElementById( "mode" );

	if( !CheckValid() ) 	
	{
//		alert( 'error' );
		return;
	}

	var url = "/cgi-bin/gfboard/gfboard_guest_write.cgi";

	ProcessFunc( "WriteBbsList", form, url );
//	form.submit();
}

function GoBbs( page )
{
//	var form = document.gfboardform;
//	form.page.value = page;
	g_page = page;
	GetBbsList();
//	var pobj = document.getElementById( 'page' );
//	pobj.value = page;
//	GetBbsList2();
}

function DeleteView( index, isowner )
{
	var seqno 		= document.getElementById( 'ckseq'+index );
	var havepass	= document.getElementById( 'havepass'+index ).value; 

	if( isowner )
	{
		DeleteComment( index, isowner );
		return;
	}

	for(i=0;i<10;i++)
	{
		lyrobj = document.getElementById( 'passlyr'+i );
		if(lyrobj)
			lyrobj.style.visibility = 'hidden';
	}

	if( havepass == 1 )
	{
		var passlyr = document.getElementById( 'passlyr'+index );
		passlyr.style.visibility = 'visible';
		document.getElementById('pass' + index).focus();
	}

	var delfunc = document.getElementById( 'delfunc'+index );
	if( delfunc )
	{
		delfunc.href= 'javascript:DeleteComment('+index+')';
	}


}

function DeleteComment( index, isowner )
{
//	var form = document.gfboardform;
	var form = 'null';

	var result = confirm( '本当に削除しても宜しいですか？' );
	if( result == false )	return ;

	var seqno 		= document.getElementById( 'ckseq'+index ).value;
	var passval		= document.getElementById( 'pass'+index ).value;

	var param = { "oid":$F('oid'), "stype":$F('stype'), "fid":$F('fid'), "seqno":seqno, "thread":$F('thread'), "mode":'del', "page":$F('page'), "passwd":passval };

//	form.seqno.value = seqno;
//	form.mode.value = "del";
//	form.passwd.value = passval;  

	var url = '';
	if( isowner )
		url= "/cgi-bin/gfboard/gfboard_owner_delete_process.cgi";
	else
		url= "/cgi-bin/gfboard/gfboard_guest_delete.cgi";

	ProcessFunc( "DeleteComment", form, url, param );
//	form.submit();
}

function BlogTag( tag )
{
	var fobj = document.blogform;

	var addTag = '';

	if( fobj.blogtag[0].checked == true )
	{
		addTag = encodeURIComponent( fobj.guesturl.value );
	}	
	else if( fobj.blogtag[1].checked == true )
	{
		addTag = encodeURIComponent( fobj.guesttag.value );
	}

	tag = tag + addTag;

	window.open( tag, '', '' );
}

///////////////////////////////////////////////////
//// bbs function end					///
///////////////////////////////////////////////////



///////////////////////////////////////////////////
//// guest folder function start				///
///////////////////////////////////////////////////

function HiddenPacketAllowSelect()
{
	var pasel = document.getElementById( 'masterdownpass' );
	var paimg = document.images[ 'packetallowimg' ];
	if( pasel )
		pasel.style.display = 'none' ;
	if( paimg )
		paimg.src='/img3/btn_masterdownload_off.gif';
}

function DisplaySelect( name, cmd )
{
	if( name )
	{
		$(name).style.display = cmd;
	}
}

function ShowDnSelect()
{
	var dnsel = document.getElementById( 'downselect' );
	var dnimg = document.images[ 'dnimg' ];
	if( dnsel )
		dnsel.style.display = 'block' ;
	if( dnimg )
		dnimg.src='/img/btn_down_on.gif';
}

function HiddenDnSelect()
{
	var dnsel = document.getElementById( 'downselect' );
	var dnimg = document.images[ 'dnimg' ];
	if( dnsel )
		dnsel.style.display = 'none' ;
	if( dnimg )
		dnimg.src='/img/btn_down_off.gif';
}

function ShowCopySelect()
{
	var cpsel = document.getElementById( 'copyselect' );
	var cpimg = document.images[ 'cpimg' ];
	if( cpsel )
		cpsel.style.display = 'block' ;
	if( cpimg )
		cpimg.src='/img/btn_fcopy_on.gif';
}

function HiddenCopySelect()
{
	var cpsel = document.getElementById( 'copyselect' );
	var cpimg = document.images[ 'cpimg' ];
	if( cpsel )
		cpsel.style.display = 'none' ;
	if( cpimg )
		cpimg.src='/img/btn_fcopy_off.gif';
}

function FCopy()
{
	var fn = document.flist;

	if( !fn.username.value )
	{
		alert( 'IDを入力してください。' );
		fn.username.focus();
		return false;
	}

	if( !fn.passwd.value )
	{
		alert( 'パスワードを入力してください。' );
		fn.passwd.focus();
		return false;
	}

	fn.mode.value = 'copy';
	fn.action = '/cgi-bin/folder/guest_fcopy.cgi';
	fn.submit();
}

function GetUrl()
{
	var locate = location.href;   

	if(locate.indexOf("?")==-1)
		return locate;   

	var locate = locate.split("?")[0];
	return locate;
}

function GoDiskPlan( nodisk )
{
	var url = '';
	if( nodisk == 1 )
	{
		url = 'http://www.filebank.co.jp/cgi-bin/folder/diskplan_introduce.cgi';
//		url = 'https://pay.filebank.co.jp/cgi-bin/pay/pay_goods.cgi?typ=space';
	}
	else
	{
//		url = 'http://www.filebank.co.jp/folder/?stype=1';
		url = GetUrl();
		url += '?stype=1';
	}

	setCookieSession( "__stype", 1 ); 
	document.location.href= url;
}

function GoFreePlan()
{
//	url = 'http://www.filebank.co.jp/folder/';
	setCookieSession( "__stype", 0 ); 
	var url = GetUrl();
	url += '?stype=0';
	document.location.href= url;
}

function AddGBookMark()
{
//	document.location.href= '/cgi-bin/folder/bookmark_guest_add.cgi';
	var url = '/cgi-bin/folder/bookmark_guest_add.cgi';
	ViewList( url );
}

function ModifyGBookMark( seqno )
{
//	document.location.href= '/cgi-bin/folder/bookmark_guest_add.cgi';
	var url = '/cgi-bin/folder/bookmark_guest_modify.cgi';
	ViewList( url, "seqno", seqno );
}

function AddSBookMark()
{
	var url = '/cgi-bin/folder/bookmark_tomo.cgi';
	ViewList( url );
}

///////////////////////////////////////////////////
//// guest folder function end					///
///////////////////////////////////////////////////


///////////////////////////////////////////////////
//// guest folder bookmakr function start		///
///////////////////////////////////////////////////
function GetMsgCount( msg )
{
	var nbytes = 0;

	for( var i=0; i < msg.length; i++ )
	{
		var ch = msg.charAt(i);

		if( escape(ch).length > 4 )
		{
			nbytes += 2;
		}
		else if( ch == '\n' )
		{
			if( msg.charAt(i-1) != '\r' )
				nbytes += 1;
		}
		else if( ch == '<' || ch == '>' )
			nbytes += 4;
		else
			nbytes += 1;
	}

	return nbytes;
}

function ModifyGBookMarkProcess()
{
	var fm = document.inputForm;
	var gname = document.getElementById( 'gname' );
	var gfname = document.getElementById( 'gfname' );
	var gpass = document.getElementById( 'gpass' );
	var gdesc = document.getElementById( 'gdesc' );
	var seqno = document.getElementById( 'seqno' );
	var nopass = document.getElementById( 'passno' );

	if( seqno.value < 0 )	return;

	if( gname.value == '' )
	{
		alert('ゲストフォルダのIDを入力してください。');
		gname.focus();
		return;
	}

	if( gfname.value == '' )
	{
		alert('ゲストフォルダのフォルダを入力してください。');
		gfname.focus();
		return;
	}

	if( (nopass.checked == false) && (gpass.value == '') )
	{
		alert('ゲストフォルダのパスワードを入力してください。');
		gpass.focus();
		return;
	}

	/*
	if( gdesc.value == '' )
	{
		alert('ゲストフォルダの詳細を入力してください。');
		gdesc.focus();
		return;
	}
	*/

	if( GetMsgCount( gdesc.value ) > 40 )
	{
		alert( '全角20文字以内で入力してください。' );
		gdesc.focus();
		return;
	}

	var url = '/cgi-bin/folder/bookmark_guest_modify_process.cgi';
	ProcessFunc( "BookMarkGuestModify", fm, url );
	process = 1;
}

// 게스트폴더 북마크 삭제
function DelGBookMark( seqno, state )
{
	var msg = '本当に削除してもよろしいですか。';

	if( !confirm( msg ) )
		return;

	var fm = document.inputForm;
	var url = '/cgi-bin/folder/bookmark_guest_del_process.cgi';
	var param = '?seqno='+seqno+'&state='+state;
	ProcessFunc( "BookMarkGuestDel", fm, url, param );
	process = 1;
}

// 쉐어폴더 북마크 삭제
function DelSBookMark( linkid, stype )
{
	var msg = '本当に削除してもよろしいですか。';

	if( !confirm( msg ) )
		return;

	var fm = document.inputForm;
	var url = '/cgi-bin/folder/bookmark_share_delete_process.cgi';
//	var param = '?seqno='+seqno+'&state='+state;
	var param = { "stype":stype, "mode":'del', "linkno":linkid };
	ProcessFunc( "BookMarkGuestDel", fm, url, param );
	process = 1;
}

function AddGBookMarkProcess()
{
	var fm = document.inputForm;
	var gname = document.getElementById( 'gname' );
	var gfname = document.getElementById( 'gfname' );
	var gpass = document.getElementById( 'gpass' );
	var gdesc = document.getElementById( 'gdesc' );
	var passno = document.getElementById( 'passno' );



	if( gname.value == '' )
	{
		alert('ゲストフォルダのIDを入力してください。');
		gname.focus();
		return;
	}

	if( gfname.value == '' )
	{
		alert('ゲストフォルダのフォルダを入力してください。');
		gfname.focus();
		return;
	}

	 if( !gpass.value  && !passno.checked)
	{
		alert('ゲストフォルダのパスワードを入力してください。');
		gpass.value='';
		gpass.focus();
		return;
	}



	/*
	if( gpass.value == '' )
	{
		alert('ゲストフォルダのパスワードを入力してください。');
		gpass.focus();
		return;
	}
	*/

	/*
	if( gdesc.value == '' )
	{
		alert('ゲストフォルダの詳細を入力してください。');
		gdesc.focus();
		return;
	}

	if( GetMsgCount( gdesc.value ) > 40 )
	{
		alert( '全角20文字以内で入力してください。' );
		gdesc.focus();
		return;
	}
	*/

	var url = '/cgi-bin/folder/bookmark_guest_add_process.cgi';
	ProcessFunc( "BookMarkGuestAdd", fm, url );
	process = 1;


//	fm.action = '/cgi-bin/folder/bookmark_guest_add_process.cgi';
//	fm.submit();
}

function WriteMiniMail()
{
	var url = 'http://www.filebank.co.jp/cgi-bin/memo/memo_write_ajax.cgi';
	WinOpenResize( url, 'MiniMail', 450, 400, 'no', 'no' );
}

function GetFocus()
{
	document.rep.shareid.focus();
	return;
}

function SEARCH_USER()
{
//	var iLink = document.rep;
	var iLink = document.flist;

	if( iLink.shareid.value.length == 0)
	{
		alert(' 検索するIDを入力してください。');
		iLink.shareid.focus();
		return;
	}
	if( iLink.shareid.value.length < 3 && iLink.shareid.value.length > 0)
	{
		alert(' 3文字以上入力してください。');
		iLink.shareid.focus();
		return;
	}

//	iLink.action = '/cgi-bin/folder/link_info.cgi';
	iLink.action = '/cgi-bin/folder/bookmark_tomo.cgi';
	iLink.submit();
}



function Add_link()
{
//	var fn = document.rep;
	var fn = document.flist;
	fn.mode.value = 'add';

	if( !fn.category_name.value )
	{
		alert( '追加するTOMOフォルダを選択してください。' );
		return;
	}

//	fn.action = '/cgi-bin/folder/link_info.cgi';
	fn.action = '/cgi-bin/folder/bookmark_tomo.cgi';
	fn.submit();

}



function Del_link()
{
//	var fn = document.rep;
	var fn = document.flist;
	fn.mode.value = 'del';

	if( !fn.category_selected.value )
	{
		alert( '削除するTOMOフォルダを選択してください。' );
		return;
	}

//	fn.action = '/cgi-bin/folder/link_info.cgi';
	fn.action = '/cgi-bin/folder/bookmark_tomo.cgi';
	fn.submit();

}

//쉐어폴더 추가시 패스워드 있는경우
function RunAdd()
{
	var fn = document.flist;

	if( !fn.pass.value )
	{
		alert( 'パスワードを入力してください.' );
		return;
	}

	fn.mode.value = 'add';
	fn.action = '/cgi-bin/folder/bookmark_tomo.cgi';
	fn.submit();
//	ProcessFunc( "BookMarkShareAdd", fn, url );
}

//게스트 폴더 익스플로러 즐겨찾기 추가
function AddFavorite( url, title )
{
	window.external.AddFavorite( url, title );
}

function GusetFCopyAbout()
{
	var url='/cgi-bin/folder/guest_fcopy_about.cgi';
	window.open(url,'Fcopy','toolbar=no,width=580,height=450,top=0,left=0,resize=no,scrollbars=no');
}

///////////////////////////////////////////////////
//// guest folder bookmark function end			///
///////////////////////////////////////////////////

function CheckMail( str )
{
	var baseMail = /@./;

	if( !baseMail.test( str ) ) return false;

	return true;
}

function CloseDescPopup( name, cmd )
{
	DisplaySelect( name, cmd );
	setCookie( "__pdisv", 0, 10000 ); 
}

///////////////////////////////////////////////////
//// file link function start 					///
///////////////////////////////////////////////////

function SetLinkState()
{
	var fn = document.flist;
	if( !fn ) return;
	var stype = fn.stype.value;
	var oid = fn.oid.value;
	var uid = uid;
	var cnt = fn.idcnt.value;

	var folder_cnt = 0;
	var file_cnt = 0;
	var fid;

	for( var i=0; i < cnt; i++ )
	{
		eval( 'if(fn.id'+i+'.checked==true && fn.idt'+i+'.value==1 ) folder_cnt++;' );
		eval( 'if(fn.id'+i+'.checked==true && fn.idt'+i+'.value==2 ) { file_cnt++;fid=fn.id'+i+'.value; }' );
	}

	if( folder_cnt > 0 )
	{
		alert( 'フォルダはファイルリンクできません。ファイルを選択して下さい。' );
		return;
	}

	if( file_cnt == 0 )
	{
		alert( 'ファイルを選択してください。' );
		return;
	}

	if( file_cnt > 20 )
	{
		alert( '一度に選択できるのは20ファイルまでです。' );
		return;
	}
	var url = '/cgi-bin/filelink/filelink_make.cgi';
	var opt = 'resizable=1,titlebar=0,status=0,toolbar=0,height=517,width=800';
	var nw = window.open('', 'FileLink', opt );
	if( nw == null )
	{ alert( 'popup blocked' ); }
	else
		nw.focus();

	fn.target = 'FileLink';
	fn.action = url;
	fn.submit();
}

function MakeFileLinkProperty()
{
	var fn = document.flist;
	if( !fn ) return;
	var stype = fn.stype.value;
	var oid = fn.oid.value;
	var cnt = fn.idcnt.value;
	var fid = fn.fid.value;

	var url = '/cgi-bin/filelink/filelink_make.cgi?pop=1&idcnt=1&stype='+stype+'&oid='+oid+'&id0='+fid+'&idt0=2';
	var opt = 'resizable=1,titlebar=0,status=0,toolbar=0,height=517,width=790';
	var nw = window.open(url, 'FileLink', opt );
	if( nw == null )
	{ alert( 'popup blocked' ); }
	else
		nw.focus();

//	var fn = document.flist;
//	if( !fn ) return;
//	fn.target = 'FileLink';
//	fn.action = url;
//	fn.submit();
}

function FileLinkWebDown( key )
{
	if( key == '' )	return;
	var url = "http://link.filebank.co.jp/cgi-bin/filelink/filelink_down.cgi?filelink="+key;
	document.getElementById("APP").contentWindow.location.href = url;
}

function FileLinkWebPacketDown( key )
{
	if( key == '' )	return;
//	var fn  = document.flist;
	var url = "http://www.filebank.co.jp/cgi-bin/filelink/filelink_packet.cgi?key="+key;
	var opt = 'resizable=1,titlebar=0,status=0,toolbar=0,height=470,width=700,scrollbars=0';
	var nw = window.open(url, 'FileLinkPacketDown', opt );

	if(nw)
		nw.focus();
}

function FileLinkCopy( login, key )
{
	if( key == '' )	return;

	if( login == '0' )
	{
		var url = 'http://www.filebank.co.jp/login/login_popup_fl.html?parentType=flcopy&from=filelink-' + key;
		WinOpenResize(url, 'popLogin', '670', '510', 'no', 'no');
		return;
	}

	var url = 'http://www.filebank.co.jp/cgi-bin/filelink/filelink_copy.cgi?key='+key;
//	alert( url );
	document.getElementById("APP").contentWindow.location.href = url;
//	document.APP.location.href=url;
}


function showHelpSend(e, param)
{
	var evt=window.event || e
	$('helpSend').style.top=evt.clientY+document.body.scrollTop + "px";
	$('helpSend').style.left=evt.clientX + "px";
	$('helpSend').style.display=param;
}

function HighlightText(obj){
	var r = document.body.createTextRange();
	r.moveToElementText(document.getElementById(obj.id));
	r.select(); 
}


function CopyToClipBoard( data )
{
	if( data == '' )	return;

	try
	{
		if( window.clipboardData.setData( 'Text', data ) )
		{
			alert('URLをコピーしました。');
		}
	}
	catch(e)
	{
		alert( 'IE以外のブラウザでは直接コピーしてください。' );
	}
}


function CopyTagToClipBoard( data )
{
	if( data == '' )	return;

	try
	{
		if( window.clipboardData.setData( 'Text', data ) )
		{
			alert('タグをコピーしました。');
		}
	}
	catch(e)
	{
		alert( 'IE以外のブラウザでは直接コピーしてください。' );
	}
}

function WebPacketDown(enough)
{
	if( enough == '0' )
	{
		alert( '特急パスが不足しています。 \n特急パス購入後、ご利用ください。' );
		return;
	}

	var url = 'http://expweb.filebank.co.jp/cgi-bin/filelink/filelink_expdown.cgi';

	if(!confirm("特急パスの返品は一切できません。\n24時間以内であれば再ダウンロードが可能です。\n\n本当にブラウザ特急ダウンロードを開始しますか？"))
		return;

	var fobj = document.downform;
	downform.target = 'APP';
	downform.action = url;
	downform.submit();

	ExpEnd();
//	Event.observe( 'APP', 'load', function(e){ExpEnd(); Event.stop(e);});
}


function WebPacketDown24()
{
	var url = 'http://expweb.filebank.co.jp/cgi-bin/filelink/filelink_expdown.cgi';

	if(!confirm("再ダウンロードを開始します。"))
		return;

	var fobj = document.downform;
	downform.target = 'APP';
	downform.action = url;
	downform.submit();

	ExpEnd();
}

function ExpEnd()
{
	setTimeout( "document.location.href='http://www.filebank.co.jp/cgi-bin/filelink/filelink_expend.cgi'"
			, 5000 );
}

///////////////////////////////////////////////////
//// file link function end						///
///////////////////////////////////////////////////

function WebNorDown(isguest)
{
	var fn = document.downform;
	fn.target = 'APP2';

	if( isguest == '1' )	// guest folder
	{
		var fid = fn.fid.value;
		var stype = fn.stype.value;
		var url = 'http://wf.filebank.co.jp/cgi-bin/folder/guest_down.cgi?fid='+fid+'&stype='+ stype;
		document.location.href = url;
	}

	else
	{
		fn.action = 'http://wf.filebank.co.jp/cgi-bin/folder/file_down.cgi';
		fn.submit();
	}
}

function getTop( objHeight, middle )
{
	if( middle == '1' )	return (document.body.scrollTop+(document.body.clientHeight-objHeight)/2);
	else 			return (document.body.scrollTop);
}

function WebPacketDownFolder(enough, guest, login )
{
	if( guest && !login )
	{
		var fid = document.downform.fid.value;
		var stype = document.downform.stype.value;
//		popLogin();
		var url = 'http://www.filebank.co.jp/login/login_popup_folder.html?parentType=poppay&from='+fid+'-'+stype;
		document.location.href=url;
		return;
	}

	if( enough == '0' )
	{
		alert( '特急パスが不足しています。 \n特急パス購入後、ご利用ください。' );
		return;
	}

	var url = '';
	if( guest == '1' )
		url = 'http://expweb.filebank.co.jp/cgi-bin/folder/guest_expdown.cgi';
	else
		url = 'http://expweb.filebank.co.jp/cgi-bin/folder/folder_expdown.cgi';

	if(!confirm("特急パスの返品は一切できません。\n24時間以内であれば再ダウンロードが可能です。\n\n本当にブラウザ特急ダウンロードを開始しますか？"))
		return;

	var fobj = document.downform;

	downform.target = 'APP2';
	downform.action = url;
	downform.submit();

	ExpEndFolder();
}

function ExpEndFolder()
{
	setTimeout( "document.location.href='http://www.filebank.co.jp/cgi-bin/folder/folder_expend.cgi'"
			, 5000 );
}

function WebPacketDown24Folder(guest)
{
	if(!confirm("再ダウンロードを開始します。"))
		return;

	var fobj = document.downform;
//	var url = 'http://expweb.filebank.co.jp/cgi-bin/folder/folder_expdown.cgi';
	var url = '';
	if( guest == '1' )
		url = 'http://expweb.filebank.co.jp/cgi-bin/folder/guest_expdown.cgi';
	else
		url = 'http://expweb.filebank.co.jp/cgi-bin/folder/folder_expdown.cgi';


	downform.target = 'APP2';
	downform.action = url;
	downform.submit();

	ExpEndFolder();
}

//***************************************
// end folder web packet down
//***************************************
