function getViewportHeight() {
	if (window.innerHeight!=window.undefined) return window.innerHeight;
	if (document.compatMode=='CSS1Compat') return document.documentElement.clientHeight;
	if (document.body) return document.body.clientHeight; 
	return window.undefined; 
}
function getViewportWidth() {
	var offset = 17;
	var width = null;
	if (window.innerWidth!=window.undefined) return window.innerWidth; 
	if (document.compatMode=='CSS1Compat') return document.documentElement.clientWidth; 
	if (document.body) return document.body.clientWidth; 
}
function goenable(divname) {
	document.getElementById(divname).style.opacity=1;
	document.getElementById(divname).style.filter='alpha(opacity=100)';
}
function godisable(divname) {
	document.getElementById(divname).style.opacity=.15;
	document.getElementById(divname).style.filter='alpha(opacity=15)';
}
function showhelp(helpnum,posx) {
	switch (helpnum) {
		case 'havedomain':
			document.getElementById('contexthelp').childNodes[0].nodeValue='Gunakan isian ini jika anda sudah punya nama domain yang hendak dipakai di sini. Isian ini juga digunakan jika anda hendak memakai domain yang berakhiran selain "com", "net", atau "org" (daftarkan di tempat lain, lalu gunakan di sini).';
			break;
		case 'nodomain':
			document.getElementById('contexthelp').childNodes[0].nodeValue='Tulis nama domain yang anda inginkan (harus berakhiran "com", "net", atau "org"). Untuk mendaftarkan domain yang berakhiran lain, silakan hubungi customer support kami. Jika anda ingin menggunakan domain lama yang sudah anda miliki, silakan hubungi customer support kami.';
			break;
		case 'tindakan':
			document.getElementById('contexthelp').childNodes[0].nodeValue='Klik "Edit" untuk mengedit isi website. Klik "Upgrade" jika anda puas dengan hasil uji coba dan berniat menggunakannya. Klik "Hapus" jika anda kurang \'sreg\' dengan desain yang dipilih (khusus website dalam status uji coba).';
			break;
		case 'upgrade':
			document.getElementById('contexthelp').childNodes[0].nodeValue='Klik "Upgrade" jika anda puas dengan website anda dan berniat menggunakannya.';
			break;
		case 'sort':
			document.getElementById('contexthelp').childNodes[0].nodeValue='Untuk mengubah urutan halaman, klik lingkaran-lingkaran kuning secara berurutan (sesuai urutan halaman yang diinginkan). Jika salah klik, bisa dibatalkan dengan mengkliknya sekali lagi, atau tekan tombol "Ulang" untuk mengulang proses dari awal. Setelah semua halaman ditandai dengan benar, klik tombol "Urutkan".';
			break;
		case 'published':
			document.getElementById('contexthelp').childNodes[0].nodeValue='Jika dicentang, maka halaman ini akan tampil di website anda. Jika tidak dicentang, maka halaman ini akan "menghilang" dari website anda. "Menghilang" dalam tanda kutip, karena sebenarnya halaman ini masih ada, namun disembunyikan. Sewaktu-waktu ingin ditampilkan, tinggal dicentang lagi.';
			break;
		case 'counter':
			document.getElementById('contexthelp').childNodes[0].nodeValue='Jika dicentang, maka counter untuk halaman ini akan ditampilkan. Jika tidak dicentang, maka counter untuk halaman ini tidak akan ditampilkan. Meskipun tidak ditampilkan, namun perhitungan counter tetap berjalan.';
			break;
		case 'publishedfield':
			document.getElementById('contexthelp').childNodes[0].nodeValue='Kolom ini menentukan informasi apa saja yang anda tanyakan kepada pengunjung di halaman buku tamu.';
			break;
		case 'publishedreq':
			document.getElementById('contexthelp').childNodes[0].nodeValue='Kolom ini menentukan informasi apa saja yang WAJIB diisi pengunjung di halaman buku tamu.';
			break;
		case 'altfield':
			document.getElementById('contexthelp').childNodes[0].nodeValue='Anda dapat mengganti istilah sesuai keinginan (misalnya “No. HP” untuk menggantikan “Ponsel #1”, atau mungkin anda ingin menggunakan Bahasa Inggris). Yang berubah hanya tampilannya, bukan fungsinya. Jadi anda boleh mengganti “Kode pos” dengan “ZIP”, tapi tidak dengan “Alamat” karena “Kode pos” tidak boleh diisi terlalu panjang.';
			break;
		case 'umbalemail':
			document.getElementById('contexthelp').childNodes[0].nodeValue='Jika ada pengunjung yang mengisi buku tamu, anda akan menerimanya di alamat email yang anda tulis di sini.';
			break;
		case 'sitesetting':
			document.getElementById('contexthelp').childNodes[0].nodeValue='Pengaturan website (judul, subjudul atau slogan, serta gambar-gambar). Perubahan setting website berpengaruh ke semua halaman.';
			break;
		case 'pagesetting':
			document.getElementById('contexthelp').childNodes[0].nodeValue='Pengaturan halaman. Klik icon kotak kiri untuk mengedit judul halaman dan gambarnya. Klik icon kotak kanan untuk mengedit isi halaman (gambar icon yang berbeda menggambarkan halaman teks, produk, atau kontak). Penjelasan mengenai icon lingkaran ada di bantuan sebelah kanan tombol "Ulang".';
			break;
		case 'msgasterisk':
			document.getElementById('contexthelp').childNodes[0].nodeValue='Petunjuk bagi pengunjung untuk mengetahui kolom mana saja yang wajib diisi. Pesan ini akan ditampilkan di bagian bawah buku tamu.';
			break;
		case 'msgok':
			document.getElementById('contexthelp').childNodes[0].nodeValue='Pesan ini akan muncul jika pengunjung sukses mengirim isian buku tamu.';
			break;
		case 'msgreq':
			document.getElementById('contexthelp').childNodes[0].nodeValue='Pesan ini akan muncul jika pengunjung lupa mengisi kolom yang seharusnya wajib diisi.';
			break;
		case 'msgmail':
			document.getElementById('contexthelp').childNodes[0].nodeValue='Pesan ini akan muncul jika pengunjung memasukkan alamat email yang tidak valid pada kolom isian email.';
			break;
		case 'msghack':
			document.getElementById('contexthelp').childNodes[0].nodeValue='Buku tamu dilengkapi proteksi dari percobaan penyalahgunaan buku tamu. Jika ada pengunjung yang berniat menyalahgunakan buku tamu, maka pesan ini akan dimunculkan.';
			break;
		case 'msgback':
			document.getElementById('contexthelp').childNodes[0].nodeValue='Jika isian pengunjung salah (kolom yang bersifat wajib dikosongkan, atau alamat email tidak valid) maka disediakan link untuk kembali ke halaman buku tamu. Pesan ini ditampilkan pada link tersebut.';
			break;
		case 'showresult':
			document.getElementById('contexthelp').childNodes[0].nodeValue='Klik "Lihat hasil" untuk melihat hasil pengeditan yang anda lakukan.';
			break;
		case 'featurestatus':
			document.getElementById('contexthelp').childNodes[0].nodeValue='Klik "Status Fitur" untuk mengecek status fitur website anda.';
			break;
		case 'featurehelp':
			document.getElementById('contexthelp').childNodes[0].nodeValue='Klik "Fitur Opsional" untuk melihat pilihan fitur premium yang tersedia, cara penggunaan, serta biayanya.';
			break;
		case 'addfeatures':
			document.getElementById('contexthelp').childNodes[0].nodeValue='Klik "Tambah Fitur" untuk memperkaya fitur website anda.';
			break;
	}
	var screentop = parseInt(getScrollTop(),10);
	var screenleft = parseInt(document.getElementsByTagName("BODY")[0].scrollLeft,10);
	document.getElementById('contexthelp').style.top=screentop+(getViewportHeight()-240)/2-165+"px"; //165 adalah offset tinggi header krn 0,0 tepat di bawah header
	if (posx=='left') document.getElementById('contexthelp').style.left="15px";
	if (posx=='right') document.getElementById('contexthelp').style.left="365px";
	document.getElementById('contexthelp').style.display='block'
}
function hidehelp(helpnum) {
	document.getElementById('contexthelp').childNodes[0].nodeValue='';
	document.getElementById('contexthelp').style.display='none'
}
function showtab(tabnum,isclose) {
	if (isclose==null) isclose=false; 
	if (isclose) closeforms();
	for(i=0;i<2;i++) {
		if (i==tabnum) {
			eval("document.getElementById('tab"+i+"').style.display='block'");
		} else {
			eval("document.getElementById('tab"+i+"').style.display='none'");
		}
	}
}
function showidea(ideanum,ideacount) {
	for(i=0;i<ideacount;i++) {
		if (i==ideanum) {
			eval("document.getElementById('idea"+i+"').style.display='block'");
		} else {
			eval("document.getElementById('idea"+i+"').style.display='none'");
		}
	}
}
function showfeat(featnum,featcount) {
	for(i=0;i<featcount;i++) {
		if (i==featnum) {
			eval("document.getElementById('feat"+i+"').style.display='block'");
		} else {
			eval("document.getElementById('feat"+i+"').style.display='none'");
		}
	}
}
function valsort() {
	for (i=0;i<5;i++) {
		if (peringkatmenu[i]==-1) {
			alert("Klik terlebih dahulu semua lingkaran kuning sesuai urutan yang diinginkan.");
			return false;
		}
	}
	return true;
}
function sortreset(isformshowed) {
	sortcount=-1;
	peringkatmenu = new Array(5);
	urutan = new Array(5);
	for (i=0;i<5;i++) {
		peringkatmenu[i]=-1;
		urutan[i]=-1;
//		if (isformshowed) document.getElementById('sortbutton'+i).style.backgroundImage="url(images/sort.gif)";
		if (isformshowed) document.getElementById('sortbutton'+i).style.backgroundPosition="0px 0px";
	}
}

