/*
###########################################################################
File main.js terdiri dari :
- KOLEKSI ELEMEN
- FUNGSI-FUNGSI UTAMA
- FUNGSI-FUNGSI YANG MENGATUR LAYOUT
- FUNGSI MENU UTAMA
- FUNGSI LANTAI
- FUNGSI MENU MODUL
- FUNGSI MENU LOADING
- FUNGSI TABLE
- FUNGSI TAB
- FUNGSI LAIN-LAIN

###########################################################################
*/

// ########################################################################
// KOLEKSI ELEMEN

var divcoll = document.getElementsByTagName("div");

// ########################################################################
// FUNGSI-FUNGSI UTAMA

function initKerangka() {


		//cek ada modul?
		if (xGetElementById("modul")) {
			var imgModul = document.createElement("img")
			imgModul.src = "/_images/modul_shadow.png"
			imgModul.className = "modulShadow"
			xGetElementById("modul").appendChild(imgModul)
		}

		adjustLayoutKerangka()

		if (xGetElementById("loading")) {
			xGetElementById("loading").style.visibility="hidden"
		}

		document.body.style.visibility = "visible"

}

		
function note(comment) {
		var oDiv = document.createElement("div")
		oDiv.className = "note"
		oDiv.innerHTML = comment

		document.body.appendChild(oDiv)

		if(xGetElementsByClassName("note").length > 1){
			
			var editHeight = 0

			for (var i=1;i < xGetElementsByClassName("note").length;i++ )
			{
				xGetElementsByClassName("note")[i].style.top = xTop(xGetElementsByClassName("note")[i-1]) + xHeight(xGetElementsByClassName("note")[i-1])
			}


		}
}


function frmIsiUtamaUnload(){
		var loading = window.top.xGetElementById("loading")
		var frm

		if (window.parent.xGetElementsByTagName("IFRAME")[0])
		{
			frm = window.parent.xGetElementsByTagName("IFRAME")[0]
		}else{
			frm = document
		}

		var widthtambah = 0;
		var heighttambah = 0;

		if (window.parent.xGetElementById("tab"))
		{
			widthtambah = 160;
			heighttambah = 76;
		}

		loading.style.width = "150px";
		loading.style.height = "150px";
		loading.style.border = "1px solid gray";
		
		loading.style.top = frm.offsetTop + heighttambah + (Math.round(frm.offsetHeight/2)-75) + "px";
		loading.style.left = frm.offsetLeft +  widthtambah + (Math.round(frm.offsetWidth/2)-75) + "px";
		loading.style.visibility="visible";
}

function frmIsiUtamaLoad(){
		var loading = window.top.xGetElementById("loading")

		loading.style.visibility="hidden";
}

