var currholder = null;
var initialized = false;

function cominit() {
	if (!_obj('commentlist')) {
		return;
	}

	var cf = _obj('commentform');
	cf.style.display = 'none';
	cf.style.height = 'auto';
	cf.style.overflow = 'visible';

	initialized = true;
	var c = window.location.hash;
	if (c) {
		c = parseInt(c.substr(1));
		if (!isNaN(c) && c > 0) {
			opencomm(c);
			if (_ncopen == c) {
				addcomm(_ncopen);
			}
		}
	}
	else if (_ncopen == 0) {
		addcomm(0);
	}
}

function addcomm(p) {
	if (!initialized) { return; }

	closeinline();

	var h = _obj('addcomment' + p);
	if (!h) { h = _obj('addcomment0'); p = 0; }

	var d = _obj('commentform');
	h.appendChild(d);
	d.style.display = '';

	if (currholder) {
		currholder.style.height = '0';
	}

	h.style.height = d.offsetHeight.toString() + 'px';
	currholder = h;
	document.forms.frmcomm.hdpid.value = p;

	if (typeof(_nowart) == 'undefined') {
		_obj('btnaddcomm').scrollIntoView(false);
		document.forms.frmcomm.txtitle.focus();
		window.scrollBy(-600, 0);
	}
}
function comform() {
	addcomm(0);
	_obj('btnaddcomm').scrollIntoView(false);
	document.forms.frmcomm.txtitle.focus();
	return false;
}
function closecomm() {
	closeinline();

	var d = _obj('commentform');
	d.style.display = 'none';

	if (currholder) {
		currholder.style.height = '0';
	}
}
function opencomm(c) {
	if (!initialized) { return; }

	closeinline();
	
	var d = _obj('com' + c);
	if (!d) { return; }
	if (d.innerHTML.length > 0) {
		if (d.style.display == 'none') {
			d.style.display = '';
			_obj('cc' + c).className = 'active';
		}
		else {
			var h = _obj('addcomment' + c);
			if (h == currholder) {
				closecomm();
			}
			_obj('cc' + c).className = '';
			d.style.display = 'none';
		}
		return;
	}

	posthttp('/common/comment.php', oncomment, 'd=' + _cdmn + '&c=' + c);
}
function oncomment(o) {
	if (o.readyState != 4) { return; }
	if (o.status != 200) { return; }

	var c = o.getResponseHeader('X-Cid');
	var d = _obj('com' + c);
	if (!d) {
		return;
	}

	d.innerHTML = o.responseText;
	_obj('cc' + c).className = 'active';
}

function subcomm() {
	var f = document.forms.frmcomm;

	var t = trim(f.txtitle.value);
	if (t.length < 2) {
		alert('Please enter title of your comment.');
		f.txtitle.focus();
		return;
	}

	if (_obj('chknotcom').checked || _obj('chknotart').checked) {
		var isreg = (_obj('anick').style.display == 'none');
		if (!isreg) {
			var _u = trim(f.txnick.value);
			var _p = trim(f.txupw.value);
			if (_u.length < 1 || _p.length < 1) {
				f.chkanon.checked = false;
				_obj('commuser').style.display = '';
				return nick();
			}
		}
	}

	f.hdcont.value = getcontent();
	f.hdatt.value = getatt();
	isform(f);

	f.style.visibility = 'hidden';
	f.parentNode.className = 'submiting';
	f.submit();
}
function subcomm2() {
        var f = document.forms.frmcomm;

        var t = trim(f.txtitle.value)
        if (t.length < 2) {
                alert('Please enter title of your comment.');
                f.txtitle.focus();
                return;
        }

		if (_obj('forumtext')) {
			f.hdcont.value = _obj('forumtext').value;
		}
		else {
			f.hdcont.value = getcontent();
			f.hdatt.value = getatt();
		}
        isform(f);

        f.style.visibility = 'hidden';
        f.parentNode.className = 'submiting';
        f.submit();
}
function errcomment(e) {
	var s = (e) ? e : 'Failed to submit comment.';

	var f = document.forms.frmcomm;
	f.style.visibility = 'visible';
	f.parentNode.className = '';

	alert(s);
}
function onnewcomment(cid) {
	window.location.hash = '#' + cid;
	window.location.reload();
}
function onupdcomment(cid) {
	if (opener) {
		if (opener._artid == document.forms.frmcomm.hdaid.value) {
			if (cid > 0) {
				if (opener.location.search.indexOf('?post=') == -1) {
					opener.location.hash = '#' + cid;
				}
			}
			else {
				if (opener.location.search.indexOf('?post=') != -1) {
					opener.location.search = '';
					window.close();
					return;
				}
				opener.location.hash = '';
			}
			opener.location.reload();
		}
	}
	window.close();
}
function remcomm() {
	var f = document.forms.frmcomm;

	if (!confirm('Remove comment?')) {
		return false;
	}
	f.hdact.value = 'rct';
	isform(f);

	f.style.visibility = 'hidden';
	f.parentNode.className = 'submiting';
	f.submit();
}

