
/**
 *
 * ユーティリティーJS
 * サポートJS
 * jqueryなど使用せず単体で動作するもの
 *
 */
		
	/*
	* firebug loging
	* @param	出力メッセージ
	*/
	function gLog(param,type){
		if(type != undefined){
			param = "[" + type + "] " + param;
		}else{
			param = "[INFO] " + param;
		}
		//alert(param);//debug
			
		try{
			if(console){
				console.log(param);
			}else{
				alert(param);
			}
		}catch(e){
			//alert("catch");
		}
	}
		
	/*
	* nocacheなurlパスに変換
	* @param	施すurl文字列
	* @return	String	変換済みurl文字列
	*/
	function createNoCachePath(path){
		return path + "?nocache="+String(Math.random());
	}
		
	/*
	* 文字列の置換
	* @param	この文字列の...
	* @param	この文字を...
	* @param	この文字に置き換える...
	* @return	String	置換済み文字列
	*/
	function stringReplace(strtrg,stra,strb){
		return strtrg.split(stra).join(strb);
	}
			
	/*
	* SWFの参照を取得
	* @param	swfのid
	* @return	Object	対象DOM	
	*/
	function getEmbedSwf(movieName) {
		if (navigator.appName.indexOf("Microsoft") != -1) {
	        return window[movieName];
	    }
	    else {
	        return document[movieName];
	    }
	}
		
	/*
	* 委譲の作成
	* @param	スコープ
	* @param	メソッドの参照
	* @return	Function	作成したメソッド
	*/
	function delegateCreate(obj, func)
	{
		var f = function()
		{
			var target = arguments.callee.target;
			var func = arguments.callee.func;
			return func.apply(target, arguments);
		};

		f.target = obj;
		f.func = func;
		return f;
	}

	/*
	* ランダムに値を生成	
	* @param	範囲開始
	* @param	範囲終了
	* @return	Number	値	
	*/
	function getRandomInt (nInt1, nInt2) {
		var nMax = Math.max(nInt1, nInt2);
		var nMin = Math.min(nInt1, nInt2);
		var nRandomInt = Math.floor(Math.random() * (nMax - nMin + 1)) + nMin;
		return nRandomInt;
	} 
	
	/*
	* ランダムカラーを生成
	* @return	String	カラー値（文字列）
	*/
	var ___getRandomColoru = [0,1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F'];
	function getRandomColor(){
		var c = "";
		c += ___getRandomColoru[getRandomInt(0,___getRandomColoru.length-1)];
		c += ___getRandomColoru[getRandomInt(0,___getRandomColoru.length-1)];
		c += ___getRandomColoru[getRandomInt(0,___getRandomColoru.length-1)];
		c += ___getRandomColoru[getRandomInt(0,___getRandomColoru.length-1)];
		c += ___getRandomColoru[getRandomInt(0,___getRandomColoru.length-1)];
		c += ___getRandomColoru[getRandomInt(0,___getRandomColoru.length-1)];
		return c;
	}
	
	/*
	* ブラウザOSのバージョン	
	* @return Number
	*/
	function getBrowserVersion() { 
		return window.opera ? (opera.version().replace(/\d$/, "") - 0) // Opera10 shock
                  : parseFloat((/(?:IE |fox\/|ome\/|ion\/)(\d+\.\d)/.
                               exec(navigator.userAgent) || [,0])[1]);
	}

	/*
	* location search値をObject化したもの
	* @return Object
	*/
	function getLocationSearchObject() {
		var pram=location.search;
		if (!pram) return {};
		pram=pram.substring(1);
		var pair=pram.split("&");
		var i=temp="";
		var key=new Array();
		for (i=0; i < pair.length; i++) {
			temp=pair[i].split("=");
			keyName=temp[0];
			keyValue=unescape(temp[1]);
			key[keyName]=keyValue;
		}
		return key;
	}
	
	/*
	* IEかどうか
	* @return Boolean
	*/
	function isIE(){
		return IE='\v'=='v';
	}
	
	/*
	* IE6かどうか
	* @return Boolean
	*/
	function isIE6(){
		if(isIE()){
			if(getBrowserVersion() == 6){
				return true;
			}
		}
		return false;
	}
			
