/*
* Filename	: general.js
* Function	:
* Comment		:
* History		: 2005/03/20, mas, setup
*						
* Version		:	1.0
* Author		:	Copyright (c) 2005 by JcomTech Corp. All Rights Reserved.
*/

// --------------------------- searchSubmit ------------------------------
function __searchSubmit(form) {
	form.action = "/searchgoods/";
	return true;
}

// --------------------------- pollSubmit ------------------------------
function __pollSubmit(form) {
	if (!isCheckedRadio(form)) {
		alert("投票項目を選択してください。");
		return false;
	}
	form.action = "/poll/";
	return true;
}

// --------------------------- gotoPage ------------------------------
function __gotoPage(pageNo) {
	var form = document.tranMgr;
	form.pageNo.value = pageNo;
	form.submit();
}

// --------------------------- gotoPage ------------------------------
function __gotoPage2(pageNo) {
	var form = document.tranMgr;
	form.pageNo2.value = pageNo;
	form.submit();
}

// --------------------------- changePage ------------------------------
function __changeList() {
	var form = document.tranMgr;
	form.pageNo.value = "1";
	form.submit();
}

// --------------------------- changeOrderBy ------------------------------
function __changeOrderBy(val) {
	var form = document.tranMgr;
	form.sOrder.value = val;
	form.submit();
}

// --------------------------- checkCompare ------------------------------
function __checkCompare() {
	var form = document.tranMgr;
	if (!isCheckedElement(document.getElementsByName("chkItem"))) {
		alert('商品を一つ以上選択してください。');
		return;
	}
	form.action = "/comparegoods/";
	form.submit();
}

// --------------------------- memAgree ------------------------------
function __memAgree(form) {
	if (!form.agreeYn.checked) {
		alert("会員登録するにはこの利用規約に同意していただくことが必要です。");
		form.agreeYn.focus();
		return false;
	}
	form.action = "/member/form/";
	return true;
}

function __memChkAgree(form, val) {
	if (!form.agreeYn.checked) {
		alert("会員登録するにはこの利用規約に同意していただくことが必要です。");
		form.agreeYn.focus();
		return false;
	}
	form.memTp.value = val;
	form.action = "/member/form/";
	form.submit();
	return true;
}


// --------------------------- changeMonth ------------------------------
function __changeMonth(form, month) {
	form.month.value = month;
}

// --------------------------- goodsChangeBigImage ------------------------------
function __goodsChangeBigImage(img) {
	if (img.length == 0) {return;}
	document.bigImg.src = img;
}

// --------------------------- goodsChangeDetailImage ------------------------------
function __goodsChangeDetailImage(img) {
	if (img.length == 0) {return;}
	document.dtlImg.src = img;
}

// --------------------------- goodsChangeDetailImage ------------------------------
function __goodsChangeDetailImage(img) {
	if (img.length == 0) {return;}
	document.dtlImg.src = img;
}

// --------------------------- openZoomImage ------------------------------
function __openZoomImage(goodsKey) {
	openWindowFixed('/zoomgoods/'+goodsKey+'/', 777, 580, 'zoomGoods' );
}

// --------------------------- openZoomCoopImage ------------------------------
function __openZoomCoopImage(coopKey) {
	openWindowFixed('/zoomcoop/'+coopKey+'/', 777, 580, 'zoomGoods' );
}

// --------------------------- openZoomAuctImage ------------------------------
function __openZoomAuctImage(auctKey) {
	openWindowFixed('/zoomauct/'+auctKey+'/', 777, 580, 'zoomGoods' );
}

// --------------------------- toggleCheckAll ------------------------------
function toggleCheckAll(form) {
	var nm = "chkItem";
	if(form.chkTot.checked == true) {
		checkedAll(form, nm);
	} else {
		uncheckedAll(form, nm);
	}
}


// --------------------------- viewZip ------------------------------
function viewZip(formNm, zip0Fld, zip1Fld, areaFld, addr1Fld){
	var url = '/common/post1.html?formNm=' + formNm + '&zip0Fld=' + zip0Fld + '&zip1Fld=' + zip1Fld + '&areaFld=' +areaFld + '&addr1Fld=' + addr1Fld;
	window.open(url, "_zipWindow", "scrollbars=yes, resizable=no, width=530, height=610, left=50, top=50");
}


// --------------------------- ID check ------------------------------
function checkId(page, idValue, idNm) {
	idNm = idNm == null || idNm.length == 0 ? idValue : idNm;
	if (trimString(idValue) == "") {
		alert("重複チェックする項目を入力してください。");
		return;
	}

	if (!validData(idValue, 'memId', true, '', '200', '4', idNm, '')) {
		return false;
	}
	openWindowPos(page + idValue, 400, 260, '', 10, 10);
}

function viewPhoto(blogId, photoKey) {
	var winUrl = "/blog/" + blogId + "/photo/" + photoKey + "/";
	var winName = "setup";
	var winOpt = "location=no,directories=no,resizable=yes,status=no,toolbar=no,menubar=no,width=520,height=400,left=0,top=0,scrollbars=yes";
	window.open(winUrl, winName, winOpt);
	return;
}

function viewEmoji() {
	var winUrl = "/blog/emoji/";
	var winName = "Select_emoji";
	var winOpt = "scrollbars=false, resizable=false, width=400, height=250, left=10, top=10";
	window.open(winUrl, winName, winOpt);
	return;
}