function toggleuser(o) {
	var d = _obj('commuser');

	if (o.checked) {
		d.style.display = 'none';
		document.forms.frmcomm.txtitle.focus();
		return;
	}

	d.style.display = '';
	document.forms.frmcomm.txnick.focus();
}
function isform(f) {
	var h = document.createElement('input');
	h.type = 'hidden';
	h.name = 'hd' + 'asu';
	h.value = document.getElementById('asd').className;
	f.appendChild(h);
}

function sendcomm(o, c) {
	closeinline();

	var w = _obj('winsend');

	w.style.display = '';

	var px = _posX(o);
	var py = _posY(o) - w.offsetHeight;

	w.style.left = px.toString() + 'px';
	w.style.top = py.toString() + 'px';

	w.setAttribute('cid', c);

	_obj('sendform').style.visibility = 'visible';
	_obj('sendform').parentNode.className = 'inner';

	_obj('cs_txem').value = '';
	_obj('cs_txnm').value = '';
	_obj('cs_txms').value = '';
	_obj('cs_txem').focus();

	return false;
}
function closesend() {
	_obj('winsend').setAttribute('cid', '0');
	_obj('winsend').style.display = 'none';
}
function dosend() {
	var e = trim(_obj('cs_txem').value);
	var n = _obj('cs_txnm').value;
	var t = _obj('cs_txms').value;

	if (!isemail(e)) {
		alert('Please enter email address of recepient.');
		_obj('cs_txem').focus();
		return false;
	}

	var d = new Array();
	d[0] = 'd=' + _cdmn;
	d[1] = 'l=' + _clang;
	d[2] = 'a=' + _artid;
	d[3] = 'r=' + encodeURIComponent(_rowid);
	d[4] = 'c=' + _obj('winsend').getAttribute('cid');
	d[5] = 'em=' + encodeURIComponent(e);
	d[6] = 'nm=' + encodeURIComponent(n);
	d[7] = 'tx=' + encodeURIComponent(t);

	_obj('sendform').style.visibility = 'hidden';
	_obj('sendform').parentNode.className = 'submiting';

	posthttp('/common/sendcomm.php', onsendcomm, d.join('&'));
}
function onsendcomm(o) {
	if (o.readyState != 4) { return; }
	if (o.status != 200) {
		alert('Failed to send comment.');
	}
	else {
		alert('Comment is sent.');
	}

	_obj('sendform').style.visibility = 'visible';
	_obj('sendform').parentNode.className = 'inner';

	closesend();
}

function editcomm(c) {
	closeinline();
	openwin('/common/editcomm.php?d=' + _cdmn + '&l=' + _clang + '&c=' + c, 600, 440, 1, 1);
	return false;
}
function signinit() {
	document.forms.frmsign.txnm.focus();
}
function editinit() {
	
}

function printcomm(o, c) {
	closeinline();

	var w = _obj('winprint');

	w.style.display = '';

	var px = _posX(o);
	var py = _posY(o) - w.offsetHeight;

	w.style.left = px.toString() + 'px';
	w.style.top = py.toString() + 'px';

	document.forms.frmprint.style.visibility = 'visible';
	document.forms.frmprint.parentNode.className = 'inner';

	document.forms.frmprint.c.value = c;

	return false;
}
function closeprint() {
	document.forms.frmprint.c.value = 0;
	_obj('winprint').style.display = 'none';
}
function doprint() {
	var r = document.forms.frmprint.rap;
	var p = 0;
	for (var i = 0; i < r.length; i++) {
		if (r[i].checked) {
			p = r[i].value;
			break;
		}
	}
	var c = document.forms.frmprint.c.value;
	var u = '/common/print.php?d=' + _cdmn + '&l=' + _clang + '&a=' + _artid + '&c=' + c + '&p=' + p;

	document.forms.frmprint.style.visibility = 'hidden';
	document.forms.frmprint.parentNode.className = 'submiting';

	_obj('ifrprint').src = u;
}
function onprint() {
	document.forms.frmprint.style.visibility = 'visible';
	document.forms.frmprint.parentNode.className = 'inner';
	closeprint();
}

