/**
 * xmlControler
 */
var utils = {
  /**
   * include JS
   */
  include: function(file) {
    var file;
    if( !file ) return false;
    if( !this.type ) this.type="text/javascript";
    if( !this.charset ) this.charset="UTF-8";

    var head = document.getElementsByTagName("head")[0];
    var s=head.appendChild( document.createElement("script") );
    s.setAttribute("type", this.type) ;
    s.setAttribute("charset", this.charset) ;
    s.setAttribute("src", file) ;
  },

  ua_name: "",
  av_name: "",

  /**
   * ユーザーエージェント判定
   */
  judgeUserAgent: function() {
  	var userAgent = window.navigator.userAgent.toLowerCase();
  	var appVersion = window.navigator.appVersion.toLowerCase();
  	var ua_name;
  	var av_name;

  	if (userAgent.indexOf("msie") > -1) {
  		ua_name = "msie";
  		if (appVersion.indexOf("msie 6.0") > -1) {
  			av_name = "ie6";
  		}
  		else if (appVersion.indexOf("msie 7.0") > -1) {
  			av_name = "ie7";
  		}
  		else if (appVersion.indexOf("msie 8.0") > -1) {
  			av_name = "ie8";
  		}
  		else {
  			av_name = "";
  		}
  	}
  	else if (userAgent.indexOf("firefox") > -1) {
  		ua_name = "firefox";
  	}
  	else if (userAgent.indexOf("opera") > -1) {
  		ua_name = "opera";
  	}
  	else if (userAgent.indexOf("chrome") > -1) {
  		ua_name = "chrome";
  	}
  	else if (userAgent.indexOf("safari") > -1) {
  		ua_name = "safari";
  	}
  	else {
  		ua_name = "";
  	}

  	this.ua_name = ua_name;
  	this.av_name = av_name;
  },

  /**
   * 文字エンコード取得
   */
  getCharcter: function() {
    switch(this.ua_name) {
      case "msie":
        return document.charset;
        break;

      default:
        return document.characterSet;
        break;
    }
  },

  /**
   *
   */
  _GET: function() {
    var get = new Array();
    if(location.search.length > 1){
      var search = unescape(decodeURI(location.search));
      var requests = search.substr(1).split("&");
      for(var i = 0; i < requests.length; i++){
        var r = requests[i].split("=");
        get[r[0]] = r[1];
      }
    }

    return get;
  },

  /**
   * ファイル読み込み
   */
  readFile: function(file) {
    var req;
    var data;

    switch(this.ua_name) {
      case "msie":
        req = new ActiveXObject("Msxml2.XMLHTTP");
        break;

      default:
        req = new window.XMLHttpRequest();
        break;
    }

    req.open("GET", file, false);
    req.setRequestHeader("If-Modified-Since", "Thu, 01 Jun 1970 00:00:00 GMT");//キャッシュクリア
    req.send(null);
    data = req.responseText;

    //テキストリターン
    return data;
  },

  /**
  * デバッグ出力
  */
  outputDebugData: function(data, type) {
    var serial = new XMLSerializer();	//シリアル化宣言
    var str = serial.serializeToString( data );

	//デバッグ出力
    if( type == 'alert' ) {
    	alert( str );
    } else {
    	var debag = document.getElementById('debag');
    	debag.innerHTML = str;
    }
  }

}