function initHalaman() {

		//document.body.style.visibility = "visible"
	
		//cek ada tab dan isiatas?
		if (xGetElementById("tab")) {
			if (!xGetElementById("isiAtas"))
			{
				xGetElementById("tab").style.paddingTop="10px"
			}
			tabBegin()
		}

		//cek ada isiDataFoto && isiDataPokok?
		if (xGetElementById("isiDataFoto") && xGetElementById("isiDataPokok")) {
			xHeight("isiDataFoto",xHeight("isiDataPokok"))
		}

		//cek ada modul?
		if (xGetElementById("modul")) {
			var imgModul = document.createElement("img")
			imgModul.src = "/_images/modul_shadow.png"
			imgModul.className = "modulShadow"
			xGetElementById("modul").appendChild(imgModul)
		}


		//cek ada window.opener?
		if (xGetElementById("isiDataInputPop")) {
			if (window.opener) {

				var oDiv = document.createElement("div")
				oDiv.className = "spaceIsiDataInput"
				xGetElementById("isiDataInputPop").parentNode.insertBefore(oDiv,isiDataInputPop)
				
				//var tdcoll = xGetElementsByTagName("tr")[0].xGetElementsByTagName("td")
				var tdcoll = xGetElementsByTagName("td",xGetElementsByTagName("tr")[0])

				for (var i=0;i<tdcoll.length ;i++ )
				{
					tdcoll[i].style.borderTopWidth="0"
				}

				if(xGetElementsByClassName("tdIsi")){
				xGetElementsByClassName("tdIsi")[xGetElementsByClassName("tdIsi").length-1].style.paddingBottom="20px"
				}

				var isiDataInputPopHeight
				
				var isiDataInputPopHeight = xHeight("isiDataInputPop")
				var isiDataInputPopWidth = xWidth("isiDataInputPop")

				var barJudulHeight = xHeight("barJudul")
				var halamanHeight = isiDataInputPopHeight + barJudulHeight + 51

				var suggestWidth = 850;
				
				if (halamanHeight < 384) {
					suggestWidth = 548
				}else if (halamanHeight > 384 && halamanHeight < 480){ 
					suggestWidth = 676
				}else if (halamanHeight > 480 && halamanHeight < 600){
					suggestWidth = 754
				}


				if (halamanHeight > 600) {
					halamanHeight = 600
				}


				if(xGetElementsByClassName("kalender").length){
					suggestWidth = suggestWidth + 16

					var lastKalender = xGetElementsByClassName("kalender")[xGetElementsByClassName("kalender").length-1]
					var lastKalenderTop = lastKalender.parentNode.offsetTop+36

					var kB = (isiDataInputPopHeight + barJudulHeight) - lastKalenderTop

					if (kB < 80)
					{
						halamanHeight = (isiDataInputPopHeight + barJudulHeight) + 80
						if (halamanHeight > 600) {
							halamanHeight = 600}
						if(xGetElementsByClassName("tdIsi")){
						xGetElementsByClassName("tdIsi")[xGetElementsByClassName("tdIsi").length-1].style.paddingBottom="49px"
						}
					}
				}

				window.resizeTo(suggestWidth,halamanHeight)
				window.moveTo(((screen.availWidth/2)-(suggestWidth/2)),((screen.availHeight/2)-(halamanHeight/2)))

			}
		}


		//cek ada isiMulti?
		if (xGetElementById("isiMulti")) {
			isiMultiCek()

			var isiMultiColl = xGetElementsByAttribute("div","id","isiMulti")

			for (var i=0; i<isiMultiColl.length; i++)
			{
				if (isiMultiColl[i].style.display == "inline")
				{
					xGetElementById("barJudul").innerText = isiMultiColl[i].title

				}
			}
		}


		//cek ada kotakInfo?
		if (xGetElementById("kotakInfo")) {
			kotakInfo()
		}
	
	
		//cek ada div Kanan ?
		if (xGetElementById("kanan")) {
			addSpacerKanan()
		}
		

		adjustLayoutHalaman()

		if (window.top.xGetElementById("loading"))
		{
			xAddEventListener(window, 'load', frmIsiUtamaLoad);
			xAddEventListener(window, 'unload', frmIsiUtamaUnload);
		}


		//cek ada table tbl ?
		if (xGetElementById("tbl") || xGetElementById("tblmulti") || xGetElementById("detTrans")) {
			stripe("#FFFFFF","#ECF7E9")
			xAddEventListener(document, 'mouseover', test, false);

		}

		//cek ada table isiData atau isiInput ?
		if (xGetElementById("isiData") || xGetElementById("isiInput")) {
			//tdpart()
		}

		if (xGetElementById("loading")) {
			xGetElementById("loading").style.visibility="hidden"
		}

		//cek ada isiAtasKiri dan isiAtasKanan
		if (xGetElementById("isiAtasKiri") && xGetElementById("isiAtasKanan")) {
			
				aturHeightIsiAtas()
/*
				for (var i=0; i < getElementsByTagName("select").length;i++ )
				{
					xAddEventListener(getElementsByTagName("select")[i], "onchange", aturHeightIsiAtas);
				}
*/
		}
		
		document.body.style.visibility = "visible"
}


// ########################################################################
// FUNGSI-FUNGSI YANG MENGATUR LAYOUT

