function addEvent(obj, evType, fn, useCapture){
if (obj.addEventListener){
	obj.addEventListener(evType,fn,useCapture);
	return true;
	}else if (obj.attachEvent){
		var r = obj.attachEvent('on' + evType, fn);
		return r;
	}
	else
	{	obj['on'+evType] = fn;}			
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
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];}}
}
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

function FireFoxModel(){
	var b_IE = false;
	var b_Vers = false;
	var b_Nav =0;
	var sAgent;
	

	sAgent = document.getElementById('agent').value;
	if	(sAgent.indexOf('Firefox') > 0){
		b_IE=true
	}
	return b_IE;
}

function focusin(id){
	if (!document.getElementById) 	return;
	var field = document.getElementById(id);
	field.select();
	
}
function hapusin(id){
	if (!document.getElementById) 	return;		
	var field = document.getElementById(id);	
	field.value='';
	
}

function setRadioCheckedValue(radioObj, nilai) {
	var radioLength = radioObj.length;

	if(!nilai)
	return "";

	for(var i = 0; i < radioLength; i++) {
		radioObj[i].checked = false;
	}

	for(var i = 0; i < radioLength; i++) {
		if (radioObj[i].value == nilai) {
			radioObj[i].checked = true;
			return "checked";
		}
	}

	return "";
}

function getRadioCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}


function cekInputIsNum(input){
	var salah =0;
	var cek =str2num(input);	
	
	for (var i=0;i<cek.length;i++){
		var c = cek.charAt(i);
		if (c=='0' || c=='1' || c=='2' || c=='3' || c=='4' || c=='5' || c=='6' || c=='7' || c=='8' || c=='9'){
		}
		else{
			salah++;
		}
	}	
	if (parseInt(cek)<0) salah++;	
	
	if (salah==0) return true;
	else return false;
}

function cekInputIsValidDate(tgl,bln,thn){
	if (tgl!="0000" && bln!="00" && tgl!="00"){
		if(bln=="02"){	
			if((thn)%4==0){	
				if(tgl>29){
					return false;	
				}
			}
			else if(tgl>28){
				return false;
			}
		}
		else if(bln =="04" || bln=="06" || bln=="09" || bln=="11")
		{	if(tgl==31)
			{
				return false;
			}
		}
	}else{
		return false;
	}
	return true;
}
function cekInputIsEmpty(input){
	if (input==null||input=="") return true;
	else return false;
}

function cekInputIsChecked(input){
	if (!document.getElementById) 	return;	
	
	if (document.getElementById(input).checked){
		return true;
	}else{
		return false;
	}
}
function cekInputIsEquals(input1,input2){
	if (input1==null || input2==null || input1=="" || input2=="")return false;
	if (input1 == input2) return true;
	else return false;
}


function str2num( expr ) {
	var num = parseFloat( expr );
	if( isNaN( num )) {
		 return 0;
	} else return num;
}

function custRound(x,places) {
	return (Math.round(x*Math.pow(10,places)))/Math.pow(10,places);
}	 

function removeNumberFormat( expr_par ) {	
    var retStr ="";
	var nI = 0; 
	var expr = "";
	
	var expr = expr_par + "";
	if( expr.length <= 0 ) return "";
	
    while( nI < expr.length ) {
		if( expr.charAt( nI ) != ","  ) {
			retStr += expr.charAt(nI);
		}
		nI++;
	}
	
	return retStr;
}
function digit_format( expr, decplaces ) {
      var str = "" + Math.round( eval( expr) * Math.pow(10,decplaces ))
	  while (str.length <= decplaces ) {
	      str = "0" + str
	  }
	  var decpoint = str.length - decplaces
	  return str.substring(0,decpoint) + "." + str.substring(decpoint,str.length);	  
}
function number_format( expr, decplaces ) {
      var str = digit_format(removeNumberFormat(expr+""),decplaces);
	  var decpoint = str.length - decplaces;

      var valpart = str.substring(0,decpoint-1);
	  var decpart = str.substring(decpoint,str.length);
	  var retStr = "";
	  var nI = 0;
	  var awal = 0;
	  var tmpStr = "";
	  
	  if( valpart.length > 3 ) {
		  for( nI = valpart.length; nI > 0; nI-=3) {
			  awal = nI - 3;
			  if(awal < 0 ) awal = 0;
			  tmpStr = valpart.substring(awal,nI);
			  if( nI == valpart.length) {
			      retStr = tmpStr;
			  } else {
				  retStr = tmpStr + "," + retStr;
			  }
		  }
		  retStr = retStr + "." + decpart;
	  } else {
		 return str;
	  }
	  return retStr;
}
function number_formatfield(idfield){
	//format field yang sudah diinput by id field
	if (!document.getElementById) 	return;		
	var field = document.getElementById(idfield);	
	field.value = number_formatfieldvalue(field.value);
}

function number_formatfieldvalue(idfield){
	//format field yang sudah diinput by value field		
	if (!document.getElementById) 	return;		
	var field = idfield;//document.getElementById(idfield);	
	var ret = number_format(0,2);
	
	if (cekInputIsNum(str2num(removeNumberFormat(field)))) {
		field = str2num(removeNumberFormat(field));
		ret = number_format(field,2);
	}
	return ret;
	
}

function isEmpty( str ) {
   if( str==null || str == "" || str.length==0) return true;
   return false;
}

function alltrim( str ) {
   if( str!=null ) {
       while (str.charAt(str.length - 1)==" " ) str = str.substring( 0, str.length - 1 );
	   while (str.charAt(0)==" ") str = str.substring( 1, str.length );
   }
   return str;
}

