//Create a boolean variable to check for a valid Internet Explorer instance.
var xmlhttp = false;
//Check if we are using IE.
try {
	//If the Javascript version is greater than 5.
	xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	//alert ("You are using Microsoft Internet Explorer.");
} catch (e) {
	//If not, then use the older active x object.
	try {
		//If we are using Internet Explorer.
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		//alert ("You are using Microsoft Internet Explorer");
	} catch (E) {
		//Else we must be using a non-IE browser.
		xmlhttp = false;
	}
}
//If we are using a non-IE browser, create a javascript instance of the object.
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
	xmlhttp = new XMLHttpRequest();
	//alert ("You are not using Microsoft Internet Explorer");
}
function makerequest(serverPage, objID, act) {
	var obj = document.getElementById(objID);
	xmlhttp.open("GET", serverPage);
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			var s = '';
			s = escape(xmlhttp.responseText);
			s = s.replace(/%0D/g, ' ');
			s = s.replace(/%0A/g, ' ');
			s = unescape(s);
			if(act.indexOf('newsms') != -1){
			   process_sms(s, objID);
			}
			if(act.indexOf('login') != -1){
			   process_auth(s, objID);
			}
			if(act.indexOf('agenda') != -1){
			   var obj2 = document.getElementById('list_more_agenda');
			   obj2.innerHTML = obj2.innerHTML + s;
			   obj.innerHTML =  '&nbsp;';
			}
			if(act.indexOf('cek_user') != -1){
				cek_user_process(s);
			}
			if(act.indexOf('save_opsi') != -1){
				save_opsi_process(s);
			}
			if(act.indexOf('delete_opsi') != -1){
				delete_opsi_process(s);
			}
		}else{
			//obj.innerHTML =  '<table style="text-align: left; width: 100%;" border="0" cellpadding="1" cellspacing="0"><tr><td> </td><td>Loading...</td></tr></table>';
			obj.innerHTML =  'Loading...';
		}
	}
	xmlhttp.send(null);
}

function process_auth(s, objID){
	// var obj = getObjectById(objID);

	doc = 'index';

	sl = 'LOGIN:OK:';
	if(s.indexOf(sl) != -1){
		s = s.substr(s.indexOf(sl) + sl.length);
		s = s.replace(/%0D/g, ' ');
		s = s.replace(/%0A/g, ' ');
		s = s.replace(/ /g, '');
		window.location.href = window.location.href;
	}
	
	sl = 'LOGIN:ERROR:';
	if(s.indexOf(sl) != -1){
		s = s.substr(s.indexOf(sl) + sl.length);
		s = s.replace(/%0D/g, ' ');
		s = s.replace(/%0A/g, ' ');
		// obj.innerHTML = '<font style="color: red; background-color: white; font-weight: bold;">' + s + '</font>';
		set_login_message(s, objID);
	}
}

function process_sms(s, objID){
	// var obj = getObjectById(objID);

	doc = 'index';

	sl = 'NEWSMS:OK:';
	if(s.indexOf(sl) != -1){
		s = s.substr(s.indexOf(sl) + sl.length);
		s = s.replace(/%0D/g, ' ');
		s = s.replace(/%0A/g, ' ');
		s = s.replace(/ /g, '');
		//window.location.href = window.location.href;
		set_message(s, objID);
	}
	
	sl = 'NEWSMS:ERROR:';
	if(s.indexOf(sl) != -1){
		s = s.substr(s.indexOf(sl) + sl.length);
		s = s.replace(/%0D/g, ' ');
		s = s.replace(/%0A/g, ' ');
		// obj.innerHTML = '<font style="color: red; background-color: white; font-weight: bold;">' + s + '</font>';
		set_message(s, objID);
	}
}

function getObjectById(id){
	return document.getElementById(id);
}

function cekSmsBaru(){
	var url = 'downloadsms.php';
	alert(url);
	makerequest(url, 'id_newsms', 'newsms');
	return false;
}

function login(){
	var username = getObjectById('username');
	var password = getObjectById('password');
	if(username.value == ''){
			username.focus();
			return false;
	}
	if(password.value == ''){
			password.focus();
			return false;
	}
	var url = 'index.popup.php?app=autentikasi&page=login&username=' + username.value + '&password=' + password.value;
	// alert(url);
	makerequest(url, 'id_login', 'login');
	return false;
}

function clear_html(id){
	var obj = document.getElementById(id);
	obj.innerHTML = "&nbsp;";
	return false;
}

function set_login_message(s, id){
	var o = getObjectById(id);
	o.innerHTML = s;
	o.style.visibility = 'visible';
}

function set_message(s, id){
	var o = getObjectById(id);
	o.innerHTML = s;
	o.style.visibility = 'visible';
}

function cek_user(username){
	// var target = 'http://localhost/kmhdi/inc/anggota/anggota.cekuser.php?username=' + username;
	if(username.value == ''){
		alert('Berikan satu username untuk dicek.');
		username.focus();
		return false;
	}
	var target = 'index.popup.php?app=user&page=cekuser&username=' + username.value;
	makerequest(target, 'id_cek_user', 'cek_user');
	return false;
}

function cek_user_process(s){
	getObjectById('id_cek_user').innerHTML = '<br /><a href="#" onclick="return clear_html(\'id_cek_user\');" title="Bersihkan informasi ini.">X</a> | ' + s + '<br /><br />';
}

