Cufon.replace('h1')('h2')('h3');

var clientPC = navigator.userAgent.toLowerCase();
var is_gecko = ((clientPC.indexOf('gecko')!=-1) && (clientPC.indexOf('spoofer')==-1)
                && (clientPC.indexOf('khtml') == -1) && (clientPC.indexOf('netscape/7.0')==-1));
var is_safari = ((clientPC.indexOf('AppleWebKit')!=-1) && (clientPC.indexOf('spoofer')==-1));
var is_khtml = (navigator.vendor == 'KDE' || ( document.childNodes && !document.all && !navigator.taintEnabled ));

if (clientPC.indexOf('opera') != -1) {
	var is_opera = true;
	var is_opera_preseven = (window.opera && !document.childNodes);
	var is_opera_seven = (window.opera && document.childNodes);
}

if (window.top != window)
	window.top.location = window.location;

String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}

function hide(id) {
	try {
		if (document.getElementById(id).style.display == "none") {

			if (navigator.appName == 'Microsoft Internet Explorer') {
				document.getElementById(id).style.display = "block";
			}
			else {
				document.getElementById(id).style.display = "table-row";
			}
		}
		else {
			document.getElementById(id).style.display = "none";
		}
	}
	catch (err) {

	}
}

function addForm() {
	formNum++;

	var newFields = document.getElementById('form_etalon').cloneNode(true);
	var newField = newFields.childNodes;
	newFields.id = '';

	for (var i = 0; i < newField.length; i++) {

		if (newField[i].name != null && newField[i].name.length > 3) {
			newField[i].name = newField[i].name.substring(0, newField[i].name.length - 3) + '[' + formNum + ']';
		}

		if (newField[i].value) {
			newField[i].value = '';
		}
	}

	var insertHere = document.getElementById('form');
	insertHere.parentNode.insertBefore(newFields, insertHere);
}

function areSet(form) {

	for (var i = 0; i <= formNum; i++) {
		if (form['file[' + i + ']'].value.trim().length > 0) {
			return true;
		}
	}

	return false;
}

function isSet(input) {

	if (input == null || input.trim().length < 1) {
		return false;
	}

	return true;
}

function emailCheck(emailStr) {
	var emailPat = /^(.+)@(.+)$/;
	var specialChars = "\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
	var validChars = "\[^\\s" + specialChars + "\]";
	var quotedUser = "(\"[^\"]*\")";
	var ipDomainPat = /^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom = validChars + '+';
	var word = "(" + atom + "|" + quotedUser + ")";
	var userPat = new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat = new RegExp("^" + atom + "(\\." + atom +")*$");
	var matchArray = emailStr.match(emailPat);

	if (matchArray == null) {

		if (lang == 'cs') {
			alert('E-mailová adresa není korektní (pravděpodobně chybí symbol "@" nebo ".").');
		}
		else {
			alert('Die E-Mail-Adresse ist nicht korrekt (es fehlt wahrscheinlich das Zeichen "@" oder ".").');
		}

		return false;
	}
	var user = matchArray[1];
	var domain = matchArray[2];

	if (user.match(userPat) == null) {

		if (lang == 'cs') {
			alert('Část e-mailové adresy před "@" není zadána správně.');
		}
		else {
			alert('Der Teil der E-Mail-Adresse vor "@" ist nicht korrekt.');
		}

		return false;
	}

	var IPArray = domain.match(ipDomainPat)

	if (IPArray != null) {
		for (var i = 1; i <= 4; i++) {
			if (IPArray[i] > 255) {

				if (lang == 'cs') {
					alert('IP adresa není zadaná ve správném tvaru.');
				}
				else {
					alert('Die Form der IP-Adresse ist nicht korrekt.');
				}

				return false;
			}
		}
		return true;
	}

	var domainArray = domain.match(domainPat);

	if (domainArray == null) {

		if (lang == 'cs') {
			alert('Část e-mailové adresy po "@" není zadána správně.');
		}
		else {
			alert('Der Teil der E-Mail-Adresse hinter "@" ist nicht korrekt.');
		}

		return false;
	}

	var atomPat = new RegExp(atom, "g");
	var domArr = domain.match(atomPat);
	var len = domArr.length;

	if (domArr[domArr.length - 1].length < 2 ||
	    domArr[domArr.length - 1].length > 6) {

		if (lang == 'cs') {
			alert('Konec adresy musí být doména prvního řádu (např. ".cz").');
		}
		else {
			alert('Am Ende der Adresse muss eine Top-Level-Domain sein (z. B. ".de" oder ".at").');
		}

		return false;
	}

	if (len < 2) {

		if (lang == 'cs') {
			alert('V adrese není zadán název e-mailového serveru.');
		}
		else {
			alert('In der E-Mail-Adresse fehlt die Bezeichnung des E-Mail-Servers.');
		}

		return false;
	}

	return true;
}

