/**
 * JPAP
 * フォーム関係
 * 痛みの相談室、病院検索
 * 
 * Copyright (c) KFW 2010
 * Require: jQuery 1.3
 */
(function($) {
	
	/**
	 * 指定要素配下のフォームアイテムが
	 * フォーカスされたら<code>.focused</code>を付与（jQuery拡張）
	 * 
	 * @return {jQuery}
	 */
	$.fn.focusHighlight = function() {
		return $(this).bind("focus", function() {
			$(this).addClass("focused");
		})
		.bind("blur", function() {
			$(this).removeClass("focused");
		});
	};
	
	/**
	 * 検索窓のプレースホルダー（jQuery拡張）
	 * 
	 * @return {jQuery}
	 */
	$.fn.placeHolder = function() {
		var input = $(this).find(".text");
		var submit = $(this).find(".submit");
		
		if (input.val() != "") input.css({"background-position":"-999px -999px"});
		
		input
		.bind("focus", function(event) {
			input.css({"background-position":"-999px -999px"});
		})
		.bind("blur", function(event) {
			if (input.val() == "") input.css({"background-position":"5px 7px"});
			else input.css({"background-position":"-999px -999px"});
		});
		
		submit
		.bind("click", function(event) {
			if (input.val() == "") return false;
		});
		
		return this;
	};
	
	/**
	 * 検索結果のページ送り
	 * @param index {Number} インデックス
	 */
	key.setIndex= function(index) {
		$("form.index")
		.find("[name=rn]").val(index).end()
		.trigger("submit");
	};
	
	/**
	 * 相談フォームのチェック
	 */
	key.cForm= function(frm) {
		$etxt = '';
		$testmail = frm.mail1.value + '@' + frm.mail2.value;
		
		if(!(frm.sname1.value && frm.sname2.value)) $etxt += "・相談者のお名前\n";
		if(!(frm.kname1.value && frm.kname2.value)) $etxt += "・患者さんのお名前\n";
		if(!frm.shi.value) $etxt += "・患者さんの疾患名\n";
		if(!(frm.shiy1.value || frm.shiy2.value)) $etxt += "・患者さんの疾病年数\n";
		if(!frm.age.value) $etxt += "・患者さんの年齢\n";
		if(!(frm.zip1.value && frm.zip2.value)) $etxt += "・郵便番号\n";
		if(!(frm.pref[frm.pref.selectedIndex].value && frm.add1.value)) $etxt += "・住所\n";
		if(!(frm.tel1.value && frm.tel2.value && frm.tel3.value)) $etxt += "・電話番号\n";
		if(!(frm.mail1.value && frm.mail2.value)) $etxt += "・E-mail\n";
		else if(!cMail(frm.mail1.value + '@' + frm.mail2.value)) $etxt += "・正しいE-mailアドレス\n";
		else if((frm.mail1.value != frm.mail1b.value)||(frm.mail2.value != frm.mail2b.value)) $etxt += "・確認用E-mailアドレス\n";
		if(!frm.cont.value) $etxt += "・相談内容\n";
		
		if($etxt) alert($etxt+"\nを確認してください。")
		else frm.submit();
	}
	
	/**
	 * 相談フォームを戻る
	 */
	key.bForm= function(frm) {
		frm.m.value=0;
		frm.submit();
	}
	
	/**
	 * メールアドレスのチェック
	 */
	function cMail(sMail) {
		var mForm = /^[A-Za-z0-9\_\.\-]+\@{1}[A-Za-z0-9\_\.\-]+\.{1}[A-Za-z0-9\_\.\-]+$/
		var result = sMail.match(mForm);
		return result;
	}
	
	//init
	$(document).ready(function() { 
		$(".focus input[type=text],.focus input[type=password],.focus textarea").focusHighlight();
		$("#Search").placeHolder();
	});
	
})(jQuery);
