// Kumpulan fungsi-fungsi javascript
// Created by Rusli Rusyan
function stopmouse(e) {
	if (navigator.appName == 'Netscape' && (e.which == 3 || e.which == 2))
		return false;
	else if (navigator.appName == 'Microsoft Internet Explorer' && (event.button == 2 || event.button == 3)) {
		alert("You can't see view source !");
		return false;
	}
	return true;
}
document.onmousedown=stopmouse;
if (document.layers) window.captureEvents(Event.MOUSEDOWN);
window.onmousedown=stopmouse;

function hb(b) {event.srcElement.className=b};

function pic(p1,p2,p3,p4) {
	p3 = trim(p3);
	var hsl="";
	cek="AN!";
	if ( (arguments.length!=4) || cek.indexOf(p4)<0 ) {
		alert("Error !!!, Syntac : PIC(this, this.value, 'c'/'C'/'x'/'X'/'9'/'.', 'A'/'N'/'!' )");
		return;
	}
	cek="cCxX9.-()";
	for(i=0; i<p3.length; i++)
		if ( cek.indexOf(p3.charAt(i))<0 ) {
			alert("Error !!!, Syntac : PIC(this, this.value, 'c'/'C'/'x'/'X'/'9'/'.', 'A'/'N' )");
			return;
		}
	if (p2.length>0 && p4=='A')
		for(i=0; i<p3.length; i++) {
			abc = p2.charAt(i);
			switch (p3.charAt(i)) {
				case "c" : { if ((abc>='a' && abc<='z') || (abc>='A' && abc<='Z')) hsl=hsl+abc.toLowerCase(); break; }
				case "C" : { if ((abc>='a' && abc<='z') || (abc>='A' && abc<='Z')) hsl=hsl+abc.toUpperCase(); break; }
				case "x" : { hsl=hsl+abc.toLowerCase(); break; }
				case "X" : { hsl=hsl+abc.toUpperCase(); break; }
				case "9" : { if(! isNaN(abc)) hsl=hsl+abc; break; }
			}
			if (i+1<p3.length && p3.charAt(i+1)=="." && hsl.length==i+1) hsl=hsl+".";
			if (i+1<p3.length && p3.charAt(i+1)=="-" && hsl.length==i+1) hsl=hsl+"-";
			if (i+1<p3.length && p3.charAt(i+1)=="(" && hsl.length==i+1) hsl=hsl+"(";
			if (i+1<p3.length && p3.charAt(i+1)==")" && hsl.length==i+1) hsl=hsl+")";
			if (p2.length-1<=i) i=p3.length;
		}
		if (p2.length>0 && p4=='N') {
			var num=0;
			var des=0;
			if (p2.length==2 && p2=='0-') p2='-';
			for(i=0; i<p3.length; i++) {
				if ( p3.charAt(i)=='9')
				if (des==0) num++;
				else des++;
				if ( p3.charAt(i)=='.') des++;
			}
			for(i=0; i<p2.length; i++)
				if ( (p2.charAt(i)=='-' && i==0) || (p2.charAt(i)=='.' && (p2.indexOf(".",2)==-1 || i==p2.indexOf(".")))  || (! isNaN(p2.charAt(i)) && p2.charAt(i)!=' ') ) hsl=hsl+p2.charAt(i);
			if (hsl.indexOf(".")>=0) {
				if (hsl.length-hsl.indexOf(".")>des) hsl=hsl.slice(0,hsl.length-1);
				var hsl2=hsl.slice(hsl.indexOf("."),hsl.length);
				var koma=-1;
				for(i=hsl.indexOf(".")-1; i>=0; i--) {
					koma++;
					if (koma==3 && hsl.charAt(i)!='-') {
						hsl2=hsl.charAt(i)+','+hsl2;
						koma=0;
					}
					else hsl2=hsl.charAt(i)+hsl2;
				}
				hsl=hsl2;
			}
		else {
			if (hsl.charAt(0)=='-') num++;
			if (hsl.length>num) hsl=hsl.slice(0,num);
			if (hsl.length==num && des>0) titik=1;
			else titik=0;
			var hsl2="";
			var koma=-1;
			for(i=hsl.length-1; i>=0; i--) {
				koma++;
				if (koma==3 && hsl.charAt(i)!='-') {
					hsl2=hsl.charAt(i)+','+hsl2;
					koma=0;
				}
				else hsl2=hsl.charAt(i)+hsl2;
			}
			if (hsl2.length==0) hsl2=0;
			if (hsl2.length>1) {
				if (hsl2.charAt(0)=='0' && hsl2.charAt(1)!='.') hsl2 = hsl2.slice(1,hsl2.length);
				else if (hsl2.length>2 && hsl2.charAt(0)=='-' && hsl2.charAt(1)=='0' && hsl2.charAt(2)!='.') hsl2 = '-'+hsl2.slice(2,hsl2.length);
			}
			hsl=hsl2;
			if (titik==1) hsl=hsl+".";
		}
	}
	if (p2.length>0 && p4=='!') {
		for(i=0; i<p2.length; i++) {
			abc=p2.charAt(i);
			if ((abc>='a' && abc<='z') || (abc>='A' && abc<='Z')) hsl=hsl+abc.toUpperCase();
		}
	}
	p1.value=hsl;
	p1.focus;
	return true;
}

function trim(input) {
   var hsl="" ;
   hsl = ltrim(input) ;
   hsl = rtrim(hsl) ;
   return hsl ;
}

function ltrim(input) {
	isiinput = input ;
	buang = 0 ;
	for(i=0; i<input.length; i++)
		if (input.charAt(i)==" ") buang++ ;
		else i = input.length+1 ;
	if (buang > 0 & input.length > buang) {
		isiinput = input.slice(buang,input.length) ;
		buang = 0 ;
	}
	if (buang == input.length) isiinput = "" ;
	return isiinput ;
}

function rtrim(input) {
	isiinput = input ;
	buang = 0 ;
	for(i=isiinput.length-1; i>=0; i--)
		if (isiinput.charAt(i)==" ") buang++ ;
		else i = -1 ;
	if (buang > 0 & isiinput.length > buang) {
		isiinput = isiinput.slice(0,isiinput.length - buang) ;
		buang = 0 ;
	}
	if (buang == isiinput.length) isiinput = "" ;
	return isiinput ;
}