/**************************************************
 * Create by  :[LE THANH HUNG]
 * Date       :[2010/03/09]
 * Desc  : Common javascript
***************************************************/

function encodeRE(s) { return s.replace(/([.*+?^${}()|[\]\/\\])/g, '\\$1') }
TRIM_BOTH = 0;
TRIM_LEFT = 1;
TRIM_RIGHT = 2;
function trim(v, c, t)
{
    if (!t) var t = TRIM_BOTH;
    if (!c) var c = '\\s';
    else c = encodeRE(c);
    var re;
    if (t == TRIM_BOTH) re = new RegExp('^' + c + '+|' + c + '+$', 'g');
    else if (t == TRIM_LEFT) re = new RegExp('^' + c + '+');
    else if (t == TRIM_RIGHT) re = new RegExp(c + '+$');
    return v.replace(re, '');
}
String.prototype.trim = function(c) { return trim(this, c, TRIM_BOTH); };
String.prototype.ltrim = function(c) { return trim(this, c, TRIM_LEFT); };
String.prototype.rtrim = function(c) { return trim(this, c, TRIM_RIGHT); };


function HpbImgPreload()
{
  var appVer=parseInt(navigator.appVersion);
  var isNC=false,isN6=false,isIE=false;
  if (document.all && appVer >= 4) isIE=true; else
    if (document.getElementById && appVer > 4) isN6=true; else
      if (document.layers && appVer >= 4) isNC=true;
  if (isNC||isN6||isIE)
  {
    if (document.images)
    {
      var imgName = HpbImgPreload.arguments[0];
      var cnt;
      swImg[imgName] = new Array;
      for (cnt = 1; cnt < HpbImgPreload.arguments.length; cnt++)
      {
        swImg[imgName][HpbImgPreload.arguments[cnt]] = new Image();
        swImg[imgName][HpbImgPreload.arguments[cnt]].src = HpbImgPreload.arguments[cnt];
      }
    }
  }
}
// HpbImgFind:
//
function HpbImgFind(doc, imgName)
{
  for (var i=0; i < doc.layers.length; i++)
  {
    var img = doc.layers[i].document.images[imgName];
    if (!img) img = HpbImgFind(doc.layers[i], imgName);
    if (img) return img;
  }
  return null;
}
// HpbImgSwap:
//
function HpbImgSwap(imgName, imgSrc)
{
  var appVer=parseInt(navigator.appVersion);
  var isNC=false,isN6=false,isIE=false;
  if (document.all && appVer >= 4) isIE=true; else
    if (document.getElementById && appVer > 4) isN6=true; else
      if (document.layers && appVer >= 4) isNC=true;
  if (isNC||isN6||isIE)
  {
    if (document.images)
    {
      var img = document.images[imgName];
      if (!img) img = HpbImgFind(document, imgName);
      if (img) img.src = imgSrc;
    }
  }
}
var swImg; swImg=new Array;


function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

