// JavaScript Document

/************ Common fuctions ************/
function trimString(sInString) {
  sInString = sInString.replace( /^\s+/g, "" );// strip leading
  return sInString.replace( /\s+$/g, "" );// strip trailing
}

function processRedirect(url){
	window.location = base_url+url;
}

function getFullUrl(url){
	return base_url+url;	
}

function toggleOpen(id){
	var obj = document.getElementById("article_msg_more_"+id);
	var objText = document.getElementById("text_msg_"+id);
	if(obj){
		obj.style.display = "block";	
	}
	
	if(objText){
		var full_txt = "<a href=\"javascript:toggleClose( '"+id+"' );\" class=\"font_fulldate\">ปิดข้อความ</a>";
		objText.innerHTML = full_txt;
	}
	
}
function toggleClose(id,oObj,oText){
	var obj = document.getElementById("article_msg_more_"+id);
	var objText = document.getElementById("text_msg_"+id);
	if(obj){
		obj.style.display = "none";	
	}
	
	if(objText){
		var full_txt = "<a href=\"javascript:toggleOpen( '"+id+"' );\" class=\"font_fulldate\">อ่านทั้งหมด</a>";
		objText.innerHTML = full_txt;
	}
	
}

function toggleYear(year){
	var obj = document.getElementById("month_of_"+year);
	if(obj){
			if(obj.style.display == "none"){
				obj.style.display = "block";	
			}else if(obj.style.display == "block"){
				obj.style.display = "none";	
			}
	}
}


/************ End : Common fuctions ************/

function checkNotBlank(frm_obj,msg_obj,msg_txt,focus_chk,border_style_normal,border_style_error){
	//alert(frm_obj[0].type);
	if(frm_obj && !frm_obj.length){
		frm_obj = new Array(frm_obj);
	}
	
	if(frm_obj && frm_obj.length > 0){
		//alert(frm_obj);
		if(frm_obj[0].type == "text" || frm_obj[0].type == "password" || frm_obj[0].type == "textarea" || frm_obj[0].type == "file"){
			
			for(i=0;i<frm_obj.length;i++){
				if(frm_obj[i].value == ""){
					manageFormError(true,frm_obj[i],msg_obj,msg_txt,focus_chk,border_style_normal,border_style_error);
					return false;
				}else{
					manageFormError(false,frm_obj[i],msg_obj,msg_txt,focus_chk,border_style_normal,border_style_error);
					return true;
				}
			}
			
		}//end if "textbox"
		
		else if(frm_obj[0].type == "radio"){
			
			var tmp_chk = false;
			for(i=0;i<frm_obj.length;i++){
				if(frm_obj[i].checked){
					tmp_chk = true;
					break;
				}
			}
			if(!tmp_chk){
				manageFormError(true,"",msg_obj,msg_txt,false,"","");
				return false;
			}else{
				manageFormError(false,"",msg_obj,msg_txt,false,"","");
				return true;
			}
			
		}//end if "radio"
		
		else if(frm_obj.type == "select-one"){
				if(frm_obj.value == ""){
					manageFormError(true,frm_obj,msg_obj,msg_txt,focus_chk,border_style_normal,border_style_error);
					return false;
				}else{
					manageFormError(false,frm_obj,msg_obj,msg_txt,focus_chk,border_style_normal,border_style_error);
					return true;
				}
		}//end if "select"
		
	}

}

function manageFormError(show_flag,frm_obj,msg_obj,msg_txt,focus_chk,border_style_normal,border_style_error){
	if(show_flag){
		if(msg_obj && msg_txt) msg_obj.innerHTML = msg_txt;
		if(msg_obj) msg_obj.style.display = "inline";
		if(focus_chk && frm_obj) frm_obj.focus();
		if(border_style_error != "" && frm_obj) frm_obj.className = border_style_error;
	}else{
		if(border_style_normal != "" && frm_obj) frm_obj.className = border_style_normal;
		if(msg_obj) msg_obj.innerHTML = "";
		if(msg_obj) msg_obj.style.display = "none";
	}
	
}

