
////////////////////////////////////////////////////////////////////////////
// GENERAL
////////////////////////////////////////////////////////////////////////////
var def_lang = "INA";

function getMsgBoxCaption(name,type,lang) {
	switch(name) {
		case "user": 
			if(lang == "ENG") caption = "Please input user name!"; 
			else caption = "Silakan input nama user!"; 
			break;
		case "password": 
			if(lang == "ENG") caption = "Please type your password!"; 
			else caption = "Silakan isi password Anda!"; 
			break;
		case "password_confirm": 
			if(lang == "ENG") caption = "Your password unmatch, please re-type your password to confirm!"; 
			else caption = "Password Anda tidak cocok, silakan isi password Anda untuk konfirmasi!"; 
			break;
		case "name": 
			if(lang == "ENG") caption = "Please input your name!"; 
			else caption = "Silakan input nama Anda!"; 
			break;
		case "email": 
			if(lang == "ENG") caption = "Please input your e-mail address!"; 
			else caption = "Silakan input e-mail Anda!"; 
			break;
		case "comment": 
			if(lang == "ENG") caption = "Please input your comment/messages!"; 
			else caption = "Silakan input komentar/pesan Anda!"; 
			break;
		case "province": 
			if(lang == "ENG") caption = "Please select your origin branch!"; 
			else caption = "Silakan pilih cabang asal Anda!"; 
			break;
		case "fullname": 
			if(lang == "ENG") caption = "Please input your fullname!"; 
			else caption = "Silakan input nama lengkap Anda!"; 
			break;
		case "pob": 
			if(lang == "ENG") caption = "Please input your place of birth!"; 
			else caption = "Silakan input tempat lahir Anda!"; 
			break;
		case "address": 
			if(lang == "ENG") caption = "Please input your address!"; 
			else caption = "Silakan input alamat Anda!"; 
			break;
		case "city": 
			if(lang == "ENG") caption = "Please select your city address!"; 
			else caption = "Silakan pilih kota domisili Anda!"; 
			break;
		case "phone": 
			if(lang == "ENG") caption = "Please input your phone number!"; 
			else caption = "Silakan input nomor telepon Anda!"; 
			break;
		case "hp": 
			if(lang == "ENG") caption = "Please input your mobile phone number!"; 
			else caption = "Silakan input nomor handphone Anda!"; 
			break;
		case "speciality": 
			if(lang == "ENG") caption = "Please select your speciality!"; 
			else caption = "Silakan pilih bidang keahlian Anda!"; 
			break;
		case "polling_opt": 
			if(lang == "ENG") caption = "Please choose your answer!"; 
			else caption = "Silakan pilih jawaban Anda!"; 
			break;
		case "title": 
			if(lang == "ENG") caption = "Please input magazine or newsletter title!"; 
			else caption = "Silakan input judul majalah atau surat kabar!"; 
			break;
		case "topic": 
			if(lang == "ENG") caption = "Please input topic title!"; 
			else caption = "Silakan input judul topik!"; 
			break;
		case "file_empty": 
			if(lang == "ENG") caption = "Please select file to upload!"; 
			else caption = "Silakan pilih file yang akan di-upload!"; 
			break;
		case "wrong_ext": 
			if(lang == "ENG") caption = "Please select pdf file!"; 
			else caption = "Silakan pilih file berekstensi pdf!"; 
			break;
		case "submit": 
			if(lang == "ENG") caption = "Submit data entry?"; 
			else caption = "Yakin data sudah benar?"; 
			break;
			
		case "delete": 
			if(lang == "ENG") caption = "Delete selected data?"; 
			else caption = "Hapus data?"; 
			break;
		case "task_1_force": 
			if(lang == "ENG") caption = "Please select task force from list!"; 
			else caption = "Silakan pilih program kerja dari list!"; 
			break;
		case "task_2_goal": 
			if(lang == "ENG") caption = "Please select goal from list!"; 
			else caption = "Silakan pilih tujuan dari list!"; 
			break;
		case "task_3_strategy": 
			if(lang == "ENG") caption = "Please select strategy from list!"; 
			else caption = "Silakan pilih strategi dari list!"; 
			break;
		case "task_4_outcome": 
			if(lang == "ENG") caption = "Please select outcome from list!"; 
			else caption = "Silakan pilih outcome dari list!"; 
			break;
		case "task_5_action_plan": 
			if(lang == "ENG") caption = "Please select action plan from list!"; 
			else caption = "Silakan pilih rencana pelaksanaan dari list!"; 
			break;
		case "task_5_action_plant_cont": 
			if(lang == "ENG") caption = "Please select action plan detail from list!"; 
			else caption = "Silakan pilih detil rencana pelaksanaan dari list!"; 
			break;

		case "task_eng": 
		case "task_ina": 
			if(lang == "ENG") caption = "Please input task force name!"; 
			else caption = "Silakan input nama program kerja!"; 
			break;
		case "goal_eng": 
		case "goal_ina": 
			if(lang == "ENG") caption = "Please input goal description!"; 
			else caption = "Silakan input deskripsi tujuan!"; 
			break;
		case "strategy_eng": 
		case "strategy_ina": 
			if(lang == "ENG") caption = "Please input strategy description!"; 
			else caption = "Silakan input deskripsi strategi!"; 
			break;
		case "outcome_eng": 
		case "outcome_ina": 
			if(lang == "ENG") caption = "Please input outcome description!"; 
			else caption = "Silakan input deskripsi outcome!"; 
			break;
		case "action_eng": 
		case "action_ina": 
			if(lang == "ENG") caption = "Please input action plan description!"; 
			else caption = "Silakan input deskripsi rencana pelaksanaan!"; 
			break;

		case "periode_1": 
		case "periode_2": 
			if(lang == "ENG") caption = "Please time periode!"; 
			else caption = "Silakan input perioda waktu!"; 
			break;
			
		case "task_id": 
			if(lang == "ENG") caption = "Please select task force!"; 
			else caption = "Silakan pilih program kerja!"; 
			break;
		case "goal_no": 
			if(lang == "ENG") caption = "Please select goal!"; 
			else caption = "Silakan pilih tujuan!"; 
			break;
		case "strategy_no": 
			if(lang == "ENG") caption = "Please select strategy!"; 
			else caption = "Silakan pilih strategi!"; 
			break;
		case "outcome_no": 
			if(lang == "ENG") caption = "Please select outcome!"; 
			else caption = "Silakan pilih outcome!"; 
			break;
		case "action_no": 
			if(lang == "ENG") caption = "Please select action plan!"; 
			else caption = "Silakan pilih rencana pelaksanaan!"; 
			break;
		case "action_year": 
			if(lang == "ENG") caption = "Please input action year according to periode of goal!"; 
			else caption = "Silakan input tahun pelaksanaan sesuai perioda tujuan!"; 
			break;
			
		case "activity_id": 
			if(lang == "ENG") caption = "Please select activity from list!"; 
			else caption = "Silakan pilih kegiatan dari list!"; 
			break;
		case "periode_type": 
			if(lang == "ENG") caption = "Please select periode type!"; 
			else caption = "Silakan pilih jenis perioda!"; 
			break;
		case "host": 
			if(lang == "ENG") caption = "Please input host!"; 
			else caption = "Silakan input penyelenggara kegiatan!"; 
			break;
		case "activity_nm": 
			if(lang == "ENG") caption = "Please input activity name!"; 
			else caption = "Silakan input nama kegiatan!"; 
			break;
		case "venue": 
			if(lang == "ENG") caption = "Please input activity venue!"; 
			else caption = "Silakan input tempat kegiatan!"; 
			break;
		case "contact": 
			if(lang == "ENG") caption = "Please input contact person!"; 
			else caption = "Silakan input contact person!"; 
			break;

		default: caption = "-??-"; break;
	}
	
	return caption;
}