function save_opsi(){
	// var target = 'http://localhost/kmhdi/inc/anggota/anggota.cekuser.php?username=' + username;
	var id = getObjectById('id');
	var content = getObjectById('opsi_content');
	var pilihan = getObjectById('pilihan');
	var posisi = getObjectById('posisi');
	if(pilihan.value == ''){
		alert('Berikan satu pilihan untuk dicek.');
		pilihan.focus();
		return false;
	}
	var target = 'index.popup.php?app=polling&page=iud&id=' + id.value + '&content=' + content.value + '&pilihan=' + pilihan.value + '&posisi=' + posisi.value;
	alert(target);
	makerequest(target, 'id_save_opsi', 'save_opsi');
	return false;
}

function save_opsi_process(s){
	alert(s);
	getObjectById('id_save_opsi').innerHTML = '<br /><a href="#" onclick="return clear_html(\'id_save_opsi\');" title="Bersihkan informasi ini.">X</a> | ' + s + '<br /><br />';
	window.location.href = window.location.href;
}

function delete_opsi(id){
	// var target = 'http://localhost/kmhdi/inc/anggota/anggota.cekuser.php?username=' + username;
	if(id == ''){
		alert('Berikan satu id untuk dihapus.');
		return false;
	}
	var target = 'index.popup.php?app=polling&page=iud&id=' + id + '&act=delete';
	alert(target);
	makerequest(target, 'id_save_opsi', 'delete_opsi');
	return false;
}

function delete_opsi_process(s){
	alert(s);
	getObjectById('id_save_opsi').innerHTML = '<br /><a href="#" onclick="return clear_html(\'id_save_opsi\');" title="Bersihkan informasi ini.">X</a> | ' + s + '<br /><br />';
	window.location = window.location.href;
}

function edit_opsi(id, pilihan, posisi){
	var oid = getObjectById('id');
	var opilihan = getObjectById('pilihan');
	var oposisi = getObjectById('posisi');
	
	oid.value = id;
	opilihan.value = pilihan;
	oposisi.value = posisi;
	
	return false;
}

// serverPage: alamat tujuan
// info: untuk status request
// view: untuk hasil request
// act: untuk memberikan nama event ini
function ajaxrequest(serverPage, info, view, act) {
	var obj = document.getElementById(info);
	xmlhttp.open("GET", serverPage);
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			var s = '';
			s = escape(xmlhttp.responseText);
			s = s.replace(/%0D/g, ' ');
			s = s.replace(/%0A/g, ' ');
			s = unescape(s);
			if(act.indexOf('agenda') != -1){
			   var obj2 = document.getElementById('list_more_agenda');
			   obj2.innerHTML = obj2.innerHTML + s;
			   obj.innerHTML =  '&nbsp;';
			}else{
			   var obj2 = document.getElementById(view);
			   obj2.innerHTML = obj2.innerHTML + s;
			   obj.innerHTML =  '&nbsp;';
			}
		}else{
			obj.innerHTML =  'Loading...';
		}
	}
	xmlhttp.send(null);
}

// http://www.quirksmode.org/js/associative.html
// 2:02 PM Wednesday, October 14, 2009
function ajaxrequest2(serverPage, funcname) {
	try{
	xmlhttp.namafunc = funcname;
	xmlhttp.open("GET", serverPage);
	xmlhttp.onreadystatechange = function(funcname) {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			var s = '';
			s = escape(xmlhttp.responseText);
			s = s.replace(/%0D/g, ' ');
			s = s.replace(/%0A/g, ' ');
			s = unescape(s);
			if(this.namafunc != null){
				this.namafunc(s);
			}
		}
	}
	xmlhttp.send(null);
	}catch(err){
	}
}

function load_more(list, page){
	var url = 'index.popup.php?app=notifier&page=view&list=' + list + '&p=' + page;
	// alert(url);
	ajaxrequest(url, 'info_more_' + list, 'list_more_' + list, list);
	return false;
}

function load_more_comments(list, page, type, id){
	var url = 'index.popup.php?app=komentar&page=list.more&tipeinfo=' + type + '&idinfo=' + id + '&p=' + page;
	// alert(url);
	ajaxrequest(url, 'info_' + list, 'ls_' + list, list);
	return false;
}

function load_more_pictures(list, page, id){
	var url = 'index.popup.php?app=gallery&page=browse.more&aid=' + id + '&p=' + page;
	// alert(url);
	ajaxrequest(url, 'info_' + list, 'ls_' + list, list);
	return false;
}

// 7:59 AM Friday, October 23, 2009
function load_more_gallery(list, item, page){
	var url = 'index.popup.php?app=notifier&page=view.gallery&item=' + item + '&list=' + list + '&p=' + page;
	// alert(url);
	ajaxrequest(url, 'info_more_' + list, 'list_more_' + list, list);
	return false;
}

// 7:59 AM Friday, October 23, 2009
function load_more_albums(list, page, type, id){
	var url = 'index.popup.php?app=gallery_album&page=browse.more.album&tipeinfo=' + type + '&idinfo=' + id + '&p=' + page;
	// alert(url);
	ajaxrequest(url, 'info_' + list, 'ls_' + list, list);
	return false;
}

