
function selectRange( sMatch, obj )
{
    var oRange = obj.createTextRange();
    oRange.findText(sMatch);
    oRange.select();
}

function checkChar (editorStatus, obj, str) {
	return true;
/*
	var i;
	var row = 1;
	var col = 1;
	
	var spchars = [
		[255,254,253,252,251,250,249,248,247,246,245,244,243,242,241,240,239,238,237,236,235,234,233,232,231,230,229,228,227,226,225,224,223,222,221,220,219,218,217,216,215,214,213,212,211,210,209,208,207,206,205,204,203,202,201,200,199,198,197,196,195,194,193,192,191,190,189,188,187,186,185,184,183,182,181,180,179,178,177,176,175,174,172,171,169,168,167,166,165,164,163,162,161,376,339,353,8482,732,8211,8212,8226,8221,8220,8217,8216,338,352,8240,710,8224,8225,8230,8222,402,8218,8364,8249,8250,170],
		["&yuml;","&thorn;","&yacute;","&uuml;","&ucirc;","&uacute;","&ugrave;","&oslash;","&divide;","&ouml;","&otilde;","&ocirc;","&oacute;","&ograve;","&ntilde;","&eth;","&iuml;","&icirc;","&iacute;","&igrave;","&euml;","&ecirc;","&eacute;","&egrave;","&ccedil;","&aelig;","&aring;","&auml;","&atilde;","&acirc;","&aacute;","&agrave;","&szlig;","&THORN;","&Yacute;","&Uuml;","&Ucirc;","&Uacute;","&Ugrave;","&Oslash;","&times;","&Ouml;","&Otilde;","&Ocirc;","&Oacute;","&Ograve;","&Ntilde;","&ETH;","&Iuml;","&Icirc;","&Iacute;","&Igrave;","&Euml;","&Ecirc;","&Eacute;","&Egrave;","&Ccedil;","&AElig;","&Aring;","&Auml;","&Atilde;","&Acirc;","&Aacute;","&Agrave;","&iquest;","&frac34;","&frac12;","&frac14;","&raquo;","&ordm;","&sup1;","&cedil;","&middot;","&para;","&micro;","&acute;","&sup3;","&sup2;","&plusmn;","&deg;","&macr;","&reg;","&not;","&laquo;","&copy;","&uml;","&sect;","&brvbar;","&yen;","&curren;","&pound;","&cent;","&iexcl;","&Yuml;","&oelig;","&scaron;","&trade;","&tilde;","&mdash;","&ndash;","&bull;","&rdquo;","&ldquo;","&rsquo;","&lsquo;","&OElig;","&Scaron;","&permil;","&circ;","&Dagger;","&dagger;","&hellip;","&bdquo;","&fnof;","&sbquo;","&euro;","&lsaquo;","&rsaquo;","&ordf;"]
	];
	
	if( editorStatus == "iframe" ) {
		var find = 0;
		for( i = 0; i < str.length; i++ ) {
			find  = 0;
			for( j = 0; j < spchars[ 0 ].length; j++ ) {
				if( str.charCodeAt( i ) == spchars[ 0 ][ j ] ) {
					find = 1;
					break;
				}
			}
			if( find == 1 ) {
				alert("Illegal character: " + String.fromCharCode( str.charCodeAt( i ) ) + " or karakter " + spchars[ 1 ][ j ] );
				selectRange( String.fromCharCode( str.charCodeAt( i ) ), obj );
				return false;
			}
		}
	} else {	// textarea
		var myRE;
		var i;
		var find = 0;
		for( i = 0; i < spchars[ 0 ].length; i++ ) {
			myRE = new RegExp( spchars[ 1 ][ i ], 'gi' );
			results = str.match(myRE);
			if( results != null && results.length > 0 ) {
				find = 1;
				break;
			}
		}
		if( find == 1 ) {
			alert( "Illegal character " + spchars[ 1 ][ i ] );
			selectRange( spchars[ 1 ][ i ], obj );
			return false;
		}
	}
	return true;
*/	
}

function doNothing(){
	return;
}

function goBack(){
	history.go(-1) ;
}

//untuk menambahkan url ke dalam favorit atau bookmark
function addBookMark(bookMarkURL, bookMarkTitle){
	if (document.all){
		window.external.AddFavorite(bookMarkURL,bookMarkTitle) ;
	}
}

