//##############################################################################
// 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) {
    if (obj) {
        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, language) {
    if (obj) {
        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 == '@' || c == '+')
                t = t + c

        }
        obj.value = t
        if ((obj.value.length < 7) || (obj.value.indexOf('@') < 1) || (s == "Sie@Webdienst.de")) {
            if (language && language.toLowerCase() == 'en')
                alert("Please enter a valid e-mail address!")
            else
                alert("Bitte geben Sie eine korrekte E-Mail-Adresse im Feld\n'" + label + "' ein!")
            obj.focus()
            return false
        }
    }
   return true
}

//------------------------------------------------------------------------------
function getCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') c = c.substring(1, c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
    }
    return null;
}

//------------------------------------------------------------------------------
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
//##############################################################################
