// JavaScript Document
var srcError;
var dotPos = -1;
var currentColor = "";
var currentFontColor = "";


function fillData(src,target)
{
    document.getElementById(target).value = src.options[src.selectedIndex].text;
    return;
}

function cekKey(evt)
{
    return (navigator.appName=="Netscape")?evt.which:event.keyCode;
}

function cekSrc(evt)
{
    return (navigator.appName=="Netscape")?evt.target: event.srcElement;
}

function pesanError(obj)
{
    return getChild(obj)+" "+getDetail(obj)+" tidak boleh kosong.";
}

function cekFields(evt)
{
    var objForm = document.forms[0];

    for (i=0; i < objForm.length; i++ )
    {
        if ((objForm[i].tagName == "INPUT" || objForm[i].tagName == "SELECT" || objForm[i].tagName == "TEXTAREA") 
              && objForm[i].value.length == 0)
        {
            alert(pesanError(objForm[i]));
            objForm[i].focus();
            return;
            break;
        }
        
    }
    document.forms[0].submit();
}

function getChild(obj)
{
    var objParent = obj.parentNode;
    while (objParent.tagName != "TR")
    {
        objParent = objParent.parentNode;
   }
    return (navigator.appName == "Netscape") ? objParent.childNodes[1].innerHTML : objParent.childNodes[0].innerHTML;
}



function getDetail(obj)
{
    var ada = false;
    var objParent = obj.parentNode;
    while (objParent.tagName != "FIELDSET")
    {
        objParent = objParent.parentNode;
        if (objParent.tagName == "HTML")
        {
          break;
        }else
          ada = true;
    }
    if (!ada)
        return;
    else
        return objParent.title;
}

function cekTombol(evt)
{
    var objTarget = cekSrc(evt);    
    var key = cekKey(evt);

    //alert(key);
    if ((key >= 48 && key <=57 ) || key == 46 || key == 44 || key == 0 || key == 8 
        || key == 37 || key == 39 )
    {
        switch (objTarget.id){
        case "txtProgThn":
            if (key != 44 && key != 46)
                return true;
            else
                return false;
            break;
        case "txtNilaiRerata":
            if (key != 44)
                return true;
            else
                return false;
            break;
        default:
            if  (objTarget.id.indexOf("txtNilai_") != -1){
                if (key != 44 ){
                    //if ((key < 48 || key > 57) && key != 8) 
                    if (objTarget.value.indexOf(".") != -1 && key == 46){
                        return false;
                    }else return true;
                }else
                    return false;
            }
            break;
        }
    }else{ 
        return false;
    }
}

function cekAlphaNumeric(evt)
{
    var objTarget = cekSrc(evt);    
    var key = cekKey(evt);
    
    if ((key >= 48 && key <= 57) || (key >= 65 && key <= 90) || (key >= 97 && key <= 122) || key == 46 || key == 44 || key == 0 || key == 8 
        || key == 37 || key == 39  ){
        return true;
    }
    return false;
}
//--- Digunakan ketika ingin membuat user
function cekTombolSQL(evt)
{
    var objTarget = cekSrc(evt);    
    var key = cekKey(evt);
	if (key != 34 && key != 37 && key != 39 && key != 42 && key != 59 && key != 47 && key != 92 )
    {
        return true;
    }else{ 
        //alert("Maaf karakter berikut: ' \" ; * / \\ @ % tidak dapat digunakan.")
		return false;
    }
}

function formatAngka(evt)
{
    var key = cekKey(evt);
    var src = cekSrc(evt);
    var regExp = /,/g;
    var objVal = src.value.replace(regExp, "");
    var lengthSrc = objVal.length;
    var tmpWord = "";
    var tail = "";
    var i = 0;
    
    
    if (key < 37 || key > 40 )
    {
      if (objVal.substr(0,1) == 0 )
      {
          objVal = objVal.substr(1);
      }
      
      if (lengthSrc > 3)
      {
          
          /*angka 190 berarti titik di bagian tombol huruf
            angka 110 titik di bagian keypad*/
          if ( (key == 190 || key == 110 || objVal.indexOf(".") != -1) )
          {
              // Bila titik baru dimasukkan
              if (objVal.lastIndexOf(".") == objVal.indexOf("."))
              {
                  lengthSrc = objVal.indexOf(".");
                  tail = objVal.substr(lengthSrc);
                  dotPos = lengthSrc;
              }else {
                
                /*titik dimasukkan lebih dari 1 kali dan yang diambil hanya titik yang
                paling belakang*/
                if (objVal.indexOf(".") < dotPos)
                {
                    objVal = objVal.replace(/\./,"");
                }else{
                    lastDot = objVal.lastIndexOf(".");
                    objVal = objVal.substr(0,lastDot) + objVal.substr(lastDot).replace(/\./,"");
                }              
                lengthSrc = objVal.indexOf(".");
                tail = objVal.substr(lengthSrc);
              }
              
              //Untuk menambahkan .00 bila titik diletakkan di paling belakang
              if (objVal.indexOf(".") == objVal.length-1 && key != 8)
              {
                 lengthSrc = objVal.indexOf(".");
                 tail = ".00";
              }

          }
          
          
          while (lengthSrc > 3)
          {
              /*Mengambil tiga karakter mulai dari yang paling belakang bila ada titik, 
                berarti yang paling belakang ada sebelum titik*/
              tmpWord = "," + objVal.substr(lengthSrc - 3, 3) + tmpWord;
              lengthSrc -= 3;
          }
          tmpWord = objVal.substr(0,lengthSrc) + tmpWord + tail;
          src.value =  tmpWord;
      }else
          src.value = objVal;
    }
    return;    
}

