
//----------------------------------------------------------------------------------------------------
function getxmlhttp()
{
  var result = false;
  if( typeof XMLHttpRequest != "undefined" ) {
      result = new XMLHttpRequest();
  } else {
      try {
          result = new ActiveXObject("Msxml2.XMLHTTP");
          isIE = true;
      } catch (e) {
          try {
              result = new ActiveXObject("Microsoft.XMLHTTP");
              isIE = true;
          } catch (ie) {}
      }
  }
  return result;
}

//---------------------------------------------------------------------------------------------
function validateEqual(key1, key2, text)
{
    if(document.getElementsByName(key1)[0].value != document.getElementsByName(key2)[0].value)
    {
        alert(text);
        return false;
    }
    return true;
}

//---------------------------------------------------------------------------------------------
function expandNext(obj)
{
    var ready = false;
    var div = obj;
    while(!ready){
        div = div.nextSibling;
        if(div.nodeType == 1 && div.tagName.toLowerCase() == "div"){
            ready=true;
            break;
        }
    }
    if(div.style.display == "none"){
        div.style.display = "block";
    }else{
        div.style.display = "none";
    }
}

//---------------------------------------------------------------------------------------------
function validateMinMax(key, from, to, text)
{
    if(document.getElementsByName(key)[0].value.length <  from || document.getElementsByName(key)[0].value.length > to)
    {
        alert(text);
        return false;
    }
    return true;
}

//---------------------------------------------------------------------------------------------
function validateMin(key, num, text)
{
    if(document.getElementsByName(key)[0].value.length < num)
    {
        alert(text);
        return false;
    }
    return true;
}

//---------------------------------------------------------------------------------------------
function validateEmail(key, text)
{
    var email=document.getElementsByName(key)[0].value;
    var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
    if (filter.test(email))
        return true;
    else{
        alert(text);
        return false;
    }
}

//---------------------------------------------------------------------------------------------
function validateChecked(key, index, text)
{
    if(document.getElementsByName(key).length > index){
        if(document.getElementsByName(key)[index].checked == false){
            alert(text);
            return false;
        }
        return true;
    }
    return true;
}

//---------------------------------------------------------------------------------------------
function switchLanguage(language)
{

    if(document.getElementById("sendlanguageperpost")){

        var elem = document.createElement("input");
        elem.type = "hidden";
        elem.name = "language";
        elem.value = language;
        document.getElementById(document.getElementById("sendlanguageperpost").value).appendChild(elem);
        document.getElementById(document.getElementById("sendlanguageperpost").value).submit();
    }else{
        var url = location.href.split("&language=")[0];

        url = url.split("?language=")[0];
        if(location.href.search(/\?/) == -1)
            location.href = url + "?language=" + language;
        else
            location.href = url + "&language=" + language;
    }
}


//### ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//###
//###                DIALOGE
//###
//### ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

//---------------------------------------------------------------------------------------------
function closeDialog(obj)
{
    obj.parentNode.style.display = "none";
}

//---------------------------------------------------------------------------------------------
function closeAllDialogs()
{
    var div = document.getElementsByTagName("div");
    for(var x=0; x<div.length; x++){
        if(div[x].className.toLowerCase().search("dialogbox") != -1){

            div[x].style.display = "none";
        }
    }
    return true;
}

//---------------------------------------------------------------------------------------------
function showDialog(dialogId)
{
    if(closeAllDialogs())
        document.getElementById(dialogId).style.display = "block";
}

//---------------------------------------------------------------------------------------------
function dlgSelectToForm(objSelectFrom)
{

    var fieldId = getFieldByClassFromElementForm("fieldId", objSelectFrom);
    fieldId.value = objSelectFrom.value;

    if(objSelectFrom.value != -1){
        getDataset(objSelectFrom);
    }
}

