//============================================
//
//  sendData
//
//============================================

var sendData = function(){
	var ajaxParam = {
		type: "POST", // タイプ
		url:'', // 受け渡し先
		//async:false, // 非同期通信 
		data:'', //渡すデータ
		success:function(){trace(true)}, //成功したときの処理
		error:function(){trace(false)} //失敗したときの処理
	}
	return function(t,u){
		ajaxParam['data'] = $(t).serialize();
		ajaxParam['url'] = u;
		$.ajax(ajaxParam);
	}
}();

//============================================
//
//  trace
//
//============================================

var trace = function(){
	var success = '\
		<div id="success">\
			<h4>送信完了！</h4>\
			<p>無事完了しました。<br />閉じるボタンを押してください。</p>\
			<button onclick="modal.del()">閉じる</button>\
		</div>\
		\
	';
	var err = '\
		<div id="error">\
			<h4>送信失敗</h4>\
			<p>送信に失敗しました。恐れ入りますが再度送信してください。</p>\
			<button onclick="modal.del()">閉じる</button>\
		</div>\
	';
	return function(b){
		switch(b){
			case true:
				$("#modal").html(success);
				break;
			case false:
				$("#modal").html(err);
				break;
		}
	}

}();


//============================================
//
//  valCheck
//
//============================================

var valCheck = function(){
	//--------------------------------------------------------
	//  1バイト評価
	//--------------------------------------------------------
	//  引数が1バイトのみであればtrue
	//  2バイトが含まれていればfalseを返す
	var _oneByte = function(){
		var ptn = /[0-9a-zA-Z\+\-\@\/\*\,\. ]+/g;
		return function(v){
			if (v === '') return null;
			if(!v.match(ptn)) return false;
			return true;
		}
	}();
	//--------------------------------------------------------
	//  2バイト評価
	//--------------------------------------------------------
	//  引数が2バイトのみであればtrue
	//  1バイトが含まれていればfalseを返す
	var _twoByte = function(){
		var ptn = /[0-9a-zA-Z\+\-\/\*\,\. ]+/g;
		return function(v){
			if(v === '') return null;
			if(!v.match(ptn)) return true;
			return false;
		}
	}();
	//--------------------------------------------------------
	//  メールアドレス評価
	//--------------------------------------------------------
	// 正常なアドレスの場合 true
	// 2バイトが含まれていれば文字列 byteError
	// 不正なアドレスの場合 false を返します。
	var _mail = function(){
		var ptn = /.+@.+\..+/;
		return function(v){
			if(v === '') return null;
			if(_oneByte(v) == false) return 'byteError';
			if(!v.match(ptn)) return false;
			return true;
		}
	}();
	//===============================
	//  PUBLIC
	//===============================
	return {
		version:0.1,
		author:'Yokota Kenji',
		url:'http://yokota-wd.info/',
		oneByte:function(v){return _oneByte(v)},
		twoByte:function(v){return _twoByte(v)},
		
		mail:function(v){return _mail(v)}
	}
}();