////////////////////////////////////////////////////////////////////////////
// Form validation
////////////////////////////////////////////////////////////////////////////
function ViewPhotos(img) {
	self.name = 'main';
	var windowprops = 'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,copyhistory=0,width=800,height=600,left=0,top=0,screenX=0,screenY=0';
	OpenWindow = window.open('./view_photos.php?img='+ img, '', windowprops);
	OpenWindow.focus();
}

function ViewPhotosURL(imgPath,imgDesc) {
	var width = "800"; 
	var height = "600"; 
	var windowprops = 'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,copyhistory=0,width='+width+',height='+height+',left=0,top=0,screenX=0,screenY=0';
	var OpenWindow = window.open("view_photos_url.php?img="+imgPath+"&desc="+imgDesc, "", windowprops); 
	OpenWindow.focus();
}

function ValidForm(oForm,def_lang) {
	var valid = false;
	var msg = "";
	var confirm_submit = false;
	
	def_lang = def_lang.toUpperCase();
	if(oForm.name == "frm_login") {
		if(oForm.user.value == "") msg = getMsgBoxCaption("user",0,def_lang);
		else if(oForm.password.value == "") msg = getMsgBoxCaption("password",0,def_lang);
		else valid = true;
		
	} else if(oForm.name == "frm_contact") {
		if(oForm.contact_name.value == "") msg = getMsgBoxCaption("name",0,def_lang);
		else if(oForm.email.value == "") msg = getMsgBoxCaption("email",0,def_lang);
		else if(oForm.comment.value == "") msg = getMsgBoxCaption("comment",0,def_lang);
		else valid = true;
		
	} else if(oForm.name == "frm_polling") {
		var checked = false;
		
		for(var i=0; i<oForm.polling_opt.length; i++) { 
			if(oForm.polling_opt[i].checked == true) {
				checked = true;
				break;
			}
		}
		
		if(checked == false) msg = getMsgBoxCaption("polling_opt",0,def_lang);
		else valid = true;
		
	} else if(oForm.name == "frm_log_book") {
		if(oForm.log_name.value == "") msg = getMsgBoxCaption("name",0,def_lang);
		else if(oForm.email.value == "") msg = getMsgBoxCaption("email",0,def_lang);
		else valid = true;
		
		confirm_submit = true;
		
	} else if(oForm.name == "frm_upload") {
		var file_upload = oForm.file_upload.value;
		var file_ext = file_upload.substring(file_upload.length-3);
		
		if(oForm.title.value == "") msg = getMsgBoxCaption("title",0,def_lang);
		else if(file_upload == "") msg = getMsgBoxCaption("file_empty",0,def_lang);
		else if(file_ext != "pdf") msg = getMsgBoxCaption("wrong_ext",0,def_lang);
		else valid = true;
		
		confirm_submit = true;
		
		
	} else if(oForm.name == "frm_upload_info") {
		//var file_upload = "";
		//var file_ext = file_upload.substring(file_upload.length-3);
		//if(oForm.idSubmit.value == "Submit") file_upload = oForm.file_upload.value;
		
		if(oForm.title.value == "") msg = getMsgBoxCaption("topic",0,def_lang);
		else if(oForm.idSubmit.value == "Submit" && oForm.file_upload.value == "") msg = getMsgBoxCaption("file_empty",0,def_lang);
		//else if(file_ext != "pdf") msg = getMsgBoxCaption("wrong_ext",0,def_lang);
		else valid = true;
		
		confirm_submit = true;
		
	} else if(oForm.name == "frm_register") {
		if(oForm.province_id.value == "") msg = getMsgBoxCaption("province",0,def_lang);
		//else if(oForm.user_id.value == "") msg = getMsgBoxCaption("user",0,def_lang);
		else if(oForm.reg_name.value == "") msg = getMsgBoxCaption("name",0,def_lang);
		else if(oForm.title.value == "") msg = getMsgBoxCaption("fullname",0,def_lang);
		else if(oForm.pob.value == "") msg = getMsgBoxCaption("pob",0,def_lang);
		else if(oForm.address.value == "") msg = getMsgBoxCaption("address",0,def_lang);
		else if(oForm.city_id.value == "") msg = getMsgBoxCaption("city",0,def_lang);
		else if(oForm.phone_1.value == "") msg = getMsgBoxCaption("phone",0,def_lang);
		else if(oForm.hp.value == "") msg = getMsgBoxCaption("hp",0,def_lang);
		else if(oForm.email.value == "") msg = getMsgBoxCaption("email",0,def_lang);
		else if(oForm.speciality_id.value == "") msg = getMsgBoxCaption("speciality",0,def_lang);
		else if(oForm.reg_password.value == "") msg = getMsgBoxCaption("password",0,def_lang);
		else if(oForm.reg_password.value != oForm.reg_password_confirm.value) msg = getMsgBoxCaption("password_confirm",0,def_lang);
		else valid = true;
		
		confirm_submit = true;
		
	} else if(oForm.name.substr(0,8) == "frm_task") {
		valid = true;
		
		for(var i=0; i<oForm.elements.length; i++) { 
			var oName = oForm.elements[i].name;
			//alert(oName + oForm.elements[i].type);
			
			if((oForm.elements[i].type == "text" && oForm.elements[i].readOnly != true)
				|| (oForm.elements[i].type == "select-one" && oName.substring(5,9) != "list")) {
				
				if(oForm.elements[i].value == "" && oForm.elements[i].name != "collaborator" && oForm.elements[i].name != "indicator" && oForm.elements[i].name != "action_val") {
					msg = getMsgBoxCaption(oForm.elements[i].name,0,def_lang);
					valid = false;
					break;
				}
			}
		}
		
		confirm_submit = true;
		
	} else if(oForm.name == "frm_activities") {
		if(oForm.periode_type_id.value == "") msg = getMsgBoxCaption("periode_type",0,def_lang);
		else if(oForm.periode_1.value == "") msg = getMsgBoxCaption("periode_1",0,def_lang);
		else if(oForm.periode_2.value == "") msg = getMsgBoxCaption("periode_2",0,def_lang);
		else if(oForm.host.value == "") msg = getMsgBoxCaption("host",0,def_lang);
		else if(oForm.activity_nm.value == "") msg = getMsgBoxCaption("activity_nm",0,def_lang);
		else if(oForm.venue.value == "") msg = getMsgBoxCaption("venue",0,def_lang);
		else if(oForm.contact.value == "") msg = getMsgBoxCaption("contact",0,def_lang);
		else valid = true;
		
		confirm_submit = true;
		
	}

	
	if(valid == false) {
		alert(msg);
		return false;
	} else {
		if(confirm_submit == true) {
			msg = getMsgBoxCaption("submit",0,def_lang);
			if(confirm(msg) == 0) return false;
			else return true;
		} else {
			if(msg == "") return true;
		}
	}
}

