// JavaScript Document
var clientPC = navigator.userAgent.toLowerCase(); // Get client info
var clientVer = parseInt(navigator.appVersion); // Get browser version

var is_ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1));
var is_nav = ((clientPC.indexOf('mozilla')!=-1) && (clientPC.indexOf('spoofer')==-1)
                && (clientPC.indexOf('compatible') == -1) && (clientPC.indexOf('opera')==-1)
                && (clientPC.indexOf('webtv')==-1) && (clientPC.indexOf('hotjava')==-1));
var is_moz = 0;

var is_win = ((clientPC.indexOf("win")!=-1) || (clientPC.indexOf("16bit") != -1));
var is_mac = (clientPC.indexOf("mac")!=-1);

//Startwerte
var opentags = '';

//Selektierten Text taggen
function phrc(hrc)
{
	var obj_post = document.getElementById("hrcbox");
	
    if ((clientVer >= 4) && is_ie && is_win)
	{
		theSelection = document.selection.createRange().text;
		if (theSelection)
		{
			// Add tags around selection
			document.selection.createRange().text = hrc[0] + theSelection + hrc[1];
			obj_post.focus();
			theSelection = '';
			return;
	    }
		else
		{
	       opentag(hrc);
	    }
    }
	else if (obj_post.selectionEnd && (obj_post.selectionEnd - obj_post.selectionStart > 0))
	{
		    mozWrap(obj_post, hrc[0], hrc[1]);
		    return;
	}
	else 
	{
	    opentag(hrc);
	}
	obj_post.focus();
}

function opentag(hrc) {
    if ( opentags.indexOf(hrc[1]) != -1 ) {
        AddCode = hrc[1];
        opentags = opentags.replace(hrc[1],'');
    } else {
        AddCode = hrc[0];
        opentags = hrc[1] + opentags;
    }
    AddToField(AddCode);
}

//Tags schliessen
function closetags () {
	AddToField(opentags);
    opentags = '';
    lasttag = '';
}

//Tag adden
function AddToField(AddCode)
{
	var obj_post = document.getElementById("hrcbox");
	
   	if ( obj_post.createTextRange && obj_post.caretPos )
	{
		var caretPos = obj_post.caretPos;
		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? AddCode + ' ' : AddCode;
	}
	else
	{
		obj_post.value += AddCode;
	}
    obj_post.focus();
}

//Bild
function hrcimg() {
    imgurl = prompt("圖片位址:","http://");
	if ((imgurl != null) && (imgurl != "")) {
	    AddToField("[img]"+imgurl+"[/img] ");
    }
}

function zoomarea(size) {
    if ( document.getElementById("hrcbox").rows < 5 && size < 0 ) {
        size = 0;
    }
    if ( document.getElementById("hrcbox").rows > 25 && size > 0 ) {
        size = 0;
    }
    document.getElementById("hrcbox").rows = document.getElementById("hrcbox").rows + size;
}

// From http://www.massless.org/mozedit/
function mozWrap(txtarea, open, close)
{
	var selLength = txtarea.textLength;
	var selStart = txtarea.selectionStart;
	var selEnd = txtarea.selectionEnd;
	if (selEnd == 1 || selEnd == 2)
		selEnd = selLength;

	var s1 = (txtarea.value).substring(0,selStart);
	var s2 = (txtarea.value).substring(selStart, selEnd)
	var s3 = (txtarea.value).substring(selEnd, selLength);
	txtarea.value = s1 + open + s2 + close + s3;
	return;
}

//Farbcode
function hrccolor(color) {
    code = new Array('[color=' + color + ']','[/color]');
    phrc(code);
}

//Textgr飉se
function hrcsize(size) {
    code = new Array('[size=' + size + ']','[/size]');
    phrc(code);
}

//HoverClass
function pmouseover(el) {
	el.className = "editraise";
}

function pmouseout(el) {
	el.className = "editbutton";
}


function pmousedown(el) {
	el.className = "editpress";
}

function pmouseup(el) {
	el.className = "editraise";
}
