function GetObjectByName(ObjName){
	var obj ;
	
	try{
		obj = MWJ_findObj(ObjName);
		}
	catch(e){
		obj = null ;
		}
	return obj ;

	}

function checkBlankText(t)
{
  var s,tmp;
  tmp = t + '';
  //alert(tmp);

  if (tmp == t)
  {
    s = MWJ_findObj(t);
  }
  else
  {
    s = t;
  }

  if (!s) s = t;

  if (s && (s.value == ''))
  {
    s.focus();
    s.style.backgroundColor = "wheat";
    alert('Field bertanda bintang harus diisi');
    return false;
  }
  if (s)
    s.style.backgroundColor = "";
  return true;

}


//kalau ....
/*
function checkBlank_Prefix(prefix, start, end){
	var i=start;
	var result=true ;
	
	while (result && i <= end){
				
			obj = GetObjByName(prefix + i) ;
			if (obj==null){
				}
			else {
				result = result &&  checkBlankText(obj) ;
			}
			i ++ ;
		}// end while
	alert (result);
	return result ;
	}// end function
*/

//fungsi untuk mengecek apakah object yang diawali dengan nama z ada yg blank !!
function checkBlank_Prefix(z, start, end)
{
	var i;
	var obj;
	for (i=start ;i<=end;i++) {
	
		obj = GetObjectByName(z+i) ;
		
		if (obj!=null){
			if (!checkBlankText(document.all(z + i),0) ) return false;
			}//end if
			
	} // end for
		
	return true;
}


function checkNumber_Prefix(z, start, end)
{
	var i;
	var obj;
	for (i=start ;i<=end;i++) {
	
		obj = GetObjectByName(z+i) ;
		
		if (obj!=null){
			if (!checkNumber(document.all(z + i),0) ) return false;
			}//end if
			
	} // end for
		
	return true;
}

/*
PERRIND. 28Aug2003
memanggil fungsi CheckBlank_Prefix, tapi untuk berbagai macam nama object
yang diawali oleh prefix-prefix pada array arr[].
*/
/*
function checkBlank_Prefix_All( arr, start, end) {
	var idField ;
	
	for ( j=0; j<=arr.size; j++) {
		if ( !checkBlank_Prefix(arr[idField], start, end) ) return false ;
		}
	
	return true ;

}
*/

function checkBlank(z1,z2,z3,z4,z5,z6,z7,z8,z9,z10,z11,z12,z13,z14,z15,z16,z17,z18)
{
	var i;
	if (!checkBlankText(z1)) return false;
	if (!checkBlankText(z2)) return false;
	if (!checkBlankText(z3)) return false;
	if (!checkBlankText(z4)) return false;
	if (!checkBlankText(z5)) return false;
	if (!checkBlankText(z6)) return false;
	if (!checkBlankText(z7)) return false;
	if (!checkBlankText(z8)) return false;
	if (!checkBlankText(z9)) return false;
	if (!checkBlankText(z10)) return false;
	if (!checkBlankText(z11)) return false;
	if (!checkBlankText(z12)) return false;
	if (!checkBlankText(z13)) return false;
	if (!checkBlankText(z14)) return false;
	if (!checkBlankText(z15)) return false;
	if (!checkBlankText(z16)) return false;
	if (!checkBlankText(z17)) return false;
	if (!checkBlankText(z18)) return false;
	return true;
}

function msgFilterErr(msg,obj)
{
	if (!obj) return false;
	obj.focus();
	obj.style.backgroundColor = "wheat";
	alert(msg);
	
	return false;
}


function checkNumber(ff)/*{{{*/
{
	var t,r,i,n,f;
	r = new RegExp(".*\\D","gi");
	i = checkNumber.arguments.length;
	for (n = 0; n < i;n++)
	{
		f = checkNumber.arguments[n];
		if (!f) continue;
		if (f.value == "") return true;
		if (r.test(f.value)) return msgFilterErr("Please fill with Number only",f);
		f.style.backgroundColor = "white";
	}

	return true;
}/*}}}*/

function checkBlankAndNumber(ff)/*{{{*/
{
	var i,n,f;
	i = checkBlankAndNumber.arguments.length;
	for (n = 0; n < i;n++)
	{
		f = checkBlankAndNumber.arguments[n];
		if (!checkBlankText(f)) return false;
		if (!checkNumber(f)) return false;
	}

	return true;
}/*}}}*/

function checkWord(w)/*{{{*/
{
	var t,r,i,n,f;
	r = new RegExp("[^A-Za-z0-9_\\.\\,\\- ]","gi");
	i = checkWord.arguments.length;
	for (n = 0; n < i;n++)
	{
		f = checkWord.arguments[n];
		if (!f) continue;
    alert(f.value);
		if (f.value == "") return true;
		if (r.test(f.value)) return msgFilterErr("Please fill with word [A-Za-z0-9_.,-] only",f);
		if (f.style) f.style.backgroundColor = "";
	}

	return true;
}/*}}}*/

