function bb_fce_text(text) {
	document.getElementById('fce_text').innerHTML=text;
}

function bb_set_fce(i, form, name, baseClass) {
   id = 'funkce_' + i + '_' + form + '_' + name;
   buttonID = 'button_' + baseClass + '_' + form + '_' + name;
   if (document.getElementById(id)) {
      if (document.getElementById(id).style.display == "none") {
         document.getElementById(id).style.display = "";
         document.getElementById(buttonID).className = baseClass + '_b';
      }
      else {
         document.getElementById(id).style.display = "none";
         document.getElementById(buttonID).className = baseClass;
      }
   }
   return false;
}

function bb_insert_url(form, name) {
	var title = document.getElementById('input_url_title_' + form + '_' + name).value;
	var link  = document.getElementById('input_url_link_' + form + '_' + name).value;
	document.getElementById('input_url_title_' + form + '_' + name).value = '';
	document.getElementById('input_url_link_' + form + '_' + name).value = '';
	var fid = false;
	var tid = false;
	for (var i=0; document.forms[i]; i++) {
		if (document.forms[i].name == form) fid = i;
	}
	for (var i=0; document.forms[fid].elements[i]; i++) {
		if (document.forms[fid].elements[i].name == name) tid = i;
	}
	if (title && link) BBTag('[url='+ link +']'+ title +'[/url]','', document.forms[fid].elements[tid]);
	else if (title) BBTag('[url=',']'+ title +'[/url]', document.forms[fid].elements[tid]);
	else if (link) BBTag('[url]'+ link +'[/url]','', document.forms[fid].elements[tid]);
	else BBTag('[url]','[/url]', document.forms[fid].elements[tid]);
}

function bb_insert_youtube(form, name) {
	var link  = document.getElementById('youtube_url_' + form + '_' + name).value;
	document.getElementById('youtube_url_' + form + '_' + name).value = '';
	var fid = false;
	var tid = false;
	for (var i=0; document.forms[i]; i++) {
		if (document.forms[i].name == form) fid = i;
	}
	for (var i=0; document.forms[fid].elements[i]; i++) {
		if (document.forms[fid].elements[i].name == name) tid = i;
	}
	if (link) BBTag('[video]'+ link +'[/video]','', document.forms[fid].elements[tid]);
	else BBTag('[video]','[/video]', document.forms[fid].elements[tid]);
}

function bb_insert_video(form, name){
  var video = document.getElementById('input_video_link_' + form + '_' + name).value;
	document.getElementById('input_video_link_' + form + '_' + name).value = '';
	var fid = false;
	var tid = false;
  var servery_pocet = "";
  var vybrany_server = "";
  var poradi = 0;
  var servery = new Array(
    'youtube.com', 
    'zkouknito.cz', 
    'stream.cz', 
    'video.google', 
    'dailymotion.com', 
    'n-joy.cz', 
    'gametrailers.com', 
    'gamerztube.cz'
  );
	
  servery_pocet = servery.length;
  
  for(poradi; poradi < servery_pocet; poradi++){
    
    if(video.search(servery[poradi]) != -1){
      vybrany_server += servery[poradi];
    }
    else {
      vybrany_server += '';
    }
  }  
  for (var i=0; document.forms[i]; i++) {
		if (document.forms[i].name == form) fid = i;
	}
	for (var i=0; document.forms[fid].elements[i]; i++) {
		if (document.forms[fid].elements[i].name == name) tid = i;
	} 
	if (video) BBTag('[video]'+ seznam_serveru(vybrany_server, video) +'[/video]','', document.forms[fid].elements[tid]);
}

