var urlAdmin = 't.ajax.admin.process.php';

function tGetRandomNumber(){
         d = new Date();
         return d.getTime()+Math.random();
}

function tConfirm(msg){
         if (confirm(msg)){
             return true;
         }else{
             return false;
         }
}

function tInteger(e){
         e = (!e) ? window.event : e;
         charPressed = e.keyCode;
         //alert(charPressed);
         if ((charPressed >= 48 && charPressed <= 57) || (charPressed >= 96 && charPressed <= 105) || charPressed == 13 || charPressed == 46 || charPressed == 8 || charPressed == 9 || charPressed == 27) {
             return true;
         } else {
             return false;
         }
}

function tNumber(f,e){
         e = (!e) ? window.event : e;
         charPressed = e.keyCode;
         //alert(charPressed);
         if ((charPressed >= 48 && charPressed <= 57) || (charPressed >= 96 && charPressed <= 105) || charPressed == 46 || charPressed == 8 || charPressed == 9 || charPressed == 110 || charPressed == 190) {
             if (f.value.indexOf('.') != -1 && (charPressed == 110 || charPressed == 190)){
                 return false;
             } else {
                 return true;
             }
         } else {
             return false;
         }
}

function tNoInteger(e){
         e = (!e) ? window.event : e;
         charPressed = e.keyCode;
         //alert(charPressed);
         if ((charPressed >= 48 && charPressed <= 57) || (charPressed >= 96 && charPressed <= 105)) {
             return false;
         } else {             
             return true;
         }
}

function getZero(tEl){
         if (tEl.value == ''){
             tEl.value = '0';
         }
}

function is_array(input){
         return typeof(input)=='object'&&(input instanceof Array);
}

function array_key_exists(key, search) {
         return (typeof search[key] != 'undefined');
}

function explode( delimiter, string, limit ) {
        // http://kevin.vanzonneveld.net
        // +     original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
        // +     improved by: kenneth
        // +     improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
        // +     improved by: d3x
        // +     bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
        // *     example 1: explode(' ', 'Kevin van Zonneveld');
        // *     returns 1: {0: 'Kevin', 1: 'van', 2: 'Zonneveld'}
        // *     example 2: explode('=', 'a=bc=d', 2);
        // *     returns 2: ['a', 'bc=d']
     
        var emptyArray = { 0: '' };
        
        // third argument is not required
        if ( arguments.length < 2
            || typeof arguments[0] == 'undefined'
            || typeof arguments[1] == 'undefined' )
        {
            return null;
        }
     
        if ( delimiter === ''
            || delimiter === false
            || delimiter === null )
        {
            return false;
        }
     
        if ( typeof delimiter == 'function'
            || typeof delimiter == 'object'
            || typeof string == 'function'
            || typeof string == 'object' )
        {
            return emptyArray;
        }
     
        if ( delimiter === true ) {
            delimiter = '1';
        }
        
        if (!limit) {
            return string.toString().split(delimiter.toString());
        } else {
            // support for limit argument
            var splitted = string.toString().split(delimiter.toString());
            var partA = splitted.splice(0, limit - 1);
            var partB = splitted.join(delimiter.toString());
            partA.push(partB);
            return partA;
        }
}

