var tabTitleClmElement;
var tabContentsClmElement;
var tabCounter;
var currentTabNo;

function initialize() {
	tabTitleClmElement = document.getElementById("tabTitles");
	tabContentsClmElement = document.getElementById("tabContents");
	tabCounter = tabTitleClmElement.childNodes.length;
	currentTabNo = 1;
	setEvent();
}

function setEvent() {
	
	//色の変更イベント
	if (IE()) {
		document.getElementById("TabColor").attachEvent("onchange", function(e) {swfInitial();} );
		document.getElementById("TextColor").attachEvent("onchange", function(e) {swfInitial();} );
	} else {
		document.getElementById("TabColor").addEventListener("change", function(e) {swfInitial();}, false);
		document.getElementById("TextColor").addEventListener("change", function(e) {swfInitial();}, false);
	}
	
	//色用のラジオボタンの変更イベント
	var TabColorRadio = document.getElementsByName("TabColorRadio");
	var TabColor =  document.getElementById("TabColor");
	for (var index = 0 ; index < TabColorRadio.length ; index++) {
		var radio = TabColorRadio[index];
		
		if (IE()) {
			radio.attachEvent("onclick", function(e) {TabColor.value = e.srcElement.value; swfInitial();} );
		} else {
			radio.addEventListener('click', function(e) {TabColor.value = e.target.value; swfInitial();}, false);
		}
	}
	
	
	var TextColorRadio = document.getElementsByName("TextColorRadio");
	var TextColor =  document.getElementById("TextColor");
	for (var index = 0 ; index < TextColorRadio.length ; index++) {
		var radio = TextColorRadio[index];
		
		if (IE()) {
			radio.attachEvent("onclick", function(e) {TextColor.value = e.srcElement.value; swfInitial();} );
		} else {
			radio.addEventListener('click', function(e) {TextColor.value = e.target.value; swfInitial();}, false);
		}
	}
	
	//タブタイトルの変更イベント
	tabTitleElements = document.getElementById("tabTitles").getElementsByTagName("INPUT");
	for (var index = 0 ; index < tabTitleElements.length ; index++) {
		if (IE()) {
			tabTitleElements[index].attachEvent("onchange", function(e) {swfInitial();} );
		} else {
			tabTitleElements[index].addEventListener("change", function(e) {swfInitial();}, false);
		}
	}

}


function addTab() {
	tabCounter++;
	
	//タブの要素を追加
	var tabTitle = document.createElement("div");
	tabTitle.id = "tabTitle" + tabCounter;
	
	var titleText = document.createElement("input");
	titleText.id = "TabText";
	titleText.name = "TabText[]";
	titleText.type = "text";
	titleText.className = "TextField";
	titleText.value = "追加されたタブ";
	if (IE()) {
		titleText.attachEvent("onchange", function(e) {swfInitial();} );
	} else {
		titleText.addEventListener("change", function(e) {swfInitial();}, false);
	}
	tabTitle.appendChild(titleText);
	
	var edit = document.createElement("a");
	var editText = document.createTextNode(" 項目を編集");
	edit.href = 'javascript:editTab(' + tabCounter + ');';
	edit.className = "Action";
	edit.appendChild(editText);

	var remove = document.createElement("a");
	var removeText = document.createTextNode("タブを削除");
	remove.appendChild(removeText);
	remove.href = 'javascript:removeTab(' + tabCounter + ');';
	remove.className = "Action";
	
	tabTitle.appendChild(edit);
	tabTitle.appendChild(document.createTextNode("|"));
	tabTitle.appendChild(remove);
	tabTitleClmElement.appendChild(tabTitle);
	
	//タブの中身の要素を追加
	var tabContents = document.createElement("div");
	tabContents.id = "tabContents" + tabCounter;
	tabContents.style.display = "none";
	var contentsText = document.createElement("textarea");
	contentsText.name = "TabContents[" + tabCounter + "][]";
	contentsText.cols = "50";
	contentsText.rows = "7";
	contentsText.style.display = "block";

	tabContents.appendChild(contentsText);
	tabContentsClmElement.appendChild(tabContents);
	
	editTab(tabCounter);
	swfInitial();
}

function editTab(tabNo) {
	var VisbleTarget = document.getElementById("tabContents" + currentTabNo);
	if (VisbleTarget) {
		VisbleTarget.style.display = "none";
		document.getElementById("tabTitle" + currentTabNo).getElementsByTagName("INPUT")[0].className = "TextField";
	}
	
	var targetElement = document.getElementById("tabTitle" + tabNo).getElementsByTagName("INPUT")[0];
	targetElement.className = "TextFieldOnEdit";
	if (IE()) {
		document.getElementById("currentTabTitle").innerText = targetElement.value;
	} else {
		document.getElementById("currentTabTitle").textContent = targetElement.value;
	}
	
	document.getElementById("tabContents" + tabNo).style.display = "";
	currentTabNo = tabNo;
}

function removeTab(tabNo) {
	tabTitleClmElement.removeChild(document.getElementById("tabTitle" + tabNo));
	tabContentsClmElement.removeChild(document.getElementById("tabContents" + tabNo));
	editTab(1);
	swfInitial();
}

function addContents() {
	var tabContents = document.getElementById("tabContents" + currentTabNo);
	var contentsText = document.createElement("textarea");
	contentsText.name = "TabContents[" + currentTabNo + "][]";
	contentsText.cols = "50";
	contentsText.rows = "7";
	contentsText.style.display = "block";
	tabContents.appendChild(contentsText);
}

function send() {
	if (!document.getElementById("TabColor").value.match("([0-9]|[A-F]|[a-f]){6}")) {
		alert("背景色の値が正しくありません。");
		return;
	}
	
	if (!document.getElementById("TextColor").value.match("([0-9]|[A-F]|[a-f]){6}")) {
		alert("文字色の値が正しくありません。");
		return;
	}
	document.preview.submit();
}

function swfInitial() {
	sideBarText = new Array();
	tabTitleElements = document.getElementById("tabTitles").getElementsByTagName("INPUT");
	for (var index = 0 ; index < tabTitleElements.length ; index++) {
		sideBarText.push(tabTitleElements[index].value);
	}
	
	
	tabColor = "0x" + document.getElementById("TabColor").value;
	textColor = "0x" + document.getElementById("TextColor").value;
	movePixel = document.getElementById("MoveSpeed").value;
	if (IE()) {
		var swfElement = document.getElementById("SideBarTab");
	} else {
		var swfElement = document.getElementsByName("SideBarTab")[0];
	}
	
	swfElement.initialize();
}

function IE() {
	if (document.all) {
		return	true;
	} else {
		return false;
	}
}