﻿var ajaxRequest1;
var ajaxRequest2;
    
function createAjaxRequest() {
    try 
    {
        return new XMLHttpRequest();
    } 
    catch (e) 
    {
        try 
        {
            return new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (e) {}
    }
    return null;
}
function AjaxHandler(page, resultProc) {
    ajaxRequest2 = createAjaxRequest();
    if (resultProc) {
        ajaxRequest2.onreadystatechange = resultProc;
    } else {
        ajaxRequest2.onreadystatechange = RefreshCategoryTree;
    }
    
    ajaxRequest2.open("GET", page);
    ajaxRequest2.send(null);
}
function AjaxRequest(page, type, query, resultProc) {
    var post = "strType="+type+"&query="+encodeURIComponent(query)+"&rnd="+Math.random();
    ajaxRequest1 = createAjaxRequest();
    ajaxRequest1.onreadystatechange = resultProc;
    ajaxRequest1.open("POST", page, true);
    ajaxRequest1.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    ajaxRequest1.setRequestHeader("Content-length", post.length);
    ajaxRequest1.send(post);
}

function SwitchCB(sender,obj)
{
    
    if ( typeof sender == "string")
    {
        sender = document.getElementById(sender);
    }
    var d = document.getElementById(obj);
    if (d)
    {
        if (sender.checked)
        {
            d.style.visibility = "visible";
            d.style.display = "block";
        }
        else
        {
            d.style.visibility = "hidden";
            d.style.display = "none";
        }
     }
     return false;
 }
 
 function SwitchrequiredFields(sender,obj1,obj2)
 {
    if (typeof sender == "string")
    {
        sender = document.getElementsByName(sender);
        var lbl1 = document.getElementById(obj1);
            var lbl2= document.getElementById(obj2);
        if ( sender[2].checked)
        {
            lbl1.style.fontWeight ='bold';
            lbl2.style.fontWeight = 'normal';
         }
         else
         {
         lbl1.style.fontWeight = 'normal';
         lbl2.style.fontWeight = 'bold';
         }
      }
 }
 function SwitchrequiredFields3(sender,obj1,obj2,obj3)
 {
    if (typeof sender == "string")
    {
        sender = document.getElementsByName(sender);
        var lbl1 = document.getElementById(obj1);
            var lbl2= document.getElementById(obj2);
            var lbl3=document.getElementById(obj3);
        if ( sender[2].checked)
        {
            lbl1.style.fontWeight ='bold';
            lbl2.style.fontWeight = 'normal';
            lbl3.style.fontWeight = 'normal';
         }
         else
         {
         lbl1.style.fontWeight = 'normal';
         lbl2.style.fontWeight = 'bold';
         lbl3.style.fontWeight = 'bold';
         }
      }
 }

function SwitchDiv(sender, obj, saveSetting) {
    if (typeof sender == "string")
    {
        sender = document.getElementById(sender);
    }
    var d = document.getElementById(obj);
    
    if (d) {
        var divMb = d.firstChild;
        if ( divMb.nodeName == "#text")
        {
            divMb = divMb.nextSibling;
        }
        if (divMb.style.visibility == "hidden" )
        {
            divMb.style.visibility = "visible";
            divMb.style.display = "block";
        }
        else if (divMb.style.visibility == "visible")
        {
            divMb.style.visibility = "hidden";
            divMb.style.display = "none";
        }
        if (d.style.display == "none" || sender.src.indexOf("icn_plus.gif") >= 0 ) {
            d.style.visibility = "visible";
            d.style.display = "block";
            sender.src = "../App_Themes/" + theme + "/gfx/icn_minus.gif";
            if (saveSetting) {
                Setting(obj, "1");
            }
        } else {
            d.style.visibility = "hidden";
            d.style.display = "none";
            sender.src = "../App_Themes/" + theme + "/gfx/icn_plus.gif";
            if (saveSetting) {
                Setting(obj, "0");
            }
        }
    }
    return false;
}

function OpenDiv(obj) {
    var d = document.getElementById(obj);
    if (d) {
        if (d.style.display == "none") {
            d.style.visibility = "visible";
            d.style.display = "block";
            img = obj.substring(4, obj.length);
            var i = document.getElementById("img_"+img);
            if (i) {
                i.src = "../App_Themes/" + theme + "/gfx/icn_minus.gif";
            }
         }
         else {
            d.style.visibility = "hidden";
            d.style.display = "none";
            img = obj.substring(4, obj.length);
            var i = document.getElementById("img_"+img);
            if (i) {
                i.src = "../App_Themes/" + theme + "/gfx/icn_plus.gif";
         }
       }
    }
    return false;
}

function OpenDiv(obj,img) {
    var d = document.getElementById(obj);
    if (d) {
        if (d.style.display == "none") {
            d.style.visibility = "visible";
            d.style.display = "block";
            
            var i = document.getElementById(img);
            if (i) {
                i.src = "../App_Themes/" + theme + "/gfx/icn_minus.gif";
            }
         }
         else {
            d.style.visibility = "hidden";
            d.style.display = "none";
            var i = document.getElementById(img);
            if (i) {
                i.src = "../App_Themes/" + theme + "/gfx/icn_plus.gif";
         }
       }
    }
    return false;
}

function DoLogin() {
    var name = document.getElementById("logNick").value;
    var pass = document.getElementById("logPass").value;
    AjaxRequest(ajaxServiceURL, 
        "login",
        "<$n>" + name + "</$n><$p>" + pass + "</$p><$mth>login</$mth>",
        RefreshLoginBox);
}
function DoLogout() {
    AjaxRequest(ajaxServiceURL, 
        "login", 
        "<$mth>logout</$mth>", 
        RefreshLoginBox);
}
function CheckDoLogin(e)
{
    var keynum;
    var keychar;
    var numcheck;
    var evt;
    
    if(window.event) // IE
    {
      keynum = e.keyCode;
      evt = window.event;
    }
    else if(e.which) // Netscape/Firefox/Opera
    {
      keynum = e.which;
      evt = e;
    }
    if (keynum == 13) {
        evt.cancelBubble = true;
        if (evt.stopPropagation) {
            evt.stopPropagation();
        }
        evt.returnValue = false;
        DoLogin();
        return false;
    }
    return true;
}

function RefreshLoginBox() {
    if ((ajaxRequest1.readyState == 4) && (ajaxRequest1.status == 200)) {
        var nodes = ajaxRequest1.responseXML.getElementsByTagName("login").item(0);

        if(nodes.getAttribute("logedin") && nodes.getAttribute("logedin") == "False") 
        {            
            var msgDiv = document.getElementById("msgLogin");
            msgDiv.innerHTML = nodes.getAttribute("txt");
            msgDiv.style.visibility = "visible";
            msgDiv.style.display = "block";
            msgDiv.className = "errorMessage";            
        }
        else 
        {
            if(document.getElementById("logNick")) 
            {
                var url = urlcf;
                url += "?moveto=" + document.location.href;
                url += "&l=" + document.getElementById("logNick").value + "&p=" + document.getElementById("logPass").value;
                document.location.href = url;
            }
            else
            {
                var url = urlcf;
                url += "?moveto=" + document.location.href;
                url += "&logout=1";
                document.location.href = url;
            }
        }
    }
    else if (ajaxRequest1.readyState == 4) 
    {
        alert("Ein Problem ist aufgetreten: " + ajaxRequest1.status);
    }
}

function RemoveTree(obj) {
    if (obj == null) return;
    var tc = document.getElementById("navTree" + obj);
    if (tc != null) {
        var chld = tc.parentNode.getAttribute("chdparid");
        var prnt = tc.parentNode.getAttribute("navparid");
        var icon = document.getElementById("img" + prnt);
        if (icon != null) {
            icon.setAttribute("onclick", "GetTree('" + prnt + "')");
            if (icon.addEventListener) {
                icon.addEventListener("onclick", GetTree, false);
            } else if (icon.attachEvent) {
                icon.attachEvent("onclick", GetTree);
            } else {
                icon.onclick = GetTree;
            }
        }    
        tc.parentNode.parentNode.removeChild(tc.parentNode);
        RemoveTree(chld);
    }
    return;
}

function GetTree(obj, man) {
    var tmpobj;
    if(isNaN(obj)){ // its an event
        tmpobj = obj.srcElement.navid;
        if(!tmpobj) {
            tmpobj = obj.srcElement.parentNode.parentNode.firstChild.firstChild.navid;
        }
        if(!tmpobj)
        {
            tmpobj = obj.srcElement.firstChild.firstChild.navid;
        }
    } else {
        tmpobj = obj;
    }
    var imgElem = document.getElementById('img'+tmpobj);
    if (imgElem.getAttribute("isloaded") == "1" && imgElem.getAttribute("isopen") == "0") 
    {
        imgElem.setAttribute("isopen",1);
        openMenu(document.getElementById('navTree'+tmpobj));
        if (imgElem.src.indexOf("icn_plus.gif") >= 0) 
        {
            imgElem.src = "../App_Themes/" + theme + "/gfx/icn_minus.gif";
        }
    }
       
    
    else if (imgElem.getAttribute("isopen") == "1") 
    {
        closeMenu(document.getElementById('navTree'+tmpobj));
        imgElem.setAttribute("isopen",0)
        var divCat = imgElem.parentNode.parentNode;
        var className = divCat.className;
        var indx = className.indexOf('Open');
        if(indx>0)
        {
            className = className.slice(0,indx);
            divCat.className=className;
        }
        imgElem.src = '../App_Themes/' + theme + '/gfx/icn_plus.gif';
    }
    else if (imgElem.getAttribute("isloaded") == "0")
    {
        //closeMenu(document.getElementById('navTree'+tmpobj));
        imgElem.src = '../App_Themes/' + theme + '/gfx/icn_minus.gif';
        obj = tmpobj;
        AjaxHandler(ajaxRequestURL + "?cat=" + obj + "&rnd=" + Math.random() + "&ajax=Category");
    }
    
}

function closeMenu(obj) 
{
    var trBody = obj.parentNode;
    var forward= true;
    var sibling = obj.nextSibling;
    var parentdeep;
    var siblingdeep=sibling.getAttribute("deep");
    parentdeep = parseInt(obj.getAttribute("deep")); 
    do
    {
        var srcIcon = obj.firstChild;
        if( srcIcon.nodeName =="#text")
        {
            srcIcon = srcIcon.nextSibling;
        }


        
//            closeMenu(document.getElementById(sibling.id))
            
            var siblingIcon = sibling.firstChild;
            if(siblingIcon.nodeName =="#text")
            {
                siblingIcon = siblingIcon.nextSibling;
            }
            siblingIcon = siblingIcon.firstChild;
            if(siblingIcon.nodeName =="#text")
            {
                siblingIcon = siblingIcon.nextSibling;
            }
            if (siblingIcon.src.indexOf("icn_minus.gif") >= 0) 
            {
                siblingIcon.src = "../App_Themes/" + theme + "/gfx/icn_plus.gif";
                siblingIcon.setAttribute("isopen", 0);
            }
            sibling.style.display = "none";
            sibling.style.visibility = "hidden";
            srcIcon.setAttribute("isopen", 0);
//        if (srcIcon.src.indexOf("icn_minus.gif") >= 0) 
//        {
//            srcIcon.src = "../App_Themes/" + theme + "/gfx/icn_plus.gif";
//        }
        sibling = sibling.nextSibling;
        if(sibling == null)
        {
            siblingdeep = parentdeep;
        }
        else
        {
            siblingdeep=sibling.getAttribute("deep");
        }
    }while(parentdeep < siblingdeep);

}

function openMenu(obj) 
{
    var trBody = obj.parentNode;
    var forward= true;
    var sibling = obj.nextSibling;
    obj.className += "Open";
    var parentdeep;
    var siblingdeep=parseInt(sibling.getAttribute("deep"));
    parentdeep = parseInt(obj.getAttribute("deep")); 
    
    do
    {
        var srcIcon = obj.firstChild;
        if( srcIcon.nodeName =="#text")
        {
            srcIcon = srcIcon.nextSibling;
        }
        srcIcon = srcIcon.firstChild;
        if( srcIcon.nodeName =="#text")
        {
            srcIcon = srcIcon.nextSibling;
        }
        siblingdeep = parseInt(sibling.getAttribute("deep"));
        if (sibling.getAttribute("navparid") == srcIcon.getAttribute("navid")) 
        {
//            if (parentdeep < siblingdeep)
//            {
//                openMenu(document.getElementById(sibling.id),parentdeep);
//            }
            if (srcIcon.src.indexOf("icn_minus.gif") >= 0) 
            {
                srcIcon.src = "../App_Themes/" + theme + "/gfx/icn_plus.gif";
            }
            if( parentdeep + 1 == siblingdeep)
            {
                sibling.style.display = "block";
                sibling.style.visibility = "visible";
                srcIcon.setAttribute("isopen", 1);
                if (srcIcon.src.indexOf("icn_minus.gif") >= 0) 
                {
                    srcIcon.src = "../App_Themes/" + theme + "/gfx/icn_plus.gif";
                    srcIcon.setAttribute("isopen", 0);
                }
            }
        }
        else
        {
            forward = false;
        }
        sibling = sibling.nextSibling;
        var siblingdeep;
        if(sibling == null)
        {
            siblingdeep = parentdeep;
        }
        else
        {
            siblingdeep=parseInt(sibling.getAttribute("deep"))
        }
    }while(parentdeep < siblingdeep);
    

}

function RefreshCategoryTree() {
    if ((ajaxRequest2.readyState == 4) && (ajaxRequest2.status == 200)) {
        var nodes = ajaxRequest2.responseXML.getElementsByTagName("navigation").item(0);
        Setting("cat_" + nodes.getAttribute('id'), 1);
                    var srcElement = document.getElementById("navTree" + nodes.getAttribute('id'));
            var srcIcon = document.getElementById("img" + nodes.getAttribute('id'));
            srcIcon.setAttribute("isopen", 1);
            srcIcon.setAttribute("isloaded", 1);
            srcElement.className= srcElement.className+ "Open";

        for (var i=0; i < nodes.childNodes.length; i++) {
            // element to insert
            var insElement = nodes.childNodes[i].getAttribute('id');
            // clicked element
            // create new panel
            var div = document.createElement("div");
            div.setAttribute("navparid", srcIcon.getAttribute("navid"));
            
//            var td = document.createElement("td");
//            td.style.width = "197px";
            div.id = "navTree" + nodes.childNodes[i].getAttribute('id');
            div.setAttribute("deep", Number(srcElement.getAttribute("deep")) + 1);
            switch (nodes.childNodes[i].getAttribute('l')) {
                case "2":
                    div.className = "navMain";
                    break;
                case "3":
                    if ((nodes.childNodes[i]).getAttribute('childLen') > 0)
                    {
                        div.className = "navSubAcc";
                    }
                    else
                    {
                        div.className = "navSub";
                    }
                    break;
                default:
                    div.className = "navItm";
                    break;
            }
            
            // create new menu-element
//            var img = new Image ();
//            img.border = 0;
//            img.src = '../App_Themes/default/gfx/pixel.gif';
//            img.height = 5;
//            img.width = Number(td.getAttribute("deep")) * 10 - 10;
         
            var icon = new Image ();
            icon.border = 0;
            
            if (nodes.childNodes[i].getAttribute('childLen') == 0) {
                icon.src = '../App_Themes/' + theme + '/gfx/icn_pointer_grey_rx.gif';
                icon.height=10;
                icon.width=6;
            } else {
                icon.src = '../App_Themes/' + theme + '/gfx/icn_plus.gif';
                icon.setAttribute("isopen", 0);
                icon.setAttribute("isloaded", 0);
               
            }
            icon.id = "img" + insElement;
            //icon.className = "navIcn";
            var onclickImg = document.createAttribute("onclick");
            onclickImg.value = "GetTree('" + insElement + "');";
            icon.setAttribute("navid", insElement);
            div.setAttributeNode(onclickImg);
            //icon.setAttributeNode(onclickImg);
            var aCat = document.createElement("a");
            //aCat.style.fontSize = "10px";
            if (nodes.childNodes[i].getAttribute('childLen') == 0) {
            aCat.setAttribute("href",nodes.childNodes[i].getAttribute('link'));
                //aCat.setAttribute("href", nodes.childNodes[i].firstChild.nodeValue + "-c" + insElement + ".htm");
                //aCat.className = "textSmall";
                //aCat.setAttribute("href", "ProductList.aspx?cat=" + insElement); 
            } else {
                //aCat.setAttribute("onclick", "GetTree('" + insElement + "');");
                //aCat.style.cursor = "pointer";
                //div.setAttribute("onclick", "GetTree('" + insElement + "');");
                if (div.addEventListener) {
                    //aCat.addEventListener("onclick", GetTree, false);
                    div.addEventListener("onclick", GetTree, false);
                  //icon.addEventListener("onclick", GetTree, false);
                } else if (div.attachEvent) {
                  //  aCat.attachEvent("onclick", GetTree);
                    div.attachEvent("onclick", GetTree);
                 // icon.attachEvent("onclick", GetTree);
                } else {
                  //  aCat.onclick = GetTree;
                    div.onclick = GetTree;
                 // icon.onclick = GetTree;
                }
            }
            aCat.appendChild(document.createTextNode(nodes.childNodes[i].firstChild.nodeValue));
            var divImg = document.createElement("div");
            divImg.className = "navIcn";
//            td.appendChild(img);
            divImg.appendChild(icon);
            div.appendChild(divImg);
            var divLnk = document.createElement("div");
            //td.appendChild(document.createTextNode(" "));
            divLnk.appendChild(aCat);
            divLnk.className = "navLnk";
            div.appendChild(divLnk);
            
            //div.appendChild(td);
            
            insertAfter(div, srcElement);
        }
    }
    else if (ajaxRequest2.readyState == 4) 
    {
        alert("Ein Problem ist aufgetreten");
    }
}

function AddToCart(pro, qnt) {
    var method = "show";
    if (qnt != 0) {
        method = "add";
    }  
    AjaxRequest(ajaxServiceURL, 
        "cart", 
        "pro:" + pro + ";qnt:" + qnt + ";mth:" + method + ";", 
        RefreshCartBox);
}

function AddToCartAlt(sender,pro) {
    var method = "add";
    sender.src = '../App_Themes/' + theme + '/gfx/shoppingcart_inv.gif';
    sender.style.cursor="normal";
    sender.removeAttribute("onclick",0);
    AjaxRequest(ajaxServiceURL, 
        "cart", 
        "pro:" + pro + ";qnt:1;mth:" + method + ";", 
        RefreshCartBoxAlt);
}

function RefreshCartBox() 
{
    if ((ajaxRequest1.readyState == 4) && (ajaxRequest1.status == 200)) {
        if (document.getElementById("lblCartQuantity") != null && document.getElementById("lblCartValue") != null) 
        {
            var nodes = ajaxRequest1.responseXML.getElementsByTagName("cartbox").item(0);
            
            var qnt = nodes.getElementsByTagName('qnt').item(0).firstChild.nodeValue;
            var amt = nodes.getElementsByTagName('tot').item(0).firstChild.nodeValue;
            document.getElementById("lblCartQuantity").innerHTML = qnt;
            document.getElementById("lblCartValue").innerHTML = amt;
            // cart messages
            var divMsg = document.getElementById("msgCartBox");
            divMsg.innerHTML = "";
            nodes = ajaxRequest1.responseXML.getElementsByTagName("cartmsg").item(0);
            if (nodes != null) {
                
                var msgNodes = nodes.getElementsByTagName("msg");
                for (var i = 0; i <=0;i++) //< msgNodes.length; i++) 
                {
                    var msgType = new String(msgNodes[i].getAttribute("type"));
                    var msg = document.createElement("div");
                    msg.innerHTML = msgNodes[i].firstChild.nodeValue;
                    divMsg.appendChild(msg);
                }
                divMsg.style.visibility = "visible";
                divMsg.style.display = "block";
            }
            else
            {
                divMsg.style.visibility = "hidden";
                divMsg.style.display = "none";
            }
        }
        nodes = ajaxRequest1.responseXML.getElementsByTagName("cartpos").item(0);
        if (nodes != null)
        {
            var cartPositions = nodes.getElementsByTagName("pos");
            for (i=0; i < cartPositions.length; i++) {
                var spnPro = document.getElementById("pro" + cartPositions[i].getAttribute("id"));
                if (spnPro != null) 
                {
                    SwitchCartButton(spnPro, cartPositions[i].getAttribute("id"), cartPositions[i].firstChild.nodeValue,cartPositions[i].getAttribute("disPlus"));
                }
            }
        } 
    }
    else if (ajaxRequest1.readyState == 4) {
        alert("shop.js refreshcartbox: " + ajaxRequest1.status + " " + ajaxRequest1.statusText);
    }
}

function RefreshCartBoxAlt() 
{
    if ((ajaxRequest1.readyState == 4) && (ajaxRequest1.status == 200)) {
        if (document.getElementById("lblCartQuantity") != null && document.getElementById("lblCartValue") != null) 
        {
            var nodes = ajaxRequest1.responseXML.getElementsByTagName("cartbox").item(0);
            
            var qnt = nodes.getElementsByTagName('qnt').item(0).firstChild.nodeValue;
            var amt = nodes.getElementsByTagName('tot').item(0).firstChild.nodeValue;
            document.getElementById("lblCartQuantity").innerHTML = qnt;
            document.getElementById("lblCartValue").innerHTML = amt;
            // cart messages
            var divMsg = document.getElementById("msgCartBox");
            divMsg.innerHTML = "";
            nodes = ajaxRequest1.responseXML.getElementsByTagName("cartmsg").item(0);
            if (nodes != null) {
                
                var msgNodes = nodes.getElementsByTagName("msg");
                for (var i = 0; i <=0;i++) //< msgNodes.length; i++) 
                {
                    var msgType = new String(msgNodes[i].getAttribute("type"));
                    var msg = document.createElement("div");
                    msg.innerHTML = msgNodes[i].firstChild.nodeValue;
                    divMsg.appendChild(msg);
                }
                divMsg.style.visibility = "visible";
                divMsg.style.display = "block";
            }
            else
            {
                divMsg.style.visibility = "hidden";
                divMsg.style.display = "none";
            }
        }
        nodes = ajaxRequest1.responseXML.getElementsByTagName("cartpos").item(0);
//        if (nodes != null)
//        {
//            var cartPositions = nodes.getElementsByTagName("pos");
//            for (i=0; i < cartPositions.length; i++) {
//                var spnPro = document.getElementById("pro" + cartPositions[i].getAttribute("id"));
//                if (spnPro != null) 
//                {
//                    SwitchCartButton(spnPro, cartPositions[i].getAttribute("id"), cartPositions[i].firstChild.nodeValue,cartPositions[i].getAttribute("disPlus"));
//                }
//            }
//        } 
    }
    else if (ajaxRequest1.readyState == 4) {
        alert("shop.js refreshcartbox: " + ajaxRequest1.status + " " + ajaxRequest1.statusText);
    }
}

/*
    target: nach welchem element einfügen
*/
function insertAfter(newElement, targetElement) {
    var parent = targetElement.parentNode;
    if(parent.lastChild == targetElement) {
        parent.appendChild(newElement);
    } else {
        parent.insertBefore(newElement, targetElement.nextSibling);
    }
} 

function ShowMessage(id, text) {
    var msgBox = document.getElementById(id);
    msgBox.innerHTML = text;
    msgBox.style.visibility = "visible";
    msgBox.style.display = "block";
}

function Setting(name, val) {
    AjaxRequest(ajaxServiceURL, 
        "SETTING", 
        "n:" + name + ";v:" + val + ";", 
        SettingSuccess);
}

function SettingSuccess() {
    if ((ajaxRequest1.readyState == 4) && (ajaxRequest1.status == 200)) {
    }
    else if (ajaxRequest1.readyState == 4) {
        alert("shop.js Setting: Status: " + ajaxRequest1.status + "StatusText: " + ajaxRequest1.statusText);
    }
}

function SendMail(txtBox) {
    var mail = document.getElementById("txtQuestionMail").value;
    var text = document.getElementById("ctl00_cntMain_question_txtQuestionText").value;
    var type = document.getElementById("hQuestionType").value;
    var subj = document.getElementById("hQuestionSubj").value;
    text = text + "\n\nURL: " + document.getElementById("hQuestionUrl").value;
    AjaxRequest(ajaxServiceURL, 
        "QMAIL", 
        "<$t>" + type + "</$t><$s>" + subj + "</$s><$f>" + mail + "</$f><$c>" + text + "</$c><$mth>send</$mth>", 
        RefreshMail);
}

function RefreshMail() {
    if ((ajaxRequest1.readyState == 4) && (ajaxRequest1.status == 200)) {
        var nodes = ajaxRequest1.responseXML.getElementsByTagName("qmail").item(0);
        var msg = ajaxRequest1.responseXML.getElementsByTagName("msg").item(0);
        if(msg) {
            var divMsg = document.getElementById("divMsgQuestion");
            
            if(msg.getAttribute("type") == "s") {
                var div = document.getElementById("divMsgQuestion");
                divMsg.className="infoMessage";
                document.getElementById("divQuestion").innerHTML = "";
            }
            else
            {
                divMsg.className="errorMessage";
            }
            divMsg.innerHTML = msg.getAttribute("txt");
            OpenDiv("divMsgQuestion");
        }
    }
    else if (ajaxRequest1.readyState == 4) {
        alert("shop.js SendMail: " + ajaxRequest1.status + " " + ajaxRequest1.statusText);
    }
}

function SendMailStruct(type, flds) {
    if (flds == null) {
        return;
    }
    var content = "";
    for (var i = 0; i < flds.length; i++) {
        content += flds[i].name + "$" + flds[i].value + "|";
    }
    AjaxRequest(ajaxServiceURL, 
        "QMAIL", 
        "<$t>" + type + "</$t><$c>" + content + "</$c><$mth>send</$mth>", 
        RefreshMailStruct);
}

function RefreshMailStruct() {
    if ((ajaxRequest1.readyState == 4) && (ajaxRequest1.status == 200)) {
        var nodes = ajaxRequest1.responseXML.getElementsByTagName("qmail").item(0);
        var msg = ajaxRequest1.responseXML.getElementsByTagName("msg").item(0);
        if(msg) {
            
            if(msg.getAttribute("type") == "s") {
                alert(msg.getAttribute("txt"));
            }
            else
            {
                alert("Fehler: " + msg.getAttribute("txt"));
            }
        }
    }
    else if (ajaxRequest1.readyState == 4) {
        alert("shop.js refreshMailStruct: " + ajaxRequest1.status + " " + ajaxRequest1.statusText);
    }
}

function NewEvent(icon, type, func) {
    if (icon.addEventListener) {
        icon.addEventListener(type, func, false);
    } else if (icon.attachEvent) {
        icon.attachEvent(type, func);
    } else {
        icon.setAttribute(type, func);
    }
}

// creates button-object for products that are in cart
function CartButton()
{
    var availability = null;
    var text = "";
    var quantity = 0;
    var disablePlus = "";
    
    this.Availability = Availability;
    this.Text = Text;
    this.Quantity = Quantity;
    this.DisablePlus = DisablePlus;
    this.CreateObject = CreateObject;

    function CreateObject(parent, pro)
    {
       var node = parent.firstChild;
       if ( node.nodeName=="#text")
       {
            node= node.nextSibling;
        }
        node = node.firstChild;
        if ( node.nodeName == "#text")
        {
            node= node.nextSibling;
        }
        node.innerHTML ="";
        var tab = document.createElement("table");
        tab.className = "cartButton";
        tab.cellSpacing = 0;
        tab.cellPadding = 0;
        var tb = document.createElement("tbody");
        var tr = document.createElement("tr");
        var td1 = document.createElement("td");
        td1.className="ava";
        var td2 = document.createElement("td");
        td2.className="text";
        var td3 = document.createElement("td");
        td3.className = "icons";
        td1.appendChild(availability);
        td2.setAttribute("id", "proTxt" + pro);
        if (!isNaN(quantity)) {
            td2.appendChild(document.createTextNode(quantity + " " + text));
        }
        else
        {
            td2.className = "btnShopBG";
            td2.style.textAlign = "center";
            td2.appendChild(document.createTextNode(" "));
            var a = document.createElement("a");
            a.onclick = new Function("AddToCart(" + pro + ", 1)");
            a.appendChild(document.createTextNode(quantity));
            a.style.cursor = "pointer";
            td2.style.width = "113px";
            td2.appendChild(a);
        }
        tr.appendChild(td1);
        tr.appendChild(td2);
        
        if (!isNaN(quantity)) {
            var imgplus = new Image();
            
            if ( disablePlus == "False")
            {
                imgplus.src = "../App_Themes/" + theme + "/gfx/icn_cart_plus.gif";
                imgplus.style.cursor = "pointer";
                imgplus.onclick = new Function("AddToCart(" + pro + ", 1)");
            }
            else
            {
                imgplus.src = "../App_Themes/" + theme + "/gfx/icn_cart_disabled.gif";
                imgplus.setAttribute("ToolTip","Verfügbare Anzahl erreicht",0);
                imgplus.setAttribute("title","Verfügbare Anzahl erreicht",0);
            }
            imgplus.setAttribute("alt", "");
            td3.appendChild(imgplus);
            td3.appendChild(document.createTextNode(" "));
            var imgminus = new Image();
            imgminus.src = "../App_Themes/" + theme + "/gfx/icn_cart_minus.gif";
            imgminus.style.cursor = "pointer";
            imgminus.onclick = new Function("AddToCart(" + pro + ", -1)");
            imgminus.setAttribute("alt", "");
            td3.appendChild(imgminus);
            tr.appendChild(td3);
        }
//        var td4 = document.createElement("td");
//        td4.className="text";
//        td4.appendChild(document.createTextNode("&nbsp;"+availability.alt));
//        tr.appendchild(td4);
        tb.appendChild(tr);
        tab.appendChild(tb);
        node.appendChild(tab);
    }

    function Text( txt )
    {
        text = txt;
    }

    function Quantity( qnt ) 
    {
        quantity = qnt;
    }

    function Availability( img ) 
    {
        availability = img;
    }
    function DisablePlus ( dis )
    {
        disablePlus = dis;
    }
}

function SwitchCartButton(parent, pro, qnt, dis) 
{
    var img_ava = document.getElementById("imgBtn" + pro);
    var cartButton = new CartButton();
    cartButton.Text("Stk.");
    cartButton.Availability(img_ava);
    cartButton.Quantity(qnt);
    
    cartButton.DisablePlus(dis);
    cartButton.CreateObject(parent, pro);
}

function SetFocus(searchID)
{
document.getElementById(searchID).focus();
}
 
 function textBoxClear(sender)
 {
    var cntrl = document.getElementById(sender);
    cntrl.value = '';
 }
 
 function textBoxReset(sender,text)
 {
    var cntrl = document.getElementById(sender);
    if (cntrl.value == '')
    {
        cntrl.value = text;
     }
  }
  
  function doHourglass(control)
{
    var body =  document.getElementById(control);//body.style.cursor = 'wait';
    if (body != null)
    {
        body.style.cursor = 'wait';
    }
    return true;
}