function CheckBoxes(form, select_all,select_none){
	for (i = 0; i < form.elements.length; i++){
		if(form.elements[i].type == 'checkbox'){
			form.elements[i].checked = !(form.elements[i].checked);	
			if (form.elements[i].checked == true){
                    if(objectExists(select_none)){
     				form.check_boxes.value = document.getElementById(select_none).value;
                    }
			}
			else{
                    if(objectExists(select_all)){
     				form.check_boxes.value = document.getElementById(select_all).value;
                   }
			}
		}
	}
}

function objectExists(obj){
     if(document.getElementById(obj) == null){
          return false;
     }
     else{
          return true;
     }
}
function insert(formname, fieldname, aTag, eTag) {
  var input = document.forms[formname].elements[fieldname];
  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;
    }
    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);
  }
}
function insertTextAtPos(formname, fieldname, Text){
      var input = document.forms[formname].elements[fieldname];
  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 =  insText + Text;
    /* Anpassen der Cursorposition */
    range = document.selection.createRange();
    if (insText.length == 0) {
      range.move('character', -Text.length);
    } else {
      range.moveStart('character', insText.length + Text.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) + insText + Text + input.value.substr(end);
    /* Anpassen der Cursorposition */
    var pos;
    if (insText.length == 0) {
      pos = start;
    } 
    else {
      pos = start + insText.length + Text.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) + insText + Text + input.value.substr(pos);
  }

}
function checklen(text){	
     str = trim(text);
     if(str.length == 0){
          return false;
     }
     else{
          return true;
     }
}
function trim(text) {
     text = text.replace(/^\s+/,'');
     return text.replace(/\s+$/,'');
}

function inserturl(formname, fieldname){
     var input = document.forms[formname].elements[fieldname];
    	var caption = prompt("Bitte geben Sie einen Linknamen ein (optional):" ,"");
     var url = prompt("Bitte geben Sie die volle Adresse des Links ein","http://");
	if(caption == null){
		caption = "";
	}
     if(checklen(url)){
          if(checklen(caption)){
               insertTextAtPos(formname, fieldname, "[url=" + url + "]" + caption + "[/url]");
          }
          else{
               insertTextAtPos(formname, fieldname, "[url]" + url + "[/url]");
          }
     }

}

function insertimage(formname, fieldname){
     var input = document.forms[formname].elements[fieldname];
    	var caption = prompt("Bitte geben Sie einen Titel für das Bild ein(optional):" ,"");
     var url = prompt("Bitte geben Sie die volle Bildadresse ein","http://");
	if(caption == null){
		caption = "";
	}
     if(checklen(url)){
          if(checklen(caption)){
               insertTextAtPos(formname, fieldname, "[img=" + url + "]" + caption + "[/img]");
          }
          else{
               insertTextAtPos(formname, fieldname, "[img]" + url + "[/img]");
          }
     }

}
function insertyoutubevideo(formname, fieldname){
     var input = document.forms[formname].elements[fieldname];
     var url = prompt("Bitte geben Sie die volle Adresse zu dem YouTube-Video ein ein","http://");
     if(checklen(url)){
          insertTextAtPos(formname, fieldname, "[youtube]" + url + "[/youtube]");
     }
}
/*
function adduploadslots(num){
     for(j = 1; j <= num; j++){
          var newFields = document.getElementById('motherfield').cloneNode(true);
          newFields.id = '';
          var newField = newFields.childNodes;
          for (var i=0;i<newField.length;i++) {
               var theName = newField[i].name
               if (theName)
                    newField[i].name = theName + counter;
          }
		newFields.value = '';
          var newBr = document.getElementById('motherbr').cloneNode(true);
          var insertHere = document.getElementById('writebefore');
          insertHere.parentNode.insertBefore(newFields,insertHere);
          insertHere.parentNode.insertBefore(newBr, insertHere);
     }
     
}
*/
function adduploadslots(num){	
	for(i = 1; i <= num; i++){
			var input = document.createElement( 'input' );
			input.type = 'file';
			input.name = 'File[]';
			input.size= '40';
			input.id = i;
			input.setAttribute('class', 'fileupload');
			var newBr = document.getElementById('motherbr').cloneNode(true);
			var insertHere = document.getElementById('writebefore');
         		insertHere.parentNode.insertBefore(input,insertHere);
			insertHere.parentNode.insertBefore(newBr, insertHere);
	}
}

function generate_user_salt(fieldname){
     var valid_characters;
     valid_characters = 'abcdefghijklmopqrstuvwxylz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ-_.';
     var salt;
     var character;
     salt = '';
     for(i=1;i<=20;i++){
          var ran_number_unrounded = Math.random()*(valid_characters.length -1);
          character = valid_characters.substr(Math.floor(ran_number_unrounded),1);
          salt = salt + character;
     }
     fieldname.value = salt;

}
function make_visible(fieldname){
     var elem;
     elem = document.getElementById(fieldname);
     elem.setAttribute('style', 'display:inline;');
}
function make_invisible(fieldname){
     var elem;
     elem = document.getElementById(fieldname);
     elem.setAttribute('style', 'display:none;');
}
function switch_debug_window(strWindow,strButton){
     var elem;
     var display;
     var button;
     button = document.getElementById(strButton)
     elem = document.getElementById(strWindow);
     display = elem.getAttribute('style');
     if(display.indexOf('none') != -1){
          elem.setAttribute('style', 'display:block;');
          button.firstChild.nodeValue = "| - |";
     }
     else{
          elem.setAttribute('style', 'display:none;');
          button.firstChild.nodeValue = "| + |";
     }
}
function hide_debug_window(strWindow, strButton){
     var elem;
     var button;
     elem = document.getElementById(strWindow);
     elem.setAttribute('style', 'display:none;');
     button = document.getElementById(strButton);
     /*button.removeChild(button.firstChild);*/
     button.setAttribute('style', 'display:inline');


}
function insert_current_date(strField){
	var elem;
	var now;
	var Month_Of_Year = new Array('01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12');
	elem = document.getElementById(strField);
	now = new Date();
	elem.value = (now.getDate() < 10 ? "0"+now.getDate() : now.getDate()) +" "+Month_Of_Year[now.getMonth()]+" "+now.getFullYear()+", "+(now.getHours() < 10 ? "0"+now.getHours() : now.getHours())+":"+(now.getMinutes() < 10 ? "0" + now.getMinutes() : now.getMinutes());
}

function open_popup_window(url, width, height, scrollbar, statusbar, resizable){
	objWindow = window.open(url, "popupwindow", 'width=' + width + ', height=' + height + ', scrollbars=' + scrollbar + ', statusbar=' + statusbar + ', resizable=' + resizable);
	objWindow.focus();
}