//---------------------------------------------------------------------------------------------
function getDataset(objSelectFrom)
{
    var id = objSelectFrom.value;
    var form = getParentFormFromControll(objSelectFrom);
    if(form == false){
        alert("getDataset: form not found");
        return;
    }

    var table = getFieldByClassFromElementForm("sqltable", objSelectFrom).value;

    var pstr = "?table="+table+"&id="+id;

    var xmlHttp = getxmlhttp();
    if (xmlHttp) {
        xmlHttp.open('GET', 'ajax/ajax.getdataset.php'+pstr, true);
        xmlHttp.onreadystatechange = function () {
            if (xmlHttp.readyState == 4) {
                var serverResponse = xmlHttp.responseText;
                var arr = serverResponse.split("__new_row__");
                for(var x=0; x<arr.length; x++){
                    var A = arr[x].split("=");

                    if(A[0] != ""){
                        eval("var ele = form."+A[0]+";");
                        if(ele){

                            var elem = ele;

                            if(elem.type.toLowerCase() == "checkbox"){
                                if(elem.value == A[1])
                                    elem.checked = true;
                                else
                                    elem.checked = false;
                            }else{
                                elem.value = A[1];
                            }

                        }
                    }
                }
           }
        }
        xmlHttp.send(null);
    }
}

//---------------------------------------------------------------------------------------------
function getFieldByClassFromElementForm(returnInputClassName, formChild)
{
    var frm = formChild;
    while(frm.tagName.toLowerCase() != "form"){
        frm = frm.parentNode;
    }
    var inp = frm.getElementsByTagName("input");
    for(var x=0; x<inp.length; x++){
        if(inp[x].className == returnInputClassName)
            return inp[x];
    }
}

//---------------------------------------------------------------------------------------------
function getParentFormFromControll(controll)
{
    var form = controll;
    var i=0;
    while(form.tagName.toLowerCase() != "form"){
        form = form.parentNode;
        i=i+1;
        if(i>15) return false;
    }
    return form;
}

//---------------------------------------------------------------------------------------------
function addNew(obj)
{
    var frm = obj;//document.getElementsByName("selector")[0];
    while(frm.tagName.toLowerCase() != "form"){
        frm = frm.parentNode;
    }
    var sel = frm.getElementsByTagName("select")[0];
    sel.value = -1;

    getFieldByClassFromElementForm("fieldId", obj).value = sel.value;
    getFieldByClassFromElementForm("fieldMain", obj).value = sel.options[sel.selectedIndex].text;
}


var XMLsprechblasen;
var XMLsprechblasenIndex = 0;
//---------------------------------------------------------------------------------------------
function getSprechblasen()
{
    var xmlHttp = getxmlhttp();
    if (xmlHttp) {
        xmlHttp.open('GET', 'ajax/ajax.getsprechblasen.xml', true);
        xmlHttp.onreadystatechange = function () {
            if (xmlHttp.readyState == 4) {
                XMLsprechblasen = xmlHttp.responseXML;
                setSprechblase();
           }
        }
        xmlHttp.send(null);
    }
}

//---------------------------------------------------------------------------------------------
function setSprechblase()
{
    if(arguments.length > 0){
        XMLsprechblasenIndex = XMLsprechblasenIndex + parseInt(arguments[0], 10);
    }

    var root = XMLsprechblasen.getElementsByTagName("root")[0];
    var items = root.getElementsByTagName("items")[0].getElementsByTagName("item");

    if(XMLsprechblasenIndex < 0)
        XMLsprechblasenIndex = items.length -1;
    else if(XMLsprechblasenIndex >= items.length)
        XMLsprechblasenIndex = 0;

    var item = items[XMLsprechblasenIndex];

    document.getElementById("sprechblase1").getElementsByTagName("div")[0].innerHTML = item.getAttribute("title");
    document.getElementById("sprechblase1").getElementsByTagName("div")[1].innerHTML = item.getAttribute("content");
    document.getElementById("sprechblase1").getElementsByTagName("div")[2].innerHTML = item.getAttribute("name");

    document.getElementById("meinungportrait").style.backgroundImage = "url("+item.getAttribute("src")+")";
}



//---------------------------------------------------------------------------------------------
function prtnrSendMail()
{
    var prtnrFromName = document.getElementById("prtnrFromName").value;
    var prtnrFromEmail = document.getElementById("prtnrFromEmail").value;
    var prtnrText = document.getElementById("prtnrText").value;
    if(!emailcheck(prtnrFromEmail)){
        alert("Ihre Email ist ungueltig");
        return;
    }
    if(prtnrFromName == "Ihr Name" || prtnrFromName == ""){
        alert("Bitte geben Sie Ihren Namen ein");
        return;
    }
    if(prtnrText == ""){
        alert("Bitte geben Sie Text ein");
        return;
    }

    var xmlHttp = getxmlhttp();
    if (xmlHttp) {
        xmlHttp.open('GET', 'ajax/ajax.prtnrSendMail.php?prtnrFromName='+prtnrFromName+'&prtnrFromEmail='+prtnrFromEmail+'&prtnrText='+prtnrText, true);
        xmlHttp.onreadystatechange = function () {
            if (xmlHttp.readyState == 4) {
                var text = xmlHttp.responseText;
                //document.getElementById('dlg_frndSendMail').style.display = "none";
                alert(text);
           }
        }
        xmlHttp.send(null);
    }

}

