

	//----------------------------- Window ----------------------------------
	/**
	*	Popup Window (Center screen)
	* 
	*	@param theURL		taget url
	*	@param	 Name			popup window name
	*	@param	 popW			width
	*	@param	 popH			height
	*	@param	 scroll			Scrollbar yes, no
	*/
	function winBRopen(theURL, Name, popW, popH, scroll) { // V 1.0
		//var Name = "myProfile";
		//var popW = 650;
		//var popH = 250;
		//var scroll = "yes";
		var winleft = (screen.width - popW) / 2;
		var winUp = (screen.height - popH) / 2;
		winProp = 'width='+popW+',height='+popH+',left='+winleft+',top='+winUp+',scrollbars='+scroll+',resizable';
		Win = window.open(theURL, Name, winProp);
		if (parseInt(navigator.appVersion) >= 4) { Win.window.focus(); }
	}

	function js_getObject(strObjName) {
		if (eval("document.forms['frm_main'].elements['"+strObjName+"']") != null) {
			return eval("document.forms['frm_main'].elements['"+strObjName+"']");
		}else if (eval("document.getElementById('"+strObjName+"')") != null) {
			return eval("document.getElementById('"+strObjName+"')");
		}else{
			//alert(strObjName+" is not exist!");	
			return false;
		}
	}

	function js_getString(strObjName, df) {
		return (js_getObject(strObjName)==false)?df:js_getObject(strObjName).value;
	}

	function js_getValue(strObjName, df) {
		return (js_getObject(strObjName)==false)?df:js_getObject(strObjName).value;
	}

	function js_getText(strObjName, df) {
		return (js_getObject(strObjName)==false)?df:(js_getObject(strObjName).options[js_getObject(strObjName).selectedIndex].text);
	}

	function js_setValue(strObjName, val) {
		if (js_getObject(strObjName) != false) {
			js_getObject(strObjName).value = val;
		}
	}


	function js_parseValue(value, type) {
		switch (type) {
			case 'int':
				return (value=='' || value==undefined)?0:parseInt(value);
			break;

			case 'float':
				return (value=='' || value==undefined)?0:parseFloat(value);
			break;
		}
	}

	function js_parseObject(strObjName, type) {
		var obj = eval("document.forms['frm_main'].elements['"+strObjName+"']");
		
		if (obj == null) {
			alert(strObjName+' is null');
			return false;
		}
		
		switch (type) {
			case 'int':
				return (obj.value=='' || obj.value==NaN)?0:parseInt(obj.value);
			break;

			case 'float':
				return (obj.value=='' || obj.value==NaN)?0:parseFloat(obj.value);
			break;
		}
	}

	function js_disabled(strObjectName, bolDisabled) {
		var obj = js_getObject(strObjectName);

		obj.disabled = bolDisabled;
	}

	function js_hide(strObjectName, hide) {
		var obj = js_getObject(strObjectName);

		obj.style.display = hide;
	}


	
	/**
	* for popup select
	*/
	function js_selectAll(strObjName) {
		var objSelect = eval("document.forms['frm_main'].elements['"+strObjName+"']");
		
		if (objSelect == undefined) {
			alert (strObjName+' is null');
			return false;
		}

		for (i=objSelect.options.length; i>0; i--) {
			objSelect.options[i-1].selected = true;
		}
	}
	
	function js_selectDelete(strObjName) {
		var objSelect = eval("document.forms['frm_main'].elements['"+strObjName+"']");
		
		if (objSelect.selectedIndex < 0) {
			alert('เลือกรายการที่ต้องการลบ');
			objSelect.focus();
			return false;
		}else{
			objSelect.options[objSelect.selectedIndex] = null;
		}
	}

	function js_selectFromPopup(strObj1Name, strObj2Name) {
		var objItems = eval("document.forms['frm_main'].elements['"+strObj1Name+"']");
		var objSelect = eval("window.parent.document.forms['frm_main'].elements['"+strObj2Name+"']");
		 
		with(objSelect) {
			for (i=options.length; i>0; i--) {
				//options[i] = null;
			}
			k = -1;
			total = options.length;
			//alert(objItems.length);
			for (j=0; j<objItems.length; j++) {
				if (objItems[j].checked) {
					k++;
					val = new String(objItems[j].value);
					newVal = val.split('|');
					options[k+total] = new Option(newVal[1], newVal[0]);
				}
			}
		}
	}

	function js_setFocus(strObjName) {
		js_getObject(strObjName).focus();
	}


	function js_copyValue(strObj1Name, strObj2Name) {
		var obj1 = js_getObject(strObj1Name);
		var obj2 = js_getObject(strObj2Name);

		obj2.value = obj1.value;
	}

	function js_copySelect(strObj1Name, strObj2Name) {
		var obj1 = js_getObject(strObj1Name);
		var obj2 = js_getObject(strObj2Name);

		obj2.selectedIndex = obj1.selectedIndex;
	}

	
	
	function js_CreateText(name, val, lock) {
		var el = document.createElement('input');
	  el.setAttribute('type', 'text');
	  el.setAttribute('name', name);
	  el.setAttribute('id', name);
	  el.setAttribute('value', val);
	  // event
	  el.onchange = function() {
		  js_DynElement_onChange(el, name);
	  }
	  el.onkeyup = function() {
		  js_DynElement_onKeyUp(el, name);
	  }
	  if (lock) {
		el.setAttribute('readonly', true);
	  }
	  el.style.width = '95%';
	  
	  return el;
	}
	
	function js_CreateHidden(name, val) {
		var el = document.createElement('input');
	  el.setAttribute('type', 'hidden');
	  el.setAttribute('name', name);
	  el.setAttribute('id', name);
	  el.setAttribute('value', val);
	  el.style.width = '95%';
	  
	  return el;
	}
	
	
	function js_CreateLabel(val, align) {
		var el = document.createElement('span');
		el.innerHTML = val;
		el.style.textAlign = align;
	  
	  return el;
	}
	
	function js_DynElement_onChange(obj) {
		//alert(obj.value);
		//calculatePrice();
	}
	
	function js_DynElement_onKeyUp(obj, name) {
		//alert(obj.value);
		calculatePrice();
	}


	function js_formatCurrency(num) {
		num = num.toString().replace(/\$|\,/g,'');
		if(isNaN(num))
		num = "0";
		sign = (num == (num = Math.abs(num)));
		num = Math.floor(num*100+0.50000000001);
		cents = num%100;
		num = Math.floor(num/100).toString();
		if(cents<10)
		cents = "0" + cents;
		for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+','+
		num.substring(num.length-(4*i+3));
		return (num + '.' + cents);
	}


	/*
	Calendar
	*/
	
	function js_changeView(task) {
		js_setValue('c_view', task);
		js_setValue('s_task', task);
		js_submit();
	}
	
	function js_changeMonth(month, year) {
		var objMonth = document.forms['frm_main'].elements['CMonth'];
		var objYear = document.forms['frm_main'].elements['CYear'];
		
		objMonth.value = month;
		objYear.value = year;
		
		js_submit();
	}
	
	function js_changeWeek(wdate) {
		var objDay = document.forms['frm_main'].elements['CDay'];
		var objMonth = document.forms['frm_main'].elements['CMonth'];
		var objYear = document.forms['frm_main'].elements['CYear'];
		
		wdates = wdate.split('-');
		objYear.value = wdates[0];
		objMonth.value = wdates[1];
		objDay.value = wdates[2];
		
		js_submit();
	}
	
	function js_changeDay(wdate) {
		var objDay = document.forms['frm_main'].elements['CDay'];
		var objMonth = document.forms['frm_main'].elements['CMonth'];
		var objYear = document.forms['frm_main'].elements['CYear'];
		
		wdates = wdate.split('-');
		objYear.value = wdates[0];
		objMonth.value = wdates[1];
		objDay.value = wdates[2];
		
		js_submit();
	}
	
	function js_addEvent(edate) {
		js_setValue('EventDate', edate);
		js_setValue('s_task', 'add');
		js_submit();
	}
	
	function js_editEvent(id) {
		js_setValue('s_id', id);
		js_setValue('s_task', 'edit');
		js_submit();
	}
	
	function js_viewEvent(id) {
		js_setValue('s_id', id);
		js_setValue('s_task', 'view');
		js_submit();
	}

	// Add the selected items from the source to destination list