function adjustLayoutKerangka() {
	
		var headerHeight = 67;
		var adjFrmMenu = 2;
		var menuWidth = 167;
		
		var windowHeight = xClientHeight();
		var windowWidth = xClientWidth();
		var isiUtamaHeight;
		var kananBawahHeight= xHeight("isiKiriBawah");
		
		if(xMoz){
			headerHeight = headerHeight + 17;
			adjFrmMenu = adjFrmMenu - 5;
		}else{
			headerHeight = headerHeight + 15;
		}
		
		isiUtamaHeight = windowHeight-headerHeight;
		
		xHeight("frmIsiUtama",isiUtamaHeight)
		xWidth("frmIsiUtama",windowWidth-menuWidth)
		xHeight("frmMenu",isiUtamaHeight-kananBawahHeight+adjFrmMenu)
}
		
function adjustLayoutHalaman() {

		var windowHeight = xClientHeight();
		var windowWidth = xClientWidth();
		var isiAtasHeight = 0; //initial value buat isiAtas
		var isiFooterHeight = 0; //initial value buat isiFooter
		var tabHeight = 0; //initial value buat tab
		var actBarHeight = 0;
		var isiGedungFooterHeight = 0;
		var barJudulHeight = 0;
		var isiAtasGedungHeight = 0;
		var isiFooterInputHeight = 0;
		var isiInfoHeight = 0;
		var isiMultiHeight = 0;
		var kepalaHeight = 0;
		var modulHeight = 0;
		var isiAtasHeight2 = 0;
		var itemTitle2Height = 0;



		//cek ada kepala ?
		if (xGetElementById("kepala")) {
			kepalaHeight = xHeight("kepala")
		}

		//cek ada modul ?
		if (xGetElementById("modul")) {
			modulHeight = xHeight("modul")
		}


		//cek ada barJudul ?
		if (xGetElementById("barJudul")) {
			barJudulHeight = xHeight("barJudul")
		}
		
		//cek ada isiAtas ?
		if (xGetElementById("isiAtas")) {
			isiAtasHeight = xHeight("isiAtas")
		}

		//cek ada isiAtas2 ?
		if (xGetElementById("isiAtas2")) {
			isiAtasHeight2 = xHeight("isiAtas2")
		}
		
		//cek ada isiFooter ?
		if (xGetElementById("isiFooter")) {
			isiFooterHeight = xHeight("isiFooter")
		}
		
		//cek ada isiFooterInput ?
		if (xGetElementById("isiFooterInput")) {
			isiFooterInputHeight = xHeight("isiFooterInput")
		}

		//cek ada tab ?
		if (xGetElementById("tab")) {
			tabHeight = xHeight("tab")
		}

		//cek ada actBar ?
		if (xGetElementById("actBar")) {
			actBarHeight = xHeight("actBar")
		}

		//cek ada isiAtasGedung ?
		if (xGetElementById("isiAtasGedung")) {
			isiAtasGedungHeight = xHeight("isiAtasGedung")
		}

		//cek ada isiGedungFooter ?
		if (xGetElementById("isiGedungFooter")) {
			isiGedungFooterHeight = xHeight("isiGedungFooter")
		}

		//cek ada isiGedungFooter ?
		if (xGetElementById("isiInfo")) {
			isiInfoHeight = xHeight("isiInfo")
		}


		//cek ada itemTitle2 ?
		if (xGetElementById("itemTitle2")) {
			itemTitle2Height = xHeight("itemTitle2")
		}

		
		var nonIsiHeight = barJudulHeight+isiAtasHeight+isiFooterHeight+tabHeight+actBarHeight+isiGedungFooterHeight+isiAtasGedungHeight+isiFooterInputHeight+isiInfoHeight+isiMultiHeight+kepalaHeight+modulHeight+isiAtasHeight2+itemTitle2Height
			
		//cek ada isi ?
		if (xGetElementById("isi")) {
			xHeight("isi",windowHeight-nonIsiHeight)
		}

		//cek ada isiGedung ?
		if (xGetElementById("isiGedung")) {
			xHeight("isiGedung",windowHeight-nonIsiHeight)
		}

		//cek ada isiMulti ?
		if (xGetElementById("isiMulti")) {


			var isiMultiColl = xGetElementsByAttribute("div","id","isiMulti")

			for (var i=0; i<isiMultiColl.length; i++)
			{
				xHeight(isiMultiColl[i],windowHeight-nonIsiHeight)
			}

		}
		
		//cek ada frmIsiTab ?
		if (xGetElementById("frmIsiTab")) {
			if(xMoz){
				nonIsiHeight=nonIsiHeight+18
				}
			xHeight("frmIsiTab",windowHeight-nonIsiHeight-3)
		}

		//cek ada frmGedung2 ?
		if (xGetElementById("frmGedung2")) {

			var frmGedungWidth2 = xWidth("frmGedung2")

			if(xMoz){
				nonIsiHeight=nonIsiHeight+18
				}

			xHeight("frmGedung2",windowHeight-nonIsiHeight-16)

			if (xGetElementById("frmGedungInfo2")) {
				xHeight("frmGedungInfo2",windowHeight-nonIsiHeight-16)
				xWidth("frmGedungInfo2",windowWidth-frmGedungWidth2-20)
				}
		}

		//cek ada frmGedung ?
		if (xGetElementById("frmGedung")) {

			var frmGedungWidth = xWidth("frmGedung")
			var gedungPartWidth = xWidth("gedungPart")

			if(xMoz){
				nonIsiHeight=nonIsiHeight+18
				}

			xHeight("frmGedung",windowHeight-nonIsiHeight)

			if (xGetElementById("frmGedungInfo")) {
				xHeight("frmGedungInfo",windowHeight-nonIsiHeight)
				xWidth("frmGedungInfo",windowWidth-frmGedungWidth-gedungPartWidth)
				}
		}

		//cek ada table tbl ?
		if (xGetElementById("tbl")) {
			tblFootDisp()
		}

		if (xGetElementById("loginPage") && xGetElementById("loginBox") && xGetElementById("loginPageBorder"))
		{
			xHeight("loginPage",windowHeight-nonIsiHeight)
			xLeft("loginPage",windowWidth - xWidth("loginPage"))
			xTop("loginBox", ((windowHeight-nonIsiHeight)/2 - xHeight("loginBox")/2)-70)
			xHeight("loginPageBorder",windowHeight-nonIsiHeight)
			xLeft("loginError",xLeft("loginPage")+10)
			xTop("loginError",xTop("loginBox")+34)
			
			if (xGetElementById("isiLoginError").innerText != "")
			{
				xGetElementById("loginError").style.visibility = "visible"
			}
			
		}

		if(xGetElementById("inputFields")){
			xHeight("isi",windowHeight-nonIsiHeight)
		}
}

