var active_selected_object = null;
var active_selected_pane = null;
var active_item_detail = null;
var bto_form_price = 0;
var priceCalObj = new Object();
var powerCalObj = new Object();
var selectedObj_flag = new Object();
var powerGain = 0;
function mfp_calc(){
	var d = window.document;
	var price = bto_form_price;
	//if(d.getElementById("deli02").checked)
	//	price += 1000;
	if(d.getElementById("deli03").checked)
		price += 2000;
	else if(d.getElementById("deli04").checked)
		price += 3000;
	if(d.getElementById("payment02").checked)
		price += 1500;
	
	//coffee
	var coffee = Math.floor(price / 470);
	
	d.getElementById("pay_price").value = price;
	d.getElementById("total_amount").innerHTML = price + "円 <span class=\"coffee\">スタバのコーヒーを"+coffee+"日我慢すれば買えます。</span>";
}
function hideHTMLObject(obj){
	document.getElementById(obj).style.display = "none";
}
function showHTMLObject(obj){
	document.getElementById(obj).style.display = "block";
}
function printInnerHTML(id,text){
	document.getElementById(id).innerHTML = text;
}
function rollover_selected_over(obj){
	if(active_selected_object != obj)
		obj.className = "selected_list_over";
}
function rollover_selected_click(obj){
	hideHTMLObject('howtouse');
	if(active_selected_object != null && selectedObj_flag[active_selected_object.id])
		active_selected_object.className = "selected_list_choice";
	else if(active_selected_object != null)
		active_selected_object.className = "selected_list";
	if(active_selected_pane != null)
		document.getElementById(active_selected_pane).style.display = "none";
	obj.className = "selected_list_active";
	active_selected_object = obj;
	active_selected_pane = obj.id+"main_pane";
	document.getElementById(obj.id+"main_pane").style.display = "block";
}
function rollover_selected_out(obj){
	if(active_selected_object != obj && selectedObj_flag[obj.id])
		obj.className = "selected_list_choice";
	else if(active_selected_object != obj)
		obj.className = "selected_list";
	//if(active_selected_object != obj)
	//	obj.className = "selected_list";
}
function elementsChecked(){
	var obj = document.forms["bto_form"];
	var labelObj = new Object();
	for(i=0;i<obj.length;i++){
		if(obj.elements[i].type == "checkbox" || obj.elements[i].type == "radio"){
			var elementId = obj.elements[i].id + "_list";
			if(document.getElementById(elementId)){
				if(obj.elements[i].checked){
					document.getElementById(elementId).className = "checked";
					document.getElementById("debug").innerHTML += obj.elements[i].id + "_label<br />";
					var labelId = obj.elements[i].id + "_label";
					if(document.getElementById(labelId)){
						document.getElementById("debug").innerHTML += "label ture<br />";
					}
				}
				else
					document.getElementById(elementId).className = "unchecked";
			}
		}
	}
}
function onload_preset(){
	var d = document.forms["bto_form"];
	var total_price = 0;
	var total_power = 0;
	var disp_item_name = "";
	var disp_item_price = "";
	powerGain = 0;
	var checkeItemCounter = 0;
	for(cnt=0;cnt<categoryArr.length;cnt++){
		var elementName = categoryArr[cnt];
		priceCalObj[elementName] = 0;
		powerCalObj[elementName] = 0;
		powerGain = 0;
		var checkeItemCounter = 0;
		disp_item_name = "";
		disp_item_price = "";
		if(d.elements[elementName]){
			for(i=0;i<d.elements[elementName].length;i++){
				var elementId = d.elements[elementName][i].id + "_list";
				if(document.getElementById(elementId)){
					if(d.elements[elementName][i].checked && d.elements[elementName][i].value != "none"){
						document.getElementById(elementId).className = "checked";
						disp_item_name += d.elements[elementName][i].value+"<br />";
						disp_item_price += priceObj[d.elements[elementName][i].id]+"<em>円</em><br />";
						priceCalObj[elementName] += priceObj[d.elements[elementName][i].id];
						powerCalObj[elementName] += powerObj[d.elements[elementName][i].id];
						checkeItemCounter++;
					}
					else if(d.elements[elementName][i].checked && d.elements[elementName][i].value == "none")
						document.getElementById(elementId).className = "checked";
					else
						document.getElementById(elementId).className = "unchecked";
				}
			}
		}
		if(checkeItemCounter > 1)
			document.getElementById(elementName+"_").style.height = (checkeItemCounter * 20) + "px";
		else
			document.getElementById(elementName+"_").style.height = "25px";
		
		if(disp_item_name != ""){
			printInnerHTML(elementName+"_item_name",disp_item_name);
			printInnerHTML(elementName+"_item_price",disp_item_price);
			selectedObj_flag[elementName+"_"] = true;
			document.getElementById(elementName+"_").className = "selected_list_choice";
		}
	}
	for(i=0;i<categoryArr.length;i++){
		if(priceCalObj[categoryArr[i]] != undefined)
			total_price += parseInt(priceCalObj[categoryArr[i]]);
		if(powerCalObj[categoryArr[i]] != undefined){
			if(powerCalObj[categoryArr[i]] > 0)
				total_power += parseInt(powerCalObj[categoryArr[i]]);
			else if(powerGain > powerCalObj[categoryArr[i]])
				powerGain = powerCalObj[categoryArr[i]];
		}
	}
	var gain = "";
	if(powerGain < 0){
		gain = powerGain * -1;
		var dspGain = powerGain * -1;
		gain = (total_power / gain * 100);
		gain = "/ 供給"+dspGain+"<em>w</em> (<strong>" + Math.round(gain) + "</strong><em>%</em>)";
	}
	bto_form_price = total_price;
	mfp_calc();
	printInnerHTML("bto_form_total_price",total_price+"<em>円</em>");
	printInnerHTML("bto_form_lost_power","予想消費電力" + total_power+"<em>w</em> "+gain);
}