function seznam_serveru(server, url) {
  var nahrad = "";
  var nahrazeno = "";
  var bbc = "";
  
  if(server == 'youtube.com'){
    nahrad = "^[^v]+v.(.{11}).*";
    var regex = new RegExp(nahrad);
    var results = regex.exec(url);
    var pozice = results[1];
    bbc = 'youtube:' +pozice;
    return bbc;
  }
  if(server == 'zkouknito.cz'){
    nahrad = "[\s\S]*video_(.*?)_[\s\S]"; 
    var regex = new RegExp(nahrad);
    var results = regex.exec(url);
    var pozice = results[1];

    bbc = 'zkouknito:' +pozice;
    return bbc;
  }
  if(server == 'stream.cz'){
    nahrad = "[\s\S]*\/(.*?)$"; 
    var regex = new RegExp(nahrad);
    var results = regex.exec(url);
    var pozice = results[1];
    bbc = 'stream:' +pozice;
    return bbc;
  }
  if(server == 'video.google'){
    nahrad = "[\s\S]*docid=(.*?)(#?)$";
    var regex = new RegExp(nahrad);
    var results = regex.exec(url);
    var pozice = results[1];
    bbc = 'google:' +pozice;
    return bbc;
  }
  if(server == 'dailymotion.com'){
    nahrad = "[\s\S]*video\/(.*?)_[\s\S]*"; 
    var regex = new RegExp(nahrad);
    var results = regex.exec(url);
    var pozice = results[1];
    bbc = 'dailymotion:' +pozice;
    return bbc;
  }
  if(server == 'n-joy.cz'){
    nahrad = "[\s\S]*video\/(.*?)"; 
    var regex = new RegExp(nahrad);
    var results = regex.exec(url);
    var pozice = results[1];
    bbc = 'n-joy:' +pozice;
    return bbc;
  }
  if(server == 'gametrailers.com'){
    nahrad = "[\s\S]*\/(.*?)$"; 
    var regex = new RegExp(nahrad);
    var results = regex.exec(url);
    var pozice = results[1];
    bbc = 'gametrailers:' +pozice;
    return bbc;
  }
  if(server == 'gamerztube.cz'){
    nahrad = "[\s\S]*\/[w](.*?)\/[\s\S]*"; 
    var regex = new RegExp(nahrad);
    var results = regex.exec(url);
    var pozice = results[1];
    bbc = 'gamerztube:' +pozice;
    return bbc;
  }

  if(server == ''){
    bbc = 'nepodporovan:' +url;
    return bbc;
  } 
}

 function bb_insert_img(form, name){
  var img = document.getElementById('input_img_link_' + form + '_' + name).value;
  var width = document.getElementById('input_img_width_' + form + '_' + name).value;
	document.getElementById('input_img_link_' + form + '_' + name).value = '';
	document.getElementById('input_img_width_' + form + '_' + name).value = '';
	var fid = false;
	var tid = false;
  for (var i=0; document.forms[i]; i++) {
		if (document.forms[i].name == form) fid = i;
	}
	for (var i=0; document.forms[fid].elements[i]; i++) {
		if (document.forms[fid].elements[i].name == name) tid = i;
	} 
	if (img) BBTag('[img='+width+']'+img+'[/img]','', document.forms[fid].elements[tid]);
}

function bb_insert_collapse(form, name) {
	var title = document.getElementById('collapse_title_' + form + '_' + name).value;
	var content = document.getElementById('collapse_area_' + form + '_' + name).value;
	document.getElementById('collapse_title_' + form + '_' + name).value = '';
	document.getElementById('collapse_area_' + form + '_' + name).value = '';
	var fid = false;
	var tid = false;
	for (var i=0; document.forms[i]; i++) {
		if (document.forms[i].name == form) fid = i;
	}
	for (var i=0; document.forms[fid].elements[i]; i++) {
		if (document.forms[fid].elements[i].name == name) tid = i;
	}
	if (title && content) {
		BBTag('[collapse='+ title +']'+ content +'[/collapse]','', document.forms[fid].elements[tid]);
	} else if (content) {
		BBTag('[collapse=',']'+ content +'[/collapse]', document.forms[fid].elements[tid]);
	} else if (title) {
		BBTag('[collapse='+ title +']', '[/collapse]', document.forms[fid].elements[tid]);
	}
}
/*
function bb_insert_img(form, name) {
	var link = document.getElementById('input_img_link_' + form + '_' + name).value;
	var fid = false;
	var tid = false;
	for (var i=0; document.forms[i]; i++) {
		if (document.forms[i].name == form) fid = i;
	}
	for (var i=0; document.forms[fid].elements[i]; i++) {
		if (document.forms[fid].elements[i].name == name) tid = i;
	}
	if (link.search(/\[CzT-Img=[\w]+\]/) != -1) BBTag(link, '', document.forms[fid].elements[tid]);
	else if (link.search(/\[CzT-FullImg=[\w]+\]/) != -1) BBTag(link, '', document.forms[fid].elements[tid]);
	else if (document.getElementById('input_img_wide_' + form + '_' + name).checked) BBTag('[img='+ link,']', document.forms[fid].elements[tid]);
	else BBTag('[img]'+ link,'[/img]', document.forms[fid].elements[tid]);
	document.getElementById('input_img_wide_' + form + '_' + name).checked = false;
	document.getElementById('input_img_link_' + form + '_' + name).value = '';
}
*/
// Remember the current position.
function storeCaret(text)
{
    // Only bother if it will be useful.
    if (typeof(text.createTextRange) != "undefined")
        text.caretPos = document.selection.createRange().duplicate();
}