function showObject(evt, target)
{
	if (cekSrc(evt).value == "tidak"){
        document.getElementById(target).innerHTML="";
        frmInput.dalamNegeri.disabled = true;
        frmInput.luarNegeri.disabled = true;
        frmInput.typeMitra[0].disabled = true;
        frmInput.typeMitra[1].disabled = true;
    }else{
        document.getElementById(target).innerHTML=strMitra;
        frmInput.dalamNegeri.disabled = false;
        frmInput.luarNegeri.disabled = false;
        frmInput.typeMitra[0].disabled = false;
        frmInput.typeMitra[1].disabled = false;
    }return;
}

function pilih(src, sub)
{
    var subObj;
    if (sub != null)
        subObj = document.getElementById(sub);
    
    if (src.style.backgroundColor != "orangered")
    {
        currentColor = src.style.backgroundColor;
        currentFontColor = src.style.color;
        src.style.backgroundColor="orangered";
        //src.style.backgroundColor="orangered";
        //src.style.color="white";
        src.style.color="white";
        src.style.cursor="pointer";
        //src.style.fontWeight="bold";
        
        if (sub != null)  {
            subObj.style.color="white";
        }     
    }else
    {
        src.style.backgroundColor=currentColor;
        src.style.color=currentFontColor;
        src.style.cursor="pointer";
        src.style.fontWeight="normal";
        
        if (sub != null){
            subObj.style.color=currentFontColor;
        }   
    }    
}

function openEditor(var1, codes, var2)
{
    switch (codes){
		case "pn" :
			//frmCari.action = "EditFormInput.php?form="+var1+"&thn="+var2;
			//frmCari.submit();
			window.location = "EditFormInput.php?form="+var1+"&thn="+var2;
			break;
		case "sa" :
			document.getElementById("form").value=var1;
			document.getElementById("thn").value=var2;
			frmCari.action = "CekProposal.php";//?form="+var1+"&thn="+var2;
			frmCari.submit();
			break;
		case "es" :
			document.getElementById("idFrm").value=var1;
			document.getElementById("progThn").value=var2;
			frmCari.action = "EditCekProposal.php";
			frmCari.submit();
			break;
		case "iq" : 
			window.location= "InqForm.php"+var1;
			break;
		case "iqs" : 
			window.location= "InqFormSeleksi.php"+var1;
			break;
		case "cari" :
			document.getElementById("hidNomorForm").value=var1;
			document.getElementById("hidProgThn").value=var2;
			document.forms[0].action="SearchViewForm.php";
			document.forms[0].submit();
			break;
		case "cSeleksi" :
			document.getElementById("hidNomorForm").value=var1;
			document.getElementById("hidProgThn").value=var2;
			document.forms[0].action="SearchViewSeleksiAdm.php";
			document.forms[0].submit();
			break;
		case "cetak" :
			if (document.forms[0].txtProgThn.value.length == 0){
                alert('Harap Anda isi kolom Program Tahun.');
                break;
            }
            document.forms[0].action="SearchCetakForm.php";
			document.forms[0].submit();
			break;
		case "ctSeleksi" :
			document.forms[0].action="SearchCetakSeleksiAdm.php";
			document.forms[0].submit();
			break;
		case "query" :
            if (document.forms[0].txtProgThn.value.length == 0){
                alert('Harap Anda isi kolom Program Tahun.');
                break;
            }
			document.forms[0].action="SearchInqForm.php";
			document.forms[0].submit();
			break;
		case "rekap" :
            document.forms[0].action="RekapCetakForm.php";
			document.forms[0].submit();
			break;
		case "rekapSeleksi" :
            document.forms[0].action="SeleksiRekapCetakForm.php";
			document.forms[0].submit();
			break;
        case "qPenilai" :
            document.forms[0].action="InquiryEditPenilai.php";
            document.forms[0].submit();
            break;
        case "cariPenilai" :
            document.getElementById("hidNomorForm").value=var1;
            document.forms[0].action="EditInputPenilai.php";
            document.forms[0].submit();
            break;
        case "sla" :
            document.getElementById("IDForm").value=var1;
            window.location = "InputSeleksiAwal.php?ID="+var1;
            //frmCari.action = "InputSeleksiAwal.php";
            //frmCari.submit();
            break;
        case "esla" :
            document.getElementById("IDForm").value=var1;
            window.location = "EditInputSeleksiAwal.php?ID="+var1;
            break;		
        case "slak" :
            document.getElementById("IDForm").value=var1;
            if (var2 == '0'){
                window.location = "InputSeleksiAkhirB.php?ID="+var1;
            }else{
                window.location = "InputSeleksiAkhirA.php?ID="+var1;
            }
                        
            break;        
        case "eslak" :
            document.getElementById("IDForm").value=var1;
            if (var2 == '0'){
                window.location = "EditInputSeleksiAkhirB.php?ID="+var1;
            }else if (var2 == '1'){
                window.location = "EditInputSeleksiAkhirA.php?ID="+var1;
            }
            break;        
        case "mnv" :
            document.getElementById("IDForm").value=var1;
            window.location = "InputDataMonev.php?ID="+var1;
            break;        
        case "emnv" :
            document.getElementById("IDForm").value=var1;
            window.location = "EditInputDataMonev.php?ID="+var1;
            break;        
        case "cetakPenilai" :
            document.forms[0].action="CetakPenilaiPrint.php";
            document.forms[0].submit();
            break;
        case "xlsPenilai" :
            document.forms[0].action="CetakStatusPenilaiPrint.php";
            document.forms[0].submit();
            break;
        case "fee" :
            document.getElementById("IDForm").value=var1;
            window.location = "UpdateBiaya.php?ID="+var1;
            break;        
        case "eval" :
            document.getElementById("IDForm").value=var1;
            window.location = "InputEvaluasi.php?ID="+var1;
            break;        
        case "eeval" :
            document.getElementById("IDForm").value=var1;
            window.location = "EditInputEvaluasi.php?ID="+var1;
            break;        
        case "fin" :
            window.location = "EditFinalFormInput.php?form="+var1+"&thn="+var2;
            break;
        case "fiq" : 
            window.location= "InqFinalForm.php"+var1;
            break;
        case "lapakhir" : 
            window.location= "InputLapAkhir.php?ID="+var1;
            break;
        case "elapakhir" : 
            window.location= "EditInputLapAkhir.php?ID="+var1;
            break;
	}
}

