
function add_comma(number) {  // tambahin koma di number (hanya bisa bilangan bulat saja)
	// ambil di sebelah kiri titik jika terdapat titik
	if (number == "") return "";
	var tp = number + "";
	var nb = "";
	var ca = tp.indexOf('.');
	if (ca != -1) {
		nb = tp.substr(0,ca);
	}
	else nb = number;
	var n = parseInt(nb) + "";
	var len = n.length;
	var maxarr = Math.floor((len-1)/3)+1;
	var arr = new Array(maxarr);
	for (i=0; i<maxarr; i++) {
		var start = len-i*3-3;
		var slen = start < 0 ? start + 3 : 3;
		arr[maxarr-i-1] = n.substr(start < 0? 0:start,slen);
	}
	v= arr.join(",");
	return v;
}

function remove_comma(number) { // menghilangkan koma di number
	return (number.split(",")).join("");
}

function isnumber(k) { // cek apakah yg diketik adalah angka
	return ((k >= 48 && k <= 57) || (k >= 96 && k <= 105));
}

function iscontrol(k) { // cek apakah yg diketik adalah control key (backspace, home, end, tab, arrow key)
	return (k == 46 || (k >= 35 && k <= 40) || k == 8 || k == 9);
}

function getCharCode(evt) { // mendapatkan char code dari event
	var charCode = (evt.which) ? evt.which : event.keyCode;
	return charCode;
}

function move_focus(t) { // pindahkan fokus ke berikutnya (jika tdk ada objectny tdk masalah)
	try {
		if (t.value.length < t.getAttribute('maxlength')) return;

		var els = t.form.elements;
		var x, nextEl;
		for (var i=0, len=els.length; i<len; i++){
			x = els[i];
			if (t == x && (nextEl = els[i+1])){
				nextEl.focus();
			}
		}
	} catch (ex) {}
}

var noAjaxAlertMessage = "Your browser does not support AJAX, check your browser setting for Javascript!";
var ajax = null;

function createAjax()
{
	var A;
	try {
		A=new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
			A=new ActiveXObject("Microsoft.XMLHTTP");
		} catch (oc) {
			A=null;
		}
	}
	if(!A && typeof XMLHttpRequest != "undefined")
		A = new XMLHttpRequest();
	if (!A)
		alert(noAjaxAlertMessage);

	return A;
}

function sendRequest(URL, handle) {

	ajax = createAjax();
	ajax.onreadystatechange = function() {
		if (ajax.readyState==4) handle(ajax.responseText);
	}	
	ajax.open("get",URL,true);
	ajax.send(null);

}


function findPosX(obj) {
    var curleft = 0;
    if (obj.offsetParent) {
        while (1) {
            curleft+=obj.offsetLeft;
            if (!obj.offsetParent) {
                break;
            }
            obj=obj.offsetParent;
        }
    } else if (obj.x) {
        curleft+=obj.x;
    }
    return curleft;
}
function findPosY(obj) {
    var curtop = 0;
    if (obj.offsetParent) {
        while (1) {
            curtop+=obj.offsetTop;
            if (!obj.offsetParent) {
                break;
            }
            obj=obj.offsetParent;
        }
    } else if (obj.y) {
        curtop+=obj.y;
    }
    return curtop;
}

function getCoord(obj, offsetLeft, offsetTop){
 	var orig = obj;
   	var left = 0;
   	var top = 0;
   	if(offsetLeft) left = offsetLeft;
   	if(offsetTop) top = offsetTop;
   	if(obj.offsetParent){
   		left += obj.offsetLeft;
   		top += obj.offsetTop;
		while (obj = obj.offsetParent) {
			left += (obj.offsetLeft);
			top += (obj.offsetTop);
   		}
   	}
   	return {left:left, top:top, width: orig.offsetWidth, height: orig.offsetHeight};
}