function addSpacerKanan() {
	
	for(i=0;i<divcoll.length;i++){
		if (divcoll[i].id=="kanan") {
			addSpacerDiv(i)
		}
	}
}

function addSpacerDiv(ke) {
	var divSpacer = document.createElement("div");
	divSpacer.className = "spacer";
	
	divcoll[ke].parentNode.appendChild(divSpacer);
}

	
function aturHeightIsiAtas(){
		xHeight(xGetElementById("isiAtasKanan"), xHeight(xGetElementById("isiAtasKiri")))
		//xHeight(xGetElementById("isiAtasKiri"), xHeight(xGetElementById("isiAtasKanan")))
}

// ########################################################################
// FUNGSI MENU UTAMA
var pastMenuOrtu
var pastmenuAnak

function menuCollapse(evt)
{		
	var e = new xEvent(evt);
	var siElem = e.target;

	if (siElem.tagName == "A")
	{
	
		if (siElem.className=="menuOrtuExp")
		{
			siElem.parentNode.childNodes[2].className = "menuAnak"
			siElem.className="menuOrtu"
			pastMenuOrtu = false
			pastmenuAnak = false
		}else if(siElem.className=="menuOrtu"){
			menuReset(siElem)
		}else{

			if (xGetElementsByClassName("menuAktif").length)
			{
				xGetElementsByClassName("menuAktif")[0].className = ""
			}
			
			siElem.className = "menuAktif"
		}
	}


}

function menuReset(siElem)
{
	if(pastMenuOrtu){
		pastMenuOrtu.className = "menuOrtu"
		}
	if(pastmenuAnak){
		pastmenuAnak.className = "menuAnak"
		}

	siElem.parentNode.childNodes[2].className = "menuAnakOn"
	siElem.className = "menuOrtuExp"


	pastMenuOrtu = siElem
	pastmenuAnak = siElem.parentNode.childNodes[2]
}