function addSrcToDestList(desc, src) {
destList = window.document.forms['frm_main'].elements[desc];
srcList = window.document.forms['frm_main'].elements[src];
var len = destList.length;
for(var i = 0; i < srcList.length; i++) {
if ((srcList.options[i] != null) && (srcList.options[i].selected) && (srcList.options[i].value != "")) {
//Check if this value already exist in the destList or not
//if not then add it otherwise do not add it.
var found = false;
for(var count = 0; count < len; count++) {
if (destList.options[count] != null) {
if (srcList.options[i].value == destList.options[count].value) {
found = true;
break;
      }
   }
}
if (found != true) {
destList.options[len] = new Option(srcList.options[i].text,srcList.options[i].value); 
len++;
         }
      }//if ((srcList.options[i] != null) && (srcList.options[i].selected)) {
   }// for(var i = 0; i < srcList.length; i++) {
}// end function

// Deletes from the destination list.
function deleteFromDestList(desc) {
var destList  = window.document.forms['frm_main'].elements[desc];
alert(destList);
var len = destList.options.length;
for(var i = (len-1); i >= 0; i--) {
if ((destList.options[i] != null) && (destList.options[i].selected == true)) {
destList.options[i] = null;
      }
   }
}


function js_checked(strObjectName, b) {
	var obj = js_getObject(strObjectName);
	
	obj.checked = b;
}

function js_checked_all(strObjectName, b) {
	var obj = js_getObject(strObjectName);
	
	if (obj) {
		if (obj.length > 1) {
			for (var i=0; i<obj.length; i++) {
				obj[i].checked = b;
			}
		}else{
			obj.checked = b;
		}
	}
}

function chkbox_master_action(b) {
	js_checked_all('chkbox_items[]', b);
}

function chkbox_items_action() {
	var obj = js_getObject('chkbox_items[]');
	
	if (obj) {
		if (obj.length > 1) {
			for (var i=0; i<obj.length; i++) {
				if(!obj[i].checked) {
					js_checked('chkbox_master', false);
					break;
				}
				js_checked('chkbox_master', true);
			}
		}else{
			if(obj.checked) {
				js_checked('chkbox_master', true);
			}else{
				js_checked('chkbox_master', false);
			}
		}
	}
}
