WSO.Onload(function()
{
	WSO.SimpleTagForm.setButton('Amazon 広告を挿入'			,'asin'			,'\nasin:<<ASIN>>\n');
	WSO.SimpleTagForm.setForm('ALPSLAB 地図を挿入'	,'AlpsClipForm'		,'alpsclip'		,'[alpsclip:("<<42/34/16.310,142/49/30.129>>","<<地図名>>",W)]'					,[['座標または住所',30],['地図名',30]]	,'挿入');
	WSO.SimpleTagForm.setForm('ALPSLAB 経路を挿入'	,'AlpsRouteForm'	,'alpsroute'	,'[alpsroute:(<<6f5ff09821f66a7f320f62f14959db74>>,"<<トラックログ>>")]'		,[['ルート ID',25],['ルート名',30]]		,'挿入');
	WSO.SimpleTagForm.setForm('YouTube 動画を挿入'	,'YouTubeForm'		,'video'		,'[video:(<<QR7Rrgij8dU>>,"<<YouTube動画>>")]'									,[['ビデオ ID',15],['タイトル',30]]		,'挿入');
	WSO.SimpleTagForm.setForm('Picasa アルバム地図を挿入','AlbumMapForm'	,'AlbumMap'		,'[AlbumMap:("<<whochan.001>>","<<5278542532824908193>>","<<アルバム地図>>")]'	,[['ユーザ',30],['アルバム ID',30],['アルバム名',30]],'挿入');
	WSO.SimpleTagForm.setForm('添付書類を挿入'		,'FileclipForm'		,'fileclip'		,'[clip:(<< ?AutoClipNO? >>,"<<添付ファイル>>")]'								,[['ファイル番号',30],['キャプション',30]],'挿入');

	//ファイル変更時タグを挿入
	var forms = document.getElementsByTagName('form');
	for(var i = 0,form;form = forms[i];i++)
	{
		var inputs = form.getElementsByTagName('input');
		for(var j = 0,input;input = inputs[j];j++)
		{
			if(input.getAttribute('type') == 'file')
			{
				setChangeEvent(input);
			}
		}
	}

	function setChangeEvent(element)
	{
		var title = element.parentNode.previousSibling.previousSibling.cloneNode(true);
		var space = element.parentNode.previousSibling.cloneNode(true);
		var file  = element.parentNode.cloneNode(true);
		element.addEventListener('change',
		function(event)
		{
			var value = WSO.EditPoint.getSelectText(event.target);
			var tag = '[clip:( ?AutoClipNO? ,"'+(value ? value : 'キャプション')+'")]';
			WSO.EditPoint.insertTag(event.target,tag);
			var newTitle        = title;
			var newTitleLabel   = newTitle.getElementsByTagName('label')[0];
			var newTitleInput   = newTitle.getElementsByTagName('input')[0];
			var newTitleId      = newTitleInput.getAttribute('id') + '_';
			newTitleInput.setAttribute('id',newTitleId);
			newTitleLabel.setAttribute('for',newTitleId);
			newTitleInput.value = '';
			var newSpace        = space;
			var newFile         = file;
			var newFileLabel    = newFile.getElementsByTagName('label')[0];
			var newFileInput    = newFile.getElementsByTagName('input')[0];
			var newFileId       = newFileInput.getAttribute('id') + '_';
			newFileInput.setAttribute('id',newFileId);
			newFileLabel.setAttribute('for',newFileId);
			newFileInput.value  = "";
			this.parentNode.parentNode.insertAfter(newFile,this.parentNode);
			this.parentNode.parentNode.insertAfter(newSpace,this.parentNode);
			this.parentNode.parentNode.insertAfter(newTitle,this.parentNode);
			setChangeEvent(newFileInput);
		},false);
	}

	//定義語の登録
	var Define	= new WSO.TagForm('定義語の登録','DfnForm','optionform','define');
	Define.setFormFunction
	(
		function(obj)
		{
			var dfn		= obj.form.DfnDfn.value;
			var ruby	= obj.form.DfnRuby.value;
			var mean	= obj.form.DfnMean.value;
			var part	= obj.form.DfnPart.value;
			var tag = "[dfn:(\""+dfn+"\",\""+ruby+"\","+part+",\""+mean+"\")]";

			//フォームの内容を空にする
			obj.form.DfnDfn.value='';
			obj.form.DfnRuby.value='';
			obj.form.DfnMean.value='';
			WSO.EditPoint.insertTag(obj,tag);
		}
	);
	Define.appendChild(WSO.CreateTagForm.inputText('定義語','DfnDfn','',30));
	Define.appendChild(WSO.CreateTagForm.inputText('かな','DfnRuby','',50));
	Define.appendChild(WSO.CreateTagForm.selectNumberText('品詞','DfnPart','',0,['名詞','性','名','人名','地名','組織','商品','固有名詞','サ変名詞','ザ変名詞','形動名詞','サ変形動名詞','感動詞','独立語','カ行五段','ガ行五段','サ行五段','タ行五段','ナ行五段','バ行五段','マ行五段','ラ行五段','ワ行五段','ハ行四段','動詞','形容詞','形容動詞','タリ形容動詞']));
	Define.appendChild(WSO.CreateTagForm.inputText('定義','DfnMean','',150));
	Define.setToAll('挿入');

	//ウェブサイトの登録
	var Website = new WSO.TagForm('ウェブサイトの登録','WebsiteForm','optionform','website');
	Website.setFormFunction
	(
		function(obj)
		{
			var sitename	= obj.form.WebsiteSitename.value;
			var url			= obj.form.WebsiteURL.value;
			var pattern		= obj.form.WebsitePattern.value;
			var encode		= obj.form.WebsiteEncode.value;
			var text		= obj.form.WebsiteText.value;
			var tag = "[website:(\""+sitename+"\",\""+url+"\",\""+pattern+"\",\""+encode+"\"){"+text+"}]";
			WSO.EditPoint.insertTag(obj,tag);
		}
	);
	Website.appendChild(WSO.CreateTagForm.inputText('サイト名','WebsiteSitename','',30));
	Website.appendChild(WSO.CreateTagForm.inputText('URL','WebsiteURL','',50));
	Website.appendChild(WSO.CreateTagForm.inputText('クエリ','WebsitePattern','',10));
	Website.appendChild(WSO.CreateTagForm.selectText('文字コード','WebsiteEncode','',['utf8','sjis','euc']));
	Website.appendChild(WSO.CreateTagForm.inputText('リンク文字','WebsiteText','',15));
	Website.setToAll('挿入');

//	var WebsiteForm		= makeWSO.TagForm.elementBaseFieldset('ウェブサイトの登録','WebsiteForm','optionform');
//	var WebsiteSitename	= makeWSO.TagForm.elementInputText('サイト名','WebsiteSitename','',15);
//	WebsiteForm.appendChild(WebsiteSitename);
//	var WebsiteURL		= makeWSO.TagForm.elementInputText('URL','WebsiteURL','',30);
//	WebsiteForm.appendChild(WebsiteURL);
//	var WebsitePattern	= makeWSO.TagForm.elementInputText('クエリ','WebsitePattern','',10);
//	WebsiteForm.appendChild(WebsitePattern);
//	var WebsiteEncode	= makeWSO.TagForm.elementSelectText('文字コード','WebsiteEncode','',['utf8','sjis','euc']);
//	WebsiteForm.appendChild(WebsiteEncode);
//	var WebsiteText		= makeWSO.TagForm.elementInputText('リンク文字','WebsiteText','',15);
//	WebsiteForm.appendChild(WebsiteText);
//
//	var WebsiteButton	= makeWSO.TagForm.elementInput('button','WebsiteButton','挿入');
//	WebsiteButton.addEventListener('click',function(){Website(event.target);},false);
//	WebsiteForm.appendChild(WebsiteButton);
//
//	makeWSO.TagForm.addForm(WebsiteForm);
//	makeWSO.TagForm.addButton('website','ウェブサイトの挿入',function(){WebsiteForm.style.display="block";});
});
