var sedangproses = false;
var sedangproses2 = false;
var targeturl = '';
var timeayat = 0;
var oto;
var pakeajax = true;
var pakesmiley = true;
var pewaktu = 0;
var batal = false;
var bataswaktu = 15000;
var formvar;
var defurl;
var menuterpilih = '';

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 http = createRequestObject();
var http2 = createRequestObject();

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 geserView(x, y)
{
	document.body.scrollTop = y;
         document.body.scrollLeft = x;
         window.scrollTo(0, 0);
}

function rubahKategori() {
    if (batal) return false;
    if(http.readyState == 4){
        var response = http.responseText;
        var update = new Array();
        sedangproses = false;
        var tunggudiv = document.getElementById("masihproses");
        tunggudiv.style.visibility = 'hidden';
        clearTimeout(pewaktu);

        if(response.indexOf('|') != -1) {
            var kode = response.substring(0, response.indexOf('|'));
            var hasil = response.substring(response.indexOf('|') + 1, response.length);
            if (kode == 'OK')
            {
                if (targeturl.indexOf("dataajax") < 0)
                {
                    document.getElementById('isikategori').innerHTML = hasil;
                    geserView(0, 0);
                }
                else
                {
                    document.getElementById('isikomentar').innerHTML = hasil;
                    geserView(0, 0);
                }
                setVal();
                return false;
            }
            else
            if (kode == 'MOVE')
            {
                location.replace(hasil);
                return false;
            }
            else
            if (kode == 'TOP')
            {
                    document.getElementById('tengah').innerHTML = hasil;
                    geserView(0, 0);
                    setVal();
                    return false;
            }
            else
            if (kode == 'ERROR')
            {
                alert(hasil);
                return false;
            }
            else
            if (kode == 'MSG')
            {
                update = response.split('|');
                alert(update[1]);
                if (update[2].length)
                {
                         geserView(0, 0);
                         document.getElementById('isikategori').innerHTML = 'Refresh halaman...';
                		location.replace(update[2]);
                }
                return false;
            }
        }
        if (formvar)
        		formvar.submit();
        else
        		location.replace(targeturl);
    }
}

function bukaKategori(url)
{
         if (sedangproses) return false;
         if (!pakeajax) return true;
         if (!http) return true;

         if (url.charAt(0) == '-')
         {
             url = url.substring(1, url.length);
         }
         else
         {
             tambahJejak(url);
	    tambahHistory(url);
	}

         targeturl = url;
         http.open('get', url);
         http.onreadystatechange = rubahKategori;
         var tunggudiv = document.getElementById("masihproses");
         tunggudiv.style.visibility = 'visible';

         batal = false;
         formvar = null;
         pewaktu = setTimeout("waktuHabis()", bataswaktu);
         http.send(null);
         sedangproses = true;
         return false;
}

function kirimPost(f, data)
{
         if (sedangproses) return false;
         if (!pakeajax) return true;
         if (!http) return true;

         targeturl = f.action;
         http.open('post', f.action, true);
         http.onreadystatechange = rubahKategori;
         var tunggudiv = document.getElementById("masihproses");
         tunggudiv.style.visibility = 'visible';

         batal = false;
         formvar = f;
         pewaktu = setTimeout("waktuHabis()", bataswaktu);
    	http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    	http.send(data);
         sedangproses = true;
         return false;
}

function setKode(file)
{
     var v = document.getElementById('kode');
     var j = document.getElementById('judul');
     v.value = '<a href="http://www.bengkelprogram.com/" target="_blank">\n<img src="http://www.bengkelprogram.com/images/' + file + '" \nalt="BengkelProgram.com"/>\n</a>';
     j.innerHTML = 'Kode Banner: ' + file;
}

function setFlash()
{
     var v = document.getElementById('kode');
     var j = document.getElementById('judul');
     v.value = '<object classid="clsid:D27CDB6E-AE6D-11CF-96B8-444553540000" id="obj1" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" style="border: 1px solid #777; width: 150px; height: 45px">\n<param name="movie" value="http://www.bengkelprogram.com/images/bp_flash.swf">\n<param name="quality" value="High">\n</object>';
     j.innerHTML = 'Kode Banner Flash';
}

function rubahAyat()
{
    if(http2.readyState == 4){
        var response = http2.responseText;
        var update = new Array();
        var oto = document.getElementById('otomatis');

        sedangproses2 = false;
        oto.disable = false;

        if(response.indexOf('|' != -1)) {
            update = response.split('|');
            if (update[0] == 'AYAT')
            {
                    document.getElementById('ayat').innerHTML = update[1];
                    return false;
            }
        }
    }
}

function refreshAyat()
{
         if (sedangproses2) return false;
        	var oto = document.getElementById('otomatis');
         oto.disable = true;
         sedangproses2 = true;
         http2.open('get', '/index.php?hal=ayat&ajax=1');
         http2.onreadystatechange = rubahAyat;
         http2.send(null);
        	if (oto.checked)
            timeayat = setTimeout("refreshAyat()", 10000);
}