/**************************************************
 * Create by  :[LE THANH HUNG]
 * Date       :[2010/03/09]
 * Description:cm_resize
 * Param      :image,_width,_height,lockRatio
 * using event: onload="cm_resize(this,300,300,true)"
***************************************************/
function cm_resize(image,_width,_height,lockRatio)
{
	var Lx = _width;//max width
	var Ly = _height;//max height
	var newWidth = 0;
	var newHeight = 0;
	var L2 = 0;
	if (lockRatio == true){
		if ((image.width / Lx) > (image.width / Ly)){
			L2 = image.width;
			newWidth = Lx;
			newHeight = image.height * (Lx / L2);
			if (newHeight > Ly){
				newWidth = newWidth * (Ly / newHeight);
				newHeight = Ly;
			}
		} else {
			L2 = image.height;
			newHeight = Ly;
			newWidth = image.width * (Ly / L2);
			if (newWidth > Lx){
				newHeight = newHeight * (Lx / newWidth);
				newWidth = Lx;
			}
		}
	} else {
		newWidth = Lx;
		newHeight = Ly;
	}
	if (image.width <= newWidth && image.height <= newHeight){
		return;
	}
	image.width = newWidth;
	image.height = newHeight;
}
 
 /**************************************************
 * Create by  :LE THANH HUNG
 * Date       :[2010/07/22]
 * Description:clear controls in form
 * Param      :
 * using event: Onclick
 ***************************************************/
 function clearControl(obj){
 	
 	for(i=0;i<obj.length;i++){
 		if((obj.elements[i].type == "text" || obj.elements[i].type == "textarea" || obj.elements[i].type == "password")){
 			obj.elements[i].value = "";
 		}else if(obj.elements[i].type == "select-one"){
 			var flgSet = false;			
 			for(j =0; j<obj.elements[i].options.length; j++){
 				if(obj.elements[i].options[j].value ==""){
 					obj.elements[i].options[j].selected = true;
 					flgSet = true;
 				}
 			}
 			
 			if(flgSet == false){
 				obj.elements[i].options[0].selected = true;
 			}
 		}else if(obj.elements[i].type == "checkbox"){
			obj.elements[i].checked = false;
		}
 	}
 	
 }
 
 function submitFormMode(frmOjb,mode,keyName, keyValue, idmess){
	 if(mode == 'delete'){
		 if(idmess !=""){
		 	if(!confirm("この" + idmess + "を削除します。よろしいでしょうか？")){
				return false;
			}
		 }
	 }
	 if(keyName != "")
	 	 frmOjb[keyName].value = keyValue;
	 frmOjb.mode.value = mode;
	 
	 frmOjb.submit();
	 return false;
}

function changeKeyValue(frmOjb,keyName, keyValue){	
	var objChange = frmOjb[keyName];
	if((objChange.type == "hidden" || objChange.type == "text" || objChange.type == "textarea")){
		objChange.value = keyValue;
	}else if(objChange.type == "select-one"){
		for(j =0; j<objChange.options.length; j++){
			if(objChange.options[j].value ==keyValue){
				objChange.options[j].selected = true;				
			}
		}
	}
}

function submitFrom(frmObj, url, keyName, keyValue){
	if(url != ""){
		frmObj.action = url;
	}
	if(keyName != ""){
		frmObj[keyName].value = keyValue;
	}
	frmObj.submit();
}


 /**************************************************
 * Create by  :LE THANH HUNG
 * Date       :[2010/07/22]
 * Description:clear controls in form
 * Param      :
 * using event: Onclick
 ***************************************************/
 function submitForm(frmOjb,type){
	var keyword = frmOjb.elements['k'].value;
	keyword = keyword.trim(" ");
	keyword = keyword.trim("@");
	frmOjb.elements['k'].value =keyword;
	if(keyword != "" || type ==2){		 
		frmOjb.submit();
	}
	return false;
 }
 
 /**************************************************
 * Create by  :[LE THANH HUNG]
 * Date       :[2010/02/26]]
 * Description:Submit btnPageNumSubmit
 * Param      :page
 * using event: Onclick
***************************************************/
function btnPageNumSubmit(url,page)
{
	document.frm.action = url + "?page=" + page;
	document.frm.submit();
}

/**************************************************
* Create by  :LE THANH HUNG
* Date       :[2010/12/22]
* Description:
* Param      :
* using event: onchange
***************************************************/
function onSelectFile(objForm, fileName ,txtFileName){
	var objFile = objForm[fileName];
	var objTxtFile = objForm[txtFileName];
	var fileName	=objFile.value;
	var arrFileName=fileName.match(/[\/|\\]([^\\\/]+)$/);
	if(arrFileName!=null)
	 objTxtFile.value=arrFileName[1];
	else
	 objTxtFile.value=fileName;
	
}

function showPopup(url,windowStatus, width, height, menuBar, toolBar, location, ScrollBar, status) {
	var left   = (screen.width  - width)/2;
	var top    = (screen.height - height)/2;
	var strPar = "width=" + width + ",";
	strPar += "height=" + height + ",";
	strPar += ", top="+top+", left="+left + ",";
	strPar += "menubar=" + menuBar + ",";
	strPar += "toolbar=" + toolBar + ",";
	strPar += "locaction=" + location + ",";
	strPar += "scrollbars=" + ScrollBar + ",";
	strPar += "status=" + status ;
	window.open(url,windowStatus,strPar);
}