// ########################################################################
// FUNGSI LANTAI


function lantai() {


}

// ########################################################################
// FUNGSI MENU MODUL

function menuModulClick(evt)
{
	var e = new xEvent(evt);
	var siElem = e.target;
	var acoll = document.getElementsByTagName("a");
	var i;

	if (((siElem.className=="aModul") || (siElem.parentNode.className=="aModul")) && ((siElem.parentNode.id=="kiri") || (siElem.parentNode.parentNode.id=="kiri"))) {
		for(i=0;i<acoll.length;i++){
			if (acoll[i].className=='aModulOn') {
			acoll[i].className='aModul';
			}	
		}
        
        if (siElem.className=="aModul") {
			siElem.className="aModulOn"

			}
        if (siElem.parentNode.className=="aModul") {
			siElem.parentNode.className="aModulOn"

			}
	
	}
	
	return true;
}

// ########################################################################
// FUNGSI LOADING

function pageisloaded()
{
	xHide("loadingpage");
	xShow("loadedpage");
}

// ########################################################################
// FUNGSI TAB

function kotakInfo() {

	var kicoll = xGetElementsByAttribute("div","id","kotakInfo");
	var i;
	var divInfo;
	var divInfoTitle;

	for(i=0;i<kicoll.length;i++){

		divInfo = kicoll[i].lastChild.nodeValue
		divInfoTitle = kicoll[i].title
		
		kicoll[i].removeChild(kicoll[i].lastChild)

		var divElem = document.createElement("div")
		divElem.className = "kotakInfoTitle"
		divElem.innerHTML = divInfoTitle

		kicoll[i].appendChild(divElem)

		var divElem = document.createElement("div")
		divElem.className = "kotakInfoIsi"
		divElem.innerHTML = divInfo

		kicoll[i].appendChild(divElem)
		
	}

}



function tabAktif(evt) {

	var e = new xEvent(evt);
	var siElem = e.target;
	var acoll = xGetElementById("tab").getElementsByTagName("a");
	var i;

	if(siElem.tagName=="A"){
		for(i=0;i<acoll.length;i++){
			acoll[i].className='tabOff';
		}
		siElem.className="tabAktif"
	}

	tabBegin()

}

function tabBegin() {
	var tabaktif = xGetElementsByClassName("tabAktif");
	var licoll = document.getElementsByTagName("li");
	var i;

	for(i=0;i<licoll.length;i++){
		licoll[i].className = ""
	}

	tabaktif[0].parentNode.className = "liAktif"
	if (tabaktif[0].parentNode.previousSibling){
		tabaktif[0].parentNode.previousSibling.getElementsByTagName("a")[0].className = "liPrevAktif"
		}

}


// ########################################################################
// FUNGSI ISIMULTI

function isiMulti(where){


	//cek ada isiMulti ?
	if (xGetElementById("isiMulti")) {

		var isiMultiColl = xGetElementsByAttribute("div","id","isiMulti")

		for (var i=0; i<isiMultiColl.length; i++)
		{
			if (isiMultiColl[i].style.display == "inline")
			{
				isiMultiColl[i].style.display = "none"

				if (where=="kembali"){
					isiMultiColl[i-1].style.display = "inline"
					xGetElementById("barJudul").innerText = isiMultiColl[i-1].title
					}
				if (where=="berikut"){
					isiMultiColl[i+1].style.display = "inline"
					xGetElementById("barJudul").innerText = isiMultiColl[i+1].title
					}
				break
			}
		}

		isiMultiCek()
	}

}


function isiMultiCek(){

	if(xGetElementById("actButtonKembali") && xGetElementById("actButtonBerikut")){

		var isiMultiColl = xGetElementsByAttribute("div","id","isiMulti")

		if (isiMultiColl[0].style.display == "inline"){
			xGetElementById("actButtonKembali").disabled = true
			xGetElementById("actButtonBerikut").disabled = false
			xGetElementById("actButtonSubmit").disabled = true
		}else if(isiMultiColl[isiMultiColl.length-1].style.display == "inline"){
			xGetElementById("actButtonKembali").disabled = false
			xGetElementById("actButtonBerikut").disabled = true
			xGetElementById("actButtonSubmit").disabled = false
		}else{
			xGetElementById("actButtonKembali").disabled = false
			xGetElementById("actButtonBerikut").disabled = false
			xGetElementById("actButtonSubmit").disabled = true
		}
	}else{
		note("Tidak ada id='actButtonKembali' dan/atau id='actButtonBerikut' ")
	}

}