function switchOtomatis()
{
        var oto = document.getElementById('otomatis');
        if (oto.checked)
        {
            refreshAyat();
            timeayat = setTimeout("refreshAyat()", 10000);
        }
        else
            clearTimeout(timeayat);
}

function switchAjax()
{
        var lblpakeajax = document.getElementById("pakeajax");
        var divjejak = document.getElementById("BOX_HISTORY");
        pakeajax = !pakeajax;
        if (pakeajax)
        {
            lblpakeajax.innerHTML = "matikan ajax";
            lblpakeajax.style['color'] = "#00a";
            setCookie("pakeajax", "pake", 7);
            if (divjejak)
            {
                divjejak.style.visibility = "visible";
                tambahJejak('');
            }
        }
        else
        {
            lblpakeajax.innerHTML = "aktifkan ajax";
            lblpakeajax.style['color'] = "#0a0";
            setCookie("pakeajax", "tidakpake", 7);
            if (divjejak) divjejak.style.visibility = "hidden";
        }
}

function switchSmiley()
{
        return;
        var lblpakesmiley = document.getElementById("pakesmiley");
        pakesmiley = !pakesmiley;
        if (pakesmiley)
        {
            lblpakesmiley.innerHTML = "matikan smiley";
            lblpakesmiley.style['color'] = "#00a";
            setCookie("pakesmiley", "pake", 7);
        }
        else
        {
            lblpakesmiley.innerHTML = "aktifkan smiley";
            lblpakesmiley.style['color'] = "#0a0";
            setCookie("pakesmiley", "tidakpake", 7);
        }
}

function initAjax()
{
        var tunggudiv = document.getElementById("masihproses");
        tunggudiv.style.visibility = 'hidden';
        tunggudiv.style.display = 'block';

        var dataajax = readCookie("pakeajax");
        pakeajax = (dataajax == 'tidakpake');
        switchAjax();
        var datasmiley = readCookie("pakesmiley");
        pakesmiley = (datasmiley == 'tidakpake');
        switchSmiley();

        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-');
        }

        tambahJejak('');

        setVal();
}

