/**
 * Vivitto Searchフォームの表示処理を行うクラス
 *
 * @param object vivi_element 表示指定先オブジェクト
 * @param string site_id サイトID
 */
var ViVitto = function(vivi_element) {
	var get_url_param = new GetUrlParameter();
	this.DEFAULT_URL = "http://vivitto.scope-navi.jp/ec/sdgexpo/searchi/";

	this.div_obj = vivi_element;
	this.height = "100";
	this.width = "100%";
	this.height = "2300px";
	this.width = "993.5px";

	this.div_obj.style.height = this.height;
	this.div_obj.style.width = this.width;
	this.div_obj.style.text_align = "center";

	this.iframe_element = document.createElement("iframe");

	this.url = this.DEFAULT_URL;
	this.frameborder = "0";

	// URLパラメータからエンコードを取得
	var user_encode = get_url_param.get("s.ie");
	this.encode = (user_encode == "") ? "utf-8" : user_encode;

	// URLパラメータから検索ワードを取得
	var user_keywords = get_url_param.get("s.q");
	this.keywords = (user_keywords == "") ? "" : user_keywords;

	/**
	 * IFrameの値を設定
	 *
	 * @param string attrName 属性名
	 * @param string value 値
	 */
	this.setIFrameAttribute = function (attrName, value) {
		this.iframe_element.setAttribute(attrName, value);
	}
	/**
	 * 検索キーワード設定処理
	 *
	 * @param string keyword 検索キーワード
	 */
	this.setKeywords = function(keywords) {
		this.keywords = keywords;
	}
	/**
	 * エンコード設定処理
	 *
	 * @param string keyword 検索キーワード
	 */
	this.setEncode = function(encode) {
		this.encode = encode;
	}
	/**
	 * URL設定処理
	 *
	 * @param string keyword 検索キーワード
	 */
	this.setUrl = function() {
		this.url += "?s.q=" + this.keywords;
		this.url += "&amp;s.ie=" + this.encode;
	}
	/**
	 * 検索フォームの表示処理
	 */
	this.load = function() {
		this.setUrl();
		this.setIFrameAttribute('id', 'viviframe');
		this.setIFrameAttribute('src', this.url);
		this.setIFrameAttribute('height', this.height);
		this.setIFrameAttribute('width', this.width);
		this.setIFrameAttribute('frameBorder', this.frameborder);
		this.setIFrameAttribute('hspace', '0px');
		this.div_obj.appendChild(this.iframe_element);
	}
}

/**
 * URLパラメータの取得を行うクラス
 */
var GetUrlParameter = function() {
	// URLパラメータの「?」以降を取得
	this.url_param = window.location.search;
	this.UrlPrams = new Array();

	/**
	 * keyに対応したパラメータを返す
	 * 
	 * @param string key
	 */
	this.get = function(key) {
		if(this.UrlPrams[key]) {
			return this.UrlPrams[key];
		}
		return "";
	}
	/**
	 * URLパラメータをkey/val毎に分割する
	 */
	this.createUrlParams = function() {
		if(this.url_param) {
			// 先頭の「?」を削除
			var pram = this.url_param.substring(1);
			// 「&」で分割
			var pair = pram.split("&");
			for (i=0; i < pair.length; i++) {
				// 「=」で分割
				temp = pair[i].split("=");
				key = temp[0];
				val = temp[1];
				this.UrlPrams[key] = val;
			}
		}
	}
	
	this.createUrlParams();
}

var vivitto = new ViVitto(document.getElementById('vivitto_search_contents'));
vivitto.load();