function setCurrency(src, target)
{
	document.getElementById(target).value = src.value;
}

function trim(str)
{
   return str.replace(/^\s*|\s*$/g,"");
}

/* Perlu ada penyesuaian nilai maksimal yang diperblehkan */
function hasilSeleksi(src, limit, topGrade, lowGrade, range){
    var hasil = "";
    var avgNilai = 0;
    var topValue = parseFloat(topGrade);
    var lowValue = parseFloat(lowGrade);

   if (isNaN(src.value)){
        alert("Harap Masukkan data berupa angka untuk Penilaian!");
        src.focus();
        return false;
    }else if (parseFloat(src.value) > maxGrade){
        alert("Nilai maksimal adalah "+maxGrade);
        src.value = "";
        src.focus();
        hitungNilai(limit.value, topGrade, lowGrade);
        return false;    
    }else{
        //if (src.value.substr(0,1) == "0") src.value = src.value.substr(1);
        hitungNilai(limit.value, topGrade, lowGrade, range);
        return true;
    }
}

/* Perlu ada penyesuaian nilai maksimal dan range nilai yang diperblehkan */
function hitungNilai(val, topGrade, lowGrade, range){
    var dataTmp;
    var totalNilai = 0;
    var topValue = parseFloat(topGrade);
    var lowValue = parseFloat(lowGrade);
    var tipeNilai = parseFloat(range);
    
    jmlPenilai = 0;
    for (x=1; x<=val; x++){
        dataTmp = document.getElementById("txtNilai_"+x).value;
        if (!isNaN(dataTmp) && dataTmp.length > 0){
            totalNilai += parseFloat(dataTmp);    
        jmlPenilai++;
        }
    }
    
    avgNilai = Math.round((totalNilai/val)*100)/100
    
    hidHasil = 14;
    if (jmlPenilai == val){
        if (tipeNilai == 2){
            if (parseFloat(avgNilai) >= topValue){
                hasil = "Lulus";
                hidHasil = 12;
            }else if (parseFloat(avgNilai) >= lowValue && parseFloat(avgNilai) < topValue){
                hasil = "Presentasi";
                hidHasil = 5;
            }else if (parseFloat(avgNilai) < lowValue){
                hasil = "Tidak Lulus";
                hidHasil = 13;
            }
        }else if (tipeNilai == 1){
            if (parseFloat(avgNilai) >= topValue){
                hasil = "Presentasi";
                hidHasil = 12;
            }else if (parseFloat(avgNilai) < lowValue){
                hasil = "Tidak Lulus";
                hidHasil = 13;
            }
        
        }
        document.getElementById("txtNilaiRerata").value =  avgNilai;       
        document.getElementById("txtHasilPenilaian").value =  hasil;       
    }else{
        document.getElementById("txtNilaiRerata").value =  "";       
        document.getElementById("txtHasilPenilaian").value =  "";       
    } 


    document.getElementById("hidHasilPenilaian").value = hidHasil;
    if (hidHasil ==5) document.getElementById("divPresentasi").style.display = "";
    else document.getElementById("divPresentasi").style.display = "none";
    
    return; 
}


function testParent(src, tagParent){
    var objParent = src.parentNode
    while (objParent.tagName !=  tagParent){
        objParent = objParent.parentNode;
    }
    return objParent;
}
