

var clientPC = navigator.userAgent.toLowerCase();
var clientVer = parseInt(navigator.appVersion);

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);


bbtags = new Array('[b]','[/b]','[i]','[/i]','[u]','[/u]','[code]','[/code]','[size]','[/size]','[color]','[/color]','[strike]','[/strike]','[img]','[/img]','[url]','[/url]');



function insertText(inserttext,txtarea){


if(!is_ie){

  var s1 = (txtarea.value).substring(0,txtarea.selectionStart);
  var s2 = inserttext;
  var s3 = (txtarea.value).substring(txtarea.selectionStart);

    txtarea.value = s1 + s2 + s3;

txtarea.selectionStart=s1.length+inserttext.length;
txtarea.selectionEnd=s1.length+inserttext.length;

}
else{

	var start = getCaretPosition(txtarea).start;


  var s1 = (txtarea.value).substring(0,start);
  var s2 = inserttext;
  var s3 = (txtarea.value).substring(start);

    txtarea.value = s1 + s2 + s3;



	var new_pos = start + inserttext.length;
		var range = txtarea.createTextRange();
		range.move("character", new_pos);
		range.select();
}


}


function insertTag(inserttext1,inserttext2,txtarea){


if(!is_ie){

  var s1 = (txtarea.value).substring(0,txtarea.selectionStart);
  var s2 = inserttext1+inserttext2;
  var s3 = (txtarea.value).substring(txtarea.selectionStart);

    txtarea.value = s1 + s2 + s3;

txtarea.selectionStart=s1.length+inserttext1.length;
txtarea.selectionEnd=s1.length+inserttext1.length;

}
else{

	var start = getCaretPosition(txtarea).start;


  var s1 = (txtarea.value).substring(0,start);
  var s2 = inserttext1+inserttext2;
  var s3 = (txtarea.value).substring(start);

    txtarea.value = s1 + s2 + s3;



	var new_pos = start + inserttext1.length;
		var range = txtarea.createTextRange();
		range.move("character", new_pos);
		range.select();
}


}








function namedlink(theform,thetype) {

var txtarea = document.getElementById('novy_vzkaz').vzkaz;

  txtarea.focus();

link_text_prompt = "Napište název odkazu";
link_url_prompt = "Napište celou adresu odkazu";
linktext = prompt(link_text_prompt,"");
var prompttext;
if (thetype == "URL") {
prompt_text = link_url_prompt;
prompt_contents = "http://";
}
else {
prompt_text = link_url_prompt;
prompt_contents = "http://";
}

linkurl = prompt(prompt_text,prompt_contents);

if ((linkurl != null && linkurl != "") || (linktext != null && linktext != "")) {

if((linktext != null) && (linktext != "")){
inserttext = "["+thetype+"="+linkurl+"]"+linktext+"[/"+thetype+"] "; 
}
else{
inserttext = "["+thetype+"]"+linkurl+"[/"+thetype+"] ";
}

insertText(inserttext,txtarea);

}
theform.vzkaz.focus();

}


function bbstyle(bbnumber,tagid) {
var txtarea = document.getElementById('novy_vzkaz').vzkaz;

  txtarea.focus();
  theSelection = false;

if(bbnumber==8 || bbnumber==10){

var orig = bbtags[bbnumber];
bbtags[bbnumber]=bbtags[bbnumber].substring(0,bbtags[bbnumber].length-1) + '=' + document.getElementById(tagid).options[document.getElementById(tagid).selectedIndex].value + ']';
document.getElementById(tagid).selectedIndex='0';

}


  if ((clientVer >= 4) && is_ie && is_win)
  {
    theSelection = document.selection.createRange().text;

    if (theSelection) {
      document.selection.createRange().text = bbtags[bbnumber] + theSelection + bbtags[bbnumber+1];

      txtarea.focus();
      theSelection = '';
      return;
    }
  }
  else if (txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0))
  {
    mozWrap(txtarea, bbtags[bbnumber], bbtags[bbnumber+1]);

    return;
  }



insertTag(bbtags[bbnumber], bbtags[bbnumber+1],txtarea);

if(bbnumber==8 || bbnumber==10){

bbtags[bbnumber] = orig;

}

    txtarea.focus();
    return;

}



function Shit(smajlik) {
var txtarea = document.getElementById('novy_vzkaz').vzkaz;

  txtarea.focus();

insertText(" "+smajlik+" ",txtarea);

    txtarea.focus();
    return;


}




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;
txtarea.selectionStart=selEnd+open.length+close.length;
txtarea.selectionEnd=selEnd+open.length+close.length;
  return;
}


function caretPosition()
{
	var start = null;
	var end = null;
}


function getCaretPosition(txtarea)
{
	var caretPos = new caretPosition();
	

		// get current selection
		var range = document.selection.createRange();

		// a new selection of the whole textarea
		var range_all = document.body.createTextRange();
		range_all.moveToElementText(txtarea);
		
		// calculate selection start point by moving beginning of range_all to beginning of range
		var sel_start;
		for (sel_start = 0; range_all.compareEndPoints('StartToStart', range) < 0; sel_start++)
		{		
			range_all.moveStart('character', 1);
		}
	
		txtarea.sel_start = sel_start;
	
		// we ignore the end value for IE, this is already dirty enough and we don't need it
		caretPos.start = txtarea.sel_start;
		caretPos.end = txtarea.sel_start;			

	return caretPos;
}


