function show(id) {
	//document.getElementById(id).style.display = 'inline';
	$("#"+ id).slideDown('fast');
}
function hide(id) {
	//document.getElementById(id).style.display = 'none';
	$("#"+ id).fadeOut('fast'); 
}
function toggle(id) {
	if(document.getElementById(id).style.display=='none') show(id)
	else hide(id);
}
function update_countdown(size, name) {
	input_name = 'input_'+name;
	countdown_name = 'countdown_'+name;
	if(document.getElementById(input_name).value.length > size) {
		document.getElementById(input_name).value = document.getElementById(input_name).value.substr(0, size);
	}
	document.getElementById(countdown_name).innerHTML = '<b>'+(size - document.getElementById(input_name).value.length)+'</b> Zeichen frei';
}
function findPosX(obj) {
	var ret=0;if(obj.offsetParent){while(obj.offsetParent){ret+=obj.offsetLeft;obj=obj.offsetParent;}}else if(obj.x){ret+=obj.x;}return ret;
}
function findPosY(obj) {
	var ret=0;if(obj.offsetParent){while(obj.offsetParent){ret+=obj.offsetTop;obj=obj.offsetParent;}}else if(obj.y){ret+=obj.y;}return ret;
}
function stripslashes(s) {
   return s.replace(/(\\)([\\\'\"])/g,"$2");
}
function showFavourites() {
	hidePopup();
	showPopupClicker();	
	obj = 'favouriteLink';
	obj=document.getElementById(obj);
	if(window.t) window.clearTimeout(t);
	with(document.getElementById('favouritePopup')) {		
		style.top = findPosY(obj) - 3 + 'px';
		style.left = findPosX(obj) - 3 + 'px';

		style.display = 'inline';
		iframe_style = document.getElementById('iframePopup').style;
		iframe_style.width = offsetWidth;
		iframe_style.height = offsetHeight;
		iframe_style.top = style.top;
		iframe_style.left = style.left;
		//iframe_style.display = 'inline';
	}
}
function showPopupClicker () {		
	document.getElementById('iframePopupClicker').style.height = document.body.clientHeight;
	document.getElementById('iframePopupClicker').style.width = document.body.clientWidth;

	currentPosition = getCurrentBrowserPosition();
	document.getElementById('iframePopupClicker').style.top = currentPosition[1];
	document.getElementById('iframePopupClicker').style.display = 'inline';	

	if(navigator.appName.indexOf("Explorer") != -1 && document.getElementById('hideJumper') != undefined) {
		document.getElementById('hideJumper').style.display = 'none';
		document.getElementById('hideJumperButton').style.display = 'none';
	}

	if(navigator.appName.indexOf("Explorer") != -1 && document.getElementById('hidePages') != undefined) {
		document.getElementById('hidePages').style.display = 'none';
		document.getElementById('hidePagesButton').style.display = 'none';
		
		if(document.getElementById('hidePagesButton1') != undefined) {
			document.getElementById('hidePagesButton1').style.display = 'none';
		}

		if(document.getElementById('hidePagesButton2') != undefined) {
			document.getElementById('hidePagesButton2').style.display = 'none';
		}
	}
}
function getCurrentBrowserPosition () {
	var positions = new Array();
	positions[0] = 0;
	positions[1] = 0;

	if(typeof(window.pageYOffset) == 'number') {
		positions[0] = window.pageXOffset;
		positions[1] = window.pageYOffset;		
	} else if(document.body && (document.body.scrollLeft || document.body.scrollTop)) {
		positions[0] = document.body.scrollLeft;
		positions[1] = document.body.scrollTop; 		
	} else if(document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) {
		positions[0] = document.documentElement.scrollLeft;
		positions[1] = document.documentElement.scrollTop; 		
	}

	return positions;
}
function hideReviewThumbs () {
	document.getElementById('thumbRow').style.display = 'none';
	document.getElementById('allThumbs').style.display = 'inline';
}
function showReviewThumbs () {
	document.getElementById('thumbRow').style.display = 'inline';
	document.getElementById('allThumbs').style.display = 'none';
}
function toggleReviewThumbs () {
	if(document.getElementById('thumbRow').style.display == 'inline')
		hideReviewThumbs();
	else
		showReviewThumbs();
}
function hidePopup() {
	
	if($("#nickPopup").css('display') != 'none') {$("#nickPopup").hide();}
	//document.getElementById('nickPopup').style.display = 'none';
	document.getElementById('entryPopup').style.display = 'none';
	document.getElementById('iframePopup').style.display = 'none';
	document.getElementById('iframePopupClicker').style.display = 'none';
	document.getElementById('favouritePopup').style.display = 'none';

	if(navigator.appName.indexOf("Explorer") != -1 && document.getElementById('hideJumper') != undefined) {
		document.getElementById('hideJumper').style.display = 'inline';
		document.getElementById('hideJumperButton').style.display = 'inline';
	}

	if(navigator.appName.indexOf("Explorer") != -1 && document.getElementById('hidePages') != undefined) {
		document.getElementById('hidePages').style.display = 'inline';
		document.getElementById('hidePagesButton').style.display = 'inline';

		if(document.getElementById('hidePagesButton1') != undefined) {
			document.getElementById('hidePagesButton1').style.display = 'inline';
		}

		if(document.getElementById('hidePagesButton2') != undefined) {
			document.getElementById('hidePagesButton2').style.display = 'inline';
		}
	}
}
function showReviewThumbPage (pageID, numberOfPages) {

	for(i = 0; i <= numberOfPages; i++) {
		document.getElementById("reviewThumbPage"+ i).style.display = ((i == pageID) ? "inline" : "none");
	}	

	location.href="#p";
}
function inJSArray (needle, haystack) {

	if(haystack[needle] != undefined) {
		return true;
	} else {
		return false;
	}
}
	
function checkGroup(arg) {

	var allInputs = document.getElementsByTagName('input');

	for(var i = 0; i < allInputs.length; i++) {
		if(allInputs[i].type == 'checkbox' && allInputs[i].name == arg) {
			allInputs[i].checked = document.getElementById(arg).checked;
		}		
	}	
}
function checkGroupMaster(arg) {
	for(var i=0;i<document.forms.length;i++) {
		for(var j=0;j<document.forms[i].elements.length;j++) {
			if(document.forms[i].elements[j].type=='checkbox' && document.forms[i].elements[j].name==arg) {
				if(document.forms[i].elements[j].checked==false) {
					document.getElementById(arg).checked=false;
					return;
				}
			}
		}
	}
	document.getElementById(arg).checked=true;
}
function reorder(obj) {
	var i;
	var pos_new = obj.selectedIndex;
	var count = 0;
	var current = 0;
	for(i=0; i<obj.form.elements.length; i++) {
		if(obj.form.elements[i].type == 'select-one')
			count++;
		if(obj.form.elements[i]==obj)
			current = i;
	}
	var pos_arr = new Array(count);
	for (i=0; i<count; i++)
		pos_arr[i] = false;
	for (i=0; i<obj.form.elements.length; i++) {
		if(obj.form.elements[i].type == 'select-one') {
			pos_arr[obj.form.elements[i].selectedIndex] = true;
		}
	}
	var pos_old = 0;
	for (i=0; i<count; i++) {
		if (pos_arr[i] == false) {
			pos_old = i;
			break;
		}
	}
	if (pos_new != pos_old) {
		var inc = pos_new > pos_old ? -1 : 1;
		var max = Math.max(pos_new, pos_old);
		var min = Math.min(pos_new, pos_old);
		for (i=0; i<obj.form.elements.length; i++) {
			if (i != current && obj.form.elements[i].type == 'select-one') {
				if (obj.form.elements[i].selectedIndex >= min && obj.form.elements[i].selectedIndex <= max) {
					obj.form.elements[i].selectedIndex += inc;
				}
			}
		}
	}
}
var theSelection;

// Browserweiche
var isBrowser = 0;
if(navigator.appName == "Netscape")	{	
	isBrowser = 1;
}

function bbcodeFormat(inputField, param, param_end) {

	txtObj = document.getElementById(inputField);
	txtObj.focus();

	if(param_end === false) {
		param_end = param;
	}

	if (window.getSelection && txtObj.selectionStart < txtObj.value.length) {
		if(!theSelection) {
			theSelection = txtObj.value;
		}

	} else if (document.selection) 	{
		if(!theSelection) {
			theSelection = document.selection.createRange().text;	
		}		
	}
	
	// Format
	if (theSelection) {

		if (window.getSelection) {
			var start = txtObj.selectionStart;
			var end = txtObj.selectionEnd;
			txtObj.value = theSelection.substring(0,start) + "["+ param +"]" + theSelection.substring(start,end) + "[/"+ param_end +"]" + theSelection.substring(end,txtObj.value.length);
			txtObj.selectionStart = start + 2 + param.length;
			txtObj.selectionEnd = end + 2 + param.length;
		} else if (document.selection)  {
			var range = document.selection.createRange();
			range.text = "["+ param +"]"+ theSelection + "[/"+ param_end +"]";
			range.moveStart('character', param.length + 2);
			range.moveEnd('character', -param_end.length - 2);
		}

		txtObj.focus();
		theSelection = '';		
		return;

	// Exception
	} else {
		alert("Du musst etwas markieren, um es zu formatieren.");	
	}			
}
function extendedBBCodeFormat(inputField, type, type_value, all_values) {

	txtObj = document.getElementById(inputField);
	if (window.getSelection && txtObj.selectionStart < txtObj.value.length) {
		theSelection = txtObj.value;
	} else if (document.selection) {
		theSelection = document.selection.createRange().text;
	}	

	document.getElementById('bbcode_size').value = '';
	document.getElementById('bbcode_color').value = '';
	
	bbcodeFormat(inputField, type +"="+ type_value, type);	
}
function createBBCodeList (inputField) {

	var listString = "";
	var newOption = "notEmpty";
	var i = 1;	

	while(newOption != null) {
		newOption = window.prompt("Bitte gib hier die verschiedenen Listenpunkte an.", "Listenpunkt #"+ i);
		i++;

		if(newOption != null) {
			listString = listString + ((i > 2) ? "\n" : "") + "[*]"+ newOption;
		}
	}

	if(listString.length > 0) {
		document.getElementById(inputField).value = document.getElementById(inputField).value + "[list]"+ listString + "[/list]";
	}
}
function insertSmiley(inputField, smiley) {
	inputField = document.getElementById(inputField);
	inputField.focus();
	if(typeof document.selection != 'undefined') {
		var theSelection = document.selection.createRange();
	    theSelection.text = smiley;

		if(theSelection.length==0) {
			theSelection = document.selection.createRange();
			theSelection.moveStart('character', smiley.length);
		}
	    theSelection.select();
	}
	else if(typeof inputField.selectionStart != 'undefined') {
		var start = inputField.selectionStart;
		var end = inputField.selectionEnd;
		inputField.value = inputField.value.substr(0, start) + smiley + inputField.value.substr(end);

		var pos = start + smiley.length;
		inputField.selectionStart = pos;
		inputField.selectionEnd = pos;
	}
}
function deleteSmsResc (id) {
	document.getElementById("resc_"+ id).outerHTML = '';

	if(document.getElementById("resc_"+ id).innerHTML) {
		document.getElementById("resc_"+ id).innerHTML = '';
	}
}
function isNumeric (numberString) {
	var validChars = "0123456789";
	var isNumber = true;

	for(i = 0; i < numberString.length && isNumber == true; i++) {
		var curChar = numberString.charAt(i);

		if(validChars.indexOf(curChar) < 0) {
			isNumber = false;
		}
	}

	return isNumber;
}
function showSpoiler (spoilerID) {
	if(document.getElementById("spoiler_"+ spoilerID).style.display == 'none') {
		document.getElementById("spoilerbutton_"+ spoilerID).getElementsByTagName('input')[0].value = 'Text ausblenden';
		document.getElementById("spoiler_"+ spoilerID).style.display = 'inline';
	} else {
		document.getElementById("spoilerbutton_"+ spoilerID).getElementsByTagName('input')[0].value = 'Text einblenden';
		document.getElementById("spoiler_"+ spoilerID).style.display = 'none';
	}
}
function tdClickActivatesCheckBox (id) {
	if(document.getElementById(id).checked == true) {
		document.getElementById(id).checked = false;
	} else {
		document.getElementById(id).checked = true;
	}
}
function addNewEventLocation () {
	document.getElementById('newEvent_textLink').style.display = 'none';
	document.getElementById('newEvent_inputFields').style.display = 'inline';
	document.getElementById('location_id').options[document.getElementById('location_id').options.length] = new Option("# Neuer Veranstaltungsort", 'new');
	document.getElementById('location_id').value = 'new';
}
function resizeTextarea (fieldName) {
	if(document.getElementById(fieldName).style.height != '') {
		document.getElementById(fieldName).style.height = parseInt(document.getElementById(fieldName).style.height.replace('px', '')) + 150 + 'px';	
	} else {
		document.getElementById(fieldName).style.height = '350px';
	}
}

function resizeAllImages () {

	allDivs = document.getElementsByTagName('div');

	if(allDivs.length != 0) {

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

			if(allDivs[i].className == "postOverflow") {
				allImgs = allDivs[i].getElementsByTagName('img');

				for(j = 0; j < allImgs.length; j++) {
					allImgs[j].onLoad = resizePic(allImgs[j]);
				}
			}
		}
	}
}

function resizePic (pic) {	

	if(pic.width > 650) {
		pic.width = 650;
	}
}	