<!--
var pc = navigator.userAgent.toLowerCase();
var ie4_win = (pc.indexOf("win")!=-1) && (pc.indexOf("msie") != -1)
    && (parseInt(navigator.appVersion) >= 4);
var checked = false;

// only builds based upon gecko later than Jan 8th support the selectionStart, selectionEnd properly
var is_gecko = pc.indexOf("gecko/") != -1 &&
    parseFloat(pc.substring(pc.indexOf("gecko/") + 6, pc.indexOf("gecko/") + 14)) > 20030108;

function checkPost() {
    if (!checked) {
        checked = true;
        return true;
    }
    return false;
}

function styleTag(tag, ta) {
    var tagOpen = '[' + tag.toLowerCase() + ']';
    var tagClose = '[/' + tag.toLowerCase() + ']';
    if (ie4_win) {
        var selected;

        if (document.selection.createRange().parentElement().tagName == 'TEXTAREA') {
            selected = document.selection.createRange().text;
        }

        if (selected) {
            var addSpace = false;
            if (selected.charAt(selected.length-1) == ' ') {
                selected = selected.substring(0, selected.length-1);
                addSpace = true;
            }
            document.selection.createRange().text
                    = tagOpen + selected + tagClose + ((addSpace)?" ":"");
        } else {
            ta.value += tagOpen + tagClose;
        }
    } else if (is_gecko) {
        var selLength = ta.textLength;
        var selStart = ta.selectionStart;
        var selEnd = ta.selectionEnd;
        if (selEnd == 1 || selEnd == 2) {
            selEnd = selLength;
        }
        var s1 = (ta.value).substring(0, selStart);
        var s2 = (ta.value).substring(selStart, selEnd)
        var s3 = (ta.value).substring(selEnd, selLength);

        ta.value = s1 + tagOpen + s2 + tagClose + s3;

    } else {
        ta.value += tagOpen + tagClose;
    }
    ta.focus();
    return;
}
function caret(ta) {
    if (ie4_win && ta.createTextRange &&
            document.selection.createRange().parentElement().tagName == 'TEXTAREA')
    {
        ta.caretPos = document.selection.createRange().duplicate();
    }
}
function setEditorMode(newMode, path) {
    var formpanel = document.getElementById("form-panel");
    var previewpanel = document.getElementById("preview-panel");

	if (newMode == "preview") {
		document.getElementById("errors").innerHTML = " ";	
	
		var currentTime=new Date();
		var month = currentTime.getMonth() + 1
		var day = currentTime.getDate()
		var year = currentTime.getFullYear()
		var hours = currentTime.getHours()
		var minutes = currentTime.getMinutes()
		if (minutes < 10) {
			minutes = "0" + minutes
		}

		var subjectElement = document.getElementById('subject');
		if (subjectElement != null) {
			document.getElementById('subjectPreview').innerHTML = subjectElement.value;
		}
		var time = day + "." + month + "." + year + " " + hours + ":" + minutes;
	    document.getElementById('author').innerHTML = document.getElementById('alias').value;
	    document.getElementById('msgDate').innerHTML = time;

		var textString = document.getElementById('textBody').value;
        WikiTextConverter.convertToPreviewFromXhtml(path, textString, 
            {
                callback: doUpdatePreview,
                timeout: 20000, // 20 seconds
                errorHandler: editorErrorHandler
            }
        );

		previewpanel.style.display = "";		
		formpanel.style.display = "none";
	} else {
		previewpanel.style.display = "none";		
		formpanel.style.display = "";	
	}
}

function editorErrorHandler(message, exception) {
    document.getElementById('textfield').innerHTML = "Tekstiä ei voida näyttää.";
}

function doUpdatePreview(str) {
	    document.getElementById('textfield').innerHTML = str;
}
function updateCharNum(maxCount) {
	var counterString = document.getElementById("counter");
    var bodyString = document.getElementById("textBody");    
 	
	if (bodyString.value.length > maxCount)
		 bodyString.value = bodyString.value.substring(0, maxCount);
	else
		counterString.innerHTML = maxCount - bodyString.value.length;
}

function WikiTextConverter() { }
WikiTextConverter._path = '/keskustelut/dwr';

WikiTextConverter.execute = function(callback) {
    DWREngine._execute(WikiTextConverter._path, 'WikiTextConverter', 'execute', callback);
}

WikiTextConverter.setText = function(p0, callback) {
    DWREngine._execute(WikiTextConverter._path, 'WikiTextConverter', 'setText', p0, callback);
}

WikiTextConverter.getText = function(callback) {
    DWREngine._execute(WikiTextConverter._path, 'WikiTextConverter', 'getText', callback);
}

WikiTextConverter.getServletRequest = function(callback) {
    DWREngine._execute(WikiTextConverter._path, 'WikiTextConverter', 'getServletRequest', callback);
}

WikiTextConverter.setServletRequest = function(callback) {
    DWREngine._execute(WikiTextConverter._path, 'WikiTextConverter', 'setServletRequest', false, callback);
}

WikiTextConverter.convertFromWiki = function(p0, callback) {
    DWREngine._execute(WikiTextConverter._path, 'WikiTextConverter', 'convertFromWiki', p0, false, callback);
}

WikiTextConverter.convertToWiki = function(p0, callback) {
    DWREngine._execute(WikiTextConverter._path, 'WikiTextConverter', 'convertToWiki', p0, false, callback);
}

WikiTextConverter.convertToPreviewFromXhtml = function(p0, callback) {
    DWREngine._execute(WikiTextConverter._path, 'WikiTextConverter', 'convertToPreviewFromXhtml', p0, false, callback);
}

WikiTextConverter.convertToPreviewFromXhtml = function(path, p0, callback) {
    DWREngine._execute(path, 'WikiTextConverter', 'convertToPreviewFromXhtml', p0, false, callback);
}

WikiTextConverter.convertToPreviewFromWiki = function(p0, callback) {
    DWREngine._execute(WikiTextConverter._path, 'WikiTextConverter', 'convertToPreviewFromWiki', p0, false, callback);
}

WikiTextConverter.getPreferredEditorMode = function(callback) {
    DWREngine._execute(WikiTextConverter._path, 'WikiTextConverter', 'getPreferredEditorMode', false, callback);
}

WikiTextConverter.setPreferredEditorMode = function(p0, callback) {
    DWREngine._execute(WikiTextConverter._path, 'WikiTextConverter', 'setPreferredEditorMode', p0, false, false, callback);
}
WikiTextConverter.setPath = function(path) {
	WikiTextConverter._path = path;
}

//-->