function setSmilies()
{
    return;
    if (!pakesmiley) return;
    var hd = document.body;
    var mr = /(:\)\)|:\)|:D|:-O|:x|B-\)|;\)|:-\*|:-S|\/:\)|;;\)|:\(|:-&|>:\)|\/:\)|O:\)|:\)\]|<\):\)|\*-:\)|=:\)|:\)>-|\^:\)\^|:\(\(|:\(\|\)|;\)\)|>:D<|\\\\:D\/|:-\/|>:P|:P|=\(\(|3:-O|~X\(|X\(|~:>|:>|:-SS|#:-S|\(:\||:\||=\)\)|:-B|=;|:-c|:-h|:-t|8->|I-\||8-\||L-\)|:-\\\$|\[-\(|:O\)|8-}|<:-P|=P~|:-\?\?|:-\?|#-o|=D>|@-\)|:\^o|:-w|:-<|%-\(|:@\)|@};-|%%-|\*\*==|\(~~\)|~O\)|8-X|>-\)|:-L|\[-O<|\$-\)|b-\(|\[-X|>:\/|:-j|\(\*\)|o->|o=>|o-\+|\(%\)|:-\\@)/g;
    hd.innerHTML = hd.innerHTML.replace( mr, '<img src="http://www.bengkelprogram.com/smilies.php?kode=$1" alt="$1" />');
}

function setAutolink()
{
    return;
    var hd = document.body;
    var hlink = /\s+(ht|f)tp:\/\/([^ \,\;\:\!\)\(\"\'\<\>\f\n\r\t\v]*)/gi;
    hd.innerHTML = hd.innerHTML.replace(hlink, ' <a href="$1tp://$2">$1tp://$2</a>');
}

function setExternal()
{
    if (document.getElementsByTagName)
    {
        var anchors = document.getElementsByTagName("a");
        for (var i = 0; i < anchors.length; i++)
        {
             var anchor = anchors[i];
             if (anchor.getAttribute("href") &&
                 anchor.getAttribute("rel") == "external")
                        anchor.target = "_blank";
        }
    }
}

function waktuHabis()
{
        batal = true;
        clearTimeout(pewaktu);
        var tunggudiv = document.getElementById("masihproses");
        tunggudiv.style.visibility = 'hidden';
        http.abort();
        if (formvar)
        		formvar.submit();
        else
        		alert('Ups... server kelamaan ngerespon... request dibatalkan');
        sedangproses = false;
}

function setVal()
{
         var nama = decodeURIComponent(readCookie('bp_nama'));
         var email = decodeURIComponent(readCookie('bp_email'));
         var ingat = readCookie('bp_ingat');

         var objnama = document.getElementById('nama');
         var objemail = document.getElementById('email');
         var objingat = document.getElementById('ingat');
         if ((nama != null) && (nama != 'null') && (nama != 'undefined') && objnama) objnama.value = nama;
         if ((email != null) && (email != 'null') && (email != 'undefined') && objemail) objemail.value = email;
         if ((ingat != null) && (ingat != 'null') && (ingat != 'undefined') && objingat) objingat.checked = (ingat == '1');

         if (document.getElementById('namajawabtopik'))
            setValjawabtopik();
         if (document.getElementById('namaisitopik'))
            setValisitopik();

         var re = /\<h1>(.*)\<\/h1>/;
         var cari = document.body.innerHTML.match(re);
         if (cari)
         {
            document.title = cari[1];
         }

         refreshAyat();

         //setAutolink();
         //setSmilies();
         setExternal();

         _uacct = "UA-367068-1";
         urchinTracker();
}

function simpanVal()
{
        var nama = document.getElementById('nama');
        var email = document.getElementById('email');
        var ingat = document.getElementById('ingat');
        if (((ingat) && ingat.checked) || (!ingat))
        {
            setCookie('bp_nama', nama.value, 7);
            setCookie('bp_email', email.value, 7);
            setCookie('bp_ingat', '1', 7);
        }
        else
        {
            setCookie('bp_nama', '', 0);
            setCookie('bp_email', '', 0);
            setCookie('bp_ingat', '', 0);
        }

}

function tambahJejak(url)
{
        if (sedangproses) return false;
        if (!pakeajax) return;
        if (!http)
              return true;

        var jejakdiv = document.getElementById("jejak");
        var datajejak = readCookie("datajejak");
        var i, p, n;
        var listjejak;

        if ((datajejak == null) || (!datajejak.length))
        {
           listjejak = new Array();
        }
        else
        {
           datajejak = decodeURIComponent(datajejak);
           listjejak = datajejak.split(",");
        }
        if (url.length)
        {
            n = -1;
            for(i = 0; i < listjejak.length; i++)
                if (listjejak[i] == url)
                {
                    n = i; break;
                }
            if (n == -1) listjejak[listjejak.length] = url;
        }
        else
        {
            if (!listjejak.length) listjejak[0] = location.href;
        }
        jejakdiv.innerHTML = "";
        for(i = 0; i < listjejak.length; i++)
        {
            p = i + 1;
            var newURL = document.createElement("div");
            n = listjejak[i];
            if (n.indexOf('-') > 1)
                n = n.substring(n.indexOf('-') + 1, n.length);
            n = n.replace('.bps', '');
            newURL.innerHTML = '<a href="javascript:keJejak(' + i + ')" title="' + n + '">' + p + '.' + n + '</a>';
            jejakdiv.appendChild(newURL);
        }
        var newURL = document.createElement("div");
        newURL.innerHTML = '<br/><a href="javascript:hapusJejak()" title="Hapus jejak">Hapus Semua Jejak</a>';
            jejakdiv.appendChild(newURL);

        datajejak = listjejak.join(",");
        setCookie("datajejak", datajejak, 7);
}

function keJejak(num)
{
        var datajejak = readCookie("datajejak");
        var listjejak;
        if (datajejak == null)
        {
           listjejak = new Array();
        }
        else
        {
           datajejak = decodeURIComponent(datajejak);
           listjejak = datajejak.split(",");
        }
        if (num >= listjejak.length) return false;
        var s = listjejak[num];
        if (s.substring(0, 7).toLowerCase() == "http://")
        {
        		location.replace(s);
        		return;
        }
        var newURL = '-' + s;
        bukaKategori(newURL);
}

function hapusJejak()
{
         if (confirm("Yakin akan menghapus semua jejak di komputer ini?"))
         {
         	setCookie("datajejak", "", 0);
         	tambahJejak('');
         }
}

function switchView(ikonid, divid, nikon)
{
         var divx = document.getElementById(divid);
         divx.style.display = (divx.style.display == "block") ? "none" : "block";
         var divicon = document.getElementById(ikonid);
         divicon.style.backgroundImage = (divx.style.display == "block") ? "url(opentriangle"+nikon+".gif)" : "url(triangle"+nikon+".gif)";

        var datakotak = readCookie("datakotak");
        var i, p, n;
        var listkotak;

        if ((datakotak == null) || (!datakotak.length))
        {
           listkotak = new Array();
        }
        else
        {
           datakotak = decodeURIComponent(datakotak);
           listkotak = datakotak.split(",");
        }
        n = -1;
        for(i = 0; i < listkotak.length; i++)
        	   if (listkotak[i] == divid)
            {
                    if (divx.style.display == "block")
                    	listkotak[i] = '';
                    n = i;
                    break;
            }
        if (n == -1) listkotak[listkotak.length] = divid;
        datakotak = listkotak.join(",").replace(',,', ',');
        setCookie("datakotak", datakotak, 7);
}

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 (!pakeajax) return;
        if ((historyData == null) || (!historyData.length)) historyData = defurl;
        if (historyData.substring(0, 7).toLowerCase() == "http://")
        {
        		location.replace(historyData);
        		return;
        }
        var newURL = '-' + historyData;
        bukaKategori(newURL);
}

function setMenuTerpilih(dipilih)
{
	var d = document.getElementById(menuterpilih);
	var b = document.getElementById(dipilih);
	if (d && b)
	{
		d.className = 'menugakterpilih';
		b.className = 'menuterpilih';
		menuterpilih = dipilih;
	}
}