//fungsi untuk mengisi nilai option pada suatu dropDown field, dengan menggunakan data berupa array
function populateDropDown(dropDownField, dataSourceName, selectedValue, sortMethod){
	var dataSource = eval(dataSourceName);
	var dataCount = dataSource.length ;
	if (sortMethod == "asc"){
		for (var i = 0; i <= (dataCount-1) ; i++){
			dropDownField.options[dropDownField.options.length] = new Option (dataSource[i][1], dataSource[i][0]) ;
			if (dataSource[i][0] == selectedValue){			
				dropDownField.options[dropDownField.options.length-1].selected = true ;
			}
		}
	}else{
		for (i = (dataCount-1); i >= 0; i--){
			dropDownField.options[dropDownField.options.length] = new Option (dataSource[i][1], dataSource[i][0]) ;
			if(dataSource[i][0] == selectedValue){
				dropDownField.options[dropDownField.options.length-1].selected = true ;
			}
		}
	}
}

//untuk melakukan fungsi trim terhadap nilai suatu textBox
function trim(item){
  var tmp = "";
  var item_length = item.value.length;
  var item_length_minus_1 = item.value.length - 1;
  for (index = 0; index < item_length; index++)
  {
    if (item.value.charAt(index) != ' ')
    {
      tmp += item.value.charAt(index);
    }
    else
    {
      if (tmp.length > 0)
      {
        if ((item.value.charAt(index+1) != ' ') && (index != item_length_minus_1))
        {
          tmp += item.value.charAt(index);
        }
      }
    }
  }
  return (tmp) ;
}

//Untuk mendeteksi penekanan tombol enter pada suatu filed dan melakukan aksi yang diinginkan
function detectEnter(eventObj, procName){
	var keyCode;
	if (document.all){
		keyCode = eventObj.keyCode ;
	}else{
		keyCode = eventObj.which ;
	}
	if (keyCode == 13){
		eval(procName) ;
	}
}

//checking the keypress value
function keyCheck(eventObj, obj, allowDec)
{
	
	var keyCode	;
	if (document.all){ 
		keyCode=eventObj.keyCode ;
	}else{
		keyCode=eventObj.which ;
	}

	var str=obj.value ;

	if (allowDec){
		if(keyCode==46){ 
			if (obj.value.length == 0){
				return(false) ;
			}
			if (str.indexOf(".")>0){
				return (false) ;
			}
		}
		if((keyCode<48 || keyCode >58) && (keyCode != 46)){ // Allow only integers and decimal points
			return (false) ;
		}
		return (true) ;
	}else{
		if((keyCode<48 || keyCode >58)){ // Allow only integers
			return (false) ;
		}
		return (true) ;
	}	
}

// email address validation
function isEmail(str) {
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported) 
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
}
// end of 3rd party scripts

// --> Common Macromedia DreamWeaver Scripts 
// --> Start Section
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_findObj(n, d) { //v3.0
  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); return x;
}

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_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
function doPreviewThumbnail( obj,nmspan ){
    document.getElementById(nmspan).innerHTML = "<img src=\"" + obj.value + "\"/>";
}



// fungsi untuk memvalidasi ekstensi dan dimensi sebuah file image
function imageValidation(dataSource, width, height) {
	var imagefile = '<img src="' + dataSource + '"/>';
	var returnValue = 1;
	imagefile = imagefile.toUpperCase();
	
	if (imagefile.indexOf('GIF') == -1 && imagefile.indexOf('JPG') == -1 && imagefile.indexOf('JPEG') == -1 && imagefile.indexOf('PNG') == -1 && imagefile.indexOf('BMP') == -1) {
		returnValue = 0;
	} else {
		var myImg= new Image();
		myImg.src = dataSource;
		if( (myImg.width > width) || (myImg.height > height) ) {
			returnValue = 0;
		}
	}

	return (returnValue);
}


//Untuk mendapat kan extensi dari suatu file
function getExtension(obj){
	var panjangString = obj.length;
	obj = trim3(obj);
	for(i = 0 ; i < panjangString ; i++){
		if(obj.charAt(i) == "."){
			break;
		}
	}
	
	extensi = obj.substring(i,panjangString).toLowerCase();
	return extensi;
}


//untuk melakukan fungsi trim terhadap nilai string
function trim3(item){
  var tmp = "";
  var item_length = item.length;
  var item_length_minus_1 = item.length - 1;
  for (index = 0; index < item_length; index++)
  {
    if (item.charAt(index) != ' ')
    {
      tmp += item.charAt(index);
    }
    else
    {
      if (tmp.length > 0)
      {
        if ((item.charAt(index+1) != ' ') && (index != item_length_minus_1))
        {
          tmp += item.charAt(index);
        }
      }
    }
  }
  return (tmp) ;
}

// fungsi open popup window
function open_popup_window(url,windowname,width,height)
{
	var remote = window.open(url, windowname, 'toolbar=yes, status=yes, resizable=yes, scrollbars=yes, width=' + width + ', height=' + height);
	if (remote == null)
		remote.opener = window;
	remote.opener.name = 'center';
	remote.focus();
}