//---------------------------------------------------------------------------------------------
function frndSendMail()
{
    var frndFromName = document.getElementById("frndFromName").value;
    var frndToEmail = document.getElementById("frndToEmail").value;
    if(!emailcheck(frndToEmail)){
        alert("Ihre Email ist ungueltig");
        return;
    }
    if(frndFromName == "Ihr Name" || frndFromName == ""){
        alert("Bitte geben Sie Ihren Namen ein");
        return;
    }

    var emails = new Array(frndToEmail);
    /*var inp = document.getElementsByTagName("input");
    for(var x=0; x<inp.length; x++){
        if(inp[x].id.substr(0,12) == "frndSendmail"){
            if(emailcheck(inp[x].value) && !in_array(inp[x].value, emails))
                emails[emails.length] = inp[x].value;
        }
    }*/


    if(emails.length > 0){
        var xmlHttp = getxmlhttp();
        if (xmlHttp) {
            xmlHttp.open('GET', 'ajax/ajax.frndSendMail.php?frndFromName='+frndFromName+'&mails='+emails.join(";"), true);
            xmlHttp.onreadystatechange = function () {
                if (xmlHttp.readyState == 4) {
                    var text = xmlHttp.responseText;
                    //document.getElementById('dlg_frndSendMail').style.display = "none";
                    alert(text);
               }
            }
            xmlHttp.send(null);
        }
    }
}

//---------------------------------------------------------------------------------------------
function emailcheck(email){
    reg = new RegExp('^([a-zA-Z0-9\-\.\_]+)'+
                   '(\@)([a-zA-Z0-9\-\.]+)'+
                   '(\.)([a-zA-Z]{2,4})$');
    return (reg.test(email));
}

//---------------------------------------------------------------------------------------------
function in_array(n,a){
    for(var x=0; x<a.length; x++)
        if(a[x] == n)
            return true;
    return false;
}

window.onload = function()
{
    setup();
}

function setup()
{
    doePreloads();
}


var _isWebcamPlay = 'true';
function doePreloads()
{
    if(document.getElementById("preloaderDiv")){
        var lines = document.getElementById("preloaderDiv").innerHTML.split("\n");
        for(var x=0; x<lines.length; x++){
            var f=trim(lines[x]);
            if(f != ""){
                if(f.search("images/") != -1){
                    var img = document.createElement("img");
                    img.src = f;
                    img.style.display = "none";

                }else if(f.search("flash/") != -1){
                    _isWebcamPlay = 'false';
                    var img = document.createElement("object");
                    img.setAttribute("classid", "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000");
                    img.setAttribute("codebase", "http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab");
                    img.innerHTML = '<param name="movie" value="'+f+'" />'+
                                    '<param name="quality" value="high" />'+
                                    '<param name="bgcolor" value="#869ca7" />'+
                                    '<param name="allowScriptAccess" value="sameDomain" />'+
                                    '<embed src="'+f+'" quality="high" bgcolor="#869ca7"'+
                                    '    width="1" height="1" name="passbildlabor" align="middle"'+
                                    '    play="false"'+
                                    '    loop="false"'+
                                    '    quality="high"'+
                                    '    allowScriptAccess="sameDomain"'+
                                    '    type="application/x-shockwave-flash"'+
                                    '    pluginspage="http://www.adobe.com/go/getflashplayer">'+
                                    '</embed>';

                }

                document.body.appendChild(img);
            }
        }
    }
}

function isWebcamPlay()
{
    return _isWebcamPlay;
}

function trim (zeichenkette) {
  // Erst führende, dann Abschließende Whitespaces entfernen
  // und das Ergebnis dieser Operationen zurückliefern
  return zeichenkette.replace (/^\s+/, '').replace (/\s+$/, '');
}