var sedangproses = false;
var pakeajax = true;
var pewaktu;
var batal = false;
var tunggudiv;
var bataswaktu = 60000;
var targeturl = '';
var defurl;

function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}
var xmlhttp = createRequestObject();
var xmlcounter = createRequestObject();

function initAjax()
{
        dhtmlHistory.initialize();
        dhtmlHistory.addListener(historyChange);
        if (dhtmlHistory.isFirstLoad())
        {
        		var arr = location.href.split('/');
        		defurl = arr[arr.length - 1];
        		if (!defurl.length) defurl = 'halaman-index-0.bps';
        		defurl = defurl.replace('halaman-', 'halamanajax-');
        		defurl = defurl.replace('data-', 'dataajax-');
        }
}

function tambahHistory(url)
{
         var s = url;
         if (s.indexOf('-') > 1)
            s = s.substring(s.indexOf('-') + 1, s.length);
         s = s.replace('.bps', '');
         s = s.replace('-', '');
         s = s.replace('.', '');
         dhtmlHistory.add(s, url);
         return;
}

function historyChange(newLocation, historyData)
{
        if ((historyData == null) || (!historyData.length)) historyData = defurl;
        if (historyData.substring(0, 7).toLowerCase() == "http://")
        {
        		location.replace(historyData);
        		return;
        }
        var newURL = '-' + historyData;
        bukaKategori(newURL);
}


function setCookie(cookieName,cookieValue,nDays) {
 var today = new Date();
 var expire = new Date();
 if (nDays==null || nDays==0) nDays=1;
 expire.setTime(today.getTime() + 3600000*24*nDays);
 document.cookie = cookieName+"="+encodeURIComponent(cookieValue)
                 + ";expires="+expire.toGMTString();
}

function readCookie(name) {
    var cookieCrumbs = document.cookie.split(';');
    var nameToFind = name + '=';
    for (var i = 0; i < cookieCrumbs.length; i++) {
        var crumb = cookieCrumbs[i];
        while (crumb.charAt(0) == ' ') {
            crumb = crumb.substring(1, crumb.length); /* delete spaces */
        }
        if (crumb.indexOf(nameToFind) == 0) {
            return crumb.substring(nameToFind.length, crumb.length);
        }
    }
    return null;
}

function waktuHabis()
{
        batal = true;
        clearTimeout(pewaktu);
        var tunggudiv = parent.document.getElementById("masihproses");
        if(tunggudiv) {
		  tunggudiv.style.display = 'none';
		}
        alert('Respon server lama.. request dibatalkan, cek koneksi anda!');
		xmlhttp.abort();
		sedangproses = false;
}

function loadhal(link_tujuan,div)
{
	//alert(link_tujuan);
	if (sedangproses) return false;
	if (!xmlhttp) return true;
	try { xmlhttp.open("GET", link_tujuan ); }
	catch(err) { alert(err.description); }

	xmlhttp.onreadystatechange = function()
		{
			if (batal) return false;
			//if (xmlhttp.readyState == 1) { document.getElementById(div).innerHTML = "<img src='images/ajax-loader.gif' width='20' height='20'><br><font style='color:#999999' class='fbig_bold'>Please wait</font>"; }
			else if ((xmlhttp.readyState == 4) && (xmlhttp.status == 200))
			{
				selesai(div);
				//alert(xmlhttp.responseText);
				hasilser = xmlhttp.responseText.split('&&&');
				var divganti = document.getElementById(div);
				if(divganti)
				{
				  if(divganti.innerHTML) document.getElementById(div).innerHTML=hasilser[0]; 
				  else divganti.value=hasilser[0];
				}
				for(var i=1; i<hasilser.length; i++)
				{ 
				    hasildiv = hasilser[i].split('===');
					if(hasildiv[0]=='mr') { mr = parseInt(hasildiv[1]);//alert(mr);  
					} else
					if(hasildiv[0]=='msg') { alert(hasildiv[1]);
					} else {
						tambahHistory(link_tujuan);
						elementdiv = document.getElementById(hasildiv[0]);
						if(elementdiv.innerHTML){ elementdiv.innerHTML = hasildiv[1]; } else { elementdiv.value = hasildiv[1]; }
				   }
				}
			}
		}
	xmlhttp.send(null);
	
	proses(div);

	return false;
}

