/* DHTML-Bibliothek */

var DHTML = false, DOM = false, MSIE4 = false, NS4 = false, OP = false;

if (document.getElementById) {
  DHTML = true;
  DOM = true;
} else {
  if (document.all) {
    DHTML = true;
    MSIE4 = true;
  } else {
    if (document.layers) {
      DHTML = true;
      NS4 = true;
    }
  }
}
if (navigator.userAgent.indexOf("Opera")!=-1) {
  OP = true;
}

function getElement (Mode, Identifier, ElementNumber) {
  var Element, ElementList;
  if (DOM) {
    if (Mode.toLowerCase() == "id") {
      Element = document.getElementById(Identifier);
      if (!Element) {
        Element = false;
      }
      return Element;
    }
    if (Mode.toLowerCase() == "name") {
      ElementList = document.getElementsByName(Identifier);
      Element = ElementList[ElementNumber];
      if (!Element) {
        Element = false;
      }
      return Element;
    }
    if (Mode.toLowerCase() == "tagname") {
      ElementList = document.getElementsByTagName(Identifier);
      Element = ElementList[ElementNumber];
      if (!Element) {
        Element = false;
      }
      return Element;
    }
    return false;
  }
  if (MSIE4) {
    if (Mode.toLowerCase() == "id" || Mode.toLowerCase() == "name") {
      Element = document.all(Identifier);
      if (!Element) {
        Element = false;
      }
      return Element;
    }
    if (Mode.toLowerCase() == "tagname") {
      ElementList = document.all.tags(Identifier);
      Element = ElementList[ElementNumber];
      if (!Element) {
        Element = false;
      }
      return Element;
    }
    return false;
  }
  if (NS4) {
    if (Mode.toLowerCase() == "id" || Mode.toLowerCase() == "name") {
      Element = document[Identifier];
      if (!Element) {
        Element = document.anchors[Identifier];
      }
      if (!Element) {
        Element = false;
      }
      return Element;
    }
    if (Mode.toLowerCase() == "layerindex") {
      Element = document.layers[Identifier];
      if (!Element) {
        Element = false;
      }
      return Element;
    }
    return false;
  }
  return false;
}

function getAttribute (Mode, Identifier, ElementNumber, AttributeName) {
  var Attribute;
  var Element = getElement(Mode, Identifier, ElementNumber);
  if (!Element) {
    return false;
  }
  if (DOM || MSIE4) {
    Attribute = Element.getAttribute(AttributeName);
    return Attribute;
  }
  if (NS4) {
    Attribute = Element[AttributeName]
    if (!Attribute) {
       Attribute = false;
    }
    return Attribute;
  }
  return false;
}

function getContent (Mode, Identifier, ElementNumber) {
  var Content;
  var Element = getElement(Mode, Identifier, ElementNumber);
  if (!Element) {
    return false;
  }
  if (DOM && Element.firstChild) {
    if (Element.firstChild.nodeType == 3) {
      Content = Element.firstChild.nodeValue;
    } else {
      Content = "";
    }
    return Content;
  }
  if (MSIE4) {
    Content = Element.innerText;
    return Content;
  }
  return false;
}

function setContent (Mode, Identifier, ElementNumber, Text) {
  var Element = getElement(Mode, Identifier, ElementNumber);
  if (!Element) {
    return false;
  }
  if (DOM && Element.firstChild) {
    Element.firstChild.nodeValue = Text;
    return true;
  }
  if (MSIE4) {
    Element.innerText = Text;
    return true;
  }
  if (NS4) {
    Element.document.open();
    Element.document.write(Text);
    Element.document.close();
    return true;
  }
  return false;
}

function externalLinks()
{
    if (!document.getElementsByTagName) return;

    var anchors = document.getElementsByTagName("a");

    for (var i=0; i<anchors.length; i++)
    {
        var anchor = anchors[i];
        if (anchor.getAttribute("href") && (anchor.getAttribute("rel") == "external" || anchor.getAttribute("rel") == "nofollow")) anchor.target = "_blank";
    }
}

function inValidCharSet(str,charset)
{
    var result = true;
    for (var i=0;i<str.length;i++)
    if (charset.indexOf(str.substr(i,1))<0)
    {
        result = false;
        break;
    }
    return result;
}

function in_array(item,arr)
{
    for(var i=0; i < arr.length; i++) if (item == arr[i]) return true;
    return false;
}

function validateEmail(email)
{
    return !email.match(/^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/);
}