function clicksort(menuid) {
	closeforms();
	if (peringkatmenu[menuid] >= sortcount || peringkatmenu[menuid]==-1) {
		if (peringkatmenu[menuid]==-1) {
			sortcount++;
			peringkatmenu[menuid]=sortcount;
			urutan[sortcount]=menuid;
//			sortimg=sortcount+1;
			posdsbl=-(sortcount)*48;
			poscurr=-(sortcount+1)*48+24;
//			document.getElementById('sortbutton'+menuid).style.backgroundImage="url(images/sort"+sortimg+".gif)";
			document.getElementById('sortbutton'+menuid).style.backgroundPosition="0px "+poscurr+"px";
			if (sortcount != 0) {
				prevmenuid=urutan[sortcount-1];
//				document.getElementById('sortbutton'+prevmenuid).style.backgroundImage="url(images/sort"+sortcount+"d.gif)";
				document.getElementById('sortbutton'+prevmenuid).style.backgroundPosition="0px "+posdsbl+"px";
			}
		} else {
			posprev=-(sortcount)*48+24;
//			document.getElementById('sortbutton'+menuid).style.backgroundImage="url(images/sort.gif)";
			document.getElementById('sortbutton'+menuid).style.backgroundPosition="0px 0px";
			if (sortcount != 0) {
//				document.getElementById('sortbutton'+urutan[sortcount-1]).style.backgroundImage="url(images/sort"+sortcount+".gif)";
				document.getElementById('sortbutton'+urutan[sortcount-1]).style.backgroundPosition="0px "+posprev+"px";
			}
			peringkatmenu[menuid]=-1;
			urutan[sortcount]=-1;
			sortcount--;
		}
		urutanmenu='';
		for (i=0;i<5;i++) {
			if (i==0) {
				urutanmenu += peringkatmenu[i];
			} else {
				urutanmenu += ','+peringkatmenu[i];
			}
			document.sortform.menuorder.value=urutanmenu;
		}
	}
}

