/* @cc_on _d=document;eval('var document=_d')@ */
var g = new function(){
	this.load = null;
	this.scr = false;
	this.modelClick = false;
	this.searching = false;
	this.totalPage = 0;
	this.moreGrade = false;
	this.cks = null;
	this.updTime = "";
	this.upd = false;
	this._init = function(){
		g._regist();
		g._initSize();
		g._bklist();
		if(document.forms["lf"].ck.length > 0) g.cks = $A(document.forms["lf"].ck);
		else g.cks = [document.forms["lf"].ck];
		g.cks.each(function(e){ e.onclick = g._onChk; });
		setInterval(this._interval, 1000);
		g._addEvent((document.all) ? document.body : window, "keydown", g._onKeyDown);
		g.upd = false;
	}

	this._onKeyDown = function(e){
		e = e || window.event;
		if(e.keyCode == 27) g._onBodyClick();
	}
	this._interval = function(){
		if(g.upd) return;
		if(g.updTime == g.getCookie("ct01upd")) return;
		g._setChk();
		g.updTime = g.getCookie("ct01upd");
	}
	this._setChk = function(){
		var p = $H({p1:"", p2:"11", r:Math.random()}).toQueryString();
		var ajax = new Ajax.Request("/diff/ad.php", {method:'get', parameters:p, onComplete:g._chkRes});
	}
	this._chkRes = function(res){
		eval('var data = ' + res.responseText);
		if(!data || !data.codes) return;
		g.cks.each(function(e){
			e.checked = (data.codes.indexOf(e.value) < 0) ? false : true;
		});
	}

	this._onChk = function(){
		g.upd = true;
		g._dif(this.value, this.checked);
		return;
	}
	this._dif = function(val, checked){
		var p = $H({p1:val, p2:(checked) ? 1 : 0, r:Math.random()}).toQueryString();
		var ajax = new Ajax.Request("/diff/ad.php", {method:'get', parameters:p, onComplete:g._difRes});
	}
	this._difRes = function(res){
		g.upd = false;
		g.updTime = "";
	}


	this._regist = function(){
		document.body.onclick = g._onBodyClick;
		$("mdl").onclick = g._onModelList;
		$("mdl2").onclick = g._onModelList;
		$("pf").onsubmit = g._submitpf;
		$("pfa").onclick = g._submitpf;
		$("popclose").onclick = g._popclose;
		$A(document.getElementsByClassName("imgs")).each(function(e){ e.onclick = g._onImgs; });
		$A(document.getElementsByClassName("mdl")).each(function(e){ e.onclick = g._onmdl; });
		$A(document.getElementsByClassName("msl")).each(function(e){ e.onclick = g._onmsl; });
		$A(document.getElementsByClassName("icoSize")).each(function(e){ e.onclick = g._onSize; });
		$A(document.getElementsByClassName("d_toki")).each(function(e){ e.onclick = g._onMoreGrade; });
	}
	this._popclose = function(){
		$("popup").style.display = "none";
		return false;
	}
	this._onModelList = function(){
		g.modelClick = true;
		$("msl").style.display = ($("msl").style.display == "block") ? "none" : "block";
		return false;
	}
	this._onBodyClick = function(){
		if(!g.modelClick && $("msl").style.display == "block") $("msl").style.display = "none";
		g.modelClick = false;
	}
	this._onImgs = function(){
		var obj = g._findChild(this, "IMG");
		if(!obj) return false;
		$("mainImg").src = obj.src;
		$("mainImg").alt = obj.alt;
		return false;
	}
	this._onmdl = function(){
		g.scr = true;
		$("md").value = this.id;
		g._req();
		return false;
	}
	this._onmsl = function(){
		$("md").value = this.id.replace(/2$/, "");
		g._req();
		return false;
	}
	this._onSize = function(){
		var lv = "";
		if(this.className.match(/ico_small/)) lv = "S";
		if(this.className.match(/ico_medium/)) lv = "M";
		if(this.className.match(/ico_large/)) lv = "L";
		if(lv == "") return false;
		g._chgSize(this, lv);
		return false;
	}
	this._chgSize = function(obj, level){
		$A(document.getElementsByClassName("icoSize")).each(function(e){ e.className = e.className.replace(/ ico_moja/, ""); });
		obj.className += " ico_moja";
		$A(document.getElementsByClassName("container")).each(function(e){ e.id = "disp" + level; });
		g.setCookie("strsize", level, 3600*24*60, "/");
	}
	this._initSize = function(){
		var lv = g.getCookie("strsize");
		if(lv == "") lv = "M";
		g._chgSize($("sz" + lv), lv);
	}
	this._bklist = function(){
		$("r3").value = "b" + Math.floor(Math.random() * 10000);
		var ajax = new Ajax.Request("/common/catalog/modelv2.0.php", {method:'get', parameters:Form.serialize("gf"), onComplete:g._onCompleteBkList});
	}
	this._onCompleteBkList = function(res){
		eval('var data = ' + res.responseText);
		if(data.html == "") return;
		$("bkbox").innerHTML = data.html;
		$("bkbox").style.display = "block";
	}

	this._req = function(){
		$("r").value = "a" + Math.floor(Math.random() * 10000);
		var ajax = new Ajax.Request("/common/catalog/modelv2.0.php", {method:'get', parameters:Form.serialize("f"), onComplete:g._onComplete});
	}
	this._onComplete = function(res){
		eval('var data = ' + res.responseText);
		if(data.html) g._updModel(data);
		if(g.scr){
			window.scrollTo(0, 0);
			g.scr = false;
		}
	}
	this._updModel = function(data){
		$("mdname").innerHTML = data.modelName;
		$("modelBox").innerHTML = data.html;
		$A(document.getElementsByClassName("models")).each(function(e){
			e.className = e.className.replace(/ t_model_moja/, "");
			if(e.id == "tr_" + data.key) e.className += " t_model_moja";
		});
		$A(document.getElementsByClassName("msl")).each(function(e){
			e.className = e.className.replace(/ t_model_moja/, "");
			if(e.id == data.key + "2") e.className += " t_model_moja";
		});
		$A(document.getElementsByClassName("imgs")).each(function(e){ e.onclick = g._onImgs; });
		$A(document.getElementsByClassName("d_toki")).each(function(e){ e.onclick = g._onMoreGrade; });
		g.moreGrade = false;

		if(document.forms["lf"].ck.length > 0) g.cks = $A(document.forms["lf"].ck);
		else g.cks = [document.forms["lf"].ck];
		g.cks.each(function(e){ e.onclick = g._onChk; });
	}
	this._submitpf = function(){
		$("pg").value = "1";
		g._search();
		return false;
	}
	this._search = function(){
		$("r2").value = "s" + Math.floor(Math.random() * 10000);
		var ajax = new Ajax.Request("/common/catalog/modelv2.0.php", {method:'get', parameters:Form.serialize("pf"), onComplete:g._onCompleteSearch});
	}
	this._onCompleteSearch = function(res){
		eval('var data = ' + res.responseText);
		if(data.html) g._popup(data);
	}
	this._popup = function(data){
		$("popup").style.display = "block";
		$("popdata").innerHTML = data.html;
		$("count").innerHTML = data.info.count + "件";
		$("p_l").innerHTML = data.info.c1;
		$("p_h").innerHTML = data.info.c2;
		$("pbox").style.display = "block";
		g.totalPage = data.info.totalPage;
		g.searching = false;
	}
	this._page = function(obj, m){
		if(g._searching) return false;
		if(m < 0 && parseInt($("pg").value) <= 1) return false;
		if(m > 0 && parseInt($("pg").value) >= parseInt(g.totalPage)) return false;
		if(obj.className.match(/a_inu/)) return false;
		$("pg").value = parseInt($("pg").value) + m;
		g._search();
		g.searching = true;
		return false;
	}
	this._onhikaku = function(cd){
		var p = "/carlist/ads.php?p1=" + cd + "&p2=1&r=" + Math.floor(Math.random() * 10000);
		var ajax = new Ajax.Request(p, {method:'get', onComplete:g._onCompleteHikaku});
		return false;
	}

	this._onCompleteHikaku = function(){
		if(!document.all) location.href = "/diff/sd.html";
		else $("diffA").click();
	}

	this._onMoreGrade = function(){
		var id = this.id;
		if(g.moreGrade)	return true;
		if(!$("grtb")) return false;
		$("r3").value = "s" + Math.floor(Math.random() * 10000);
		var ajax = new Ajax.Request("/common/catalog/modelv2.0.php", {method:'get', parameters:Form.serialize("gf"), onComplete:function(res){ g._onCompleteGradeList(res, id);} });
		return false;
	}
	this._onCompleteGradeList = function(res, id){
		eval('var data = ' + res.responseText);
		if(!data.gr) return;
		for(var i = 0 ; i < data.gr.length ; i++){
			var dt = data.gr[i];

			var tr = document.createElement("TR");
			tr.className = "tr_toki";
			$("grtb").appendChild(tr);
			var cd = dt.brand_cd + dt.shashu_cd + dt.fmc_cd + dt.mc_cd + dt.grade_cd;
			var a = '<a href="' +
					dt.fmc_cd.toLowerCase() + "/" +
					dt.mc_cd.toLowerCase() + "/" +
					dt.grade_cd.toLowerCase() + "/" +
					'">' + dt.grade_name + '</a>';
			var b = dt.opt.kikan_f + '～' + '<span>' + dt.opt.kikan_t + '</span>';
			var c = dt.opt.price;
			var d = '<input name="ck" type="checkbox" value="' + cd + '">';
			if(dt.opt.tax == "1") c += '<span class="d_fS">(税込)</span>';
			g._createTD(tr, d, "d_grd0");
			g._createTD(tr, a, "d_grd1");
			g._createTD(tr, b, "d_grd2");
			g._createTD(tr, c, "d_grd3");
			g._createTD(tr, dt.opt.kudo, "d_grd4");
			g._createTD(tr, dt.opt.mission, "d_grd5");
		}
		g.moreGrade = true;
		$(id).className = $(id).className.replace(/d_mjOFF/, "d_mjON");

		if(document.forms["lf"].ck.length > 0) g.cks = $A(document.forms["lf"].ck);
		else g.cks = [document.forms["lf"].ck];
		g.cks.each(function(e){ e.onclick = g._onChk; });
		g._setChk();
		g.updTime = g.getCookie("ct01upd");
	}

	this._createTD = function(tr, html, className){
		var td = tr.appendChild(document.createElement("TD"));
		td.innerHTML = html;
		td.className = className;
	}

	this._findChild = function(obj, type){
		var childs = new Array;
		for(var i = 0 ; i < obj.childNodes.length ; i++){
			if(obj.childNodes[i].nodeName == type) return obj.childNodes[i];
		}
		return null;
	}
	this.getCookie = function(key){
		var tmp = document.cookie+";";
		var tmp1 = tmp.indexOf(key+"=",0);
		if(tmp1 == -1) return "";
		tmp = tmp.substring(tmp1,tmp.length);
		if(tmp.match(key+";")) return "";
		var start = tmp.indexOf("=",0);
		var end = tmp.indexOf(";",start);
		return(unescape(tmp.substring(start+1,end)));
	}
	this.setCookie = function(key, val, ex, path){
		var expires = "";
		if(ex){
			var dt = new Date();
			dt.setTime(dt.getTime() + ex);
			expires = ";expires=" + dt.toGMTString();
		}
		path = (path) ? ";path=" + path : "";
		document.cookie = key + "=" + escape(val) + expires + path;
	}
	this._addEvent = function(obj, type, func){
		if(!obj) return;
		if(obj.addEventListener) obj.addEventListener(type, func, false);
		else if(obj.attachEvent) obj.attachEvent('on' + type, func);
	}
	this._load = function(){
		if(!document.body) return;
		if(!$("pf")) return;
		clearInterval(g.load);
		g._init();
	}
	this.load = setInterval(this._load, 10);
}


