/* =====================================================================
*
*    inquiry.js
*
*    // メールフォーム入力チェック
*    // for jQuery 1.3.2
*    // /common/inquiry/index.php
*
* =================================================================== */

$(document).ready( function() {
	var fName = $("#mail_author");
	fName.blur( function() { Blur(fName); });
	fName.focus( function() { Focus(fName) });
	
	var fRuby = $("#mail_ruby");
	fRuby.blur( function() { Blur(fRuby); });
	fRuby.focus( function() { Focus(fRuby); });
	fRuby.keyup( function() { KeyUp(fRuby); });
	
	var fOcc = $("#mail_occ");
	fOcc.blur( function() { Blur(fOcc); });
	fOcc.focus( function() { Focus(fOcc); });
	
	var fMail = $("#mail_email");
	fMail.blur( function() { Blur(fMail); });
	fMail.focus( function() { Focus(fMail); });
	fMail.keyup( function() { KeyUp(fMail); });
	
	var fMailCon = $("#mail_email_confirm");
	fMailCon.blur( function() { Blur(fMailCon); });
	fMailCon.focus( function() { Focus(fMailCon); });
	fMailCon.keyup( function() { KeyUp(fMailCon); });
	
	var fMessage = $("#mail_text");
	fMessage.blur( function() { Blur(fMessage); });
	fMessage.focus( function() { Focus(fMessage); });
	fMessage.keyup( function() { KeyUp(fMessage); });
	
	checkError();
	
	function Focus(_object) {
	    _object.addClass("focus");
	}
	
	function Blur(_object) {
	    switch(_object) {
			case fName:
				fName.removeClass("focus");
				break;

	    	case fRuby:
	    		if (fRuby.attr("value") == "") {
	    			Balloon("show","#balRuby");
	    			fRuby.addClass("error");
	    		} else {
	    			Balloon("hide","#balRuby");
	    			fRuby.removeClass("error focus");
	    		}
	    		break;

			case fOcc:
				fOcc.removeClass("focus");
				break;
	    		
	    	case fMail:
	    		if (fMail.attr("value") == "") {
	    			Balloon("show","#balMail");
	    			fMail.addClass("error");
	    		}
	    		else {
	    			Balloon("hide","#balMail");
	    			fMail.removeClass("error focus");
	    		}				    			
	    		
	    		if (fMail.attr("value") != $("#mail_email_confirm").attr("value")) {
	    			if ($("#mail_email_confirm").attr("value") != "") {
	    				Balloon("show","#balMailCon2");
	    				$("#mail_email_confirm").addClass("error");
	    			}
	    			Balloon("hide","#balMailCon");
	    		}
	    		else if ((fMail.attr("value") == $("#mail_email_confirm").attr("value")) && ($("#mail_email_confirm").attr("value") != "")) {
	    			Balloon("hide","#balMailCon");
	    			Balloon("hide","#balMailCon2");
	    			$("#mail_email_confirm").removeClass("focus error");
	    		}
	    		break;
	    		
	    	case fMailCon:
	    		if (fMailCon.attr("value") == "") {
	    			Balloon("show","#balMailCon");
	    			Balloon("hide","#balMailCon2");
	    			fMailCon.addClass("error");
	    		}
	    		else {
	    			Balloon("hide","#balMailCon");
	    			Balloon("hide","#balMailCon2");
	    			fMailCon.removeClass("error focus");
	    		}
	    		
	    		if (fMailCon.attr("value") != $("#mail_email").attr("value")) {
	    			Balloon("hide","#balMailCon");
	    			Balloon("show","#balMailCon2");
	    			fMailCon.addClass("error");
	    		}
	    		else if ((fMailCon.attr("value") == $("#mail_email").attr("value")) && ($("#mail_email").attr("value") != "")) {
	    			Balloon("hide","#balMailCon");
	    			Balloon("hide","#balMailCon2");
	    			$("#mail_email").removeClass("focus error");
	    		} else {
	    			Balloon("hide","#balMailCon2");
	    		}
	    		break;
	    		
	    	case fMessage:
	    		if (fMessage.attr("value") == "") {
	    			Balloon("show","#balMessage");
	    			fMessage.addClass("error");
	    		}
	    		else if (fMessage.attr("value") != "") {
	    			Balloon("hide","#balMessage");
	    			fMessage.removeClass("error focus");
	    		}
	    		break;
	    }
	}
	
	function KeyUp(_object) {
	    if (_object.attr("value") != "" && _object.hasClass("error")) {
	    	_object.removeClass("error");
	    }
	}
	
	function Balloon(_mode, _id) {
	    if (_mode == "show") {
	    	switch(_id) {
	    		case "#balRuby":
	    			var html = "<div id='balRuby' class='bal'><p><em><span>ふりがなは必須です。</span></em></p></div>";
					if ($("#fRuby").is(":has('#balRuby')") == false) {
		    			$("#fRuby").append(html);
					}
	    			break;
	
	    		case "#balMail":
	    			var html = "<div id='balMail' class='bal'><p><em><span>メールアドレスは必須です。</span></em></p></div>";
					if ($("#fMail").is(":has('#balMail')") == false) {
		    			$("#fMail").append(html);
	    			}
	    			break;
	    			
	    		case "#balMailCon":
	    			var html = "<div id='balMailCon' class='bal'><p><em><span>確認のためメールアドレスを再度ご入力ください。</span></em></p></div>";
					if ($("#fMailCon").is(":has('#balMailCon')") == false) {
		    			$("#fMailCon").append(html);
		    		}
	    			break;
	    		
	    		case "#balMailCon2":
	    			var html = "<div id='balMailCon2' class='bal'><p><em><span>メールアドレスが一致していません。</span></em></p></div>";
					if ($("#fMailCon").is(":has('#balMailCon2')") == false) {
		    			$("#fMailCon").append(html);
	    			}
	    			break;
	
	    		case "#balMessage":
	    			var html = "<div id='balMessage' class='bal'><p><em><span>お問い合わせの内容は必須です。</span></em></p></div>";
					if ($("#fMessage").is(":has('#balMessage')") == false) {
		    			$("#fMessage").append(html);
					}
	    			break;
	    	}
	    }
	    else if (_mode == "hide") {
	    	switch(_id) {
	    		case "#balRuby":
	    			$("#balRuby").remove();
	    			break;
	    		case "#balMail":
	    			$("#balMail").remove();
	    			break;
	    		case "#balMailCon":
	    			$("#balMailCon").remove();
	    			break;
	    		case "#balMailCon2":
	    			$("#balMailCon2").remove();
	    			break;
	    		case "#balMessage":
	    			$("#balMessage").remove();
	    			break;
	    	}						
	    }
	    
	}

	function checkError() {
		var source = $("#note").html();

		if (source.indexOf("ふりがな", 0) > 0) {
			Balloon("show","#balRuby");
			fRuby.addClass("error");
		}
		if (source.indexOf("<em>メールアドレス</em>を入力してください。", 0) > 0) {
			Balloon("show","#balMail");
			fMail.addClass("error");
		}
		if (source.indexOf("<em>メールアドレス</em>が一致していません。", 0) > 0) {
			Balloon("show","#balMailCon2");
			fMailCon.addClass("error");
		}
		if (source.indexOf("お問い合わせの内容", 0) > 0) {
			Balloon("show","#balMessage");
			fMessage.addClass("error");
		}
	}
});