function proses(div)
{
	var tunggudiv = parent.document.getElementById("masihproses");
	if(tunggudiv) {
     tunggudiv.style.display = 'block'; }

	batal = false;
	pewaktu = setTimeout("waktuHabis()", bataswaktu);
	sedangproses = true;
}

function selesai(div)
{
        sedangproses = false;
        var tunggudiv = parent.document.getElementById("masihproses");
		if(tunggudiv) {
         tunggudiv.style.display = 'none';
		}
        clearTimeout(pewaktu);
}

function windowOpener(windowWidth, windowHeight, windowName, windowUri)
{
    var centerWidth = (window.screen.width - windowWidth) / 2;
    var centerHeight = (window.screen.height - windowHeight) / 2;

	newWindow = window.open(windowUri, windowName, 'status=0,resizable=0,width=' + windowWidth + 
        ',height=' + windowHeight + 
        ',left=' + centerWidth + 
        ',top=' + centerHeight +
		',scrollbars=yes');

    newWindow.focus();
    return !newWindow;
}

child_window = null;

function popup(div,hal,v,h,w)
{
	if(!w) { w = 500;}
	if(!h) { h = 500;}
	var namawin = hal.replace('.php','');
	namawin = namawin.replace(/\//gi,'');
	namawin = namawin.replace(/\.\./gi,'');
	//alert(namawin);
	child_window = windowOpener(w, h, namawin, hal+'?div='+div+'&'+v);
	parent_window.onclick = blurify;
	parent_window.onfocus = blurify;
	return false;
}

function blurify()
{
	if(child_window)
	{
		if(parent_window)
		parent_window.blur();
		child_window.focus();
	}
}

	function str_replace(search_target,replacement,str) {
		str = new String(str);
		var n_str = str.length;
		var n_search = search_target.length;
		var result = "",searching = 0;
		for(var i=0;i<n_str;i++)
		{   
			if (n_search == 1)
			{
				if (str.charAt(i) == search_target) result += replacement;
				else result+=str.charAt(i);
			}else
			{           
				searching = str.indexOf(search_target,i);
				if (searching <= i && searching >= 0)
				{
					result += replacement;                               
					i+=n_search-1;
				}
				else
				{
					result+=str.charAt(i);
				}
				   
			}           
		}
		return result;
	}
	
	function showCurrency(nilai) {
		 var value=Math.round(nilai,0)+'';
		 var jumlah=Math.floor(value.length/3);
		 var sisa=value.length%3;
		 var hasil='';
		 for(var i=-1;i<jumlah;i++) {
			 if(i==-1) hasil+=value.substr(0,sisa);
			 else if(hasil=='') hasil+=value.substr(sisa+(3*i),3);
			 else hasil+=","+value.substr(sisa+(3*i),3);
		 }
		 return hasil;
	}
	
		function valnominal(angka) // -1,000,000
	{ 
		 var isi = angka.value;
		 var hasil='';
		 
		 for(var i=0;i<isi.length;i++)
		 {
			var nilai = isi.substr(i,1);
			if(parseFloat(nilai) || parseFloat(nilai)==0 || (i==0 && nilai=='-'))
			{
				if(i==0 && nilai=='-') hasil=nilai;
				else if(i==1 && hasil==0) hasil=nilai;
				else if(i==1 && nilai==0 && hasil=='-') hasil=hasil;
				else hasil+= nilai;
			}
		 }
		 
		 var jumlah=Math.floor(hasil.length/3);
		 var sisa=hasil.length%3;
		 var hasill='';
		 for(var i=-1;i<jumlah;i++) {
			 if(i==-1) hasill+=hasil.substr(0,sisa);
			 else if(hasill=='' || hasill=='-') hasill+=hasil.substr(sisa+(3*i),3);
			 else hasill+=","+hasil.substr(sisa+(3*i),3);
		 }
		 angka.value = hasill;
	}

function ceksemua(obj,awal,jml){
	for (var i = 0; i < jml; i++) {
		document.getElementById(awal+i).checked=obj.checked;
	}
}

function desablesemua(obj,awal,jml){
	for (var i = 0; i < jml; i++) {
		document.getElementById(awal+i).disabled=obj.checked;
	}
}
