//##############################################################################
// start functions.js
//##############################################################################

//------------------------------------------------------------------------------
function reallyDel(s) {
   if (s > "")
      return confirm("Wollen Sie " + s + " wirklich löschen?")
   else
      return confirm("Wirklich löschen?")
}
//------------------------------------------------------------------------------
function trim(s) {
   if (s.length == 0) return ""
   while (s.charAt(0) == " ") {
      s = s.substring(1, s.length)
   }
   if (s.length == 0) return ""
   while (s.length > 2 && s.charAt(s.length-1) == " ") {
      s = s.substring(0, s.length-1)
   }
   return s
}

//------------------------------------------------------------------------------
function toNum(s)   {
   var i, c, str = ''
   for (i=0; i<s.length; i++) {
      c = s.charAt(i);
      if ((c>='0' && c<='9')|| (c=='-' && i==0)) str += c
   }
   return str
}

//------------------------------------------------------------------------------
function checkObject(obj, label) {
   obj.value = trim(obj.value)
   if (obj.value.length == 0) {
      alert("Bitte füllen Sie das Feld '" + label + "' aus!")
      obj.focus()
      return false
   }
   return true
}


//------------------------------------------------------------------------------
function checkEmail(obj, label) {
   s=obj.value
   t=""
   for (i=0; i<s.length; i++) {
      c=s.charAt(i)
      if (c>='0' && c<='9')
         t=t+c
      if ((c>='A' && c<='Z') || (c>='a' && c<='z'))
         t=t+c
      if (c=='.' || c=='_' || c=='-' || c=='@')
         t=t+c

   }
   obj.value=t
	if ( (obj.value.length<7) || (obj.value.indexOf('@')<1) ) {
      alert("Bitte geben Sie eine korrekte E-Mail-Adresse im Feld\n'" + label + "' ein!")
      obj.focus()
		return false
   }
   return true
}

//------------------------------------------------------------------------------
function checkEmailBest(mail1, mail2) {
   mail1.value = trim(mail1.value)
   mail2.value = trim(mail2.value)
   if (mail1.value != mail2.value) {
      alert("Bitte prüfen Sie Ihre E-Mail-Adresse!")
      mail1.focus()
      return false
   }
   return true
}

//------------------------------------------------------------------------------
function checkTime(obj, label, nullOk) {
   if (obj.value.length == 0) {
      if (! nullOk) {
          alert("Bitte füllen Sie das Feld '" + label + "' aus!");
          obj.focus();
      }
      return nullOk;
   }

   if (! obj.value.match(/^[01]\d:[0-5]\d$/) && ! obj.value.match(/^2[0-3]:[0-5]\d$/)) {
       alert("Bitte das Feld " + label + " im Format HH:MM ausfüllen!");
       obj.focus();
       return false;
   }
   return true;
}

//------------------------------------------------------------------------------
function abb(src, w, h) {
   var i = new Image;
   i.src = src;
   hdl = open(src, "_blank", "width=" + (16+w) + ",height=" + (16+h));
   hdl.focus;
   return false;
}

//------------------------------------------------------------------------------
function vorschauAus(preFix) {
   document.getElementById(preFix + 'Pfeil').src = "/intern/img/trans.gif"
   document.getElementById(preFix + 'Preview').src = "/intern/img/trans.gif"
   document.getElementById(preFix + 'Preview').width = 1
   document.getElementById(preFix + 'Preview').height = 1
   document.getElementById(preFix + 'Text').innerText = ""
}

//------------------------------------------------------------------------------
function vorschauVerzoegert(url, preFix, preViewWidth, preViewHeight) {
   var bild, w, h, t, scale = false

   bild = new Image()
   bild.src = url

   w = bild.width
   h = bild.height
   t = w + " x " + h + " Px"

   if (w > preViewWidth) {
      h = h * preViewWidth / w
      w = preViewWidth
      scale = true
   }
   if (h > preViewHeight) {
      w = w * preViewHeight / h
      h = preViewHeight
      scale = true
   }
   if (scale) t += " (verkleinert)"
   document.getElementById(preFix + 'Text').innerText = t
   document.getElementById(preFix + 'Pfeil').src = "/intern/img/pfeilneuesbild.gif"
   document.getElementById(preFix + 'Preview').src = url
   document.getElementById(preFix + 'Preview').width = w
   document.getElementById(preFix + 'Preview').height = h
}

//------------------------------------------------------------------------------
function vorschau(obj, preViewWidth, preViewHeight) {
   var extension, bild, url, preFix

   url = obj.value
   preFix = obj.id

   extension = url.substr(url.lastIndexOf(".") + 1).toLowerCase();
   if (extension != "jpg" && extension != "gif" && url.length > 0) {
      //Bildformat nicht webtauglich -> Meldung
      alert(
         "Sie haben eine Datei vom Typ \*." + extension + " ausgewählt.\n" +
         "Es werden nur \*.jpg- oder \*.gif-Dateien unterstützt.\n\n" +
         "Bitte wählen Sie eine andere Datei."
      )
      vorschauAus(preFix)
   }
   else if (extension > "") {
      //das war OK => Vorschau verzoegert aufrufen
      //sonst ist bei Netzlaufwerken und gr. Bildern u.U. das Bild
      //noch nicht da
      bild = new Image()
      bild.src = url
      url = url.replace(/\\/g, "\/")
      setTimeout("vorschauVerzoegert('" + url + "','" + preFix + "'," + preViewWidth + "," + preViewHeight+ ")", 200)
   } else {
      //Eingabe wurde z.B. manuell gelöscht -> Vorschau wird entfernt
      vorschauAus(preFix)
   }
}

//------------------------------------------------------------------------------
function selectAll(obj) {
	if (obj) obj.checked = true
	for (var i=0; i<obj.length; i++)
	   obj[i].checked = true
}

//------------------------------------------------------------------------------
function deselectAll(obj) {
	if (obj) obj.checked = false
   for (var i=0; i<obj.length; i++)
      obj[i].checked = false
}

//------------------------------------------------------------------------------
function countSelected(obj) {
	if (obj.length == undefined) {
	       s = (obj.checked ? 1 : 0);
   } else {
	   for (var s=0, i=0; i<obj.length; i++)
	       s += (obj[i].checked ? 1 : 0);
	}
	return s;
}

//------------------------------------------------------------------------------
function elemSelected(obj, label) {
	n = countSelected(obj);
	if (n == 0) alert("Sie haben " + (label ? label : "keine Elemente") + " ausgewählt!");
	return (n>0);
}

//##############################################################################
// end functions.js
//##############################################################################
