var xmlhttp;
var idObj ="";

if(window.ActiveXObject){
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (e) {
			xmlhttp = false;
		}
	}
}else{
	try{
		xmlhttp = new XMLHttpRequest();
	}
	catch(e){
		xmlhttp = false;
	}
}

var please_wait = "<div align='center'><img src='images/popuploading.gif'></div>";

function open_url(url, targetId) {
  	if(!xmlhttp)return false;
    	var e=document.getElementById(targetId);if(!e)return false;
    	if(please_wait)e.innerHTML = please_wait;
    		xmlhttp.open("GET", url, true);
    		xmlhttp.onreadystatechange = function() { response(url, e); }
    	try{
      		xmlhttp.send(null);
    	}catch(l){
    		while(e.firstChild)e.removeChild(e.firstChild);//e.innerHTML="" the standard way
    		e.appendChild(document.createTextNode("request failed"));
  }
}

function response(url, e) {
  	if(xmlhttp.readyState != 4)return;
    	var tmp= (xmlhttp.status == 200 || xmlhttp.status == 0) ? xmlhttp.responseText : "Ooops!! A broken link! Please contact the webmaster of this website ASAP and give him the following error code: " + xmlhttp.status+" "+xmlhttp.statusText;
    	var d=document.createElement("div");
    	d.innerHTML=tmp;
    	setTimeout(function(){
      		while(e.firstChild)e.removeChild(e.firstChild);//e.innerHTML="" the standard way
      		e.appendChild(d);
    	},10)
}

function makeRequest(url, parameters) {
	http_request = false;
      	if (window.XMLHttpRequest) { // Mozilla, Safari,...
         		http_request = new XMLHttpRequest();
         		if (http_request.overrideMimeType) {
            		http_request.overrideMimeType('text/html');
         		}
      	}else if (window.ActiveXObject) { // IE
         		try {
            		http_request = new ActiveXObject("Msxml2.XMLHTTP");
         		} catch (e) {
            		try {
               			http_request = new ActiveXObject("Microsoft.XMLHTTP");
            		} catch (e) {}
         		}
      	}
      	
      	if (!http_request) {
         		alert('Cannot create XMLHTTP instance');
         		return false;
      	}
      	
      	if(please_wait) document.getElementById('myspan').innerHTML = please_wait;
      	http_request.onreadystatechange = alertContents;
      	http_request.open('GET', url + parameters, true);
      	http_request.send(null);
}

function alertContents() {
      	if (http_request.readyState == 4) {
      		//alert(http_request.responseText);
         		if (http_request.status == 200) {
            		//alert(http_request.responseText);
            		result = http_request.responseText;
            		document.getElementById('myspan').innerHTML = result;            
         		} else {
            		alert('There was a problem with the request.');            		
         		}
      	}
}

function get(obj,url) {
      	var getstr = "&";
      	for (i=0; i<obj.childNodes.length; i++) {
         		if (obj.childNodes[i].tagName == "INPUT") {
            		if (obj.childNodes[i].type == "text") {
               			getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
            		}
            		if (obj.childNodes[i].type == "checkbox") {
               			if (obj.childNodes[i].checked) {
                  				getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
               			} else {
                  				getstr += obj.childNodes[i].name + "=0&";
               			}
            		}
            		if (obj.childNodes[i].type == "radio") {
               			if (obj.childNodes[i].checked) {
                  				getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
               			}
            		}
            		if (obj.childNodes[i].type == "hidden") {
               			getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
            		}
            		if (obj.childNodes[i].type == "password") {
               			getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
            		}
            		if (obj.childNodes[i].type == "file") {
               			getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
            		}
         		}
         		
         		if (obj.childNodes[i].tagName == "TEXTAREA") {
            		getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
         		}
         		
         		if (obj.childNodes[i].tagName == "SELECT") {
            		var sel = obj.childNodes[i];            		
            		getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
         		}
      }
    //alert(getstr);
      makeRequest(url, getstr);
}

//BUAT COMBO BOX
function Select(url){
	if(xmlhttp.readyState == 4 || xmlhttp.readyState == 0){
		prop = encodeURIComponent(document.getElementById("propinsi").value);		
		if(please_wait) document.getElementById('mykab').innerHTML = "Please Wait.....";
		xmlhttp.open("GET", url + "&propinsi=" + prop,true);
		xmlhttp.onreadystatechange = handleServerResponse;
		xmlhttp.send(null);
	}else{
		setTimeout("Select('url')",1000);	
	}
}

function handleServerResponse(param){
	if (xmlhttp.readyState == 4) {
		if (xmlhttp.status == 200) {
			html = xmlhttp.responseText;
			document.getElementById('mykab').innerHTML = html;
		} else {
			alert('There was a problem with the request.');
		}
	}
}

//BUAT PETA
function minta(kd_kab) {
	if(xmlhttp.readyState == 4 || xmlhttp.readyState == 0){
     document.getElementById('mapResult').innerHTML = "<div align='center'><img src='images/popuploading.gif'></div>";
	 xmlhttp.open('GET', 'index.php?module=demografi&page=mapResult&kabkota=' + kd_kab);
	 idObj = 'mapResult';
     xmlhttp.onreadystatechange = terima;
     xmlhttp.send(null);
	 }else{
		setTimeout("minta('"+ kd_kab +"')",1000);	
	}
}
function terima() {
     if(xmlhttp.readyState==4){
          var dataTerima =xmlhttp.responseText;
          document.getElementById(idObj).innerHTML = dataTerima;
     }
}

//BUAT DELETE DATA
function deletedata(url){
	var agree=confirm("Anda yakin akan menghapus data ini ?");
	if(agree){
		makeRequest(url,"");
	}
}


//FUNGSI PENDUKUNG SAJA BUAT TAMBAH KECAMATAN
function kdkabhidden(kdkab){
	var obj = document.addkec;
	obj.idkab.value = kdkab.value;
	//alert(obj.idkab.value);
}