// --------------------------- sendItem / deleteItem ------------------------------
function sendItem() {
  var f = document.tranMgr;
  var selLeft = f.leftList.options;
  var selRight = f.rightList.options;
	var size = selLeft.length;
	var arrSel = new Array();
	var j = 0;

  if (selLeft.selectedIndex < 0) {
      alert("追加するフィールドを選択してください。");
      return;
  }

	for (i = size - 1; i >= 0; i--)	{
		if (selLeft.options[i].selected)	{
			arrSel[j] = new Array(selLeft.options[i].text,selLeft.options[i].value);
			j++;
			if (selLeft.options[i].value != "_space") {selLeft.options[i] = null;}
		}
	}

	for (i = (arrSel.length-1); i >= 0; i--)	{
		selRight.options[selRight.length] = new Option(arrSel[i][0], arrSel[i][1]);
	}
}

function deleteItem() {
  var f = document.tranMgr;
  var selLeft = f.leftList.options;
  var selRight = f.rightList.options;
	var size = selRight.length;
	var arrSel = new Array();
	var j = 0;

  if (selRight.selectedIndex < 0) {
    alert("除外するフィールドを選択してください。");
    return;
  }

	for (i = size - 1; i >= 0; i--)	{
		if (selRight.options[i].selected)	{
			if (selRight.options[i].value != "_space") {
				arrSel[j] = new Array(selRight.options[i].text,selRight.options[i].value);
				j++;
			}
			selRight.options[i] = null;
		}
	}
	for (i = (arrSel.length-1); i >= 0; i--)	{
		selLeft.options[selLeft.length] = new Option(arrSel[i][0], arrSel[i][1]);
	}
}
// --------------------------- Select Control Order Change ------------------------------

function changeOrder(type) {
  var f = document.tranMgr;
  var selRight = f.rightList;
  var index = selRight.selectedIndex;
	var position = 1;

  if ( index > -1 ) {
    if (type.indexOf("U") == 0) {
    	if (type.length > 1) {
    		try {
    		position = eval(type.substr(1));
    	} catch (e) {}
    	}
      if(index > 0 && index - position >= 0) {
        swap(selRight, index, index - position);
      }
    } else if (type.indexOf("D") == 0) {
    	if (type.length > 1) {
    		position = eval(type.substr(1));
    	}
      if(index < selRight.options.length - position) {
        swap(selRight, index, index + position);
    	}
    } else if (type == "T") {
      for (var i = index; i > 0; i--) {
        swap(selRight, i, i - 1);
      }
    } else if (type == "B") {
      for (var i = index; i < selRight.options.length - 1; i++) {
        swap(selRight, i, i + 1);
      }
    }
  }
}

function getColor(objname){
	var oldcolor = document.all[objname].value;
	var newcolor = showModalDialog("../script/editor/popups/select_color.html", oldcolor, "dialogWidth:238px; dialogHeight:216px; resizable: no; help: no; status: no; scroll: no;");

	if (newcolor != null) document.all[objname].value = "#"+newcolor;
}

/*
 * Image Optimize
 */
function JCImgLoader() {
	var objJCImgs = $$(".JC_Image");
	
	for (i = 0; objJCImgs && i < objJCImgs.length; i++) {
		optimizeJCImg(objJCImgs[i]);
		objJCImgs[i].style.visibility = "visible";
	}
}

function optimizeJCImg(objImg) {
	var maxW = objImg.offsetWidth;
	var maxH = objImg.offsetHeight;
	var imgW = 0;
	var imgH = 0;
	
	var objBuffer = $("imageBuffer");
	if (!objBuffer) {
		var objBody = document.body;
		
		objBuffer = document.createElement("div");
		objBuffer.id = "imageBuffer";
		objBuffer.style.visibility = "hidden";
		objBuffer.style.position = "absolute";
		objBuffer.style.left = -500;
		objBuffer.style.top = -500;
		objBuffer.style.width = "0px";
		objBuffer.style.height = "0px";
		objBody.appendChild(objBuffer);

	}
	var bufferImg = document.createElement("img");
	bufferImg.src = objImg.src;
	objBuffer.appendChild(bufferImg);
	imgW = bufferImg.offsetWidth;
	imgH = bufferImg.offsetHeight;
	objBuffer.removeChild(bufferImg);
	
//	objImg.setAttribute("width", "");
//	objImg.setAttribute("height", "");
	if (imgH > maxH && imgW < maxW) {
		objImg.style.height = maxH + "px";
		objImg.style.width = Math.round(imgW * (maxH / imgH)) + "px";

	} else if (imgH < maxH && imgW > maxW) {
		objImg.style.width = maxW + "px";
		objImg.style.height = Math.round(imgH * (maxW / imgW)) + "px";

	} else if (imgH > maxH && imgW > maxW) {
		if ((maxH / imgH) > (maxW / imgW)) {
			objImg.style.width = maxW + "px";
			objImg.style.height = Math.round(imgH * (maxW / imgW)) + "px";

		} else {
			objImg.style.height = maxH + "px";
			objImg.style.width = Math.round(imgW * (maxH / imgH)) + "px";

		}
	} else {
		objImg.style.width = imgW + "px";
		objImg.style.height = imgH + "px";
	}
}

Event.observe(window, "load", JCImgLoader);
