function openwin(path) {
  try {
	var win = window.open(path, "batteryspecs", "width=680,height=470,left=0,top=0,scrollbars=yes,resizable=no,menubar=0,location=0");
  } catch(ex) {
    return true;
  }
  return false;
}

function clickImage(el) {
  GetE("display_image").src = el.href;
  return false;
}

function submitDocument(thisform) {
  if (thisform.onsubmit && (false == thisform.onsubmit())) return;
  thisform.submit();
}

function addByUnit() {
  GetE("case_qty_err").innerText = "";
  GetE("unit_qty_err").innerText = "";
  var qty = GetE("qty");
  if (isInteger(qty.value)) {
	submitDocument(document.productForm);
	return;
  }
  if (qty.value.isEmpty()) {
	GetE("unit_qty_err").innerText = msg_field_blank;
  } else {
    GetE("unit_qty_err").innerText = msg_invalid_number + qty.value;  
  }
  qty.focus();
}

function addByCase() {
  GetE("case_qty_err").innerText = "";
  GetE("unit_qty_err").innerText = "";
  var cqty = GetE("cqty");
  if (isInteger(cqty.value)) {
	submitDocument(document.productForm);
	return;
  }
  if (cqty.value.isEmpty()) {
	GetE("case_qty_err").innerText = msg_field_blank;
  } else {
    GetE("case_qty_err").innerText = msg_invalid_number + cqty.value;  
  }
  cqty.focus();
}

function buyItNow() {
  GetE("case_qty_err").innerText = "";
  GetE("unit_qty_err").innerText = "";
  var cqty = GetE("cqty");
  var qty = GetE("qty");
  if (cqty.value.isEmpty() && qty.value.isEmpty()) {
	GetE("case_qty_err").innerText = msg_field_blank;
	cqty.focus();
	return;
  }
  var isErr = false;
  if (!qty.value.isEmpty() && !isInteger(qty.value)) {
	GetE("unit_qty_err").innerText = msg_invalid_number + qty.value;  
	qty.focus();
	isErr = true;
  }
  if (!cqty.value.isEmpty() && !isInteger(cqty.value)) {
	GetE("case_qty_err").innerText = msg_invalid_number + cqty.value;  
	cqty.focus();
	isErr = true;
  }
  if (isErr) return;  
  GetE("subaction").value = "checkout";
  submitDocument(document.productForm);
}

function clickUnit() {
  if (window.event.keyCode==13) {
    GetE("addbyunit").click();
  }
}

function clickCase() {
  if (window.event.keyCode==13) {
    GetE("addbycase").click();
  }
}

function verifySubmit(el) {
  el.addbycase.disabled = true;
  el.addbyunit.disabled = true;
  return true;
}

function inquirywishVerify(el) {
  el.inquiry.disabled = true;
  el.wishlist.disabled = true;
  if (_product_action=="inquiry") {
	el.action = "/service/inquiry";	
  } else if (_product_action=="wishlist") {
	el.action = "/shopping/wish_list";
  }
  return true;
}

var _product_action = "inquiry";

function inquirySubmit() {
   _product_action = "inquiry";
}

function wishlistSubmit() {
   _product_action = "wishlist";
}


function openShippingCost(el){
  try {
	GetE("case_qty_err").innerText = "";
    GetE("unit_qty_err").innerText = "";
	GetE("calculate_shipping_cost_err").innerHTML = "";
	var cqty = GetE("cqty");
    var qty = GetE("qty");
	if (cqty.value.isEmpty() && qty.value.isEmpty()) {
	  GetE("calculate_shipping_cost_err").innerHTML = msg_calculate_invalid_number;
	  cqty.focus();
	  return false;
    }
	var isErr = false;
	if (!qty.value.isEmpty() && !isInteger(qty.value)) {
	  GetE("unit_qty_err").innerText = msg_invalid_number + qty.value;  
	  qty.focus();
	  isErr = true;
	}
	if (!cqty.value.isEmpty() && !isInteger(cqty.value)) {
	  GetE("case_qty_err").innerText = msg_invalid_number + cqty.value;  
	  cqty.focus();
	  isErr = true;
	}
	if (isErr) return false; 
    var path = el.href + "&cqty=" + cqty.value + "&qty=" + qty.value;
	var win = window.open(path, "shipping_cost", "width=520,height=350,left=0,top=100,toolbar=0, menubar=0, scrollbars=yes,resizable=no,location=0, status=no");
  } catch(ex) {
    return true;
  }
  return false;
}