function UpdateRenstra(task_type,mode,def_lang,target) {
	var oForm = document.forms['frm_'+task_type];
	var task_value = oForm.task_list.value;
	
	if(task_value == "") {
		alert(getMsgBoxCaption(task_type,0,def_lang));
		return false;
	} else {
		target += "&mode=" + mode; 
		if(mode == "delete") { 
			if(confirm(getMsgBoxCaption("delete",0,def_lang)) == 0) return false;
			else target += "&task_value=" + task_value;
		} else {
			var arr_task = task_value.split("-");
			if(arr_task[0] != undefined) target += "&task_id=" + arr_task[0];
			if(arr_task[1] != undefined) target += "&goal_no=" + arr_task[1];
			if(arr_task[2] != undefined) target += "&strategy_no=" + arr_task[2];
			if(arr_task[3] != undefined) target += "&outcome_no=" + arr_task[3];
			if(arr_task[4] != undefined) target += "&action_no=" + arr_task[4];
			if(arr_task[5] != undefined) target += "&action_year=" + arr_task[5];
			target += "#" + task_type;
		}
		//alert(target); return false;
		top.location = target;
	}
}

function UpdateActivity(form_nm,mode,def_lang,target) {
	var oForm = document.forms[form_nm];
	var activity_id = oForm.activity_list.value;
	
	if(activity_id == "") {
		alert(getMsgBoxCaption("activity_id",0,def_lang));
		return false;
	} else {
		target += "&mode=" + mode; 
		if(mode == "delete") { 
			if(confirm(getMsgBoxCaption("delete",0,def_lang)) == 0) return false;
			else target += "&activity_id=" + activity_id;
		} else {
			target += "&activity_id=" + activity_id + "#activities";
		}
		//alert(target); return false;
		top.location = target;
	}
}

