function menu_open(id)
{
    menu_close(menu_open._current);
	var elem = document.getElementById(id+'_subitems');
	if ( elem )
	{
	    elem.style.display = 'block';
		menu_open._current = id;
	}
}

function menu_close(id)
{
	if ( id )
	{
		var elem = document.getElementById(id+'_subitems');
		if ( elem )
		{
		    elem.style.display = 'none';
		    menu_open._current = null;
		}
	}
}

function menu_toggle_pin()
{
	$('#main_menu').toggleClass('pinned');
	$.get('/pinmenu.php?pinned='+($('#main_menu').hasClass('pinned')?'1':'0'));
}

function jq_toggle(id,src)
{
	var elem = $('#'+id);
	$(src).toggleClass('collapsed',elem.css('display')!='none').toggleClass('expanded',elem.css('display')=='none');
	elem.slideToggle('slow',
		function() {
			$.get('/togglebox.php?id='+id+'&display='+this.style.display);
		}
	);
}

function setFields(self,name)
{
	var form = self.form;
	for ( i=0; i<form.elements.length; i++ )
	{
		if ( (form.elements[i].name == name) && (form.elements[i].type == 'checkbox') )
		{
			form.elements[i].checked = self.checked;
		}
	}
}

function openWin(url,width,height,scrollbars,target) {
   var top,left;
   if (typeof(target) == 'undefined') target = '_blank';
   if (!width) {
      width = 640;
   } else if (width<=0) {
      left = -width;
      width = screen.availWidth + 2*width;
   }
   if (!height) {
      height = 480;
   } else if (height<=0) {
      top = -height;
      height = screen.availHeight + 2*height;
   }
   var flags = '';
   if (window.innerWidth) {
      flags += 'innerWidth='+width+',innerHeight='+height+',';
   } else {
      flags += 'width='+width+',height='+height+',';
   }
   flags += 'location=no,status=no,menubar=no,toolbar=no,resizable=yes';
   if (scrollbars) flags += ',scrollbars=yes';
   if (top>0) flags += ',top='+top;
   if (left>0) flags += ',left='+left;
   else flags += ',scrollbars=no';
   var win = window.open(url,target,flags);
   if (win) {
      win.focus();
      try {
      	win.resizeTo(width,height);
		} catch(Exception) {
			// ignore error!
		}
   }
   return false;
}

var activeElement = null;

function storeCaret(elem) { 
   if (elem.type == 'textarea') {
      activeElement = elem;
      if(elem.createTextRange) {
   	   elem.caretPos = document.selection.createRange().duplicate(); 
   	}
   }
} 

function insertAtCaret(tag1,tag2) { 
   if ( (activeElement) && (activeElement.type == 'textarea') ) {
      if(activeElement.createTextRange && activeElement.caretPos) { 
			selectedText = activeElement.caretPos.text; 
			if (selectedText.length > 0) {
			   activeElement.caretPos.text = tag1 + selectedText + tag2; 
			} else {
			   activeElement.caretPos.text = tag1 + ' ' + tag2; 
         }
		} else if (activeElement.setSelectionRange) {
		   var startPos = activeElement.selectionStart;
		   var endPos = activeElement.selectionEnd;
		   var fullText = activeElement.value;
		   var firstPart = fullText.substr(0,startPos);
         var selectedText = fullText.substr(startPos,endPos-startPos);
         var lastPart = fullText.substr(endPos,fullText.length-endPos);
         activeElement.value = firstPart + tag1 + selectedText + tag2 + lastPart;
		} else {
			activeElement.value = activeElement.value + ' '+tag1 + ' ' + tag2+' '; 
		}
		activeElement.focus(); 
	}
}

function insertLinkAtCaret() {   
   var url = window.prompt('Bitte gib die URL des Links ein (inkl. http://)','http://');
   if ( (url.substr(0,7) == 'http://') || (url.substr(0,8) == 'https://') ) {
      var desc = window.prompt("Seitentitel (kann auch leer gelassen werden)",'');
      if (desc.length == 0) desc = url;
      var code = '[url='+url+']'+desc+'[/url]';
      insertAtCaret(code,'');
   }
}

function printEditorButtons() {
   document.write('<div style="border:1px solid #cccccc; padding:2px; background-color:#ffffff;" >');
   document.write(' <input type="button" onClick="insertAtCaret(\'[b]\',\'[/b]\'); return false;" style="font-weight:bold" value="Fett" /> ');
   document.write(' <input type="button" onClick="insertAtCaret(\'[i]\',\'[/i]\'); return false;" style="font-style:italic" value="Kursiv" /> ');
   document.write(' <input type="button" onClick="insertAtCaret(\'[u]\',\'[/u]\'); return false;" style="text-decoration:underline" value="Unterstrichen" /> ');
   document.write(' <input type="button" onClick="insertAtCaret(\'[quote]\',\'[/quote]\'); return false;" value="Zitat" /> ');
   document.write(' <input type="button" onClick="insertLinkAtCaret(); return false;" value="Link" /> ');
   document.write('</div>');
}

function checkForThumb(sender) {
   var result = true;
   if (sender.elements['bild'].value) {
      if (sender.elements['bild'].value.length == 0) {
         alert('Du musst ein Bild für den Upload angeben. Wenn du einen Videoclip hochlädst, muß das Bild aus dem Videoclip stammen (Vorschaubild)!');
         result = false;
      }
   }
   return result;
}