function submitReview() {
  var form = document.reviewForm;
  var isSuccess = true;
  try {
	if (!chkFiled(form.name, true)) isSuccess = false;
	if (!chkFiled(form.securityCode, true)) isSuccess = false;
	if (!chkFiled(form.review, true)) isSuccess = false;
	if (!isSuccess) {
	  GetE("submit_message").innerHTML = msg_submit_error;
	  return;
	}
	
	var surl = "/product/comments";
	var postData = "productId=" + form.productId.value + "&name=" + form.name.value  + 
		           "&rating=" + form.rating.options[form.rating.selectedIndex].value + 
		           "&securityCode=" + form.securityCode.value + "&review=" + form.review.value;
	var request = Connect.asyncRequest('POST', surl, { success:successComments, failure:failureComments }, postData)
  } catch (ex) {}
}

function chkFiled(el, verifyEmpty) {
  var value = el.value;
  if (!verifyEmpty) {
    if (value.isBlank()) {
	  GetE(el.name + "Msg").style.color = "";
	  GetE("submit_message").innerHTML = "";
	  return true;
	}
  }  
  if (value.isBlank()) {
    GetE(el.name + "Msg").style.color = "#e00";
	return false;
  }
  GetE(el.name + "Msg").style.color = "";
  GetE("submit_message").innerHTML = "";
  return true;
}

function successComments(o) {
  try {
    if(o.responseText == undefined) {
	  failureComments(o);
	  return;  
	}
    var form = document.reviewForm;
    if (o.responseText.equals("1")) {
	  form.name.value = "";
	  form.securityCode.value = "";
	  form.review.value = "";
	  GetE("securityimage").src = "/images/random.jpg?" + new Date().getTime();
      GetE("submit_message").innerHTML = msg_review_submitting;
    } else {
	  form.name.value = "";
	  form.securityCode.value = "";
	  form.review.value = "";
	  GetE("securityimage").src = "/images/random.jpg?" + new Date().getTime();
      GetE("submit_message").innerHTML = msg_review_created;

	  var list = GetE("listreviews");
      if (list.childNodes.item(0).id.equals("noreviews")) {
        list.innerHTML = o.responseText;
	  } else {
        list.innerHTML += o.responseText;
	  }
	} 
  } catch (ex) {}
}

function failureComments(o) {
  try {
	GetE("submit_message").innerHTML = msg_submit_error;
	document.reviewForm.securityCode.value = "";
	GetE("securityimage").src = "/images/random.jpg?" + new Date().getTime();
  } catch (ex) {}
}

function getParent(el, pTagName) {
	if (el == null) return null;
	else if (el.nodeType == 1 && el.tagName.toLowerCase() == pTagName.toLowerCase())
		return el;
	else
		return getParent(el.parentNode, pTagName);
}

function extendClick(el) {
  var td = getParent(el, "TD");
  if (td.className.equals("focus")) {
	return false;
  }
  var tr = getParent(el, "TR");
  for (var i=0; i<tr.cells.length; i++) {
	if (tr.cells[i].className.equals("focus")) {
	  tr.cells[i].className="default";
	}
  }
  
  
  GetE("specification_item").style.display = "none";
  GetE("product_reviews_item").style.display = "none";
  GetE("product_tour_item").style.display = "none";

  td.className = "focus";
  GetE(el.name+"_item").style.display = "block";

  return false;
}

function clickExtend(s) {
  if (!s.equals("specification") && !s.equals("product_reviews") && !s.equals("product_tour")) return;
  GetE("specification_title").className = "default";
  GetE("product_reviews_title").className = "default";
  if(GetE("product_tour_title") != undefined) GetE("product_tour_title").className = "default";

  GetE("specification_item").style.display = "none";
  GetE("product_reviews_item").style.display = "none";
  GetE("product_tour_item").style.display = "none";

  GetE(s+"_title").className = "focus";
  GetE(s+"_item").style.display = "block";
}

function loadExtend() {
  var url = "" + window.location;
  var index = url.indexOf("#");
  var key = "";
  if (index != -1) {
	key = url.substring(index + 1);
  }
  clickExtend(key);
}

function chgShippingCost() {
	var pid = GetE("product_id").value;
    var shippingCountry = GetE("shippingCountry");
	var country = shippingCountry.options[shippingCountry.selectedIndex].value;
    var shippingCorp = GetE("shippingCorp");
	var corp = shippingCorp.options[shippingCorp.selectedIndex].value;

	var surl = "/shopping/calculate_shipping_cost";
	var postData = "pid=" + pid + "&country=" + country  + "&corp=" + corp;
	var request = Connect.asyncRequest('POST', surl, { success:successShippingCost, failure:failureShippingCost }, postData)
}

function successShippingCost(o) {
	try	{
		if(o.responseText == undefined) {
			failureCurrency(o);
			return;  
		}
		var tmps = o.responseText.split("||");
		if (tmps==null || tmps.length != 2) {
			failureCurrency(o);
			return;  
		}
		GetE("_unit_price").innerHTML = tmps[0];
		GetE("_case_price").innerHTML = tmps[1];
	}
	catch (ex){
		failureShippingCost(o);
	}
}

function failureShippingCost(o) {
	window.location.reload();
}