function SearchContent(oForm) {
	//alert(document.frm_search.service[0].value);
	if(oForm.service[0].checked == true) {
		return true;
	} else {
		var oldq = oForm.query.value;
		var windowprops = 'toolbar=1,location=1,directories=1,status=1,menubar=1,scrollbars=1,resizable=1,width=800,height=600';
		var i, newq="";
		
		for(i=0; i<oldq.length; i++) {  // compress [ ]+ into +
			var thischar = oldq.charAt(i);
			if(thischar != ' ') newq += thischar;
			else if(lastchar != ' ') newq += '+';
			lastchar = thischar;
		}
		
		OpenWindow = window.open('http://www.google.com/search?q='+ newq, 'ContentSearch', windowprops);
		OpenWindow.focus();
		return false;
	}

}

function AddDays(val,oSource,oTarget) {
	arrTransDate = document.forms['form1'][oSource].value.split("-"); 
	iDay = parseInt(arrTransDate[0]);
	iMonth = parseInt(arrTransDate[1])-1;
	iYear = parseInt(arrTransDate[2]);

	var now=new Date(iYear,iMonth,iDay);
	var newdate=new Date();
	if(isNaN(val)) val = 0;
	var newtimems = now.getTime() + (val * 24 *60 * 60 * 1000);
	
	newdate.setTime(newtimems);
	CurYear = newdate.getYear(); //+1900;
	CurMonth = newdate.getMonth(newtimems)+1;
	if (CurMonth<10) CurMonth="0" + CurMonth;
	CurDay = newdate.getDate(newtimems);
	if (CurDay<10) CurDay="0" + CurDay;
	newdates = CurDay + '-' + CurMonth  + '-' + CurYear;
	
	document.forms['form1'][oTarget].value = newdates.toLocaleString();
}