function addButton(imageFile, speedTip, tagOpen, tagClose, sampleText) {
	if (!document.selection && !is_gecko) {
		return false;
	}
	imageFile = escapeQuotesHTML(imageFile);
	speedTip = escapeQuotesHTML(speedTip);
	tagOpen = escapeQuotes(tagOpen);
	tagClose = escapeQuotes(tagClose);
	sampleText = escapeQuotes(sampleText);

	var mouseOver = "";

	if (tagOpen == "t") {
		document.write("<a href=\"javascript:tabulka();\">");
	}
	else if (tagOpen == "o") {
		document.write("<a href=\"javascript:obrazek('"+tagClose+"');\">");
	}
	else {
		document.write("<a href=\"javascript:insertTags");
		document.write("('"+tagOpen+"','"+tagClose+"','"+sampleText+"');\">");
	}

	document.write("<img width=\"23\" height=\"22\" src=\""+imageFile+"\" border=\"0\" alt=\""+speedTip+"\" title=\""+speedTip+"\">");
	document.write("</a>");
	return true;
}

function escapeQuotes(text) {
	var re = new RegExp("'","g");
	text = text.replace(re,"\\'");
	re = new RegExp("\\n","g");
	text = text.replace(re,"\\n");
	return escapeQuotesHTML(text);
}

function escapeQuotesHTML(text) {
	var re = new RegExp('&',"g");
	text = text.replace(re,"&amp;");
	var re = new RegExp('"',"g");
	text = text.replace(re,"&quot;");
	var re = new RegExp('<',"g");
	text = text.replace(re,"&lt;");
	var re = new RegExp('>',"g");
	text = text.replace(re,"&gt;");
	var re = new RegExp("backslash","g");
	text = text.replace(re,"&#0092;&#0092;");
	return text;
}

function insertTags(tagOpen, tagClose, sampleText) {

	if (tagOpen == "c") {
		tagOpen = "<span style=\"color: #" + document.getElementById('color').value + "\">";
		tagClose = "</span>";
	}
	else if (tagOpen == "b_c") {
		tagOpen = "<span style=\"background-color: #" + document.getElementById('color').value + "\">";
		tagClose = "</span>";
	}

	if (document.editform)
		var txtarea = document.editform.textbox;
	else {
		var areas = document.getElementsByTagName('textarea');
		var txtarea = areas[0];
	}

	// IE
	if (document.selection  && !is_gecko) {
		var theSelection = document.selection.createRange().text;
		if (!theSelection)
			theSelection=sampleText;
		txtarea.focus();
		if (theSelection.charAt(theSelection.length - 1) == " ") {
			theSelection = theSelection.substring(0, theSelection.length - 1);
			document.selection.createRange().text = tagOpen + theSelection + tagClose + " ";
		} else {
			document.selection.createRange().text = tagOpen + theSelection + tagClose;
		}

	// Mozilla
	} else if(txtarea.selectionStart || txtarea.selectionStart == '0') {
		var replaced = false;
		var startPos = txtarea.selectionStart;
		var endPos = txtarea.selectionEnd;
		if (endPos-startPos)
			replaced = true;
		var scrollTop = txtarea.scrollTop;
		var myText = (txtarea.value).substring(startPos, endPos);
		if (!myText)
			myText=sampleText;
		if (myText.charAt(myText.length - 1) == " ") {
			subst = tagOpen + myText.substring(0, (myText.length - 1)) + tagClose + " ";
		} else {
			subst = tagOpen + myText + tagClose;
		}
		txtarea.value = txtarea.value.substring(0, startPos) + subst +
			txtarea.value.substring(endPos, txtarea.value.length);
		txtarea.focus();

		if (replaced) {
			var cPos = startPos+(tagOpen.length+myText.length+tagClose.length);
			txtarea.selectionStart = cPos;
			txtarea.selectionEnd = cPos;
		} else {
			txtarea.selectionStart = startPos+tagOpen.length;
			txtarea.selectionEnd = startPos+tagOpen.length+myText.length;
		}
		txtarea.scrollTop = scrollTop;
	}

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

function tabulka () {
	var x = window.prompt ("Počet sloupců:","");
	var y = window.prompt ("Počet řádků:", "");

	if (x > 0 && y > 0) {

		for (i = 0; i < y; i++) {
			if (i == 0)
				var vystup = "\n";

			for (ii = 0; ii < x; ii++)
				vystup = vystup + "|  ";

			vystup = vystup + "\n";
		}

		insertTags (vystup, '', '');
	}

	return;
}