function checkall(pr,ischecked) {
	if (pr=='p') {
		for(i=0;i<15;i++) {
			if (ischecked) {
				eval("document.fieldopt.pfield"+i+".checked=true");
			} else {
				if (i!=12) eval("document.fieldopt.pfield"+i+".checked=false");
				document.fieldopt.rcheckall.checked=false;
				if (i!=12) eval("document.fieldopt.rfield"+i+".checked=false");
			}
		}
	}
	if (pr=='r') {
		for(i=0;i<15;i++) {
			if (ischecked) {
				eval("document.fieldopt.rfield"+i+".checked=true");
				document.fieldopt.pcheckall.checked=true;
				eval("document.fieldopt.pfield"+i+".checked=true");
			} else {
				if (i!=12) eval("document.fieldopt.rfield"+i+".checked=false");
			}
		}
	}
}
function getScrollTop() {
	if (self.pageYOffset) return self.pageYOffset; // all except Explorer
	else if (document.documentElement && document.documentElement.scrollTop) return document.documentElement.scrollTop; // Explorer 6 Strict
	else if (document.body) return document.body.scrollTop; // all other Explorers
}
function closeforms() {
	goenable('leftcolumn');
	goenable('rightcolumn');
	if (document.getElementById('imageadddiv')) document.getElementById('imageadddiv').style.display='none';
	if (document.getElementById('imageeditdiv')) document.getElementById('imageeditdiv').style.display='none';
	if (document.getElementById('imagedeldiv')) document.getElementById('imagedeldiv').style.display='none';
}
function imgedit(iidv,imagetitlev,imagedescv) {
	closeforms();
	godisable('leftcolumn');
	godisable('rightcolumn');
	document.imageeditform.iid.value=iidv;
	document.imageeditform.edittitle.value=imagetitlev;
	document.imageeditform.editdesc.value=imagedescv;
	var screentop = parseInt(getScrollTop(),10);
	var screenleft = parseInt(document.getElementsByTagName("BODY")[0].scrollLeft,10);
	document.getElementById('imageeditdiv').style.display='block';
	document.getElementById('imageeditdiv').style.top=screentop+(getViewportHeight()-175)/2-165+"px"; //165 adalah offset tinggi header krn 0,0 tepat di bawah header
	document.getElementById('imageeditdiv').style.left=screenleft+(getViewportWidth()-625)/2+"px";
	document.getElementById('edittitle').focus();
	document.getElementById('edittitle').select();
}
function imgdel(iidv) {
	closeforms();
	godisable('leftcolumn');
	godisable('rightcolumn');
	document.imagedelform.iid.value=iidv;
	var screentop = parseInt(getScrollTop(),10);
	var screenleft = parseInt(document.getElementsByTagName("BODY")[0].scrollLeft,10);
	document.getElementById('imagedeldiv').style.display='block';
	document.getElementById('imagedeldiv').style.top=screentop+(getViewportHeight()-75)/2-165+"px"; //165 adalah offset tinggi header krn 0,0 tepat di bawah header
	document.getElementById('imagedeldiv').style.left=screenleft+(getViewportWidth()-375)/2+"px";
}
function imgadd() {
	closeforms();
	godisable('leftcolumn');
	godisable('rightcolumn');
	var screentop = parseInt(getScrollTop(),10);
	var screenleft = parseInt(document.getElementsByTagName("BODY")[0].scrollLeft,10);
	document.getElementById('imageadddiv').style.display='block';
	document.getElementById('imageadddiv').style.top=screentop+(getViewportHeight()-175)/2-165+"px"; //165 adalah offset tinggi header krn 0,0 tepat di bawah header
	document.getElementById('imageadddiv').style.left=screenleft+(getViewportWidth()-525)/2+"px";
	document.getElementById('addtitle').focus();
}
function trialdel(id) {
	godisable('cpanel');
	document.trialdelform.wid.value=id;
	var screentop = parseInt(getScrollTop(),10);
	var screenleft = parseInt(document.getElementsByTagName("BODY")[0].scrollLeft,10);
	document.getElementById('trialdel').style.display='block';
	document.getElementById('trialdel').style.top=screentop+(getViewportHeight()-75)/2-165+"px"; //165 adalah offset tinggi header krn 0,0 tepat di bawah header
	document.getElementById('trialdel').style.left=screenleft+(getViewportWidth()-375)/2+"px";
}