function addslashes (str) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Ates Goral (http://magnetiq.com)
    // +   improved by: marrtins
    // +   improved by: Nate
    // +   improved by: Onno Marsman
    // +   input by: Denny Wardhana
    // +   improved by: Brett Zamir (http://brett-zamir.me)
    // *     example 1: addslashes("kevin's birthday");
    // *     returns 1: 'kevin\'s birthday'
 
    return (str+'').replace(/([\\"'])/g, "\\$1").replace(/\u0000/g, "\\0");
}

function removeKey(arrayName,key){
         var x;
         var tmpArray = new Array();
         for(x in arrayName){
             if(x!=key) { tmpArray[x] = arrayName[x]; }
         }
         return tmpArray;
}

function limitText(limitField, limitCount, limitNum) {
      	 if (limitField.value.length > limitNum) {
      		   limitField.value = limitField.value.substring(0, limitNum);
      	 } else {
      		   limitCount.value = limitNum - limitField.value.length;
      	 }
}

function blinker(eStatus, eElement) {
         var progress = document.getElementById(eElement);
         if (eStatus == 1){ // visible
             progress.style.color = '#000'; 
             timerHandle = setTimeout('blinker(0, \''+eElement+'\')',400);
         } else{ // hidden
             progress.style.color = '#c66653'; 
             timerHandle = setTimeout('blinker(1, \''+eElement+'\')',400);
         }
}

var newWindow;
function popUpAll(eUrl, width, height){
         if (!newWindow || newWindow.closed) {
             var left = parseInt((screen.availWidth/2) - (width/2));
             var top = parseInt((screen.availHeight/2) - (height/2));
             var windowFeatures = "width=" + width + ",height=" + height + 
                                  ",status,scrollbars=yes,left=" + left + ",top=" + top + 
                                  ",screenX=" + left + ",screenY=" + top +",menubar=1,resizable=1";
             newWindow = window.open(eUrl, "subWind", windowFeatures);
  			     void(0);
         } else {
             newWindow.focus( );
         }      			 
}

function removeOptionStrata(){     
         eStrataLength = document.formPendaftaran.t_strata.length;
         for (i=eStrataLength; i >= 0; i--){
              document.formPendaftaran.t_strata[i] = null;
         }
}

function changePosisiKategori(eValue){
         var arrStrata = new Array();
         arrStrata[1] = 'D-I';
         arrStrata[2] = 'D-II';
         arrStrata[3] = 'D-III';
         arrStrata[4] = 'D-IV';
         arrStrata[5] = 'S1';
         arrStrata[6] = 'S2';
         arrStrata[7] = 'S3';

         removeOptionStrata();
         document.formPendaftaran.t_strata[0] = new Option('--pilih salah satu--','');
         
         var z = 1;
         for (var i=1; i < arrStrata.length; i++){
              if (i >= arrPosisi[eValue]){              
                  document.formPendaftaran.t_strata[z] = new Option(arrStrata[i],i);
                  z++;
              }              
         }
         
         showResult($('t_strata').value, $('t_pt').value); getJurusan($('t_strata').value, $('id_pt').value);
}

function removeOptionKota(eStatus){     
         if (eStatus == '' || eStatus == null){
             eKotaLength = document.formPendaftaran.kota.length;
             for (i=eKotaLength; i >= 1; i--){
                  document.formPendaftaran.kota[i] = null;
             }
         } else{
             eKotaLength = document.formPendaftaran.kota2.length;
             for (i=eKotaLength; i >= 1; i--){
                  document.formPendaftaran.kota2[i] = null;
             }
         }
}

var varStatus = ''; 
function addOptionsKota(ePropinsi,eStatus){   
         removeOptionKota(eStatus);   
         varStatus = eStatus;
         
         randomNumber = tGetRandomNumber();
         url ='ajax.process.php';
         pars = 'pub=get_kabupaten&kode_propinsi='+ ePropinsi +'&rand='+ randomNumber;         
         myAjax = new Ajax.Request(url,{
                           method: 'get',
                           parameters: pars,
                           onSuccess: showResponseKota,
                           onFailure: function(transport){
                                               alert("Connection error while loading data");
                           }
                      }
                      );        
}

function showResponseKota(transport){         
         if (transport.responseXML){             
             eXml = transport.responseXML;
             arrNama = eXml.getElementsByTagName("kota");

             if (arrNama.length > 0){
                 for (var i=0; i < arrNama.length; i++){  
                      x = i+1;
                      if (varStatus == '' || varStatus == null){             
                          document.formPendaftaran.kota[x] = new Option(arrNama.item(i).firstChild.data,arrNama.item(i).getAttribute('kode'));
                      } else{
                          document.formPendaftaran.kota2[x] = new Option(arrNama.item(i).firstChild.data,arrNama.item(i).getAttribute('kode'));
                      }
                 }
             }
         }             
}

function autoSave(){
         randomNumber = tGetRandomNumber();
         url ='ajax.process.php';
         pars = 'pub=set_waktu&rand='+ randomNumber;
         
         myAjax = new Ajax.Request(url,{
                           method: 'get',
                           parameters: pars,
                           onFailure: function(transport){
                                               alert("Connection error while loading data");
                           }
                      }
                      );       
         timerHandle = setTimeout('autoSave()',180000);         
}

function sivamtime(hrsTarget,minTarget,secTarget,apmTarget) {
      	 now = new Date();
      	 
      	 hour = Number(now.getHours());
      	 min = now.getMinutes();
      	 sec = now.getSeconds();
      	 
      	 
         if(min <= 9) {
      	    min = "0"+min;
         }
         if(sec <= 9) {
      	    sec = "0"+sec;
         }
         if(hour > 12) {
      	    hour = hour-12;
      	    add = "pm";
         } else{
      	    hour = hour;
      	    add = "am";
         }
         if(hour == 12) {
      	    add = "pm";
         }
         if(hour == 00) {
      	    hour = "12";
         }
         
         document.clock.hours.value = (hour<=9) ? "0"+hour : hour;
         document.clock.minutes.value = min;
         document.clock.seconds.value = sec;
         document.clock.ampm.value= add;        
         
         //view time
         $("hoursView").innerHTML = (hour<=9) ? "0"+hour : hour;
         $("minutesView").innerHTML = min;
         $("secondsView").innerHTML = sec;
         $("ampmView").innerHTML = add;
         
         setTimeout("sivamtime()", 1000);
}

function alarm() {
         //alert($('hours').value);
         //alert($('hours').value+'='+$('hoursTarget').value+$('minutes').value+'='+$('minutesTarget').value+$('seconds').value+'='+$('secondsTarget').value+$('ampm').value+'='+$('ampmTarget').value);
         if (($('hours').value == $('hoursTarget').value) &&
            ($('minutes').value == $('minutesTarget').value) &&
            ($('seconds').value == $('secondsTarget').value) &&
            ($('ampm').value == $('ampmTarget').value)) {
             document.location.href='process.php?pub=tryout';
             return false
         }
        
         setTimeout("alarm()", 1000);
}

function habisWaktu(jumlahSoal){  
         document.location.href='process.php?op=prosesPsikotes';
}

function processTo(){
         totalTerjawab = Number($('totalDikerjakan').innerHTML);
         totalBlmTerjawab = Number(jumlahSoal) - Number(totalTerjawab);      
         if (totalBlmTerjawab == jumlahSoal){
             eConfirm = "Anda belum mengerjakan salah satu soal dari Psikotes Online ini. Apakah anda yakin akan melakukan proses Psikotes?";
         } else if (totalBlmTerjawab > 0){
             eConfirm = "Ada "+totalBlmTerjawab+" soal yang belum anda kerjakan. Apakah anda yakin akan melakukan proses Try Out?";
         } else{
             eConfirm = "Apakah anda sudah yakin terhadap semua jawaban yang anda isi?";
         }
         
         if (tConfirm(eConfirm)){
             //hitungNilai();
             document.location.href='process.php?op=prosesPsikotes';
         } else {           
             return false;
         }   
}

var eIdNew = 0;
var eIdSoalNew = 0;
var eValueNew = 0;

function soalChecked(eId, eIdSoal, eValue){    
         eIdNew = eId;
         eIdSoalNew = eIdSoal;
         eValueNew = eValue;
         
         $("aktifitas"+eId).innerHTML = "sedang menyimpan jawaban no. "+eId;
         randomNumber = tGetRandomNumber();
         url ='ajax.process.php';
         pars = 'pub=save_jawaban&id_soal='+ eIdSoal +'&jawaban='+ eValue +'&rand='+ randomNumber;
         myAjax = new Ajax.Request(url,{
                           method: 'get',
                           parameters: pars,
                           onSuccess: showSoalChecked,
                           onLoading: function(transport){
                                               $("soalLoading"+eId).style.visibility = "visible";
                           },
                           onFailure: function(transport){
                                               $("soalLoading"+eId).style.visibility = "hidden";
                                               alert("Connection error while loading data");
                           }
                      }
                      );       
}

function showSoalChecked(transport){         
         $("soalLoading"+eIdNew).style.visibility = "hidden"; 
         if (transport.responseXML){
             eXml = transport.responseXML;
             arrError = eXml.getElementsByTagName("error");          
             if (arrError.length == 0){                 
                 arrEdit = eXml.getElementsByTagName("edit"); 
                 statusEdit = arrEdit.item(0).firstChild.data;
                 if (statusEdit == 0 || statusEdit == null){
                     awalJumlahDikerjakan = $('totalDikerjakan').innerHTML;
                     awalJumlahBlmDikerjakan = $('totalBelumDikerjakan').innerHTML;  
                 }
          
                 newWorked = Number(awalJumlahDikerjakan) + 1;

                 newNotWorked = Number(awalJumlahBlmDikerjakan) - 1;
                 $('totalDikerjakan').innerHTML = newWorked;
                 $('totalBelumDikerjakan').innerHTML = newNotWorked;   
                 $("soalLoading"+eIdNew).style.visibility = "hidden";
             } else{
                 //hilangkan checked
                 for (i=0; i<allInput.length; i++){
                      if (allInput[i].type == 'radio'){
                          if (allInput[i].name == eIdNew && allInput[i].checked == true){
                              allInput[i].checked = false;
                          }
                      }
                 }  
                 alert(arrError.item(0).firstChild.data);
             }
         }        
}

function getRadioType(eName, eValue){
         var allInput = document.getElementsByTagName('input');  
         for (i=0; i<allInput.length; i++){
              if (allInput[i].type == 'radio'){
                  if (allInput[i].name == eName && allInput[i].value == eValue){
                      allInput[i].checked = true;
                      break;
                  }
              }
         } 
}

function openHideEmail(){
         if ($('div_email').style.display == 'none'){
             Effect.BlindDown($('div_email')); 
         } else{
             Effect.BlindUp($('div_email'));
         }
         return false;
}

function tanya(){
         if (tConfirm('Apakah anda yakin akan mencetak Surat Pernyataan? Karena setelah mencetak Surat Pernyataan anda tidak diperkenankan lagi untuk melakukan perubahan data. Pastikan data anda sudah benar!')){
             popUpAll('./pernyataan.php', 800, 600);
         } else{
             return false;
         }
}

function tanya2(){
         if (tConfirm('Apakah anda yakin akan mencetak Form Pendaftaran? Karena setelah mencetak Form Pendaftaran anda tidak diperkenankan lagi untuk melakukan perubahan data. Pastikan data anda sudah benar!')){
             popUpAll('./form_registrasi.php', 800, 600);
         } else{
             return false;
         }
}