function complain(o, c) {
	closeinline();

	var w = _obj('wincomp');

	w.style.display = '';

	var px = _posX(o);
	var py = _posY(o) - w.offsetHeight;

	w.style.left = px.toString() + 'px';
	w.style.top = py.toString() + 'px';

	w.setAttribute('cid', c);

	_obj('compform').style.visibility = 'visible';
	_obj('compform').parentNode.className = 'inner';

	_obj('cp_txem').value = '';
	_obj('cp_txnm').value = '';
	_obj('cp_txms').value = '';
	_obj('cp_txnm').focus();

	return false;
}
function closecomp() {
	_obj('wincomp').setAttribute('cid', '0');
	_obj('wincomp').style.display = 'none';
}
function docomp() {
	var e = trim(_obj('cp_txem').value);
	var n = trim(_obj('cp_txnm').value);
	var t = trim(_obj('cp_txms').value);

	if (!isemail(e)) {
		alert('Please enter your email address.');
		_obj('cp_txem').focus();
		return false;
	}

	if (t.length < 3) {
		alert('Please enter text of complain.');
		_obj('cp_txms').focus();
		return false;
	}

	var d = new Array();
	d[0] = 'd=' + _cdmn;
	d[1] = 'l=' + _clang;
	d[2] = 'a=' + _artid;
	d[3] = 'r=' + encodeURIComponent(_rowid);
	d[4] = 'c=' + _obj('wincomp').getAttribute('cid');
	d[5] = 'em=' + encodeURIComponent(e);
	d[6] = 'nm=' + encodeURIComponent(n);
	d[7] = 'tx=' + encodeURIComponent(t);

	_obj('compform').style.visibility = 'hidden';
	_obj('compform').parentNode.className = 'submiting';

	posthttp('/common/complain.php', oncomplain, d.join('&'));
}
function oncomplain(o) {
	if (o.readyState != 4) { return; }
	if (o.status != 200) {
		alert('Failed to send complaint.');
	}
	else {
		alert('Thank you. Your complaint is submitted.');
	}

	_obj('compform').style.visibility = 'visible';
	_obj('compform').parentNode.className = 'inner';

	closecomp();
}

function nick() {
	closeinline();

	var f = document.forms.frmcomm;
	for (var i = 0; i < f.elements.length; i++) {
		if (f.elements[i].name) {
			f.elements[i].disabled = true;
		}
	}
	_obj('richtext').style.visibility = 'hidden';

	var w = _obj('winnick');

	w.style.display = '';

	_obj('nc_nick').value = f.txnick.value;
	_obj('nc_ppw').value = '';
	_obj('nc_rpw').value = '';
	_obj('nc_eml').value = '';
	_obj('nc_nick').focus();

	return false;
}
function closenick() {
	_obj('winnick').style.display = 'none';
	var f = document.forms.frmcomm;
	for (var i = 0; i < f.elements.length; i++) {
		f.elements[i].disabled = false;
	}
	_obj('richtext').style.visibility = 'visible';

	var isreg = (_obj('anick').style.display == 'none');
	if (!isreg) {
		//_obj('chknotcom').disabled = true;
		//_obj('chknotart').disabled = true;
	}
}
function donick() {
	
	var nm = trim(_obj('nc_nick').value);
	var pw = _obj('nc_ppw').value;
	var rp = _obj('nc_rpw').value;
	var em = _obj('nc_eml').value;

	if (nm.length < 1) {
		alert('Please select nick name.');
		_obj('nc_nick').focus();
		return;
	}

	if (pw.length < 1) {
		alert('Please select password.');
		_obj('nc_ppw').focus();
		return;
	}

	if (pw != rp) {
		alert('Password and retyped password do not match.');
		_obj('nc_ppw').focus();
		return;
	}

	if (!isemail(em)) {
		alert('Please enter your email address.');
		_obj('nc_eml').focus();
		return;
	}

	var d = new Array();
	d[0] = 'd=' + _cdmn;
	d[1] = 'l=' + _clang;
	d[2] = 'a=' + _artid;
	d[3] = 'r=' + encodeURIComponent(_rowid);
	d[4] = 'nm=' + encodeURIComponent(nm);
	d[5] = 'pw=' + encodeURIComponent(pw);
	d[6] = 'em=' + encodeURIComponent(em);

	_obj('nickform').style.visibility = 'hidden';
	_obj('nickform').parentNode.className = 'submiting';

	posthttp('/common/nick.php', onnick, d.join('&'));
}
function onnick(o) {
	if (o.readyState != 4) { return; }
	if (o.status != 200) {

		_obj('nickform').style.visibility = 'visible';
		_obj('nickform').parentNode.className = 'inner';
		//_obj('chknotcom').disabled = true;
		//_obj('chknotart').disabled = true;
		closenick();

		alert('Failed to register nick name.');
		return;
	}

	var r = o.getResponseHeader('X-Nick');
	if (r > 0) {

		var f = document.forms.frmcomm;

		f.txnick.value = trim(_obj('nc_nick').value);
		f.txupw.value = _obj('nc_ppw').value;

		f.chkanon.disabled = true;
		f.txnick.readOnly = true;
		f.txupw.readOnly = true;
		_obj('anick').style.display = 'none';

		_obj('nickform').style.visibility = 'visible';
		_obj('nickform').parentNode.className = 'inner';
		_obj('chknotcom').disabled = false;
		_obj('chknotart').disabled = false;

		closenick();

		alert('Finished registration.');

		return;
	}

	var err = "Failed to register:\n\n";
	err += o.responseText;

	_obj('nickform').style.visibility = 'visible';
	_obj('nickform').parentNode.className = 'inner';
	alert(err);
}