/************ Control checkbox when has check all ************/
function changeCheckAll(oCheckItem,oCheckAll){
	var i = 0;
	if(oCheckItem.length > 0){
		for(i=0;i<oCheckItem.length;i++){
			oCheckItem[i].checked = oCheckAll.checked;
		}
	}
}
function changeCheckItem(oCheckItem,oCheckAll){
	var chkAll = true;
	var i = 0;
	if(oCheckItem.length > 0){
		for(i=0;i<oCheckItem.length;i++){
			if(!oCheckItem[i].checked){
				oCheckAll.checked = false;
				chkAll = false
			}
		}
		if(chkAll){
			oCheckAll.checked = true;
		}
	}
}
/************ End : Control checkbox when has check all ************/

/************ Process Delete ************/
function processDeleteList(form, oDelName, actionUrl){
	if(!form || oDelName == "" || actionUrl == ""){
		alert("ข้อมูลไม่ครบ");	
		return "";
	}

	//var form = document.frmUserList;
	var oDel = document.getElementsByName(oDelName);
	var chk = false;

	if(oDel.length > 0){
		for(i=0;i<oDel.length;i++){
			if(oDel[i].checked){
				 chk = true;	
			}
		}
	}
	
	if(chk){
		if(confirm("ต้องการ 'ลบ' รายการที่เลือก")){
			form.action = getFullUrl(actionUrl);
			form.submit();
		}
	}else{
		alert("กรุณาเลือกรายการอย่างน้อย 1 รายการ");
	}
}

function processDeleteOne(form, oDel, oDelValue, actionUrl){
	if(!form || oDel == "" || oDelValue == "" || actionUrl == ""){
		alert("ข้อมูลไม่ครบ");	
		return "";
	}
	
	oDel.value = oDelValue;
	if(confirm("ต้องการ 'ลบ' รายการที่เลือก")){
		form.action = getFullUrl(actionUrl);
		form.submit();
	}
}

/************ End : Process Delete ************/


/************ Control input by keyboard ************/
function getCharactorCode(e){
	var characterCode = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;
	return characterCode;
}

function isKeyDecimal(theEvent){
	var characterCode = getCharactorCode(theEvent);
	if((characterCode != 8 && characterCode != 13 && characterCode != 45 && characterCode != 46) && (characterCode < 48 || characterCode > 57)){
		if(theEvent && theEvent.which){
			theEvent.preventDefault();
			theEvent.stopPropagation();		
		}else{
			theEvent.keyCode=0;
		}
     }
}
function isKeyNumber(theEvent){
	var characterCode = getCharactorCode(theEvent);
	if((characterCode != 8 && characterCode != 13) && (characterCode < 48 || characterCode > 57)){
		if(theEvent && theEvent.which){
			theEvent.preventDefault();
			theEvent.stopPropagation();		
		}else{
			theEvent.keyCode=0;
		}
     }
}

function isNumeric(theEvent,theValueObj){
	var code = (theEvent.keyCode)? theEvent.keyCode: theEvent.which;
	if(code == 46){
		posPoint = theValueObj.indexOf(".");
		if(posPoint > -1) (theEvent.keyCode)? theEvent.keyCode=0: theEvent.preventDefault();
	}else{
		if(code < 48 || code > 57){
			(theEvent.keyCode)? theEvent.keyCode=0:theEvent.preventDefault();
		}else{
			posPoint=theValueObj.indexOf(".");
			if(posPoint>-1){
				len=theValueObj.substr(posPoint+1,theValueObj.length).length;
				if(len==3) (theEvent.keyCode)? theEvent.keyCode=0:theEvent.preventDefault();
			}
		}
	}
}

function isEnter(theEvent)
{ 
	var characterCode = getCharactorCode(theEvent);
	//alert(characterCode);
	if(characterCode == 13){ //if generated character code is equal to ascii 13 (if enter key)
		return true;
	}else{
		return false;
	}
}

