/**
 * carsensor_api_areabn
 *
 * @created   2008/10/21 CVC iioka
 * @modified  XXXX/XX/XX
 * @version   1.1
 */
var carsensor_api_areabn = {

	module  : 'bow_frame.php',
	params  : {
		brdCd    : "BRD",
		outLine  : "LINE",
		tmplType : "TMPL",
		colType  : "COL",
		vosCd    : "vos",

		linkClr  : "LCLR",
		textClr  : "TCLR",
		priceClr : "PCLR",
		bgClr    : "BCLR",
		logoType : "LOGO",

		dbgIp    : 'RIP'
	},
	ifsize    : {
		v1  : [160, 300],
		v2  : [160, 600],
		v3  : [160, 1000],
		h1  : [468, 60],
		h2  : [728, 90]
	},
	scriptElement : {},

	draw : function(){
//		var script = this._getCurrentScript();
		var script = this._getCurrentScript_v2();
		var url    = this._getUrl();
		var params = this._getParameter();
		if(!url || !params ) return;

		var ifSize = this._getFlameSize();
		var ifwidth  = ifSize[0];
		var ifheight = ifSize[1];

		var func = function(){
			var div = document.createElement('div');
			div.style.margin = 0;
			var iframe = document.createElement('iframe');
			iframe.src               = url + '?' + params;
			iframe.allowTransparency ="true";
			iframe.width             = ifwidth;
			iframe.height            = ifheight;
			iframe.name              = "cs_comad";
			iframe.frameBorder       = 0;
			iframe.scrolling         = "no";
			div.appendChild(iframe);
			if(!script) return;
			script.parentNode.replaceChild(div, script);
		}

		if(window.addEventListener){
			window.addEventListener("load", func, false);
		} else if(window.attachEvent){
			window.attachEvent("onload", func);
		}
	},

	_getCurrentScript : function(){
		return (function(e) {
			if(e.nodeName.toLowerCase() == 'script'){
				return e;
			}
			return arguments.callee(e.lastChild);
		})(document);
	},

	_getCurrentScript_v2 : function(){	// 4 Mac Safari
		var scripts = document.getElementsByTagName('script');
		for(var i=1; i<scripts.length; i++) {
			var scriptText = scripts[scripts.length-i].text;
			if(scriptText != "" && scriptText.indexOf("carsensor_api_areabn", 0)) {
				return scripts[scripts.length-i];
			}
		}
	},

	_getParameter : function()
	{
		var params = this.params;
		var options = [];
		for(var key in params){
			if(this[key]){
				options.push(params[key] + '=' +  encodeURIComponent(this[key]));
			}
		}
		var siteEnc = "";
		if(document.all){	// for IE
			siteEnc = document.charset;
		}else{				// not IE
			siteEnc = document.characterSet;
		}
		options.push('ENC=' + siteEnc);
		options.push('REF=' + encodeURIComponent(document.referrer));
		options.push('SITE=' + encodeURIComponent(document.URL));
		return options.join('&');
	},

	_getFlameSize : function()
	{
		var ifsize = this.ifsize;
		var sizearr = [];
		for(var key in ifsize){
			if(key == this["tmplType"]){
				sizearr = ifsize[key];
			}
		}
		return sizearr;
	},

	_getUrl : function()
	{
		var url = "";
		var scripts = document.getElementsByTagName("script");
		var reg = new RegExp("^(https?://.*)bow\.js$");
		for(var i = 0; i < scripts.length; i++){
			if(scripts[i].src.search(reg) != -1){
				url = RegExp.$1;
				break;
			}
		}
		if(url !== ""){
			url += this.module;
		};
		return url;
	}
}
