﻿/*====================================================================


 ■　functionForm.js


--------------------------------------------------------------------*/


/*====================================================================

 □　初期設定

--------------------------------------------------------------------*/



/*====================================================================

 □　処理リスト

--------------------------------------------------------------------*/
$(document).ready(function(){
	//実行する処理を記述
	funcFormTips()
	funcDateHope()
	funcFormError()
	funcFormZip()
	funcCharCount()
});

/*--------------------------------------------
	funcFormTips [input初期表示]
--------------------------------------------*/
//-------formtips-----------------//
document.write('<script type="text/javascript" src="/common/js/formtips/jquery.formtips.1.2.5.js" charset="utf-8" defer="defer"></script>');
//
function funcFormTips(){
	$('form .formhelp').formtips({tippedClass:'tipped'});
}

/*====================================================================

 □　funcDateHope [日付入力カレンダー]

--------------------------------------------------------------------*/
document.write('<link href="/activity/js/datepicker/jquery-ui-1.8.14.custom.css" rel="stylesheet" type="text/css" media="screen,print" />');
document.write('<script type="text/javascript" src="/activity/js/datepicker/jquery-ui-1.8.14.custom.min.js" charset="utf-8"></script>');

function funcDateHope(){
	$('.datepicker').datepicker({
		showButtonPanel:true,
		closeText: '閉じる',
		prevText: '&lt;前',
		nextText: '次&gt;',
		currentText: '今日',
		monthNames: ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'],
		monthNamesShort: ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'],
		dayNames: ['日曜日','月曜日','火曜日','水曜日','木曜日','金曜日','土曜日'],
		dayNamesShort: ['日','月','火','水','木','金','土'],
		dayNamesMin: ['日','月','火','水','木','金','土'],
		weekHeader: '週',
		dateFormat: 'yy/mm/dd (D)',
		firstDay: 0,
		isRTL: false,
		showMonthAfterYear: true,
		yearSuffix: '年',
		maxDate:'+3m',
		minDate:'0',
		hideIfNoPrevNext:true,
		showOn: 'button',
		buttonImage: '/activity/img/date/icon_calender.gif',
		buttonImageOnly: true,
		onSelect:function(dateText,inst){
				$(this).css('color','#333')
			}
	});
}
/*====================================================================

 □　funcFormError [error表示]

--------------------------------------------------------------------*/
function funcFormError(){
	var xOffset = 25;
		var yOffset = 0;
		//
		$('#main').css('position','relative');
		//
		$('[class*=error]').each(function(){															 
			var eId=$(this).attr('id')+'_error'
			var sNum=$(this).attr('class')
			sNum=sNum.slice(sNum.lastIndexOf(" ")+1,sNum.length)
			var errType
			if(sNum.length==6){
				errType="0"+$(this).attr('class').slice(-1)
			}else{
				errType=$(this).attr('class').slice(-2)
			}

			var tagType=$(this).get(0).tagName
			//
			$("body").append("<p id='"+eId+"'><img src='/common/img/parts/form/bl_rg_"+errType+".gif' alt='' /></p>");
			var pageY=$(this).offset().top
			var pageX=$(this).offset().left
			//
			if(tagType=="SELECT"){
				yOffset=10
			}else if($(this).attr('type')=="text"){
				yOffset=50
			}else if($(this).attr('id')=="agree"){
				yOffset=0
			}else{
				yOffset=50
			}
			$(this).css('backgroundColor','#FFCCCC')
			$(this).find('.cmp').css('background','none')
			//
			$('#'+eId).css({
				'position':'absolute',
				'top':(pageY - xOffset) + 'px',
				'left':(pageX + yOffset) + "px"
			})
		})
}
/*--------------------------------------------
	clickInput [labelが画像の場合]
--------------------------------------------*/
function clickInput(label){
	//forの指すidのinputタグがあるか探す
	var e = null;
	try{
		e = document.getElementById(label.htmlFor);
	}
	catch(exception){}
	if(e == null){
		//labelタグ以下のinputタグを探す
		var node;
		for(var i=0; i<label.childNodes.length; i++){
			node = label.childNodes.item(i);
			if(node.nodeName == 'INPUT'){
				e = node;
				break;
			}
		}
	}
	if(e != null){
		//inputタグにクリックされたときと同じ動作をさせる
		switch(e.type){
			case 'checkbox':
				e.checked =! e.checked;
				return false;
			case 'radio':
				e.checked = true;
				return false;
			case 'text': case 'password': case 'textarea':
				e.focus();
				return false;
		}
	}
}

/*--------------------------------------------
	funcFormZip [郵便番号自動入力]
--------------------------------------------*/
document.write('<script type="text/javascript" src="/common/js/jquery.zip2addr.js" charset="utf-8"></script>');
//
function funcFormZip(){
	$('#zip1').zip2addr({
		zip2:'#zip2',
		pref:'#pref',
		addr:'#addr'})
}


/*--------------------------------------------
	funcFormZip [残り文字カウンター]
--------------------------------------------*/
document.write('<script type="text/javascript" src="/common/js/charCount/charCount.js" charset="utf-8"></script>')
//
function funcCharCount(){
	$('.countTxt').each(function(){
		var maxLength=$(this).attr('maxlength')
		var target=$(this).attr('id')
		$('#'+target).charCount({
			allowed: maxLength,		
			warning: 20,
			counterText: '<em class="f10">のこり</em> '	
		});
	})
}
