﻿/*-------------------------------------------------------------------------------------------------
【IDEJS】ver:1.1.1

〔注意事項〕

〔改修ログ〕
改修日         改修者名         改修内容

-------------------------------------------------------------------------------------------------*/
/************************************************
【IDEJS】class属性値を切り替えるイベントを設定

〔注意事項〕
・主に入力エリア, クエリ一覧テーブルのデザインチェンジで使用するメソッド
・複数セレクタ( 複数クラス名 )指定の対応済

〔引数〕
変数名     タイプ     設定     変数説明

〔戻り値〕
変数名     タイプ     変数説明

************************************************/
_IDE_js.mAddEventChangeClassName = function (){
	//設定要素
	var setEvent = function() {
		//設定
		this.set = function() {
			//inputタグ
			var tag = "input";
			for(var i=0; i<document.getElementsByTagName(tag).length; i++){
				//要素パスをローカル変数に代入
				var elm = document.getElementsByTagName(tag)[i];
				//イベント追加
				if(elm.className.search(/.*(button|submit).*/i) >= 0){
					var mouseover_className = elm.className.replace(/^(button|submit)/i, "onmouseover_$1").replace(/ (button|submit)$/i, " onmouseover_$1").replace(/(\b) (button|submit) /ig, "$1 onmouseover_$2 ");
					this._attachEvent({elm:elm, type:'mouseover', className:mouseover_className});
					this._attachEvent({elm:elm, type:'mouseout', className:elm.className});
				} else if(elm.className.search(/.*(password|file|text).*/i) >= 0){
					var onfocus_className = elm.className.replace(/^(password|file|text)/i, "onfocus_$1").replace(/ (password|file|text)$/i, " onfocus_$1").replace(/(\b) (password|file|text) /ig, "$1 onfocus_$2 ");
					this._attachEvent({elm:elm, type:'focus', className:onfocus_className});
					this._attachEvent({elm:elm, type:'blur', className:elm.className});
				}
			}
			//textareaタグ
			var tag = "textarea";
			for(var i=0; i<document.getElementsByTagName(tag).length; i++){
				//要素パスをローカル変数に代入
				var elm = document.getElementsByTagName(tag)[i];
				//イベント追加
				if(elm.className.search(/.*(textarea).*/i) >= 0){
					var onfocus_className = elm.className.replace(/^(textarea)/i, "onfocus_$1").replace(/ (textarea)$/i, " onfocus_$1").replace(/(\b) (textarea) /ig, "$1 onfocus_$2 ");
					this._attachEvent({elm:elm, type:'focus', className:onfocus_className});
					this._attachEvent({elm:elm, type:'blur', className:elm.className});
				}
			}
			//trタグ
			var tag = "tr";
			for(var i=0; i<document.getElementsByTagName(tag).length; i++){
				//要素パスをローカル変数に代入
				var elm = document.getElementsByTagName(tag)[i];
				//イベント追加
				if(elm.className.search(/.*(record).*/i) >= 0){
					var onmouseover_className = elm.className.replace(/^(record)/i, "onmouseover_$1").replace(/ (record)$/i, " onmouseover_$1").replace(/(\b) (record) /ig, "$1 onmouseover_$2 ");
					this._attachEvent({elm:elm, type:'mouseover', className:onmouseover_className});
					this._attachEvent({elm:elm, type:'mouseout', className:elm.className});
				}
			}
		}
		//イベント追加( ※クロスブラウザ対応 )
		this._attachEvent = function(arg) {
			_IDE_js.mAddEvent({target:arg.elm, event:arg.type, func:function() { arg.elm.className = arg.className }});
		}
	}
	//イベント追加
	var e = new setEvent;
	_IDE_js.mAddEvent({target:window, event:"load", func:function() { e.set(); }});
}