function SmileIT(smile,textarea){
    // Attempt to create a text range (IE).
    if (typeof(textarea.caretPos) != "undefined" && textarea.createTextRange)
    {
        var caretPos = textarea.caretPos;

        caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? smile + ' ' : smile
        caretPos.select();
    }
    // Mozilla text range replace.
    else if (typeof(textarea.selectionStart) != "undefined")
    {
        var begin = textarea.value.substr(0, textarea.selectionStart);
        var end = textarea.value.substr(textarea.selectionEnd);
        var scrollPos = textarea.scrollTop;

        textarea.value = begin + smile + end;

        if (textarea.setSelectionRange)
        {
            textarea.focus();
            textarea.setSelectionRange(begin.length + smile.length, begin.length + smile.length);
        }
        textarea.scrollTop = scrollPos;
    }
    // Just put it on the end.
    else
    {
        textarea.value += smile;
        textarea.focus(textarea.value.length - 1);
    }
}

function BBTag(opentag, closetag, textarea)
{
    // Can a text range be created?
    if (typeof(textarea.caretPos) != "undefined" && textarea.createTextRange)
    {
        var caretPos = textarea.caretPos, temp_length = caretPos.text.length;

        caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? opentag + caretPos.text + closetag + ' ' : opentag + caretPos.text + closetag;

        if (temp_length == 0)
        {
            caretPos.moveStart("character", -closetag.length);
            caretPos.moveEnd("character", -closetag.length);
            caretPos.select();
        }
        else
            textarea.focus(caretPos);
    }
    // Mozilla text range wrap.
    else if (typeof(textarea.selectionStart) != "undefined")
    {
        var begin = textarea.value.substr(0, textarea.selectionStart);
        var selection = textarea.value.substr(textarea.selectionStart, textarea.selectionEnd - textarea.selectionStart);
        var end = textarea.value.substr(textarea.selectionEnd);
        var newCursorPos = textarea.selectionStart;
        var scrollPos = textarea.scrollTop;

        textarea.value = begin + opentag + selection + closetag + end;

        if (textarea.setSelectionRange)
        {
            if (selection.length == 0)
                textarea.setSelectionRange(newCursorPos + opentag.length, newCursorPos + opentag.length);
            else
                textarea.setSelectionRange(newCursorPos, newCursorPos + opentag.length + selection.length + closetag.length);
            textarea.focus();
        }
        textarea.scrollTop = scrollPos;
    }
    // Just put them on the end, then.
    else
    {
        textarea.value += opentag + closetag;
        textarea.focus(textarea.value.length - 1);
    }
}
/*
function nahled_prevod(text) {
 
  htmlspecialchars1 (text);
 
  var poradi = 0;
  var w = '400px'; 
  var h = '300px';
  var bbcode_tagy = new Array(
    '\[br\]',
    '\[b\](.*?)\[\/b\]',
    '\[i\](.*?)\[\/i\]',
    '\[u\](.*?)\[\/u\]',
    '\[ul\](.*?)\[\/ul\]',
    '\[ol\](.*?)\[\/ol\]',
    '\[li\](.*?)\[\/li\]',
    '\[h\=(.*?)\](.*?)\[\/h\]',
    '\[p\](.*?)\[\/p\]',
    '\[url\=(.*?)\](.*?)\[\/url\]',
    '\[img\](.*?)\[\/img\]',
    '\[font\=(.*?)\](.*?)\[\/font\]',
    '\[size\=(.*?)\](.*?)\[\/size\]',
    '\[color\=(.*?)\](.*?)\[\/color\]',
    '\[code\](.*?)\[\/code\]',
    '\[video\]youtube:(.*?)\[\/video\]',
    '\[video\]zkouknito:(.*?)\[\/video\]',
    '\[video\]stream:(.*?)\[\/video\]',
    '\[video\]google:(.*?)\[\/video\]',
    '\[video\]dailymotion:(.*?)\[\/video\]',
    '\[video\]n-joy:(.*?)\[\/video\]',
    '\[video\]gametrailers:(.*?)\[\/video\]',
    '\[video\]gamerztube:(.*?)\[\/video\]'
    );
  
  var html_tagy = new Array(
    '<br />',
    '<strong>$1</strong>',
    '<em>$1</em>',
    '<u>$1</u>',
    '<ul>$1</ul>',
    '<ol>$1</ol>',
    '<li>$1</li>',
    '<h$1>$2</h$1>',
    '<p>$1</p>',
    '<a href="$1" target="_blank">$2</a>',
    '<img src="$1" alt="" />',
    '<span style="font-family: $1;">$2</span>',
    '<span style="font-size: $1;">$2</span>',
    '<span style="color: $1;">$2</span>',
    '<pre class="code">$1</pre>',
	  '<object width="'+w+'" height="'+h+'"><param name="movie" value="http://www.youtube.com/v/$1&amp;hl=cs_CZ&amp;fs=1" /><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><embed src="http://www.youtube.com/v/$1&amp;hl=cs_CZ&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="'+w+'" height="'+h+'"></embed></object>', 
    '<object allowfullscreen="true" allowscriptaccess="always" type="application/x-shockwave-flash" style="width:'+w+'; height:'+h+';" data="http://www.zkouknito.cz/player/external.swf?vid=$1"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://www.zkouknito.cz/player/external.swf?vid=$1" /></object>',  
    '<object width="'+w+'" height="'+h+'" ><param name="movie" value="http://www.stream.cz/object/$1"><param name="allowfullscreen" value="true"><param name="allowscriptaccess" value="always"><param name="wmode" value="transparent"><embed src="http://www.stream.cz/object/$1" type="application/x-shockwave-flash" wmode="transparent" allowfullscreen="true" allowscriptaccess="always" width="'+w+'" height="'+h+'"></object>',  
    '<embed id=VideoPlayback src=http://video.google.com/googleplayer.swf?docid=$1&hl=cs&fs=true style=width:'+w+';height:'+h+' allowFullScreen=true allowScriptAccess=always type=application/x-shockwave-flash></embed>',  
    '<object width="'+w+'" height="'+h+'"><param name="movie" value="http://www.dailymotion.com/swf/video/$1"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed type="application/x-shockwave-flash" src="http://www.dailymotion.com/swf/video/$1" width="'+w+'" height="'+h+'" allowfullscreen="true" allowscriptaccess="always"></embed></object>',  
    '<iframe src="http://n-joy.cz/video/$1/embed" width="'+w+'" height="'+h+'" frameborder="0" scrolling="no"></iframe>',  
    '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" id="gtembed" width="'+w+'" height="'+h+'">	<param name="allowScriptAccess" value="sameDomain" /> <param name="allowFullScreen" value="true" /> <param name="movie" value="http://www.gametrailers.com/remote_wrap.php?mid=$1"/><param name="quality" value="high" /> <embed src="http://www.gametrailers.com/remote_wrap.php?mid=$1" swLiveConnect="true" name="gtembed" align="middle" allowScriptAccess="sameDomain" allowFullScreen="true" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'+w+'" height="'+h+'"></embed></object>',  
    '<object width="'+w+'" height="'+h+'"><embed width="'+w+'" height="'+h+'" wmode="transparent" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" allowfullscreen="true" allowscriptaccess="sameDomain" quality="high" src="http://www.gamerztube.cz/player/flvplayer_elite.swf" flashvars="config=http://www.gamerztube.cz/player/config_embed.php?flv=$1;e084a246216a509955acbe783f281b90&playList=http://www.gamerztube.cz/player/playlist.php&frame=http://www.gamerztube.cz/icons/BannerGamerz2.jpg"></embed></object>'  
  );

  tagy = bbcode_tagy.length;
  
  for(poradi; poradi < tagy; poradi++){
    var regex = new RegExp(bbcode_tagy[poradi]);
    var results = regex.exec(text);
    var pozice = results[1];
    
    text = text.replace(results[1], html_tagy[poradi]);
  }  
  return text;  
}  */
