if(!PSINC) { var PSINC = {} };
if(!PSINC.util) { PSINC.util = {} };
(function(){
	var d = document;
	if(!PSINC.util.getDivElement) {
		// 指定されたidのdivを取得
		PSINC.util.getDivElement = function (id) {
			var e = d.getElementById(id);
			if(!e) {
				e = d.createElement('div');
				e.id = id;
				d.body.appendChild(e);
			}
			return e;
		}
	}
	
	if(!PSINC.util.SubmitForm) {
		//フォームをSUBMITする
		//@フォームのID @遷移先URL(空の場合はHTML側の記述に従う)
		PSINC.util.SubmitForm = function(formId,TargetUrl) {
			var f = d.getElementById(formId);
			if(TargetUrl != ''){
				f.target = TargetUrl;
			}
			f.submit();
		}
	}
	
	if(!PSINC.util.OpenNewWindow) {
		//新しいwindowをopenする
		PSINC.util.OpenNewWindow = function(URL,WindowName,Attribute) {
			window.open(URL,WindowName,Attribute);
		}
	}
	
	if(!PSINC.util.GetRadioVal) {
		//チェックの入っているラジオボタンの値を取得
		PSINC.util.GetRadioVal = function(formId,ElementName) {
			var f = d.getElementById(formId).elements[ElementName];
			var num = f.length;
			if(num !== undefined){
				for(i=0;i<num;i++){
					if(f[i].checked){
						return f[i].value;
					}
				}
			}else{
				if(f.checked){
					return f.value;
				}
			}
			return null;
		}
	}
	
	
	if(!PSINC.util.parseMMDDYY) {
		// データが半角数字か確認
		PSINC.util.parseMMDDYY = function(str) {
			if(!YAHOO.lang.isString(str)) {
				return new Date();
			}
			var aDate = str.split('/');
			var oDate;
			if(aDate.length == 3) {
				oDate = YAHOO.widget.DateMath.getDate(2000+aDate[2]*1,aDate[0]-1,aDate[1]);
				//new Date(aDate[2]*1+2000,aDate[0]-1,aDate[1]);
			} else {
				oDate = new Date();
			}
			return oDate;
		}
	}
	
	if(!PSINC.util.chkCharacter){
		//文字列チェック
		PSINC.util.chkCharacter = function(CheckVal,PermitsCharacter) {
			var tmp=new Array();
			for(var i=0; i<CheckVal.length; i++){
				tmp[i]=CheckVal.substring(i,i+1);
				var flag=PermitsCharacter.indexOf(tmp[i]);
				if(flag==-1){
					return false;
				}
			}
			return true;
		}
	}
	
	if(!PSINC.util.chkNum){
		//数字のみ許可
		PSINC.util.chkNum = function(CheckVal) {
			var num='0123456789-'; /* 数値としてOKなもの */
			if(PSINC.util.chkCharacter(CheckVal,num)){
				return true
			}
			return false;
		}
	}
	
	if(!PSINC.util.chkNumDoller){
		//数字のみ許可
		PSINC.util.chkNumDoller = function(CheckVal) {
			var num='0123456789.-'; /* 数値としてOKなもの */
			if(PSINC.util.chkCharacter(CheckVal,num)){
				return true
			}
			return false;
		}
	}
	
	if(!PSINC.util.chkAtoZ){
		//数字のみ許可
		PSINC.util.chkAtoZ = function(CheckVal) {
			var num='ABCDEFGHIJKLMNOPQRSTUVWXYZ'; /* 大文字A～Z */
			if(PSINC.util.chkCharacter(CheckVal,num)){
				return true
			}
			return false;
		}
	}
	//セレクトボックスの値の取得
	if(!PSINC.util.SelectBoxValGet){
		PSINC.util.SelectBoxValGet = function(formId,ElementName) {
			var f = d.getElementById(formId).elements[ElementName];
			if(f == undefined){
				return null;
			}
			return f.options[f.selectedIndex].value;
			
		}
	}
	
	
	
	
	
	//ラジオボタンの値の取得
	//チェックされているものがない場合はnullを返す
	if(!PSINC.util.RadioButtonValGet){
		PSINC.util.RadioButtonValGet = function(formId,ElementName) {
			if(d.getElementById(formId) == undefined){
				return null;
			}
			var f = d.getElementById(formId).elements[ElementName];
			if(f == undefined){
				return null;
			}
			var num = f.length;
			
			
			if(num !== undefined){
				for(i=0;i<num;i++){
					if(f[i].checked){
						return f[i].value;
					}
				}
			}else{
				if(f.checked){
					return f.value;
				}
			}
			return null;
		}
	}
	
	//ラジオボタン
	//全てのチェックを外す
	if(!PSINC.util.RadioButtonCheckDelete){
		PSINC.util.RadioButtonCheckDelete = function(formId,ElementName) {
			var f = d.getElementById(formId).elements[ElementName];
			if(f == undefined){
				return null;
			}
			var num = f.length;
			if(num !== undefined){
				for(i=0;i<num;i++){
					f[i].checked = false;
				}
			}else{
				f.checked = false;
			}
			return true;
		}
	}
	
	//ラジオボタン
	//引数の値のラジオボタンをcheckedにする
	if(!PSINC.util.RadioButtonChecked){
		PSINC.util.RadioButtonChecked = function(formId,ElementName,checkedValue) {
			var f = d.getElementById(formId).elements[ElementName];
			if(f == undefined){
				return null;
			}
			var num = f.length;
			if(num !== undefined){
				for(i=0;i<num;i++){
					if(f[i].value == checkedValue){
						f[i].checked = true;
					}
				}
			}else{
				if(f.value == checkedValue){
					f.checked = true;
				}
			}
			return true;
		}
	}
	
	
	
	
	
	
	//チェックボックスのチェックの状態取得
	if(!PSINC.util.GetCheckBoxStatus){
		PSINC.util.GetCheckBoxStatus = function(formId,ElementName) {
			var f = d.getElementById(formId).elements[ElementName];
			if(f == undefined){
				return null;
			}
			if(f.checked == true){
				return true;
			}
			
			return false;
			
		}
	}
	
	
	//日付の形式チェックと日付のチェック (0000-00-00 or 0000/00/00 のみ許可)
	if(!PSINC.util.DateCheck){
		PSINC.util.DateCheck = function(formId,ElementName) {
			var val = d.getElementById(formId).elements[ElementName].value;
			if(! val.match(/^(\d{4})\/(\d{1,2})\/(\d{1,2})$/) || ! val.match(/^(\d{4})-(\d{1,2})-(\d{1,2})$/)){
				//年月日を取り出し
				var sYear = parseInt(RegExp.$1);
				var sMonth = parseInt(RegExp.$2);
				var sDay = parseInt(RegExp.$3);

				//以下7行は年/月/日の個別のチェック
				if(sYear<2000) return false;
				if(sYear>2999) return false;
				if(sMonth<1) return false;
				if(sMonth>12) return false;
				if(sDay<1) return false;
				if(sDay>31) return false;
				return true;

				//以下7行は日付の厳密な妥当性チェック
				if(sYear<2000) return false;
				if(sYear>2999) return false;
				var oDate = new Date(Date.parse(val));
				if(oDate.getFullYear() != sYear) return false;
				if(oDate.getMonth() != (sMonth-1)) return false;
				if(oDate.getDate() != sDay) return false;
				return true;
			}
			return false;
		}
	}
	
	if(!PSINC.util.TextErase){
		PSINC.util.TextErase = function(ElementObject) {
			ElementObject.value = '';
		}
	}
	
	//大文字への変換
	if(!PSINC.util.toUp){
		PSINC.util.toUp = function(Obj) {
			Obj.value = Obj.value.toUpperCase();
		}
	}
	
	
	
	//頭2桁0詰め
	if(!PSINC.util.conv2deg){
		PSINC.util.conv2deg = function(val) {
			val = "00"+val;
			return val.substr(val.length-2,2);
		}
	}
	
	//入力ボックスの値入力チェック
	if(!PSINC.util.keyboardInput){
		PSINC.util.keyboardInput = function(Obj,CheckObjName){
			var strPass = Obj.value;
			var strLength = strPass.length;
			var lchar = Obj.value.charAt((strLength) - 1);
			if (!CheckObjName(lchar) ) {
				var myNumber = Obj.value.substring(0, (strLength) - 1);
				Obj.value = myNumber;
			}
			return false;
		}
	}
	
	
	//httpリクエスト
	if(!PSINC.util.createXMLHttpRequest){
		PSINC.util.createXMLHttpRequest = function (cbFunc){
			var XMLhttpObject = null;
			try{
				XMLhttpObject = new XMLHttpRequest();
			}catch(e){
				try{
					XMLhttpObject = new ActiveXObject("Msxml2.XMLHTTP");
				}catch(e){
					try{
						XMLhttpObject = new ActiveXObject("Microsoft.XMLHTTP");
					}catch(e){
						return null;
					}
				}
			}
			if(cbFunc != ''){
				if (XMLhttpObject) XMLhttpObject.onreadystatechange = cbFunc;
			}
			return XMLhttpObject;
		}
	}
	
	
	//セレクトボックスの削除
	if(!PSINC.util.selectBoxDelete){
		PSINC.util.selectBoxDelete = function (formId,deleteTargetId){
			if(
				document.getElementById(formId) == undefined
				 || document.getElementById(formId).elements[deleteTargetId] == undefined
			){
				return null;
			}
			
			var Obj = document.getElementById(formId).elements[deleteTargetId];
			var opts = Obj.options;
			
			for(var i = 0, len = opts.length; i < len; i++){
				Obj.removeChild(Obj.options[0]);
			}
			var elm = document.createElement('option');
			elm.setAttribute('value', '');
			if(elm.textContent){
				elm.textContent = '選択して下さい';
			}else{
				elm.innerHTML = '選択して下さい';
			}
			Obj.appendChild(elm);
		}
	}
	
	
	//セレクトボックスを選択済みにする
	if(!PSINC.util.selectBoxSelected){
		PSINC.util.selectBoxSelected = function (formId,targetId,selectedValue){
			var Obj = document.getElementById(formId).elements[targetId];
			for(i=0;i<Obj.length;i++){
				if(selectedValue == Obj[i].value){ Obj.selectedIndex = i; }
			}
		}
	}
	
	//非表示にする
	if(!PSINC.util.unVisible){
		PSINC.util.unVisible = function (targetId){
			if(d.getElementById(targetId) != undefined){
				d.getElementById(targetId).style.visibility = "hidden";
				d.getElementById(targetId).style.display  = "none";
			}
		}
	}
	
	//表示にする
	if(!PSINC.util.onVisible){
		PSINC.util.onVisible = function (targetId){
			if(d.getElementById(targetId) != undefined){
				d.getElementById(targetId).style.visibility = "visible";
				d.getElementById(targetId).style.display  = "inline";
			}
		}
	}
	
	
	
})();