function previewcrop(status) {
	if (status==0) {
		document.getElementById('showpreview').style.display='block';
		document.getElementById('hidepreview').style.display='none';
		document.getElementById('previewcrop').style.display='none';
	}
	if (status==1) {
		document.getElementById('showpreview').style.display='none';
		document.getElementById('hidepreview').style.display='block';
		document.getElementById('previewcrop').style.display='block';
	}
}

function closetrialdel() {
	goenable('cpanel');
	if (document.getElementById('trialdel')) document.getElementById('trialdel').style.display='none';
}

function trim(teks) {
	teks=teks.replace(/^(\s)+/,'');
	teks=teks.replace(/(\s)+$/,'');
	return teks;
}

function valform(formname) {
	mailfield = '';
	switch (formname) {
		case 'loginform':
			reqfieldvar  = ['username','password'];
			reqfieldname = ['Username','Password'];
			break;
		case 'register':
			reqfieldvar  = ['txtUser','txtPass1','txtPass2','txtNama','txtAlamat1','txtKota','txtTelepon','txtEmail'];
			reqfieldname = ['Username','Password','Ketik Ulang Password','Nama','Alamat','Kota','Telepon','Email'];
			mailfield = 'txtEmail';
			break;
		case 'editaccount':
			reqfieldvar  = ['txtNama','txtAlamat1','txtKota','txtTelepon','txtEmail'];
			reqfieldname = ['Nama','Alamat','Kota','Telepon','Email'];
			mailfield = 'txtEmail';
			break;
		case 'formtab0':
			reqfieldvar  = ['editpagetitle'];
			reqfieldname = ['Judul'];
			break;
		case 'imageaddform':
			reqfieldvar  = ['addtitle'];
			reqfieldname = ['Judul gambar'];
			break;
		case 'imageeditform':
			reqfieldvar  = ['edittitle'];
			reqfieldname = ['Judul gambar'];
			break;
		case 'settingform':
			reqfieldvar  = ['title'];
			reqfieldname = ['Judul website'];
			break;
		case 'editpass':
			reqfieldvar  = ['old_pass','new_pass1','new_pass2'];
			reqfieldname = ['Password lama','Password baru #1','Password baru #2'];
			break;
		case 'hasdomain':
			reqfieldvar  = ['olddname'];
			reqfieldname = ['Nama domain'];
			break;
		case 'regdomain':
		case 'recheckdomain':
			reqfieldvar  = ['newdname'];
			reqfieldname = ['Nama domain'];
			break;
		case 'searchform':
			reqfieldvar  = ['keyword'];
			reqfieldname = ['Kata kunci pencarian'];
			break;
		case 'forgotpass':
			reqfieldvar  = ['txtEmail'];
			reqfieldname = ['Email'];
			mailfield = 'txtEmail';
			break;
		case 'fieldopt':
			reqfieldvar  = ['umbalemail'];
			reqfieldname = ['Email penerima'];
			mailfield = 'umbalemail';
			break;
		case 'waralaba':
			reqfieldvar  = ['txtNama','txtAlamat1','txtKota','txtTelepon','txtEmail','txtBank','txtBankNoRek','txtBankNamaRek','txtDomainName'];
			reqfieldname = ['Nama','Alamat','Kota','Telepon','Email','Nama Bank','No Rekening','Rekening Atas Nama','Nama Domain'];
			mailfield = 'txtEmail';
			break;
	}
	for (i=0;i<reqfieldvar.length;i++) {
		if (trim(eval('document.getElementById(formname).'+reqfieldvar[i]+'.value')) == '') {
			window.alert(reqfieldname[i]+" harus diisi.");
			eval('document.getElementById(formname).'+reqfieldvar[i]+'.focus()');
			return false;
		}
	}
	if (mailfield != '') {
		if (eval('document.getElementById(formname).'+mailfield+'.value.match((/(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)/)) || !(document.getElementById(formname).'+mailfield+'.value.match(/^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,4})(\\]?)$/))')) {
			window.alert("Format alamat email anda salah.");
			eval('document.getElementById(formname).'+mailfield+'.focus()');
			return false;
		}
	}
}

function kepada(a,b,c,d) 
{ 
	upitupit = new Array();
	tiputipu = new String();
	upitupit[1] = a;
	upitupit[2] = b;
	upitupit[3] = c;
	tiputipu ="%73%75%62%20%6D%20%40%20%69%6C%20%3A%20%74%6F%20%2E%20%65%63%74%20%3F";
	tiputipu = tiputipu.split(escape(" "));
	window.location=(unescape(tiputipu[1])+"a"
			+unescape(tiputipu[3])
			+unescape(tiputipu[5])
			+unescape(tiputipu[4])
			+upitupit[3]
			+unescape(tiputipu[2])
			+upitupit[2]
			+unescape(tiputipu[6])
			+upitupit[1]
			+unescape(tiputipu[8])
			+unescape(tiputipu[0])+"j"
			+unescape(tiputipu[7])+"="+d);
}