//***************************************************************
//	JavaScript Library For Web DTI
//  Created By : Ratna Surfitasari SST
//  E-mail     : rsurfitasari@gmail.com
//  Website    : www.ratnasurfitasari.com
//	Created    : April 19th 2010
//***************************************************************

//Jump Menu
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
//-->


// Swap Image
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) { //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_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];}
}

// JavaScript Document
function getHTTPObject() {
  var xmlhttp;
 
  if(window.XMLHttpRequest){
    xmlhttp = new XMLHttpRequest();
  }
  else if (window.ActiveXObject){
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    if (!xmlhttp){
        xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
    
}
  return xmlhttp;

  
}
var http = getHTTPObject(); // We create the HTTP Object

/*
	Funtion Name=requestInfo 
	Param = url >> Url to call : id = Passing div id for multiple use ~ as a seprator for eg. div1~div2 :
	redirectPage >> if you like to redirect to other page once the event success then 
	the response text = 1 and the redirectPage not left empty
*/

    function requestInfo(url,id,redirectPage) {      
		var temp=new Array();
			http.open("GET", url, true);
			http.onreadystatechange = function() {
				if (http.readyState == 4) {
				  if(http.status==200) {
			  		var results=http.responseText;
					if(redirectPage=="" || results!="1") {
						
						var temp=id.split("~"); // To display on multiple div 
						//alert(temp.length);
						var r=results.split("~"); // To display multiple data into the div 
						//alert(temp.length);
						if(temp.length>1) {
							for(i=0;i<temp.length;i++) {	
								//alert(temp[i]);
								document.getElementById(temp[i]).innerHTML=r[i];
							}
						} else {
							document.getElementById(id).innerHTML = results;
						}	
					} else {
						//alert(results);
						window.location.href=redirectPage;			
					}
				  } 
  				}
			};
			http.send(null);
       }

/*
	Function Name= emptyValidation
	Desc = This function is used to validation for the empty field 
	Param fieldList = This arguments set as a string varialble. you just need to supply the textbox name
	if the textbox is multiple then supply with ~ separator for eg. badan_hukum~password
*/
function emptyValidation(fieldList) {
		
		var field=new Array();
		field=fieldList.split("~");
		var counter=0;
		for(i=0;i<field.length;i++) {
			
			if(document.getElementById(field[i]).value=="") {
				document.getElementById(field[i]).style.backgroundColor="#FFFF00";
				if(field[i]=='overview'){
					document.getElementById('overv').style.backgroundColor="#FFFF00";
				}
				counter++;
			} else {
				document.getElementById(field[i]).style.backgroundColor="#FFFFFF";
				if(field[i]=='overview'){
					document.getElementById('overv').style.backgroundColor="#FFFFFF";
				}
				
			}
		}
		if(counter>0) {
				alert("Field yang ditandai warna kuning tidak boleh kosong");
				return false;
				
		}  else {
			return true;
		}
		
}
function confirmLink(theLink)
{
   
    var is_confirmed = confirm('Anda yakin akan menghapus data ini?\n\nData akan dihapus secara permanen!');
    if (is_confirmed) {
        theLink.href += '';
    }

    return is_confirmed;
}

// Check Confirm Logout
function confirmLogout(theLink)
{
   
    var is_confirmed = confirm('Anda yakin akan Log Out?');
    if (is_confirmed) {
         location.href = theLink;
    }
 
}


function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}


//HTML Area
_editor_url = "libs/htmlarea/";                     // URL to htmlarea files
var win_ie_ver = parseFloat(navigator.appVersion.split("MSIE")[1]);
if (navigator.userAgent.indexOf('Mac')        >= 0) { win_ie_ver = 0; }
if (navigator.userAgent.indexOf('Windows CE') >= 0) { win_ie_ver = 0; }
if (navigator.userAgent.indexOf('Opera')      >= 0) { win_ie_ver = 0; }
if (win_ie_ver >= 5.5) {
 document.write('<scr' + 'ipt src="' +_editor_url+ 'editor.js"');
 document.write(' language="Javascript1.2"></scr' + 'ipt>');  
} else { document.write('<scr'+'ipt>function editor_generate() { return false; }</scr'+'ipt>'); }
// --> 

// Validasi Tanggal
	function isDate(elem, helperMsg){
		var alphaExp = /^[0-9]{1,2}[-]{1}[0-9]{1,2}[-]{1}[0-9]{4}$/; 
		if(elem.value.match(alphaExp)){
			return true;
		}else{
			alert(helperMsg);
			elem.focus();
			return false;
		}
	}

function checkDate(date_field){
	var msg = 'Format Tanggal Tidak Valid. Gunakan format dd-mm-yyyy!';
	var field = date_field;
	if(isDate(document.getElementById(field),msg)){
		return true;	
	}else{
		document.getElementById(field).value='';
		return false;	
	}
}