Number.prototype.format = function(komma, kommazeichen, tausender)
{
    if(!kommazeichen) kommazeichen  = ",";
    if(typeof tausender == 'undefined') tausender = ".";

    if(!komma) komma = 0;

    var sign = (this < 0) ? "-" : "";
    var nullen = Math.pow(10, komma);
    var nummer = Math.round((Math.abs(this) * nullen)  )/ nullen;
    var k = nummer.toString().indexOf(".");

    if(k == -1) k = nummer.toString().length;

    var nach =  nummer.toString().substring(k + 1);
    var vor = nummer.toString().substring(0, k);
    var i = vor.length;
    var tmp = 0;
    var vor_neu = ""
    do {
        vor_neu = vor.charAt(i) + vor_neu;
        // Tausendertrennzeichen
        if(tmp == 3 && i > 0)
        {
            vor_neu = tausender + vor_neu;
            tmp = 0;
        }
        tmp++;
    } while(i--)
    nullen = nullen.toString().substring(1);
    nach = (nach + nullen).substring(0, komma);
    if(nach != "") vor_neu = vor_neu + kommazeichen + nach;
    return sign + vor_neu;
};

function floatval(val)
{
    val = val.replace(/\ /g,'');

    if (!inValidCharSet(val,'.,0123456789')) val = "0";

    if (val.indexOf(".") >= 0 && val.indexOf(",") >= 0)
    {
        val = val.replace(/\./g,'');
    }
    else if (val.indexOf(".") >= 0 && val.length - val.lastIndexOf('.') == 4)
    {
        val = val.replace(/\./g,'');
    }

    return Number(val.replace(/\,/g,'.'));
}

function formatFloat(obj, komma)
{
    obj.value = Number(floatval(obj.value)).format(komma);
}

function remZero(obj)
{
    if (obj.value=='0,00') obj.value='';
    if (obj.value=='0')    obj.value='';
}

function calc13_1()
{
    with(document.forms['formengine'])
    {
        j_ProKalkSumme1.value = Number(floatval(j_ProKalkUmsatz1.value) - floatval(j_ProKalkWaren1.value) - floatval(j_ProKalkPersonal1.value) - floatval(j_ProKalkMarketing1.value) - floatval(j_ProKalkSonstige1.value) - floatval(j_ProKalkFinanzierung1.value)).format(2);
        j_ProKalkSumme2.value = Number(floatval(j_ProKalkUmsatz2.value) - floatval(j_ProKalkWaren2.value) - floatval(j_ProKalkPersonal2.value) - floatval(j_ProKalkMarketing2.value) - floatval(j_ProKalkSonstige2.value) - floatval(j_ProKalkFinanzierung2.value)).format(2);
        j_ProKalkSumme3.value = Number(floatval(j_ProKalkUmsatz3.value) - floatval(j_ProKalkWaren3.value) - floatval(j_ProKalkPersonal3.value) - floatval(j_ProKalkMarketing3.value) - floatval(j_ProKalkSonstige3.value) - floatval(j_ProKalkFinanzierung3.value)).format(2);
    }
}

function enlargeTa(el)
{
    el.style.height = '300px';
    el.style.fontSize = '18px';
}

function minimizeTa(el)
{
    el.style.height = '40px';
    el.style.fontSize = '11px';
}

function enlargeIn(el)
{
    el.style.fontSize = '18px';
}

function minimizeIn(el)
{
    el.style.fontSize = '11px';
}

function showDiv(divID)
{
    getElement('id', divID).className='visDiv';
    return false;
}

function hideDiv(divID)
{
    getElement('id', divID).className='hidDiv';
    return false;
}

function invDiv(divID)
{
    getElement('id', divID).className='invDiv';
    return false;
}

function toggleDiv(divID)
{
    div = getElement('id', divID);

    if(div.className == 'visDiv')
    {
        div.className = 'hidDiv';
        return false;
    }
    else
    {
        div.className = 'visDiv';
        return true;
    }
}

function markRequired(fid)
{
    var el = getElement('id', fid);

    if (el && el.type)
    {
        el.style.borderWidth='1px';
        el.style.borderStyle='solid';
        el.style.padding='2px';
        el.style.borderColor='#a51b31';
        el.style.backgroundColor='#FFC0C0';
        el.rel='marked';
    }
    else if (el)
    {
        el.style.borderWidth='0 0 1px 0';
        el.style.borderStyle='dotted';
        el.style.borderColor='#a51b31';
        el.rel='dotted';
    }
    else
    {
        alert('DEBUG: not existing: '+fid);
    }
}

function unmarkRequired(fid)
{
    var el = getElement('id', fid);

    if (el && el.type && el.rel=='marked')
    {
        el.style.borderColor='#ABADB3 #DBDFE6 #E3E9EF #E2E3EA';
        el.style.backgroundColor='';
    }
    else if (el && el.rel=="dotted")
    {
        el.style.borderWidth='0 0 0 0';
    }
}


function savereminder()
{
    alert("Ihre Browser-Sitzung laeuft in 5 Minuten ab. Bitte speichern Sie Ihre Eingaben, um Datenverlust zu verhindern!");
    return false;
}