function closeinline() {
	closesend();
	closeprint();
	closecomp();
	closenick();
}

/* textedit */
function editcmd(c) {
	var win = _obj('textedit').contentWindow;

	if (c == 'dir') {
		win.document.body.dir = (win.document.body.dir.toLowerCase() == 'rtl') ? 'ltr' : 'rtl';
		win.focus();
		return false;
	}

	var b = (c == 'createlink');
	try {
		win.document.execCommand(c, b, null);
	}
	catch (e){}

	win.focus();
	return false;
}
function setfont(item) {
	var win = _obj('textedit').contentWindow;
	win.document.execCommand('fontname', false, item.value);
	win.focus();
}
function setfsize(item) {
	var win = _obj('textedit').contentWindow;
	win.document.execCommand('fontsize', false, item.value);
	win.focus();
}
function getcontent() {
	var doc = _obj('textedit').contentWindow.document;
	return doc.body.innerHTML;
}
function setcontent(s) {
	var doc = _obj('textedit').contentWindow.document;
	doc.body.innerHTML = s;
	_obj('textedit').contentWindow.focus();
}
function setfocus() {
	_obj('textedit').contentWindow.focus();
}
function makeclean() {
	var doc = document.getElementById('textedit').contentWindow.document;
	doc.body.execCommand('paste', false, _clean(doc.body.innerHTML));
}
function _clean(s) {
	s = s.replace(/<o:p>s*<\/o:p>/g, "");
	s = s.replace(/<o:p>.*?<\/o:p>/g, "&nbsp;");
	s = s.replace( /s*mso-[^:]+:[^;"]+;?/gi, "" );
	s = s.replace( /\s*MARGIN: 0cm 0cm 0pt\s*;/gi, "" );
	s = s.replace( /\s*MARGIN: 0cm 0cm 0pt\s*"/gi, "\"" );
	s = s.replace( /s*TEXT-INDENT: 0cms*;/gi, "" );
	s = s.replace( /s*TEXT-INDENT: 0cms*"/gi, "\"" );
	s = s.replace( /s*TEXT-ALIGN: [^s;]+;?"/gi, "\"" );
	s = s.replace( /s*PAGE-BREAK-BEFORE: [^s;]+;?"/gi, "\"" );
	s = s.replace( /s*FONT-VARIANT: [^s;]+;?"/gi, "\"" );
	s = s.replace( /s*tab-stops:[^;"]*;?/gi, "" );
	s = s.replace( /\s*tab-stops:[^"]*/gi, "" );
	s = s.replace(/<(w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3");
	s = s.replace( /s*style="\s*"/gi, '' );
	s = s.replace( /<SPANs*[^>]*>s*&nbsp;s*<\/SPAN>/gi, '&nbsp;' );
	s = s.replace( /<SPANs*[^>]*><\/SPAN>/gi, '' );
	s = s.replace(/<(w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3");
	s = s.replace( /<!--.+-->/gi, '' );
	s = s.replace( /&nbsp;(&nbsp;)+/gi, '&nbsp;' );
	s = s.replace( />s*&nbsp;s*/gi, '>' );
	s = s.replace(/<\?xml[^>]*>/gi, "");
	s = s.replace(/<\/?w+:[^>]*>/gi, "");
	s = s.replace( /<Hd>s*<\/Hd>/gi, '' );
	s = s.replace( /<(U|I|STRIKE)>&nbsp;<\/\1>/gi, '&nbsp;' );
	s = s.replace( /<([^s>]+)[^>]*>s*<\/\1>/g, '' );
	s = s.replace( /<([^s>]+)[^>]*>s*<\/\1>/g, '' );
	s = s.replace( /<([^s>]+)[^>]*>s*<\/\1>/g, '' );
	s = s.replace( /<script[^>]*>/gi, '<noscript>' );
	s = s.replace( /<\/script[^>]*>/gi, '</noscript>' );
	s = s.replace( /<object[^>]*>/gi, '<noobject>' );
	s = s.replace( /<\/object[^>]*>/gi, '</noobject>' );

	return s;
}

function addpic() {
	closeatt();

	var w = _obj('winimage');
	var o = _obj('imgbutt');

	w.style.display = '';

	var px = _posX(o) - (w.offsetWidth / 2);
	var py = _posY(o) + o.offsetHeight;

	w.style.left = px.toString() + 'px';
	w.style.top = py.toString() + 'px';

	_obj('picform').style.visibility = 'visible';
	_obj('picdiv').className = '';

	return false;
}
function closepic() {
	_obj('ifrcom').src = '';
	_obj('picform').style.visibility = 'visible';
	_obj('picdiv').className = '';
	document.forms.frmimage.reset();
	_obj('winimage').style.display = 'none';
}
function dopic() {
	var f = document.forms.frmimage;

	_obj('picform').style.visibility = 'hidden';
	_obj('picdiv').className = 'submitingsmall';
	f.r.value = _obj('asd').className;
	f.submit();
}
function onpic(s) {
	var h = '<img class=inlineimg src="' + s + '">';
	var doc = _obj('textedit').contentWindow.document;
	doc.body.innerHTML += h;
	_obj('textedit').contentWindow.focus();
	closepic();
}
function picerr() {
	alert('Failed to upload image.');
	_obj('ifrcom').src = '';
	_obj('picform').style.visibility = 'visible';
	_obj('picdiv').className = '';
}

function addatt() {
	closepic();

	var w = _obj('winatt');
	var o = _obj('attbutt');

	w.style.display = '';

	var px = _posX(o) - (w.offsetWidth / 2);
	var py = _posY(o) + o.offsetHeight;

	w.style.left = px.toString() + 'px';
	w.style.top = py.toString() + 'px';

	_obj('attform').style.visibility = 'visible';
	_obj('attdiv').className = '';

	return false;
}
function closeatt() {
	_obj('ifrcom').src = '';
	_obj('attform').style.visibility = 'visible';
	_obj('attdiv').className = '';
	document.forms.frmatt.reset();
	_obj('winatt').style.display = 'none';
}
function doatt() {
	var f = document.forms.frmatt;

	_obj('attform').style.visibility = 'hidden';
	_obj('attdiv').className = 'submitingsmall';
	f.r.value = _obj('asd').className;
	f.submit();
}
function onatt(f, n) {

	var h = '<span><input type="checkbox" checked onclick="rematt(this)" f="' + f + '" n="' + n + '">&nbsp;' + n + '</span> ';
	_obj('attplace').innerHTML += h;
	
	_obj('textedit').contentWindow.focus();
	closeatt();
}
function rematt(o) {
	_obj('attplace').removeChild(o.parentNode);
}
function atterr() {
	alert('Failed to upload file.');
	_obj('ifrcom').src = '';
	_obj('attform').style.visibility = 'visible';
	_obj('attdiv').className = '';
}
function getatt() {
	var res = new Array();
	var a = _obj('attplace').getElementsByTagName('input');
	for (var i = 0; i < a.length; i++) {
		if (a[i].type.toLowerCase() == 'checkbox') {
			var f = a[i].getAttribute('f');
			var n = a[i].getAttribute('n');
			if (f && n) {
				res[res.length] = f + '<<<' + n;
			}
		}
	}

	if (res.length > 0) {
		return res.join("\n");
	}
	return '';
}


function addsml() {
	closepic();
	closeatt();

	var w = _obj('winsmile');
	if (w.style.display == 'none') {
		w.style.display = '';
		var iw = _obj('ifrsmile').contentWindow;
		if (iw.ise) {
			iw.f();
		}
	}
	else {
		w.style.display = 'none';
	}

	return false;
}
function closesml() {
	_obj('winsmile').style.display = 'none';
}
function dosml(s) {
	var h = '<img src="' + s + '">';
	var win = _obj('textedit').contentWindow;
	if (win._cursorpos) {
		win._cursorpos.pasteHTML(h);
	}
	else {
		win.document.body.innerHTML += h;
	}
	closesml();
}
function smprev() {
	try { _obj('ifrsmile').contentWindow.p(); } catch(e) {}
}
function smnext() {
	try { _obj('ifrsmile').contentWindow.n(); } catch(e) {}
}