// ########################################################################
// FUNGSI TABLE

function test(evt) {

	var e = new xEvent(evt);
	var siElem = e.target;

	//siElem.parentNode.style.backgroundColor = "#FFFFEB";
}


function hasClass(obj) {
	var result = false;
	if (obj.getAttributeNode("class") != null) {
	 result = obj.getAttributeNode("class").value;
	}
	return result;
}   

function stripe(ev,od) {
	var tblcoll = document.getElementsByTagName("table");
	var i;

	for(i=0; i < tblcoll.length; i++){

		if ((tblcoll[i].id=="tblMulti")||(tblcoll[i].id=="tbl")||(tblcoll[i].id=="detTrans")){
			stripeMore(tblcoll[i],ev,od)
		}
	}
}

function stripeMore(tbl,ev,od) {

	var even = false;
	var evenColor = arguments[1] ? arguments[1] : "#fff";
	var oddColor = arguments[2] ? arguments[2] : "#eee";

	var table = tbl;
	var tbodies = table.getElementsByTagName("tbody");
	
	for (var h = 0; h < tbodies.length; h++) {
		var trs = tbodies[h].getElementsByTagName("tr");
		
		for (var i = 0; i < trs.length; i++) {
			
			var mytr = trs[i];
			if (! hasClass(mytr) && ! mytr.style.backgroundColor) {
					mytr.style.backgroundColor = even ? evenColor : oddColor;
			}
			even =  ! even;
		}
	}

}

function tblFootDisp() {
	
	var isiStyle = xGetElementById("isi").style
	var tBodyHeight = xHeight("tblBody")
	var tBodyWidth = xWidth("tblBody")
	var isiHeight = xHeight("isi")
	var isiWidth = xWidth("isi")
	var tbl = xGetElementById("tbl")

	if (tBodyHeight >= isiHeight) {
		if(xGetElementById("tblTFoot")) {
			var tblLast = tbl.lastChild
			tbl.removeChild(tblLast)
		}
	}else{
		if(! xGetElementById("tblTFoot") && ((isiHeight-tBodyHeight) > 15)) {
		
			var tblFoot = document.createElement("tfoot")
			tblFoot.id = "tblTFoot"
			tblFoot.appendChild(document.createElement("tr"))
			
			if(xMoz){
				var trHeadColl = tbl.childNodes[1].getElementsByTagName("tr")
			}else{
				var trHeadColl = tbl.childNodes[0].getElementsByTagName("tr")
			}
			
			var thHeadColl = trHeadColl[0].getElementsByTagName("th")
			
			var spanColl = 0

			for (var b=0; b < thHeadColl.length; b++)
			{
				spanColl = spanColl + parseInt(thHeadColl[b].colSpan)
			}

			
			
			for(var i=0; i<spanColl;i++){
				tblFoot.childNodes[0].appendChild(document.createElement("td"))
				tblFoot.childNodes[0].lastChild.innerHTML = "&nbsp;"
			}
			
			tbl.appendChild(tblFoot);
		
		}
	}
	
	if (tBodyHeight >= isiHeight) {
		isiStyle.overflowY="auto"
		
		if(tBodyWidth >= isiWidth) {
			isiStyle.overflow="auto"
		}
		
	}else{
		isiStyle.overflowY="hidden"
		
		if((tBodyWidth >= isiWidth) || (! xGetElementById("tblBody").innerHTML)) {
			isiStyle.overflowX="auto"
		}else{
			isiStyle.overflow="hidden"
		}
		
	}
	
	
}

function tdpart() {

	if (xGetElementsByTagName("tbody")) {
		var tbodycoll = xGetElementsByTagName("tbody")
		
		for (var i=0 ; i < tbodycoll.length ; i++)
		{
			var oTr = document.createElement("tr")
			oTr.innerHTML = "<td class='tdPart'>&nbsp;</td><td class='tdPart'>&nbsp;</td>"

			alert(tbodycoll[i].nextSibling.tagName)

		}
	}

}




