var IE=false,NN=false,xUA=navigator.userAgent.toLowerCase();

var is_gecko = ((xUA.indexOf('gecko')!=-1) && (xUA.indexOf('spoofer')==-1)
                && (xUA.indexOf('khtml') == -1) && (xUA.indexOf('netscape/7.0')==-1));

IE=(xUA.indexOf('opera 5')!=-1 || xUA.indexOf('opera/5')!=-1 || xUA.indexOf('opera 6')!=-1 || xUA.indexOf('opera/6')!=-1);
IE=document.all && xUA.indexOf('msie')!=-1 && parseInt(navigator.appVersion)>=4;
NN=xUA.indexOf('gecko')!=-1;
if(document.layers) {NN=true}

if(NN!=true) {IE=true}
else {IE=false}

function vlozTagy(pocatecni_tag, koncovy_tag) {
	var textarea = document.add_form.obsah;
	// IE
	if(document.selection  && !is_gecko) {
		var vyber = document.selection.createRange().text;
		if(!vyber) {
			vyber='';
		}
		textarea.focus();
		if(vyber.charAt(vyber.length - 1) == " "){
			vyber = vyber.substring(0, vyber.length - 1);
			document.selection.createRange().text = pocatecni_tag + vyber + koncovy_tag + " ";
		} else {
			document.selection.createRange().text = pocatecni_tag + vyber + koncovy_tag;
		}

	// Mozilla
	} else if(textarea.selectionStart || textarea.selectionStart == '0') {
 		var vyber_zacatek = textarea.selectionStart;
		var vyber_konec = textarea.selectionEnd;
		var vrsek=textarea.scrollTop;
		var vyber = (textarea.value).substring(vyber_zacatek, vyber_konec);
		if(!vyber) {
			vyber='';
		}
		if(vyber.charAt(vyber.length - 1) == " "){
			nahrazeny_text = pocatecni_tag + vyber.substring(0, (vyber.length - 1)) + koncovy_tag + " ";
		} else {
			nahrazeny_text = pocatecni_tag + vyber + koncovy_tag;
		}
		textarea.value = textarea.value.substring(0, vyber_zacatek) + nahrazeny_text +
		  textarea.value.substring(vyber_konec, textarea.value.length);
		textarea.focus();

		var pozice=vyber_zacatek+(pocatecni_tag.length+vyber.length+koncovy_tag.length);
		textarea.selectionStart=pozice;
		textarea.selectionEnd=pozice;
		textarea.scrollTop=vrsek;

	// All others
	} else {
		var kopirovat_vystraha='!';
		var re1=new RegExp("\\$1","g");
		var re2=new RegExp("\\$2","g");
		kopirovat_vystraha=kopirovat_vystraha.replace(re1,'');
		kopirovat_vystraha=kopirovat_vystraha.replace(re2,pocatecni_tag+koncovy_tag);
		var text;

		if(!text) {
			text='';
		}
		text=pocatecni_tag+text+koncovy_tag;
		textarea.value=textarea.value+text;

		if(!is_safari) {
			textarea.focus();
		}
		noOverwrite=true;
	}

	if (textarea.createTextRange) textarea.caretPos = document.selection.createRange().duplicate();
}

function odkaz() {
	if(url = prompt('Vloz kompletni url, ktere nesmi obsahovat ] znak (http://foo.com/bar)')) {
		if(url.indexOf(']') == -1) vlozTagy('[A '+url+']','[/A]');
	}
}

function vlozObrazek() {
	vlozTagy('[IMG '+document.getElementById('obrazek').value+' '+document.getElementById('img_w').value+'x'+document.getElementById('img_h').value+' '+document.getElementById('zarovnani').value+']','[/IMG]');
}

var shown = Array();

function reply(id) {
	var object = document.getElementById('reply_'+id);
	if(shown[id] == 42) {
		object.style.display = 'none';
		shown[id] = 0;
	} else {
		object.style.display = 'block';
		shown[id] = 42;
	}
}

function showBox(text,e) {
  xs = e.clientX;
  ys = e.clientY;
  
  var object2 = document.getElementById('box').style;
  object2.opacity = 10;
  object2.MozOpacity = 10;
  object2.KhtmlOpacity = 10;
  object2.filter = "alpha(opacity=" + 10 + ")";
  
  var object1 = document.getElementById('box');
  object1.style.left = (xs+20)+'px';
  object1.style.top = (ys+10)+'px';
  object1.style.display = 'block';
  
  text = '<img src="./tmb.php?w=100&h=100&constrain=1&img='+text+'" alt="" />';
  
  object1.innerHTML = text;
}

function hideBox() {
  document.getElementById('box').style.display = 'none';
}

function fade() {
  document.getElementById('box').style.display = 'block';
  opacity(100,0,500);
}

function opacity(opacStart, opacEnd, millisec) {
    var speed = Math.round(millisec / 100);
    document.getElementById('box').style.display = 'block';
    var timer = 0;

    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ")",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("changeOpac(" + i + ")",(timer * speed));
            timer++;
        }
    }
}

function changeOpac(opacity) {
    var object = document.getElementById('box').style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
} 