////////////////////////////////////////////////////////////////////////////
// Format number, string, date, etc.
////////////////////////////////////////////////////////////////////////////
function FloatToGeneral(param,mode) {
	// param float format: separate decimal pk titik 
	// return general format: separate decimal pk koma
	if(mode == "ENG") param = param.toString();
	else param = param.toString().replace(/\$|\./g,',');
	
	return param;
}

function CurrencyToGeneral(param,mode) {
	// param currency format: separate thousand pk titik, separate decimal pk koma, 
	// return general format: separate decimal pk koma
	if(mode == "ENG") param = param.replace(/\$|\,/g,'');
	else param = param.replace(/\$|\./g,'').replace(/\,/g,'.');
	
	return param;
}

function RoundFloat(value,precision) {
	// param float atw general format: separate decimal pk titik, sesuai nilai aslinya!
	// return float format
	var pos,decimal,i,loop;
	value = value.toString();
	precision = 2; // skrg nih 2 digit di blkg koma ja dulu :p
	precision_plus = precision + 1;
	pos = value.search(/\./g) + 1; 
	if(pos == 0) {
		number = parseFloat(value);
		decimal = 0;
	} else {
		number = parseFloat(value.substr(0, pos));
	
		decimal = value.substr(pos, precision + 1);
		if(decimal.length < precision + 1) {
			loop = precision + 1 - decimal.length;
			for(i=1;i<=loop;i++) { decimal += "0"; }
		}
		decimal = parseFloat(decimal) / 10;
		decimal = Math.round(decimal) / Math.pow(10,precision); 
	}
	number += decimal; 
//	alert(number);

	return number;
}

function formatCurrency(num,mode) {
	if(mode == "ENG") { 
		separatorThousand = ","; separatorDecimal = "."; 
		num = num.toString().replace(/\,/g,'');
	} else { 
		separatorThousand = "."; separatorDecimal = ","; 
		num = num.toString().replace(/\$|\./g,'').replace(/\,/g,'.');
	}
	
	if(isNaN(num))
		num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
		cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+separatorThousand+
		num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + '' + num + separatorDecimal + cents);
}

function formatGeneralForCurrencyInput(num) {
	num = num.toString().replace(/\$|\./g,',');
	return num;
}

