/*******************************************************************************
* Datei :           events.js   ***JAVASCRIPT***                               *
*                                                                              *
* Projekt :         NC EveCal                                                  *
* Version :         3.3                                                        *
* Datum :           03.07.2004                                                 *
* Letzte Änderung : 10.01.2005                                                 *
* Autor :           Manuel Rennecke <info@netconcept24.de>                     *
* Herausgeber :     (c) 2001-2005 - Net Concept 24                             *
*                                                                              *
* Textwerkzeug- und Prüf-Funktionen                                            *
*******************************************************************************/

//**** Text bei der Eingabeaufforderung *****************************

  standard     = "Bitte geben Sie den gewünschten Text ein:";
  texteingabe  = "Bitte geben Sie Ihren Text ein - ";
  linkname     = "Bitte geben Sie den Linknamen an (optional).";
  linkadresse  = "Bitte geben Sie die vollständige Adresse des Links an.";
  emailname    = "Bitte geben Sie die gewünschte Email Adresse ein.";
  listentyp    = "Für eine numerierte Liste geben Sie eine '1' an. Für eine alphabetische ein 'a'.\nFür eine einfache Punktliste drücken Sie 'OK'.";
  listenwerte  = "Geben Sie bitte die Listenpunkte ein und drücken Sie anschließend 'OK'.\nAlternativ können Sie 'Abbrechen' wählen, um die Liste direkt fertigzustellen.";
  imgurl       = "Bitte geben Sie die URL zum gewünschten Bild ein:";

var markedtext = "";
selectedtext   = "";

//**** Feld auswählen ***********************************************
function setFocus(form,field) {
  document.forms[form].elements[field].focus();
}

//**** Einzelzeichen hinzufügen *************************************
function addCharacter(character,form,field) {
  document.forms[form].elements[field].value += character + " ";
  setFocus(form,field);
}

//**** Textauswahl **************************************************
function readSelection(doit) { 
  markedtext = (document.all) ? document.selection.createRange().text : (document.getSelection ? document.getSelection() : window.getSelection());
  if (doit.createTextRange) 
    doit.caretPos = document.selection.createRange().duplicate();
  return true;
}

//**** Text hinzufügen **********************************************
function addText(newtext,form,field) {
  if (markedtext != "" && document.forms[form].elements[field].createTextRange && document.forms[form].elements[field].caretPos) {
    var caretPos = document.forms[form].elements[field].caretPos;
    caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? newtext + ' ' : newtext;
  } else
    document.forms[form].elements[field].value += newtext;
  setFocus(form,field);
  selectedtext = "";
}

//**** Code vorbereiten *********************************************
function prepareCode(form,field,code,output) {
  setFocus(form,field);
  if (code == "IMG") {
	field_output = "http://";
	inserttext = prompt(imgurl + "\n[" + code + "]Bild-URL[/" + code + "]",field_output);
  } else {
    if (markedtext) 
	  var field_output = markedtext;
    else 
	  var field_output = output;
    inserttext = prompt(standard + "\n[" + code + "]Ihr Text[/" + code + "]",field_output);
  }
  if ((inserttext != null) && (inserttext != "")) { 
    selectedtext = "[" + code + "]" + inserttext + "[/" + code + "]";
    addText(selectedtext,form,field);
  }
  setFocus(form,field);
}

//**** Farbcode vorbereiten *****************************************
function prepareColor(form,field,code,output) {
  setFocus(form,field);
  if (markedtext) 
    var field_output = markedtext;
  else 
    var field_output = output;
  inserttext = prompt(standard + "\n[color=" + code + "]Ihr Text[/color]",field_output);
  if ((inserttext != null) && (inserttext != "")) { 
    selectedtext = "[color=" + code + "]" + inserttext + "[/color]";
    addText(selectedtext,form,field);
  }
  setFocus(form,field);
}

//**** Link und E-Mail vorbereiten **********************************
function prepareLink(form,field,type) {
  if (markedtext) 
    var field_output = markedtext; 
  else 
    var field_output = ""; 
  linktext = prompt(linkname,field_output);
  var output;
  if (type == "URL") {
    ausgabe       = linkadresse;
    ausgabeinhalt = "http://";
  } else {
    ausgabe = emailname;
    ausgabeinhalt = "";
  }
  linkurl = prompt(ausgabe,ausgabeinhalt);
  if ((linkurl != null) && (linkurl != "")) {
    if ((linktext != null) && (linktext != "")) {
      selectedtext = "[" + type + "=" + linkurl + "]" + linktext + "[/" + type + "] ";
      addText(selectedtext,form,field);
    } else {
      selectedtext = "[" + type + "]" + linkurl + "[/" + type + "] ";
      addText(selectedtext,form,field);
    }
  }
  setFocus(form,field);
}

// **** Liste vorbereiten *******************************************
function prepareList(form,field) {
  listtype = prompt(listentyp, "");
  if ((listtype == "a") || (listtype == "1")) {
    list    = "[list=" + listtype + "]\n";
    listend = "[/list=" + listtype + "] ";
  } else {
    list    = "[list]\n";
    listend = "[/list] ";
  }
  listentry = "initial";
  while ((listentry != "") && (listentry != null)) {
    listentry = prompt(listenwerte, "");
    if ((listentry != "") && (listentry != null))
      list += "[*]" + listentry + "\n";
  }
  selectedtext = list + listend;
  addText(selectedtext,form,field);
}

// **** Intervall-, Location- und Organizer-Layer laden *************
function load_layer(form,timetable,location,organizer) {
	l = (document.forms[form].elements[location][0].checked == true? 0 : 1);
	o = (document.forms[form].elements[organizer][0].checked == true? 0 : 1);
	if (document.all) {
		document.all(document.forms[form].elements[timetable].value).style.display = "block";
		document.all(document.forms[form].elements[location][l].value).style.display = "block";
		document.all(document.forms[form].elements[organizer][o].value).style.display = "block";
	} else if (document.getElementById) {
		document.getElementById(document.forms[form].elements[timetable].value).style.display = "block";
		document.getElementById(document.forms[form].elements[location][l].value).style.display = "block";
		document.getElementById(document.forms[form].elements[organizer][o].value).style.display = "block";
	}
}

// **** Location- und Organizer-Layer wechseln **********************
function change_layer(form,what) {
	e = (document.forms[form].elements[what][0].checked == true? 0 : 1);
	f = (e == 1? 0 : 1);
	if (document.all) {
		document.all(document.forms[form].elements[what][f].value).style.display = "none";
		document.all(document.forms[form].elements[what][e].value).style.display = "block";
	} else if (document.getElementById) {
		document.getElementById(document.forms[form].elements[what][f].value).style.display = "none";
		document.getElementById(document.forms[form].elements[what][e].value).style.display = "block";
	}
}

// **** PopUps aufrufen *********************************************
function popup(site, width, height) {
	w = window.open(site,'events','width='+width+',height='+height+',top=10,left=200,resizable=no,scrollbars=yes,dependent');
	w.focus();
}
