﻿// JavaScript Document
var checkedFlag = 1;
var elementList = new Array();
var mailedit = 0;
var resizeFlag = 0;
function getInputList(list){
	if($("clear")) Event.observe($("clear"), "click", clearForm, false);
	for(var i = 0; i < list.length; i++){
		if(list[i] == "check"){
			if($(list[i]).checked == true){
				checkedFlag = 1;
			}else{
				checkedFlag = 0;
			}
		}
		elementList[i] = list[i];
		//指定されたidを持つDOMにイベントを割り当てる。checkInput()はそれぞれのJSファイルにより動作が異なる
		//Event.observe($(list[i]), "keyup", checkInput, false);
		//Event.observe($(list[i]), "click", checkInput, false);
		Event.observe($(list[i]), "blur", checkInput, false);
	}
	//Submitされた場合のイベント動作
	Event.observe($("send"), "click", checkSubmit, false);
	if($("sendTop")) Event.observe($("sendTop"), "click", checkSubmit, false);
}

//同意事項のチェック
function checkAgree(id){
	if($(id).checked != true){
		return 1;
	}else{
		return 0;
	}
}

var mailacoountCheck = 0;
//メールアドレスのチェック
function checkMail(id, checkFlag){
	var str = $F(id);
	if (str.indexOf('%') != -1 || !str){ //半角英数字 OR 入力チェック
		return 2;
	}else if(str.search(/.+@.+\./) == -1 || str.length < 6){ //メールアドレスチェック OR 6文字より多いか
		return 1;
	}else{
		if($("re"+ id)){
			if(str != $F("re"+ id)){ //メール確認と同じか
				return 3;
			}else{
				return 0;
			}
		}else{
			return 0;
		}
	}
}
//メールアドレス確認のチェック
function checkReMail(id, checkFlag){
	var str = $F(id);
	if (str.indexOf('%') != -1 || !str){ //半角英数字 OR 入力チェック
		return 2;
	}else if(str.search(/.+@.+\./) == -1 || str.length < 6){ //メールアドレスチェック OR 6文字より多いか
		return 1;
	}else{
		if($(id)){
			if(str != $F("re"+ id)){ //メール確認と同じか
				return 3;
			}else{
				return 0;
			}
		}else{
			return 0;
		}
	}
}

//パスワードのチェック
function checkPass(id){
	var str = $F(id);
	if (str.indexOf('%') != -1 || !str){ //半角英数字 OR 入力チェック
		return 3;
	}else if(str.length < 6){
		return 2;
	}else if(str.match(/[^a-z|^0-9]/i)){ //英数字チェック
		return 1;
	}else if($("repassword")){
		if(str != $F("repassword")){ //パスワード確認と同じか
			return 4;
		}else{
			return 0;
		}
	}else{
		return 0;
	}
}

//パスワード確認のチェック
function checkRePass(id){
	var str = $F(id);
	if(str != $F("password")){ //パスワードと同じか
			return 4;
	}else{
		return 0;
	}
}

//入力されているかのチェック
function checkDefault(id){
	var str = $F(id);
	if(str == ''){ //入力チェック
		return 1;
	}else{
		return 0;	
	}
}

//ホームページアドレスチェック
function checkHomepage(id){
	var str = $F(id);
	if(!str.match(/http./) && str){ //httpで始まっているか？
		return 1;
	}else{
		return 0;	
	}
}

//企業管理部分、エコ活動の編集時
//タイトルと本文が両方入力済みかチェック
function checkcomb(id){
	if(id.lastIndexOf("e") > id.lastIndexOf("t")){
		var start = id.lastIndexOf("e") + 1;
	}else{
		var start = id.lastIndexOf("t") + 1;
	}
	var end = id.length;
	var no = Number(id.slice(start, end));
	var title = $F("title"+ no);
	var bod = $F("text"+ no);
	
	if(title && !bod){
		return 2;
	}else if(!title && bod){
		return 1;
	}else{
		return 0;
	}
}

//日付入力のチェック
function checkdate(id){
	var str = $F(id);
	if(!str.match(/[^0-9]/i) || !str){ 
		return 1;
	}else{
		return 0;	
	}
}

//エラー文を削除
function delError(name){
	var checkArea = $("checkArea");
	var fontElement = checkArea.getElementsByTagName("font");
	if(fontElement){
		for(var i = 0; i < fontElement.length; i++){
			if(Element.classNames(fontElement[i]) == name +"FalseMsg"){
				Element.remove(fontElement[i]);
			}
		}
	}
}

//フォームをSubmitする前のチェック
//エラーがある場合はここでサブミットされずにエラーの表示になる
function checkError(selectSend){
	var checkArea = $("checkArea");
	checkArea.onsubmit = function(){
		return false;
	}
	var inCheck = document.getElementsByClassName("inCheck");
	var inValueFlg = 0;
	for(var i = 0; i < inCheck.length; i++){
		if(inCheck[i].value || inCheck[i].checked){
			inValueFlg++;
		}
	}
	var fontElement = checkArea.getElementsByTagName("font");
	if(fontElement.length == 0){
		if(checkedFlag == 1){
			Event.stopObserving($("send"), "click", checkSubmit, false);
			if($("sendTop")) Event.stopObserving($("sendTop"), "click", checkSubmit, false);
			if($("errorText")){
				$("errorText").style.display = "block";
				$("errorText").innerHTML = "入力内容に、誤りがあります。<br />もう一度ご確認の上、「入力内容を確認する」ボタンをクリックしてください。";
			}
			if(selectSend == 0){
				Event.observe($("send"), "click", returnAction, false);
				if($("sendTop")) Event.observe($("sendTop"), "click", returnAction, false);
			}else{
				if($("errorText")) $("errorText").style.display = "none";
				returnAction();
			}
		}else{
			if(selectSend == 0){
				Event.observe($("send"), "click", returnAction, false);
				if($("sendTop")) Event.observe($("sendTop"), "click", returnAction, false);
			}else{
				returnAction();
			}
		}
	}else{
		Event.stopObserving($("send"), "click", returnAction, false);
		if($("sendTop")) Event.stopObserving($("sendTop"), "click", returnAction, false);
		if($("errorText")){
			$("errorText").style.display = "block";
			$("errorText").innerHTML = "入力内容に、誤りがあります。<br />もう一度ご確認の上、「入力内容を確認する」ボタンをクリックしてください。";
		}
	}
}

