/*************************************
*	name			:	form.js
*	author			:	waiya
*	update			:	2011.08.27
*	jQuery version	:	1.6.2
*	version			:	0.1
*	desc			:
	送信ボタン、リセットボタン、バリデートの処理
**************************************/
(function($){
	
	//---------- リセット処理
	$('.under_reset a').click(function(){
		if(confirm('リセットしてもよろしいですか？')){
			$('form').find(':input').each(function() {
	        	switch(this.type) {
		            case 'password':
		            case 'select-multiple':
		            case 'select-one':
		            case 'text':
		            case 'textarea':
		                $(this).val('');
		                break;
		            case 'checkbox':
		            case 'radio':
		                this.checked = false;
	        	}
			});
			$('.error').each(function(){
				$(this).text('');
				$(this).css({'padding':0, 'width':'auto'});
			});
		} else {
			return false;
		}
	});
	
	var get_val = get_value();
	
	//---------- バリデート
	var __error = 0;
	var __must_mes = '必須入力項目です。';
	var __email_mes = '正しいメール形式で入力してください。\nexample@example.xxx';
	var __num_mes = '数字で入力してください。';
	var __hankaku_mes = '半角英数で入力してください。';
	var __tel_zip_mes = '半角数字と-で入力してください。';
	var __arraive_mes = '少なくとも一つの項目にチェックをしてください。';
	var __area_mes = '少なくとも一つの項目にチェック頂くか、詳細地域をご記入ください。';
	
	$('.under_submit a').click(function(){
		// ※必須項目のチェック
		$('.mustchk').each(function(){
			if($(this).val() == ''){
				$(this).parent().find('.error').text(__must_mes);
				$(this).parent().find('.error').css({padding:'10px', width:$(this).width()-4+"px"});
				__error = 1;
			} else {
				$(this).parent().find('.error').text('');
				$(this).parent().find('.error').css({'padding':0, 'width':'auto'});
			}
		});
		
		// ※見積もり用のチェック
		if(get_val['kind'] == "mitsumori" || get_val['kind'] == "mitsumori#"){
			
			var __arraive_chk = 0;
			var __area_chk = 0;
			
			if(($('#size').val() == '') || ($('#count').val() == '')){
				$('#size').parent().find('.error').text(__must_mes);
				$('#size').parent().find('.error').css({padding:'10px', width:"315px"});
				__error = 1;
			} else {
				$('#size').parent().find('.error').text('');
				$('#size').parent().find('.error').css({'padding':0, 'width':'auto'});
			}
			
			//配送先
			$('#arraive input').each(function(){
				if($(this).attr('checked')){ __arraive_chk = 1; }
			});
			
			if(__arraive_chk != 1){
				$('#arraive').parent().find('.error').text(__arraive_mes);
				$('#arraive').parent().find('.error').css({padding:'10px', width:"448px"});
				__error = 1;
			} else {
				$('#arraive').parent().find('.error').text('');
				$('#arraive').parent().find('.error').css({'padding':0, 'width':'auto'});
			}
			
			//エリア
			$('#area input').each(function(){
				if($(this).attr('checked')){ __area_chk = 1; }
			});
			
			if($('#d_area_other').val() != ''){ __area_chk = 1; }
			
			if(__area_chk != 1){
				$('#area').parent().find('.error').text(__area_mes);
				$('#area').parent().find('.error').css({padding:'10px', width:"100%"});
				__error = 1;
			} else {
				$('#area').parent().find('.error').text('');
				$('#area').parent().find('.error').css({'padding':0, 'width':'auto'});
			}
			
		}
		
		// ※メールアドレスのチェック
		$('.emailchk').each(function(){
			if($(this).val() != ''){
				var __email_rete = /^(?:(?:(?:(?:[a-zA-Z0-9_!#\$\%&'*+/=?\^`{}~|\-]+)(?:\.(?:[a-zA-Z0-9_!#\$\%&'*+/=?\^`{}~|\-]+))*)|(?:"(?:\\[^\r\n]|[^\\"])*")))\@(?:(?:(?:(?:[a-zA-Z0-9_!#\$\%&'*+/=?\^`{}~|\-]+)(?:\.(?:[a-zA-Z0-9_!#\$\%&'*+/=?\^`{}~|\-]+))*)|(?:\[(?:\\\S|[\x21-\x5a\x5e-\x7e])*\])))$/;
				if(! $(this).val().match(__email_rete)){
					$(this).parent().find('.error').text(__email_mes);
					$(this).parent().find('.error').css({padding:'10px', width:$(this).width()-4+"px"});
					__error = 1;
				} else {
					$(this).parent().find('.error').text('');
					$(this).parent().find('.error').css({'padding':0, 'width':'auto'});
				}
			}
		});
		
	
		// ※半角数字ハイフンのチェック
		/*
		$('.tel_zip_chk').each(functions(){
			if($(this).val() != ''){
				var __tel_zip_rete = /^[0-9]+$/;
				if(! $(this).val().match(__tel_zip_rete)){
					$(this).parent().find('.error').text(__tel_zip_mes);
					$(this).parent().find('.error').css({padding:'10px', width:$(this).width()-4+"px"});
					__error = 1;
				} else {
					$(this).parent().find('.error').text('');
					$(this).parent().find('.error').css({'padding':0, 'width':'auto'});
					__error = 0;
				}
			}
		});
		*/	
		
		if(__error != 1){
			$('form').submit();
		}
	});
	
	$('.under_back a').click(function(){
		$('.page').val('form');
		$('form').submit();
	});
	
	$('.under_send a').click(function(){
		$('form').submit();
	});
	
})(jQuery);