function selectCombo(cb,v)/*{{{*/
{
	if (!cb.options) return;
	var l = cb.options.length;
	var i;
	for (i=0; i<l;i++)
	{
		if (cb.options[i].value == v)
		{
			cb.options[i].selected = true;
			return;
		}
	}
}/*}}}*/

function NewWindow(mypage, myname, w, h, scroll) 
{
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2;
	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resize=no'
	win = window.open(mypage, myname, winprops)
	if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
  return win;
}

function popFullScreen(Url)
{
  var w,h,jendela;
      w=window.parent.screen.width;
      h=window.parent.screen.height;
      jendela=window.open(Url,"jendela","menubar=no,resizable=yes,scrollbars=yes, width=" + (w-15) + ", height=" + (h-60));
      //jendela.location.replace(Url);
      jendela.moveTo(0,0);
      if (parseInt(navigator.appVersion) >= 4) { jendela.window.focus(); }
      //window.jendela.moveTo(0,0);
}



function intval(str)
{
  var ret,rets;
  with (Math)
  {
    ret = parseInt(str);
    rets = ret = '';
    if (rets == 'NaN') ret = 0;
    if (rets == '') ret = 0;
  }
  return ret;
}

function do_print_frame(framename)
{
  GetObjectByName(framename).focus();
  GetObjectByName(framename).print();
  //parent[framename].focus();
  //parent[framename].print();
}

function ClearCBBox(CbBox)
{
    len = document.all(CbBox,0).options.length ;
    for( i=len-1;i>=0;i--)
      document.all(CbBox,0).options[i]=null ;
}

function docheck_box(y,z,start,end,ops)
{
  var i;
  var obj;

  for (i=start; i<=end; i++)
  {
    obj = MWJ_findObj(y+i+z);
    if (obj != null)
    {
      obj.checked = ops;
    }
  }
}


function location_replace(newurl)
{
	window.location.replace(newurl);
}







//------------------------------------------

function MWJ_findObj( oName, oFrame, oDoc ) {/*{{{*/
        if( !oDoc ) { if( oFrame ) { oDoc = oFrame.document; } else { oDoc = window.document; } }
        if( oDoc[oName] ) { return oDoc[oName]; } if( oDoc.all && oDoc.all[oName] ) { return oDoc.all[oName]; }
        if( oDoc.getElementById && oDoc.getElementById(oName) ) { return oDoc.getElementById(oName); }
        for( var x = 0; x < oDoc.forms.length; x++ ) { if( oDoc.forms[x][oName] ) { return oDoc.forms[x][oName]; } }
        for( var x = 0; x < oDoc.anchors.length; x++ ) { if( oDoc.anchors[x].name == oName ) { return oDoc.anchors[x]; } }
        for( var x = 0; document.layers && x < oDoc.layers.length; x++ ) {
                var theOb = MWJ_findObj( oName, null, oDoc.layers[x].document ); if( theOb ) { return theOb; } }
        if( !oFrame && window[oName] ) { return window[oName]; } if( oFrame && oFrame[oName] ) { return oFrame[oName]; }
        for( var x = 0; oFrame && oFrame.frames && x < oFrame.frames.length; x++ ) {
                var theOb = MWJ_findObj( oName, oFrame.frames[x], oFrame.frames[x].document ); if( theOb ) { return theOb; } }
        return null;
}/*}}}*/


function checkFloat(str)/*{{{*/
{
  var f,i,j,k,l,n,s,t;
  i = checkFloat.arguments.length;
  for (n = 0; n < i;n++)
  {
    f = checkFloat.arguments[n];
    if (f == '') return true;
    l = f.length;
    k = 0;
    for (j=0;j<l;j++)
    {
      t = f.substring(j,j+1);
      if (t == '.')
      {
        if (k > 0) return false;
        k++;
        continue;
      }
      if ( (t != '0') && (t != '1') && (t != '2') && (t != '3') && (t != '4') && (t != '5') && (t != '6') && (t != '7') && (t != '8') && (t != '9'))
      {
        return false;
      }
    }
    //alert('ini:'+f.substring(3,4));
  }
  return true;
}/*}}}*/

//obj is object of html input type text
function checkInputFloat(obj)/*{{{*/
{
  var f,i,l,n,s;
  i = checkInputFloat.arguments.length;
  for (n = 0; n < i;n++)
  {
    f = checkInputFloat.arguments[n];
    if (!f) return true;
    f.style.backgroundColor = "white";
    if (f.value == '') return true;
    if (checkFloat(f.value)) continue;
    //false here ...
    return msgFilterErr("Please fill with float number only",f);
  }
  return true;
}/*}}}*/

//ff is input type object, not object name!!!
function checkBlankAndFloat(ff)/*{{{*/
{
  var i,n,f;
  i = checkBlankAndFloat.arguments.length;
  for (n = 0; n < i;n++)
  {
    f = checkBlankAndFloat.arguments[n];
    if (!f) return true;
    if (!checkBlankText(f.name)) return false;
    if (!checkInputFloat(f)) return false;
  }

  return true;
}/*}}}*/




function doNothing()
{
}