// Validasi nama
	function isName(elem, helperMsg){
		var alphaExp = /^[A-Za-z' ]{3,150}$/; 
		if(elem.value.match(alphaExp)){
			return true;
		}else{
			alert(helperMsg);
			elem.focus();
			return false;
		}
	}
	
function checkName(date_field){
	var msg = "Isian minimal terdiri dari 3 huruf dan tidak boleh mengandung angka serta karakter khusus kecuali single quote (') !";
	var field = date_field;
	if(isName(document.getElementById(field),msg)){
		return true;	
	}else{
		document.getElementById(field).value='';
		return false;	
	}
}


// Validasi telpon, fax
	function isPhone(elem, helperMsg){
		var alphaExp = /^[0-9-]{5,60}$/; 
		if(elem.value.match(alphaExp)){
			return true;
		}else{
			alert(helperMsg);
			elem.focus();
			return false;
		}
	}
function checkPhone(date_field){
	var msg = "Telpon, HP, Fax hanya boleh terdiri dari angka dan karakter hypen (-) saja dengan panjang minimal 5 karakter!";
	var field = date_field;
	if(isPhone(document.getElementById(field),msg)){
		return true;	
	}else{
		document.getElementById(field).value='';
		return false;	
	}
}

//Validasi Kode Pos 
function isZipcode(elem, helperMsg){
	var alphaExp = /^[0-9]{5}$/; 
	if(elem.value.match(alphaExp)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}

function checkZipcode(date_field){
	var msg = "Kode Pos hanya boleh terdiri dari angka saja dengan panjang 5 karakter!";
	var field = date_field;
	if(isZipcode(document.getElementById(field),msg)){
		return true;	
	}else{
		document.getElementById(field).value='';
		return false;	
	}
}

//Validasi E-mail
function isEmail(elem, helperMsg){
	var alphaExp = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z.]{2,5}$/; 
	if(elem.value.match(alphaExp)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}

function checkEmail(date_field){
	var msg = "E-mail tidak valid!";
	var field = date_field;
	if(isEmail(document.getElementById(field),msg)){
		return true;	
	}else{
		document.getElementById(field).value='';
		return false;	
	}
}

//Validasi tahun
function isYear(elem, helperMsg){
	var alphaExp = /^[0-9]{4}$/; 
	if(elem.value.match(alphaExp)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}

function checkYear(date_field){
	var msg = "Format Tahun Tidak Valid!";
	var field = date_field;
	if(isYear(document.getElementById(field),msg)){
		return true;	
	}else{
		document.getElementById(field).value='';
		return false;	
	}
}

//Validasi desimal
function isNum(elem, helperMsg){
	var alphaExp = /^[0-9.-]{1,30}$/; 
	if(elem.value.match(alphaExp)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}

function checkNumber(date_field){
	var msg = "Isian tidak valid, gunakan angka saja!";
	var field = date_field;
	if(isNum(document.getElementById(field),msg)){
		return true;	
	}else{
		document.getElementById(field).value='';
		return false;	
	}
}


//Validasi form Login
function  checkFormLogin() {
		var checkValidation=emptyValidation('username~password');
		
		if (checkValidation==true) {
			return true;
		  }else{
			return false;
		 }
}

function checkrequired(which){
	var pass=true
	if (document.images){
		for (i=0;i<which.length;i++){
		var tempobj=which.elements[i]
			if (tempobj.name.substring(0,3)=="req"){
				if (((tempobj.type=="text"||tempobj.type=="textarea")&&tempobj.value=='')||(tempobj.type.toString().charAt(0)=="s"&&tempobj.selectedIndex==-1)){
					pass=false
					break
				}
			}
		}
	}
	if (!pass){
		alert("Ada sebuah field atau lebih yang wajib diisi.\nLengkapi field yang diberi tanda * dan ulangi lagi!")
		return false
	}
	else
		return true
	}

function confirmdeleteall() {
	if (window.confirm("Anda yakin ingin menghapus seluruh data terpilih ?"))
	{
		return true;
	}
	else
  	  	return false;
}

// Fungsi Checkbox hapus
function pilihSemua(){
	if (document.getElementById("deletebox").checked) {
		for (var i = 0; i < document.fmDelete.elements.length; i++) {		  
		  if (document.fmDelete.elements[i].type == "checkbox") {
			document.fmDelete.elements[i].checked = true;
			document.getElementById("Hapus").disabled = false;
		  }
		}
	}else {
		for (var i = 0; i < document.fmDelete.elements.length; i++) {
		  if (document.fmDelete.elements[i].type == "checkbox") {
			document.fmDelete.elements[i].checked = false;
			document.getElementById("Hapus").disabled = true;
		  }
		}
 	}
}
function pilihManual(){
  var jum=0;
  for (var i = 0; i < document.fmDelete.elements.length; i++) {
    document.getElementById("Hapus").disabled = true;
	if (document.fmDelete.elements[i].type == "checkbox" && document.fmDelete.elements[i].checked) {
      document.getElementById("deletebox").checked = false;
	  jum = jum +1;
    }
  } 
  if(jum){
	document.getElementById("Hapus").disabled = false;
  }else{
	document.getElementById("Hapus").disabled = true;
  }
} 

// Fungsi Checkbox menu
function pilihAll(){
	if (document.getElementById("selectbox").checked) {
		for (var i = 0; i < document.MyForm.elements.length; i++) {		  
		  if (document.MyForm.elements[i].type == "checkbox") {
			document.MyForm.elements[i].checked = true;
		  }
		}
	}else {
		for (var i = 0; i < document.MyForm.elements.length; i++) {
		  if (document.MyForm.elements[i].type == "checkbox") {
			document.MyForm.elements[i].checked = false;
		  }
		}
 	}
}

// Validasi Image
function valImage(){
	var extensions = new Array("jpg","jpeg","gif","png","bmp");
	
	var image_file = document.getElementById('foto').value;
	
	var image_length = document.getElementById('foto').length;
	
	var pos = image_file.lastIndexOf('.') + 1;
	
	var ext = image_file.substring(pos, image_length);
	
	var final_ext = ext.toLowerCase();
	
	if(image_file){
		for (i = 0; i < extensions.length; i++)
		{
			if(extensions[i] == final_ext)
			{
			return true;
			}
		}
		alert("File yang diijinkan untuk diunggah adalah yang memiliki ekstensi : "+ extensions.join(', ') +".");
		return false;
	}
}

function setPointer(theRow, thePointerColor, theCursor)
{
    if (thePointerColor == '' || typeof(theRow.style) == 'undefined') {
        return false;
    }
    if (typeof(document.getElementsByTagName) != 'undefined') {
        var theCells = theRow.getElementsByTagName('td');
    }
    else if (typeof(theRow.cells) != 'undefined') {
        var theCells = theRow.cells;
    }
    else {
        return false;
    }

    var rowCellsCnt  = theCells.length;
    for (var c = 0; c < rowCellsCnt; c++) {
        theCells[c].style.backgroundColor = thePointerColor;
		theCells[c].style.cursor		  = theCursor;
    }

    return true;
} // end of the 'setPointer()' function

//Validasi form User
function  checkFormUser() {
		var checkValidation=emptyValidation('userid~pwd~pwd2');
		
		if (checkValidation==true) {
			return true;
		  }else{
			return false;
		 }
}

//Cek Konfirmasi Password
function cekPWD(){
	if(document.getElementById("pwd").value==document.getElementById("pwd2").value){
		return true;	
	}else{
		alert('Password dan konfirmasi password tidak sama. Silakan ulangi !');
		return false;	
	}
	
}

//Validasi form Menu
function  checkFormMenu() {
		var checkValidation=emptyValidation('title~lang~urutan');
		
		if (checkValidation==true) {
			return true;
		  }else{
			return false;
		 }
}

//Validasi form Project
function  checkFormProject() {
		var checkValidation=emptyValidation('nama~lang~tahun~manufacturer');
		
		if (checkValidation==true) {
			return true;
		  }else{
			return false;
		 }
}

//Validasi form partner
function  checkFormPartner() {
		var checkValidation=emptyValidation('nm_partner~flag');
		
		if (checkValidation==true) {
			return true;
		  }else{
			return false;
		 }
}

//Validasi form director
function  checkFormDirector() {
		var checkValidation=emptyValidation('nama');
		
		if (checkValidation==true) {
			return true;
		  }else{
			return false;
		 }
}
//Validasi form pesan
function  checkFormPesan() {
		var checkValidation=emptyValidation('tujuan');
		
		if (checkValidation==true) {
			return true;
		  }else{
			return false;
		 }
}

//Validasi form upload
function  checkFormUpload() {
		var checkValidation=emptyValidation('title');
		
		if (checkValidation==true) {
			return true;
		  }else{
			return false;
		 }
}

//Validasi form berita
function  checkFormBerita() {
		var checkValidation=emptyValidation('lang~judul~ringkasan');
		
		if (checkValidation==true) {
			return true;
		  }else{
			return false;
		 }
}

//Validasi form Pegawai
function  checkFormPegawai() {
		var checkValidation=emptyValidation('nm_team~id_groupteam~jabatan~email~no_urut');
		
		if (checkValidation==true) {
			return true;
		  }else{
			return false;
		 }
}

//Validasi form unit kerja
function  checkFormGroup() {
		var checkValidation=emptyValidation('nm_groupteam');
		
		if (checkValidation==true) {
			return true;
		  }else{
			return false;
		 }
}