function isEnterGoTo(theEvent,fname)
{ 
	var characterCode = getCharactorCode(theEvent);
	//alert(characterCode);
	//alert(fname);
	if(characterCode == 13){ //if generated character code is equal to ascii 13 (if enter key)
		eval(fname);
		return true;
	}else{
		return false;
	}
}




/************ End : Control input by keyboard ************/










/*******************/

function getFloat(theValueObj){
	if(theValueObj == "" || theValueObj == "."){
		return 0.00;
	}else{
		return parseFloat(theValueObj);
	}
}


function outComma(theValueObj){
	realnumber = "";
	var valueObj = trimString(theValueObj);
	if(valueObj.length >0){
		for(i=0;i<valueObj.length;i++){
			if (valueObj.substr(i,1) != ","){
				realnumber = realnumber + valueObj.substr(i,1);
			}
		}
	}
	return realnumber;
}

function commaSplit(theValueObj,min_value,max_value) {
	var chk = false;
	var error_msg = "";
	if(max_value > 0){
		if(getFloat(returnResult) >= min_value && getFloat(returnResult) <= max_value) {
			chk = true;
		}else{
			error_msg = "This number value must between "+min_value+" - "+commaSplit(keepPoint(max_value,2),0);
		}
	}else{
		if(getFloat(returnResult) >= 0) {
			chk = true;
		}else{
			error_msg  = "This value must be number.";
		}
	}
	if(chk) {
		var txtNumber = '' + theValueObj;
		var rxSplit = new RegExp('([0-9])([0-9][0-9][0-9][,.])');
		var arrNumber = txtNumber.split('.');
		arrNumber[0] += '.';

		do {
			arrNumber[0] = arrNumber[0].replace(rxSplit, '$1,$2');
		} while (rxSplit.test(arrNumber[0]));

		if (arrNumber.length > 1) {
			return arrNumber.join('');
		}else {
			return arrNumber[0].split('.')[0];
		}
	}else{
		alert(error_msg);
		return "0.00";
	}
}

function keepPoint(theValueObj,theValuePoint){
	returnResult=theValueObj;
	if(getFloat(returnResult) > 0 ) {
		theValueObj=theValueObj+"";
		posPoint=theValueObj.indexOf(".");
		if(posPoint>-1){
			len=theValueObj.substr(posPoint+1,theValueObj.length).length;
			if(len>theValuePoint){
				if (theValuePoint == 0) {
					returnResult=theValueObj.substr(0,posPoint);
				}else{
					tmp=theValueObj.substr(posPoint,theValueObj.length).substr(theValuePoint+1,1);
					if(eval(tmp)>4){
						dec = parseFloat(theValueObj.substr(posPoint+1,theValuePoint))+1;
						dec = dec + "";
						if (dec.length <= theValuePoint) {
							for (k = dec.length;k < theValuePoint;k++)
							dec = "0" + dec;
							returnResult=theValueObj.substr(0,posPoint+1) + dec;
						} else {
							returnResult=((outComma(theValueObj.substr(0,posPoint))*1)+1) + "." + dec.substr(1,theValuePoint);
						}
					}else{
						returnResult=theValueObj.substr(0,posPoint+theValuePoint+1);
					}

				}
			} else {
				for(k=len;k<theValuePoint;k++) {
					theValueObj += "0";
				}
				returnResult=theValueObj;
			}
		} else {
			if (theValuePoint > 0) {
				theValueObj += ".";
				for(k=0;k<theValuePoint;k++) {
					theValueObj += "0";
				}
			}
			returnResult=theValueObj;
		}
		
		if (theValuePoint !=0 ) {
			posPoint=returnResult.indexOf(".");
			if(posPoint<0){
				returnResult += ".";
				for(k=0;k<theValuePoint;k++) {
					returnResult += "0";
				}
			}
		}
	}
	return returnResult;
}

/*******************/
