/* 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 (window.opera) {
  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"))
        {
            if (anchor.getAttribute("rel") == "external" || anchor.getAttribute("rel") == "nofollow")
            {
                anchor.target = "_blank";
            }

            if (anchor.href != '' && anchor.href.indexOf("ailto:") > 0)
            {
                anchor.href = anchor.href.replace(/{at}post./g,'@');
                anchor.href = anchor.href.replace(/%7Bat%7Dpost./g,'@');
                anchor.innerHTML = anchor.innerHTML.replace(/{at}post./g,'@');
                anchor.innerHTML = anchor.innerHTML.replace(/%7Bat%7Dpost./g,'@');
            }
        }
    }
}

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';
    }
    else
    {
        div.className = 'visDiv';
    }
    return false;
}

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 checkSubscribe()
{
    with (document.forms['subscribe'])
    {
        p_u_Newsletter.value = "1";

        if (validateEmail(j_Email.value))
        {
            alert('Bitte gib Deine korrekte Emailadresse an!');
            return false;
        }
        else
        {
            return true;
        }
	}
}

function checkUnsubscribe()
{
    with (document.forms['subscribe'])
    {
        p_u_Newsletter.value = "0";

        if (validateEmail(j_Email.value))
        {
            alert('Bitte gib die auszutragende Emailadresse an!');
            return false;
        }
        else
        {
            return true;
        }
	}
}

function validateEmail(email)
{
    return (email=="" || email.indexOf('.')==-1 || email.indexOf('@') < 1 || email.indexOf('@') > email.length-5
            || email.indexOf('@') > email.lastIndexOf('.') || email.lastIndexOf('.') > email.length-3);
}

var imagediv;

function createXMLHttpRequest()
{
    var xmlHttp;

    if (window.XMLHttpRequest)
    {
        xmlHttp = new XMLHttpRequest();
    }
    else if (window.ActiveXObject)
    {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }

    return xmlHttp;
}

function swapImage(imgID, imageKey, ityp)
{
    imagediv = getElement('id',imgID);
    var xmlHttp = createXMLHttpRequest();
    var url = '/modules/swapimage.php?key=' + imageKey + "&typ=" + ityp;
    xmlHttp.open("GET", url, true);
    xmlHttp.onreadystatechange = function()
    {
        if (xmlHttp.readyState == 4)
        {
            if (xmlHttp.status == 200)
            {
                var ret = xmlHttp.responseText;
                imagediv.innerHTML = ret;
                return false;
            }
            else if (xmlHttp.status == 204)
            {
                return false;
            }
        }

        return false;
    }

    xmlHttp.send(null);
}


function refreshCart()
{
    window.setTimeout("performRefreshCart()", 1000);
}

function performRefreshCart()
{
    var xmlHttp = createXMLHttpRequest();
    var url = '/modules/cart_inhalt.php?ts=' + Math.random();

    xmlHttp.onreadystatechange = function()
    {
        if (xmlHttp.readyState == 4)
        {
            if (xmlHttp.status == 200)
            {
                var cart = getElement('id','warenkorb');
                var ret = xmlHttp.responseText;
                cart.innerHTML = ret;
                return false;
            }
            else if (xmlHttp.status == 204)
            {
                return false;
            }
        }

        return false;
    }

    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
}

function addVSItemToCart(ItemId)
{
    var xmlHttp = createXMLHttpRequest();
    var url = '/modules/cartVS.php?ID='+ItemId+'&num=1&ts=' + Math.random();

    xmlHttp.onreadystatechange = refreshCart;
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
}

function addDLItemToCart(ItemId, np)
{
    var xmlHttp = createXMLHttpRequest();
    var url = '/modules/cartDL.php?ID='+ItemId+'&num=1&ts=' + Math.random();

    xmlHttp.onreadystatechange = function() {
        if (xmlHttp.readyState==4)
            if (xmlHttp.status==200)
                finito(1, ItemId, np);
    }

    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
}

function removeVSItemFromCart(ItemId)
{
    var xmlHttp = createXMLHttpRequest();
    var url = '/modules/cartVS.php?ID='+ItemId+'&num=0&ts=' + Math.random();

    xmlHttp.onreadystatechange = refreshCart;

    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
}

function removeDLItemFromCart(ItemId, np)
{
    var xmlHttp = createXMLHttpRequest();
    var url = '/modules/cartDL.php?ID='+ItemId+'&num=0&ts=' + Math.random();

    xmlHttp.onreadystatechange = function() {
        if (xmlHttp.readyState==4)
            if (xmlHttp.status==200)
                finito(0, ItemId, np);
    }

    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
}

function finito(cartStatus,cartItemId,np)
{
    var item = getElement('id','lnk_'+cartItemId);

    if (cartStatus == '0')
    {
        if (np)
        {
            item.innerHTML = '<img src=\"/img/page/notincart_0.gif\" width=\"14\" height=\"11\" alt=\"in den Warenkorb legen\" />';
        }
        else
        {
            item.innerHTML = '<a href=\"#\" onclick=\"addDLItemToCart(\''+ cartItemId +'\'); refreshCart(); return false;\"><img src=\"/img/page/notincart.gif\" width=\"14\" height=\"11\" alt=\"in den Warenkorb legen\" /></a>';
        }
    }
    else
    {
        if (np)
        {
            item.innerHTML = '<img src=\"/img/page/incart_0.gif\" width=\"14\" height=\"11\" alt=\"aus dem Warenkorb nehmen\" />';
        }
        else
        {
            item.innerHTML = '<a href=\"#\" onclick=\"removeDLItemFromCart(\''+ cartItemId +'\'); refreshCart(); return false;\"><img src=\"/img/page/incart.gif\" width=\"14\" height=\"11\" alt=\"aus dem Warenkorb nehmen\" /></a>';
        }
    }

    return true;
}
