/* Element ein/ausblenden */

function toggleMe(a){
  var e=document.getElementById(a);
  if(!e)return true;
  if(e.style.display=="none"){
    e.style.display="block"
  } else {
    e.style.display="none"
  }
  return true;
}

/* Checkboxen komplett (de)aktivieren */

function SetAllCheckBoxes(FormName, FieldName, mthis)
{
  CheckValue = true;

  if (mthis.checked) CheckValue=true;
  else CheckValue=false;

  if(!document.forms[FormName])
    return;
  var objCheckBoxes = document.forms[FormName].elements[FieldName];
  if(!objCheckBoxes) return;

  var countCheckBoxes = objCheckBoxes.length;
  if(!countCheckBoxes) objCheckBoxes.checked = CheckValue;
  else
    for(var i = 0; i < countCheckBoxes; i++)
      objCheckBoxes[i].checked = CheckValue;
}

/* Link abfragen und bestätigen */
	
 function ask_first(link, question)
{
	if (typeof(question) == 'undefined')
		question = 'Wirklich löschen?'
	return window.confirm(question);
}

/* BB-CODE REPLACER */
function insert(aTag, eTag) {
  var input = document.getElementById('bb');
  input.focus();
  /* für Internet Explorer */
  if(typeof document.selection != 'undefined') {
    /* Einfügen des Formatierungscodes */
    var range = document.selection.createRange();
    var insText = range.text;
    range.text = aTag + insText + eTag;
    /* Anpassen der Cursorposition */
    range = document.selection.createRange();
    if (insText.length == 0) {
      range.move('character', -eTag.length);
    } else {
      range.moveStart('character', aTag.length + insText.length + eTag.length);      
    }
    range.select();
  }
  /* für neuere auf Gecko basierende Browser */
  else if(typeof input.selectionStart != 'undefined')
  {
    /* Einfügen des Formatierungscodes */
    var start = input.selectionStart;
    var end = input.selectionEnd;
    var insText = input.value.substring(start, end);
    input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
    /* Anpassen der Cursorposition */
    var pos;
    if (insText.length == 0) {
      pos = start + aTag.length;
    } else {
      pos = start + aTag.length + insText.length + eTag.length;
    }
    input.selectionStart = pos;
    input.selectionEnd = pos;
  }
  /* für die übrigen Browser */
  else
  {
    /* Abfrage der Einfügeposition */
    var pos;
    var re = new RegExp('^[0-9]{0,3}$');
    while(!re.test(pos)) {
      pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0");
    }
    if(pos > input.value.length) {
      pos = input.value.length;
    }
    /* Einfügen des Formatierungscodes */
    var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
    input.value = input.value.substr(0, pos) + aTag + insText + eTag + input.value.substr(pos);
  }
}


/* SEO Wortdichte bestimmen */
	
var matchPhrases = null;
var matchExpressions = null;
	   
function wordcount(src,evt) 
{
	if (window.event) evt = window.event;
	if (!evt.charCode) evt.charCode = evt.keyCode;
	if ( (evt.charCode == 10) || (evt.charCode == 13) || (evt.charCode == 32) ) {
	   var wordCount = 0;
		var tmp = src.value.replace(/(^\s+|\s+$)/,'').replace(/[.;-?=!, \r\n\t]+/gi,' ');
		wordCount = tmp.split(' ').length;
		document.getElementById('wordCount').innerHTML = wordCount;
		if (matchPhrases) {
		   var strResult = '';
		   var pct;
		   var count;
			tmp = ' '+tmp+' ';
			for(var i=0;i<matchPhrases.length;i++) {
			   var found = tmp.match(matchExpressions[i]);
				if (found) 
				{
					count = found.length;
				} else 
				{
					count = 0;
				}
				pct = (count*100)/wordCount;
				if ((pct==0) || (pct>6)) 
				{
					color = '#ff0000';
				}
				else if ((pct >= 3) && (pct <= 6))
				{
					color = 'green';
				}
				else if (pct > 0)
				{
					color = '#ff9900';
				}						
				strResult += '<span style="color:'+color+';">'+matchPhrases[i]+': <strong>'+count+'</strong> ('+pct.toFixed(2)+'%)</span><br>';
			}
			document.getElementById('phraseCount').innerHTML = strResult;
		}
	}
}
// Trennzeichen
function prepare(src) {
	matchPhrases = src.value.replace(/\r\n/g,'\n').split(",");
	matchExpressions = new Array(matchPhrases.length);
	for(var i=0;i<matchPhrases.length;i++) {
		matchExpressions[i] = new RegExp('\\\s'+matchPhrases[i]+'\\\s','gi');
	}
}

// Tabs
$(function () {
    var tabContainers = $('div.tabs > div');
    
    $('div.tabs ul.tabNavigation a').mouseover(function () {
        tabContainers.hide().filter(this.hash).show();
        
        $('div.tabs ul.tabNavigation a').removeClass('selected');
        $(this).addClass('selected');
        
        return false;
    }).filter(':first').mouseover();
});