function labelclick(obj){
	var elementId = obj.id.replace( /_label/g, "" );
	var elementName = document.getElementById(elementId).name;
	var total_price = 0;
	var total_power = 0;
	var disp_item_name = "";
	var disp_item_price = "";
	priceCalObj[elementName] = 0;
	powerCalObj[elementName] = 0;
	powerGain = 0;
	var checkeItemCounter = 0;
	var d = document.forms["bto_form"];
	for(i=0;i<d.elements[elementName].length;i++){
		var elementId = d.elements[elementName][i].id + "_list";
		if(document.getElementById(elementId)){
			if(d.elements[elementName][i].checked && d.elements[elementName][i].value != "none"){
				document.getElementById(elementId).className = "checked";
				disp_item_name += d.elements[elementName][i].value+"<br />";
				disp_item_price += priceObj[d.elements[elementName][i].id]+"<em>円</em><br />";
				priceCalObj[elementName] += priceObj[d.elements[elementName][i].id];
				powerCalObj[elementName] += powerObj[d.elements[elementName][i].id];
				checkeItemCounter++;
			}
			else if(d.elements[elementName][i].checked && d.elements[elementName][i].value == "none")
				document.getElementById(elementId).className = "checked";
			else
				document.getElementById(elementId).className = "unchecked";
		}
	}
	
	//checkeItemCounter
	if(checkeItemCounter > 1)
		document.getElementById(elementName+"_").style.height = (checkeItemCounter * 20) + "px";
	else
		document.getElementById(elementName+"_").style.height = "25px";
	
	if(disp_item_name != ""){
		printInnerHTML(elementName+"_item_name",disp_item_name);
		printInnerHTML(elementName+"_item_price",disp_item_price);
		selectedObj_flag[elementName+"_"] = true;
	}
	else {
		printInnerHTML(elementName+"_item_name",categoryObj[elementName]);
		printInnerHTML(elementName+"_item_price","未選択");
		selectedObj_flag[elementName+"_"] = false;
	}
	
	for(i=0;i<categoryArr.length;i++){
		if(priceCalObj[categoryArr[i]] != undefined)
			total_price += parseInt(priceCalObj[categoryArr[i]]);
		if(powerCalObj[categoryArr[i]] != undefined){
			if(powerCalObj[categoryArr[i]] > 0)
				total_power += parseInt(powerCalObj[categoryArr[i]]);
			else if(powerGain > powerCalObj[categoryArr[i]])
				powerGain = powerCalObj[categoryArr[i]];
		}
	}
	var gain = "";
	if(powerGain < 0){
		gain = powerGain * -1;
		var dspGain = powerGain * -1;
		gain = total_power / gain * 100;
		//gain = "/"+dspGain+"<em>w</em>(" + Math.round(gain) + "<em>%</em>)";
		gain = "/ 供給"+dspGain+"<em>w</em> (<strong>" + Math.round(gain) + "</strong><em>%</em>)";
	}
	bto_form_price = total_price;
	mfp_calc();
	printInnerHTML("bto_form_total_price",total_price+"<em>円</em>");
	printInnerHTML("bto_form_lost_power","予想消費電力" + total_power+"<em>w</em> "+gain);
}
function li_over(obj){
	if(active_item_detail != null)
		document.getElementById(active_item_detail).style.display = "none";
	if(obj.className != "checked")
		obj.className = "li_over";
	document.getElementById(obj.id+"_detail").style.display = "block";
	if(imageObj[obj.id] != undefined)
		document.getElementById(obj.id+"_image").src = imageObj[obj.id];
	active_item_detail = obj.id+"_detail";
}
function li_out(obj){
	if(obj.className != "checked")
		obj.className = "unchecked";
}
function showTips(objId){
	document.getElementById(objId).style.display = "block";
	var elementId = objId.replace( /tips_/g, "" );
	if(selectedObj_flag[elementId+"_"])
		document.getElementById(objId+"_sub").style.display = "block";
}
function hideTips(objId){
	document.getElementById(objId).style.display = "none";
	var elementId = objId.replace( /tips_/g, "" );
	if(selectedObj_flag[elementId+"_"])
		document.getElementById(objId+"_sub").style.display = "none";
}

	var loading_image = '<img src="images/loading.gif" id="loading_proccess_image" width="120" height="120" />';
	var twex_body = document['CSS1Compat' == document.compatMode ? 'documentElement' : 'body'];
	var twex_flag = 1;
	document.write("<style type=\"text/css\">");
	document.write('div#twex {');
	document.write('	margin: 0px;');
	document.write('	overflow: hidden;');
	document.write('	z-index: 100;');
	document.write('	position: absolute;');
	document.write('	top: 0;');
	document.write('	left: 0;');
	document.write('	visibility: hidden;');
	document.write('	text-align: center;background-color: #000000;filter: alpha(opacity=60);-moz-opacity: 0.60;-khtml-opacity: 0.60;opacity: 0.60;');
	document.write('}img#loading_proccess_image {position: absolute;}');
	document.write('</style>');
	function twex_fullscreenObject(){
		twex_hideObject();
		var twexHTML;
		twexHTML = loading_image;
		if(document.getElementsByTagName('BODY').length==0)
			document.write('<body>');
		var element = document.createElement('div');
		element.id = "twex";
		element.innerHTML = twexHTML;
		var objBody = document.getElementsByTagName("body").item(0);
		objBody.appendChild(element);
		
		twex_resize();
		if(document.all){
			document.all('twex').style.visibility = "inherit";
		}
		else if(document.getElementById){
			document.getElementById('twex').style.visibility = "inherit";
		}
	}
	function twex_resize(){
		var ua = navigator.userAgent;
		var nWidth, nHeight, nTop, nLeft;
		var nHit = ua.indexOf("MSIE");
		var bIE = (nHit >=  0);
		var bVer6 = (bIE && ua.substr(nHit+5, 1) == "6");
		var bStd = (document.compatMode && document.compatMode=="CSS1Compat");
		if (bIE) {
			if (bVer6 && bStd) {
				nWidth = document.documentElement.clientWidth;
				nHeight = document.documentElement.clientHeight;
				nTop = document.documentElement.scrollTop;
				nLeft = document.documentElement.scrollLeft;
			}
			else {
				if (typeof document.body.style.maxHeight != "undefined") {
					//IE7
					nWidth = document.documentElement.clientWidth;
					nHeight = document.documentElement.clientHeight;
					nTop = document.documentElement.scrollTop;
					nLeft = document.documentElement.scrollLeft;
				}
				else {
					nWidth = document.body.clientWidth;
					nHeight = document.body.clientHeight;
					nTop = document.body.scrollTop;
					nLeft = document.body.scrollLeft;
				}
			}
		}
		else {
			nWidth = window.innerWidth;
			nHeight = window.innerHeight;
			nTop = document.body.scrollTop  || document.documentElement.scrollTop;
			nLeft = document.body.scrollLeft || document.documentElement.scrollLeft;
		}
		
		var lTop = (nHeight - 120) / 2;
		var lLeft = (nWidth - 120) / 2;
		
		document.getElementById('twex').style.width = nWidth + "px";
		document.getElementById('twex').style.height = nHeight + "px";
		document.getElementById('twex').style.top = nTop + "px";
		document.getElementById('twex').style.left = nLeft + "px";
		document.getElementById('loading_proccess_image').style.top = lTop + "px";
		document.getElementById('loading_proccess_image').style.left = lLeft + "px";
	}
	// ---------------------------------------------------
	function twex_closefullscreenObject(){
		if(document.all){
			document.all('twex').style.visibility = "hidden";
			document.all('twex').style.width = "1px";
			document.all('twex').style.display = "none";
		}
		else if(document.getElementById){
			document.getElementById('twex').style.visibility = "hidden";
			document.getElementById('twex').style.width = "1px";
			document.getElementById('twex').style.display = "none";
		}
		twex_showObject();
	}

	// ---------------------------------------------------
	function twex_showObject(){
		var flashObjects = document.getElementsByTagName("object");
		for (i = 0; i < flashObjects.length; i++) {
			flashObjects[i].style.visibility = "visible";
		}
		var flashEmbeds = document.getElementsByTagName("embed");
		for (i = 0; i < flashEmbeds.length; i++) {
			flashEmbeds[i].style.visibility = "visible";
		}
		var flashSelect = document.getElementsByTagName("select");
		for (i = 0; i < flashSelect.length; i++) {
			flashSelect[i].style.visibility = "visible";
		}
	}
	
	// ---------------------------------------------------
	function twex_hideObject(){
		var flashObjects = document.getElementsByTagName("object");
		for (i = 0; i < flashObjects.length; i++) {
			flashObjects[i].style.visibility = "hidden";
		}
		var flashEmbeds = document.getElementsByTagName("embed");
		for (i = 0; i < flashEmbeds.length; i++) {
			flashEmbeds[i].style.visibility = "hidden";
		}
		var flashSelect = document.getElementsByTagName("select");
		for (i = 0; i < flashSelect.length; i++) {
			flashSelect[i].style.visibility = "hidden";
		}
	}
	twex_fullscreenObject();


window.onload = function(){
	startupMailform();
	$("li.selected_list").mouseover(function(){
		rollover_selected_over(this);
	});
	$("li.selected_list").mouseout(function(){
		rollover_selected_out(this);
	});
	$("li.selected_list").click(function(){
		rollover_selected_click(this);
	});
	$("li.li_list").mouseover(function(){
		li_over(this);
	});
	$("li.li_list").mouseout(function(){
		li_out(this);
	});
	$("li.checked").mouseover(function(){
		li_over(this);
	});
	$("li.checked").mouseout(function(){
		li_out(this);
	});
	$("label.bto").click(function(){
		labelclick(this);
	});
	if(presetOnload){
		onload_preset();
	}
	mfp_calc();
	//if(navigator_load_flag == null)
	//	nv_onload();
	twex_closefullscreenObject();
	//toolbarFixed();
	//nvIR_onload();
}