// ########################################################################
// FUNGSI LAIN-LAIN
function aPop(nama,lebarnya,tingginya) {
	aPopFunc(nama,lebarnya,tingginya);
	return false;
}

function aPopFunc(nama,lebarnya,tingginya){
	var genNama=new Date(); //generate buat nama window
	genNama=Date.parse(genNama);

	var nama = arguments[0] ? arguments[0] : genNama;
	var lebar = arguments[1] ? arguments[1] : "640";
	var tinggi = arguments[2] ? arguments[2] : "480";
	var left = (screen.availWidth/2)-(lebar/2)
	var top = (screen.availHeight/2)-(tinggi/2)
	var url = this.href
	
	window.open(url,nama,"copyhistory=no,status=no,resizable=yes,toolbar=no,location=no,width="+lebar+",height="+tinggi+",left="+left+",top="+top);
}






function openPop(url,lebar,tinggi) {
	var winNama=new Date(); //generate buat nama window
	winNama=Date.parse(winNama);
	
	var left = (screen.availWidth/2)-(lebar/2)
	var top = (screen.availHeight/2)-(tinggi/2)
	
	window.open(url,winNama,"copyhistory=no,status=no,resizable=yes,toolbar=no,location=no,width="+lebar+",height="+tinggi+",left="+left+",top="+top);
}

function openPop2(url,nama,lebar,tinggi) {
	var winNama=new Date(); //generate buat nama window
	winNama=nama;
	
	var left = (screen.availWidth/2)-(lebar/2)
	var top = (screen.availHeight/2)-(tinggi/2)
	
	window.open(url,winNama,"copyhistory=no,status=no,resizable=yes,toolbar=yes,location=no,width="+lebar+",height="+tinggi+",left="+left+",top="+top);
}

// fungsi ini untuk buka laporan loch...
function openPopLaporan(targetWindow) {
	var theWidth = 830;
	var theHeight = 500;
	var left = (screen.availWidth/2)-(theWidth/2);
	var top = (screen.availHeight/2)-(theHeight/2);
	window.open('about:blank',targetWindow,'copyhistory=no,status=no,resizable=yes,toolbar=yes,location=no,width=830,height=487,left='+left+',top='+top);
}


var checkflag = false;

function check_semua(field,kirim) {
if (kirim == undefined){
	//checkflag = false;
}
else{
	//alert(kirim);
	checkflag = !kirim;
}

//alert(field.length);
if(field.length){
if (checkflag == false) {
for (i = 0; i < field.length; i++) {
field[i].checked = true;}
checkflag = true;
return "Uncheck All"; }
else {
for (i = 0; i < field.length; i++) {
field[i].checked = false; }
checkflag = false;
return "Check All"; }
}
else{
if (checkflag == false) {
field.checked = true;
checkflag = true;
return "Uncheck All"; }
else {
field.checked = false; 
checkflag = false;
return "Check All"; }
}

}

function formatCurrency(num) {
	num = num.toString().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))+'.'+ num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + 'Rp ' + num + ',' + cents);
}

function formatUang(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
		num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	num = Math.floor(num/100).toString();
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
			num = num.substring(0,num.length-(4*i+3))+'.'+ num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + num);
}

// ########################################
var req;
var grafikSkala = 210
function loadXMLDoc(url) 
{
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChange;
        req.open("GET", url, true);
        req.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = processReqChange;
            req.open("GET", url, true);
            req.send();
        }
    }
}

function processReqChange() 
{
    // only if req shows "complete"
    if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
            // ...processing statements go here...
			response  = req.responseXML.documentElement;
			method    = response.getElementsByTagName('method')[0].firstChild.data;
			result    = response.getElementsByTagName('result');


			eval(method + "(\'\',\'\',\'\', result)");
        } else {
            alert("There was a problem retrieving the XML data:\n" + req.statusText);
        }
    }
}

