/***********************************
**      File: functions.js        **
**  Modified: 2010-06-17          **
**   Version: 1.3.2               **
** Copyright: 1TOPF entertainment **
**    E-Mail: support@1topf.com   **
***********************************/

function checkLength(element, maxLength)
{
	var len = element.value.length;
	
	if(len > maxLength)
	{
		element.value = element.value.substr(0,maxLength);
		len = maxLength;
	}
	else
	{
		document.getElementById('remChars').innerHTML = maxLength - len;
	}
}

function bbcode(field, start, end)
{
	if (window.getSelection)
	{
		//Mozilla Firefox
		field.value = String(field.value).substring(0,field.selectionStart) + tagger(String(field.value).substring(field.selectionStart,field.selectionEnd), start, end) + String(field.value).substring(field.selectionEnd,field.value.length);
	}
	else if (document.getSelection)
	{
		//Andere Browser
		document.getSelection() = tagger(document.getSelection(), start, end);
	}
	else if (document.selection)
	{	
		//Internet Explorer 6
		document.selection.createRange().text = tagger(document.selection.createRange().text, start, end);
	}
}

function bbcode_option(field, start, end, sname)
{
	document.getElementsByName(field)[0].focus();
	
	var value = document.getElementsByName(field)[0].value;
	var text = prompt("Geben Sie bitte den Text ein, den Sie formatieren wollen:");
	
	document.getElementsByName(field)[0].value = value + start + text + end;
	document.getElementsByName(field)[0].focus();
}

function tagger(t, start, end)
{
	if(/\S+/.test(t))
	{
		if(String(t).substring(0, 1) == " ")
		{
			t = " " + start + String(t).substring(1,t.length);
		}
		else
		{
			t = start + t;
		}
		if(String(t).substring(t.length-1, t.length) == " ")
		{
			t =  String(t).substring(0,t.length-1) + end + " ";
		}
		else
		{
			t = t + end;
		}
	}
	else
	{
		alert("Bitte markieren Sie den Text, der formatiert werden soll.");
	}
	return t;
}

function smiley(field, bbcode)
{
	document.getElementsByName(field)[0].focus();
	document.getElementsByName(field)[0].value += bbcode;
	document.getElementsByName(field)[0].focus();
}

function externimg(field)
{
	var url = prompt("Geben Sie bitte den Hyperlink des externen Bildes ein:");
	
	document.getElementsByName(field)[0].focus();
	
	var start = "[externimg]";
	var end = "[/externimg]";
	var value = document.getElementsByName(field)[0].value;
	
	document.getElementsByName(field)[0].value = value + start + url + end;
	document.getElementsByName(field)[0].focus();
}

function hyperlink(field)
{
	var text = prompt("Geben Sie bitte den Text ein, den Sie verlinken wollen:");
	var url = prompt("Geben Sie bitte den Hyperlink ein, auf den Sie verlinken wollen:");
	
	document.getElementsByName(field)[0].focus();
	
	var start = "[url=" + url + "]";
	var end = "[/url]";
	var value = document.getElementsByName(field)[0].value;
	
	document.getElementsByName(field)[0].value = value + start + text + end;
	document.getElementsByName(field)[0].focus();
}

function newWindow(file, temp, width, height, scrall)
{ 
	features = "width="+width+", height="+height+", left=0, top=0, resizable=yes, scrollbars="+scrall;
	openWindow = window.open(file, temp, features);
	openWindow.focus(); 
	openWindow.moveTo( (screen.width / 2) - 265, (screen.height / 2) - 250); 
	openWindow.focus();
}

function resWindow(height, width)
{
	new_height = height+180;
	new_width = width+80;

	if(new_width>=screen.width)
	{
		new_width = screen.width;
	}
	if(new_height>=screen.height)
	{
		new_height =screen.height;
	}
	top.resizeTo(new_width, new_height);
	top.moveTo( (screen.width - new_width) / 2 , (screen.height - new_height) / 2);
}

function show(element)
{
	document.getElementById(element).style.display = "none";
	document.getElementById(element+"_hidden").style.display = "block";
}

function hide(element)
{
	document.getElementById(element).style.display = "block";
	document.getElementById(element+"_hidden").style.display = "none";
}

function check(chk)
{
	var checkboxes = document.getElementsByName(chk);
	
	if(document.formular.checkAll.checked)
	{
		for(var i = 0; i <= checkboxes.length; i++)
		checkboxes[i].checked = true;
	}
	else
	{
		for(var i = 0; i <= checkboxes.length; i++)
		checkboxes[i].checked = false;
	}
}

function unCryptMailto(s)
{
	var n = 0;
	var r = "";
	
	for(var i = 0; i < s.length; i++)
	{
		n = s.charCodeAt(i);
		
		if(n >= 8364)
		{
			n = 128;
		}
		r += String.fromCharCode(n - 1);
	}
	return r;
}

function linkTo_UnCryptMailto(s)
{
	location.href = unCryptMailto(s);
}

function deleteItem(text, deleteLink)
{
	if(confirm(text) == true)
	{
		location = deleteLink;
	}
}