//フォーム内のエラーチェックを行う
function checkSubmit(){
	for(var i = 0; i < elementList.length; i++){
		checkInput(elementList[i]);
	}
	checkError(1);
	mailedit = 1;
}

//formのinput等を非表示にし、そのタグの前にvalueを表示させる
function formCheck(){
	var checkArea = $("checkArea");
	var input = checkArea.getElementsByTagName("input");
	var label = checkArea.getElementsByTagName("label");
	var textarea = checkArea.getElementsByTagName("textarea");
	var Select = checkArea.getElementsByTagName("select");
	if(input.length > 0){
		for(var i = 0; i < input.length; i++){
			var element = input[i];
			var createFont = document.createElement("font");
			createFont.className = "t2";
			if(element.id != "start_date" && element.id != "finish_date" && element.id != "check"){
				if(element.type == "text"){
					element.style.display = "none";
					createFont.innerHTML = $F(element.id);
					new Insertion.Before(element.id, createFont);
				}else if(element.type == "password"){
					var str = $F(element.id);
					var password = "";
					for(var n = 0; n < str.length; n++){
						password += "*";
					}
					element.style.display = "none";
					createFont.innerHTML = password;
					new Insertion.Before(element.id, createFont);
				}else if(element.type == "radio"){
					for(var m = 0; m < label.length; m++){
						if(label[m].firstChild.checked == true){
							label[m].firstChild.style.display = "none";
						}else{
							label[m].style.display = "none";
						}
					}
				}
			}
		}
	}
	//テキストエリアは枠線を白にし、readonlyで対応
	if(textarea.length > 0){
		for(var i = 0; i < textarea.length; i++){
			var element = textarea[i];
			$(element.id).style.border = "none";
			$(element.id).style.background = "#FFFFFF";
			$(element.id).style.color = "#656565";
			$(element.id).readOnly = "true";
		}
	}
	if(Select.length > 0){
		for(var i = 0; i < Select.length; i++){
			var element = Select[i];
			var createFont = document.createElement("font");
			createFont.className = "t2";
			element.style.display = "none";
			//ユーザプロフィールの公開・非公開情報の切り替え
			if(element.value == "Y"){
				createFont.className = "t2 accountRight"; 
				createFont.innerHTML = "（公開）";
			}else if(element.value == "N"){
				createFont.className = "t2 accountRight"; 
				createFont.innerHTML = "（非公開）";
			}else{
				switch(element.id){
					case "stars": 
						var total = element.value / 2;
						createFont.innerHTML = "&nbsp;";
						for(var i = 0; i < total; i++){
							createFont.innerHTML += "★";
						}
					break;
					default:
						createFont.innerHTML = element.value;
					break
				}
			}
			new Insertion.Before(element, createFont);
		}
	}
}

//非表示になっているフォームを表示する
function returnForm(){
	var checkArea = $("checkArea");
	var delFont = checkArea.getElementsByTagName("font");
	var showInput = checkArea.getElementsByTagName("input");
	var showLabel = checkArea.getElementsByTagName("label");
	var showTextarea = checkArea.getElementsByTagName("textarea");
	for(var n = 0; n < delFont.length; n++){
		Element.remove(delFont[n]);
	}
	for(var n = 0; n < delFont.length; n++){
		Element.remove(delFont[n]);
	}
	if(showInput.length > 0){
		for(var i = 0; i < showInput.length; i++){
			if(delFont[i]) Element.remove(delFont[i]);
			var element = showInput[i];
			if(element.type == "text"){
				element.style.display = "inline";
			}else if(element.type == "password"){
				element.style.display = "inline";
			}else if(element.type == "radio"){
				for(var m = 0; m < showLabel.length; m++){
					if(showLabel[m].firstChild.checked == true){
						showLabel[m].firstChild.style.display = "inline";
					}else{
						showLabel[m].style.display = "inline";
					}
				}
			}
		}
	}
	if(showTextarea.length > 0){
		for(var i = 0; i < showTextarea.length; i++){
			var element = showTextarea[i];
			$(element.id).style.border = "1px solid #b4b4b4";
			$(element.id).style.background = "";
			$(element.id).style.color = "#656565";
			$(element.id).readOnly = "";
		}
	}
	var showSelect = checkArea.getElementsByTagName("select");
	if(showSelect.length > 0){
		for(var i = 0; i < showSelect.length; i++){
			var element = showSelect[i];
			element.style.display = "inline";
		}
	}
	checkError(0);
	returnBeforeForm();
}

function clearForm(){
	document.form.reset();
}