function grafikBuat(input1,input2,input3,response)
{

	if (response){
		// Response mode
			var nodeColl = response[0].childNodes;

			for (var i = 0; i < nodeColl.length; i++)
			{
				var oAngka = parseInt(nodeColl[i].getAttribute("angka"));
				var oWaktu = nodeColl[i].getAttribute("waktu");

				var oDiv = document.createElement("div")
				oDiv.id = "grafik"+ (i+1);
				oDiv.className = "grafikSatuan"
				oDiv.style.top = (grafikSkala-oAngka) + "px"
				oDiv.innerHTML = "<span><div class=\"grafikMain\" style=\"height:" + oAngka + "px;\"></div></span><img src=\"/_images/grafik_shadow.gif\" style=\"height:" + (oAngka-10) + "px\"><div class=\"grafikText\" style=\"margin-top:" + (oAngka + 10) + "px;\">" + oWaktu + "</div>"
				xGetElementById("grafik").appendChild(oDiv)
			}
								

	}else{
		// Input mode
		xGetElementById("grafik").innerHTML = ""
		url  = 'http://icpr.dev/laporan/view_grafik_test.php?input1=' + input1 + '&input2=' + input2 + '&input3=' + input3;
		loadXMLDoc(url);
	}
}



//######################################################################


// Fungsi konfirmasi
function konfirmasiForm() {
	return window.confirm("Anda benar-benar ingin menyimpan data ini ?");
}

// Fungsi validasi
function validasiForm(theForm, strOptional) {
	var i, j, inputArr, textAreaArr, selectArr, nameArr, bGotIt, bStop, rgx, bOptional, tempVal;
	rgx = / /gi;

	if (strOptional) {
		strOptional = strOptional.toString().replace(rgx, "");
		nameArr = strOptional.toString().split(",");
		bOptional = nameArr.length > 0;
	}

	inputArr = xGetElementsByTagName("input", theForm);
	textAreaArr = xGetElementsByTagName("textarea", theForm);
	selectArr = xGetElementsByTagName("select", theForm);

	if (inputArr) {
		for (i = 0; i < inputArr.length; i++) {
			tempVal = inputArr[i].value.toString().replace(rgx, "");
			if (((inputArr[i].getAttribute("type") == "text") || ((inputArr[i].getAttribute("type") == "file"))) && (!inputArr[i].disabled)) {
				if (inputArr[i].name.toString().replace(rgx, "") == "") continue;
				bGotIt = false;
				if (bOptional) {
					for (j = 0; j < nameArr.length; j++) {
						if (inputArr[i].getAttribute("name") == nameArr[j]) bGotIt = true;
					}
				}
				if ((!bGotIt) && (tempVal == "")) {
					alert("Data TEXT : " + inputArr[i].getAttribute("name") + " belum diisi!");
					inputArr[i].focus();
					return false;
				}
			} else
				continue;
		}
	}

	if (textAreaArr) {
		for (i = 0; i < textAreaArr.length; i++) {
			tempVal = textAreaArr[i].value.toString().replace(rgx, "");
			if (!textAreaArr[i].disabled) {
				if (textAreaArr[i].name.toString().replace(rgx, "") == "") continue;
				bGotIt = false;
				if (bOptional) {
					for (j = 0; j < nameArr.length; j++) {
						if (textAreaArr[i].getAttribute("name") == nameArr[j]) bGotIt = true;
					}
				}
				if ((!bGotIt) && (tempVal == "")) {
					alert("Data TEXTAREA : " + textAreaArr[i].getAttribute("name") + " belum diisi!");
					textAreaArr[i].focus();
					return false;
				}
			} else 
				continue;
		}
	}

	if (selectArr) {
		for (i = 0; i < selectArr.length; i++) {
			tempVal = selectArr[i].value.toString().replace(rgx, "");
			if (!selectArr[i].disabled) {
				if (selectArr[i].name.toString().replace(rgx, "") == "") continue;
				bGotIt = false;
				if (bOptional) {
					for (j = 0; j < nameArr.length; j++) {
						if (selectArr[i].getAttribute("name") == nameArr[j]) bGotIt = true;
					}
				}
				if ((!bGotIt) && (tempVal == "")) {
					alert("Data SELECT : " + selectArr[i].getAttribute("name") + " belum diisi!");
					selectArr[i].focus();
					return false;
				}
			} else 
				continue;
		}
	}

	return konfirmasiForm();
}
