﻿
//ermouth@lj

function renderStrip (sStripId) {
//рендерит все стрипы под главным злоботом(Закладки, Новьё, топ-тэн)
    getId("zStrips").style.display="block";

    var html0 = "";
    var html1 = '';
    var sAPrefix = '<a href="#'+zTopCode+zBotCode+zAuxCode+'" ';
    var sS0Prefix = '<span class="led0"><img src="http://zlobot.ru/i/0.gif" style="width:12px;height:15px"/></span>';
    var sS1Prefix = '<span class="led1"><img src="http://zlobot.ru/i/0.gif" style="width:12px;height:15px"/></span>';
    var sBodyHeight = "0px";
    
    for (var i=0; i<zStr.length; i++) {
        var shtml0 = "";var shtml1 = "";
        var o = zStr[i]
        var sCS = o.name;var sCT = o.title;
        shtml0+=sAPrefix;
        if (sStripId==sCS) {            
                shtml0+='onclick="renderStrip('+"''"+')" class="zsTitleActive">';
                shtml0=sS1Prefix+shtml0+sCT+"</a> ";
                shtml1+=eval(o.render); 
                sBodyHeight = o.height;               
        } else {
            shtml0=sS0Prefix+shtml0;
            shtml0+='onclick="renderStrip('+"'"+sCS+"'"+')">'+sCT+"</a> "
        }
        html0+=shtml0;html1+=shtml1;
    }
        
    //собрано, размещаем
    if (html1=='') {
        getId("zStripBodies").innerHTML=""; 
        getId("zStripBodies").style.display="none";
        getId("zStripBot").style.display = "none";
        getId("zStripTitles").className = 'emptystrip';
    } else {
        getId("zStripBodies").innerHTML=html1;
        getId("zStripBodies").style.display="block";
        getId("zStripBodies").style.height=sBodyHeight;
        getId("zStripBot").style.display = "block";
        getId("zStripTitles").className = '';


    }
    getId("zStripTitles").innerHTML=html0;
}

function init() {
   if (window.navigator.appVersion != null) {
       if ((""+window.navigator.appVersion).match("MSIE 6")) {
        document.styleSheets.item(0).addImport("ie6.css");
       }
    }
    if (getId("post")!=null) {
        setGroup(-1+rand(g.length));
        getId("zOrderMessageDiv").style.display = "block";
        getId("zOrderMessage").innerHTML = getId("zOrderMessageSample").innerHTML;
        getId("zFooter").style.display = "block";
        getId("zSide").style.display = "block";
        var sCurrCode = getCodeFromUrl();
        if (sCurrCode!="") {
            setZ(sCurrCode);
        }
        renderStrip('News');
    } else {
        getId("zRotator").style.display = "none";
        getId("zStrips").style.display = "none";
        getId("zOrderForm").style.fontSize = "130%";
        getId("zOrderForm").style.lineHeight = "150%";
        getId("zOrderForm").style.display = "block";
    }   
}

function renderIconStrip (sStrip) {
    var aStrip = sStrip.split(",");
    var html = "";
    if (aStrip!=null) {
        for (var i=0; i<aStrip.length;i++) {
            html+=renderIcon (aStrip[i]);
        }
    }
    return html;
}

function renderZDrive (sType, sCode, sDriveWidth, o, bOnlyName) {
            
            var sSerie = removeNumbers(sCode);
            var sNumber = removeLetters(sCode);  
            var sDrive="";
            sDrive += '<div id="z'+sType+'Drive">';
            sDrive += '<table width="100%" cellpadding="0" cellspacing="0" border="0">';
            sDrive += '<tr>';
            if (!bOnlyName) {
                sDrive += '<td id="z'+sType+'DriveRotator" style="width:51px">';
                sDrive += '<a class="bDriveLeft" href="#" onclick="move('+"'"+sType+"',-1"+')" ></a>';
                sDrive += '<a class="bDriveRight" href="#" onclick="move('+"'"+sType+"',1"+')" ></a>';
                sDrive += '</td>'
            }
            sDrive += '<td>'
            sDrive += '<div id="zDriveTitle">';
            sDrive += renderDriveTitle (sType, sCode);
            sDrive += '</div>';
            if (!bOnlyName) {
                sDrive += '<div id="zDriveName">';
                sDrive += renderDriveName(sType,o);
                sDrive += "</div>";
                sDrive += '<div id="z'+sType+'DriveOtherTags" style="max-width:'+sDriveWidth+'">'+generateDrivePreviews(sType);
                sDrive += '</div>';
            }
            
            sDrive += '</td></tr></table></div>';
            return sDrive;

}

function renderDriveTitle (sType, sCode) {
    var sSerie = removeNumbers(sCode);
    var sNumber = removeLetters(sCode);  
    var sDrive  = '<span id="z'+sType+'Name">'+eval("s"+sType+"[sSerie].name")+"&nbsp;№"+sNumber+'</span>'+" "+eval("s"+sType+"[sSerie].titlePrefix");
    return sDrive;

}

function renderDriveName(sType, o) {
     var sDrive = '<a href="#'+zPrevCode+'" onclick="toggleSeriesTags('+"'"+sType+"','')"+'">';
     sDrive += eval("o."+sType.toLowerCase()+"Rot")+"</a>";
    
     return sDrive;
}

function setDriveNames (sTopCode,sBotCode,sAuxCode) {
    var a = isCorrect(sTopCode+sBotCode+sAuxCode);
    if (a!=false) {
        getId("zTopName").parentNode.parentNode.childNodes.item(1).innerHTML = renderDriveName("Top", g[a[3]]);
        getId("zTopName").parentNode.innerHTML = renderDriveTitle ("Top", sTopCode);
        getId("zBotName").parentNode.parentNode.childNodes.item(1).innerHTML = renderDriveName("Bot", g[a[3]]);
        getId("zBotName").parentNode.innerHTML = renderDriveTitle ("Bot", sBotCode);
        if (zBotCode!="" && getId("zAuxName")!=null && sAux[removeNumbers(sAuxCode)]!= null) {
            getId("zAuxName").parentNode.parentNode.childNodes.item(1).innerHTML = renderDriveName("Aux", g[a[3]]);
            getId("zAuxName").parentNode.innerHTML = renderDriveTitle ("Aux", sAuxCode);
        }
    }
}

function renderIcon (sCode) {
    var sC = sCode.toLowerCase();
    var a = isCorrect (sC);
    var html="";
    if (a!=false) {
        var sGroupCode = a[3];
        var sTopCode = a[0];
        var sBotCode = a[1];
        var sAuxCode = a[2];
        var o=g[sGroupCode];
        html+= '<a id="zIcon" href="#'+sTopCode+sBotCode+sAuxCode+'" ';
        html+= 'onclick="setZ('+"'"+sTopCode+sBotCode+sAuxCode+"'"+')"';
        html+= 'onmouseover="renderZ('+"'"+sTopCode+sBotCode+sAuxCode+"'"+');setDriveNames('+"'"+sTopCode+"','"+sBotCode+"','"+sAuxCode+"'"+');" ';
        html+= 'onmouseout="renderZ(zPrevCode);setDriveNames(zTopCode,zBotCode,zAuxCode);" >';
        
        var sDivPrefix = '<div class="zPic" style="width:105px;height:55px; position:relative;margin:1px 0 0 3px;">'
        html+= compositePic("105px","55px",sTopCode,sBotCode,sAuxCode,"",sDivPrefix,null,null);
        html+= '<div id="zIconLink" style="width:';
        html+= (100-Math.round(0.17*parseInt(o.driveLeft)))+"px;height:";
        html+= (58-Math.round(0.17*parseInt(o.driveTop)))+"px;margin:";
        html+= (Math.round(0.17*parseInt(o.driveTop))-58)+"px 0 0 ";
        html+= (Math.round(0.17*parseInt(o.driveLeft)))+'px;">';
        html+= sTopCode+sBotCode+sAuxCode;
        html+= '</div>'
        html+= '</a> ';
    } 
    return html;
        
}

function getCodeFromUrl () {
//выделяет код из урла
    var sUrl = document.location.href;
    var aParts = sUrl.split("#");
    if (aParts!=null) {
        if (aParts[1]!= null && aParts[1]!="") {
            var aCode = isCorrect(aParts[1]);
            if (aCode!=false) {
                return ""+aCode[4];
            } else {
                return "";
            }
        } else {
            return "";
        }
    } else {
        return "";
    }
}

function toggleOrder() {
    if (getId("zOrderForm").style.display != "block") {
        getId("zOrderForm").style.display = "block";
        getId("bCloseOrder").style.display = "inline";
        getId("bCloseOrder").href = "#"+zPrevCode;
        getId("zRotator").style.display = "none";
        getId("zStrips").style.display = "none";        
    } else {
        getId("zOrderForm").style.display = "none";
        getId("zRotator").style.display = "block";
        getId("zStrips").style.display = "block";
        getId("bBasketOrder").style.display = "inline";
    }
}

function showSide (sSide) {
//showSide('zSideHowToBuy')
    var zSide0 = getId("zSide");
    for (var i=0; i<zSide0.childNodes.length; i++) {
        var o = zSide0.childNodes.item(i);
        if (o.nodeName=="DIV") o.style.display = "none";
    }
    var o = getId(sSide);
    o.style.display = "block";
    if (getId("zSideTop").innerHTML!="" && sSide!="zBasket") {
        var o = getId("zSideTop");
        o.style.display = "block";
    }
    if (sSide!="zSideAbout") {
        getId("zWhattaFuck").style.display = "inline";
    } else {
        getId("zWhattaFuck").style.display = "none";
    }
}

function setZ(sCode) {
//проверяет код и устанавливает активного злобота по коду
    getId("zStrips").style.display="block";
    renderStrip("");
    var sC = sCode.toLowerCase();
    var a = isCorrect (sC);
    if (a!=false) {
        zGroupCode = a[3];
        setGroup (zGroupCode);
        
        zTopCode = a[0];
        zBotCode = a[1];
        zAuxCode = a[2];
        //запоминаем состояния стрипов с превьюшками;
        var dTop="";
        var dBot="";
        var dAux="";
        if (getId("zTopDriveOtherTags")!=null)  dTop=getId("zTopDriveOtherTags").style.display; else  dTop="";
        if (getId("zBotDriveOtherTags")!=null)  dBot=getId("zBotDriveOtherTags").style.display; else  dBot="";
        if (getId("zAuxDriveOtherTags")!=null)  dAux=getId("zAuxDriveOtherTags").style.display; else  dAux="";
        renderZ("");
        if (getId("zTopDriveOtherTags")!=null) getId("zTopDriveOtherTags").style.display=dTop; 
        if (getId("zBotDriveOtherTags")!=null) getId("zBotDriveOtherTags").style.display=dBot; 
        if (getId("zAuxDriveOtherTags")!=null) getId("zAuxDriveOtherTags").style.display=dAux; 
    } else {
        alert ("Товара с кодом "+sCode+" мы не выпускаем!");
        renderZ("");
        return false;
    }
}

function getPrice (sTopCode,sBotCode,sAuxCode) {
    
    var price = 0;
    price += parseInt(sTop[removeNumbers(sTopCode)].price);
    if (sBotCode!='') price += parseInt(sBot[removeNumbers(sBotCode)].price);
    if (sAuxCode!='') price += parseInt(sAux[removeNumbers(sAuxCode)].price);
    return price;
}

function isCorrect (sCode) {
       
//парсит код и проверяет его на валидность, если код валидный -- возвращает array
//в котором [3] -- группа, [0] -- топ, [1] -- бот, [2] -- аукс, [4] -- новый вычищенный полный код.
//Если код невалидный, возвращает false
    var sTopCode = "";
    var sBotCode = "";
    var sAuxCode = "";
    
    var re = /[a-z]{1,2}[1-9][0-9]?(?=[a-zQ])/g;
    var aMatch = ("1"+sCode+"Q").match(re);
    if (aMatch!= null && aMatch.length>0 && aMatch.length<4) {
        if (aMatch.length<2) {
            aMatch[1] = "";                    
        }
        if (aMatch.length<3) {
            aMatch[2] = "";                    
        }
        aMatch[3] = "0";
        //return aMatch;
    } else {
        return false;
    }
    
    var sTopCode = aMatch[0]; var sBotCode = aMatch[1]; var sAuxCode = aMatch[2];
    
    var bIsCorrect = true;
    var iGroupIndex = -1;
    
    if (sTopCode!='') {
        var a = sTop[removeNumbers(sTopCode)];
        if (a!=null) {
            var i = removeLetters(sTopCode);
            if (i!="NaN") {
                if (i>0 && i<=parseInt(a.count)) {
                    bIsCorrect = true;
                } else {
                     bIsCorrect = false;
                }
            } else {
                bIsCorrect = false;
            }
        } else {
            bIsCorrect = false;
        }
    } else {
        bIsCorrect = false;
    }
                
    if (sBotCode!='' && bIsCorrect) {
        var sGr = removeNumbers(sBotCode);
        var a = sBot[sGr];
        if (a!=null) {
            var i = removeLetters(sBotCode);
            if (i!="NaN") {
                if (i>0 && i<=parseInt(a.count)) {
                    //проверяем, есть ли группа, в которой такой префикс головы и тела
                    for (var j=g.length-1; j>=0;j--) {
                        var o = g[j];
                        var re = new RegExp (","+removeNumbers(sTopCode)+",");
                        var aMatch0 = (","+o.topSeries+",").match(re);
                        if (aMatch0!= null) {
                            
                            if (aMatch0.length!=0) {
                                //проверяем, есть ли в этой серии и тело тоже
                                var re1 = new RegExp (","+removeNumbers(sBotCode)+",");
                                var aMatch1 = (","+o.botSeries+",").match(re1);
                                if (aMatch1!= null) {
                                    if (aMatch1.length!=0) {
                                        iGroupIndex = j;
                                    }
                                }
                            }
                        }
                    }
                    if (iGroupIndex==-1) bIsCorrect = false;
                } else {
                     bIsCorrect = false;
                }
            } else {
                bIsCorrect = false;
            }
        } else {
            bIsCorrect = false;
        }
    } else {
        bIsCorrect = false;
    }
    
    if (bIsCorrect == true) {
        var sGr = removeNumbers(sAuxCode);
        if (sAuxCode!='') {
            var a = sAux[sGr];
        } else {
            var a=0;
        }
        if (a!=null) {
            var i = removeLetters(sAuxCode);
            if (i!="NaN" || a==0) {
                if ((i>0 && i<=parseInt(a.count)) || a==0) {
                    //дальше проверяем, есть ли группа, в которой такой префикс головы и тела
                    iGroupIndex=-1;
                    for (var j=g.length-1; j>=0;j--) {
                        var o = g[j];
                        var re = new RegExp (","+removeNumbers(sTopCode)+",");
                        var aMatch0 = (","+o.topSeries+",").match(re);
                        if (aMatch0!= null) {
                            if (aMatch0.length!=0) {
                                //проверяем, есть ли в этой серии и тело тоже
                                var re1 = new RegExp (","+removeNumbers(sBotCode)+",");
                                var aMatch1 = (","+o.botSeries+",").match(re1);
                                if (aMatch1!= null) {
                                    if (aMatch1.length!=0) {
                                        if (a==0) {
                                            if (o.auxSeries=="") iGroupIndex = j;
                                        } else {
                                            var re2 = new RegExp (","+removeNumbers(sAuxCode)+",");
                                            var aMatch2 = (","+o.auxSeries+",").match(re2);
                                            if (aMatch2!= null) {
                                                if (aMatch2.length!=0) {
                                                    iGroupIndex = j;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                    if (iGroupIndex==-1) bIsCorrect = false;
                } else {
                     bIsCorrect = false;
                }
            } else {
                bIsCorrect = false;
            }
        } else {
            bIsCorrect = false;
        }
    }
    if (bIsCorrect == false) { 
        return bIsCorrect;
    } else {
        aMatch[4] = aMatch[0]+aMatch[1]+aMatch[2];
        aMatch[3] = iGroupIndex;
        return aMatch;
    }
}

function generateDrivePreviews (sDrive) {
//sDrive: = {'Top"|'Bot'|'Aux'}
//генерит html, содержащий все иконки с ротируемой частью  -- головой, телом или репликой
    var sTopCode=zTopCode; var sBotCode = zBotCode; var sAuxCode = zAuxCode;
    var html="";  
    var sCodeStrip = "";  
    var sD = sDrive.toLowerCase();
    var o = g[zGroupCode];
    var sRepeat = ",";
    var aRotSeries = (eval("o."+sD+"Series")+",").split(",");
    
    //сначала ставим текущую серию
    var sCurrSerie = removeNumbers(eval ("z"+sDrive+"Code"));
    var oSerie= eval("s"+sDrive+"['"+sCurrSerie+"']");
     
    for (var j=1;j<=oSerie.count;j++) {
        eval ("s"+sDrive+"Code = '"+sCurrSerie+j+"'");
        if (sTopCode+sBotCode+sAuxCode != zTopCode+zBotCode+zAuxCode) {
            sCodeStrip+=sTopCode+sBotCode+sAuxCode+",";
        }
    }
    sRepeat+=sCurrSerie+",";
    
    for (i=0;i<aRotSeries.length-1;i++) {
        if (sRepeat.indexOf(","+aRotSeries[i]+",")==-1) {
            var oSerie = eval("s"+sDrive+"['"+aRotSeries[i]+"']");
            if (oSerie!=null) {
                for (var j=1;j<=oSerie.count;j++) {
                    eval ("s"+sDrive+"Code = '"+aRotSeries[i]+j+"'");
                    if (sTopCode+sBotCode+sAuxCode != zTopCode+zBotCode+zAuxCode) {
                        sCodeStrip+=sTopCode+sBotCode+sAuxCode+",";
                    }
                }
            }
            sRepeat +=aRotSeries[i]+",";
        }
    } 
    var html = renderIconStrip(sCodeStrip);
    return html;    
}

function renderZ(sCode,bHideDrive) {
    getId("zOrderForm").style.display = "none";
    getId("zRotator").style.display = "block";
    var a0 = isCorrect (sCode);
    if (sCode == "" || a0 == false) {
        var sBotCode = zBotCode;
        var sTopCode = zTopCode;
        var sAuxCode = zAuxCode;
        var sGroupCode = zGroupCode;
        zPrevCode = sTopCode+sBotCode+sAuxCode;

    } else {
        var sGroupCode = a0[3];
        var sTopCode = a0[0];
        var sBotCode = a0[1];
        var sAuxCode = a0[2];
    }
    var o = g[sGroupCode];
    var sPic = compositePic ("639px","339px",sTopCode,sBotCode,sAuxCode,"");
    sPic+= '<form method="post" name="zFootForm" action="" style="position:absolute;width:120px;height:25px;top:';
    sPic+= g[sGroupCode].codeTop+';left:'+g[sGroupCode].codeLeft+';" onsubmit="setZ(getId('+"'fGroupCode'"+').value);return false;">';
    sPic+= '<input type="text" name="fGroupCode" id="fGroupCode" value="'+(sTopCode+sBotCode+sAuxCode).toLowerCase();
    sPic+= '" size="12" maxlength="12" onchange="setZ(this.value)" /></form>'
    getId("zZlobot").innerHTML = sPic;
    
    if (bHideDrive==true) {
        //getId("zDrive").style.display = "none"; 
        getId("zDrive").style.width="1px";
        getId("zDrive").style.height = g[zGroupCode].driveHeight;
        getId("zDrive").style.overflow="hidden";   
    } else {
        var oDrive = getId("zDrive");
        getId("zDrive").style.display = "block";
        var sDriveWidth= (parseInt(o.driveWidth))+"px";
        oDrive.style.width = sDriveWidth;
        oDrive.style.minHeight = (parseInt(o.driveHeight))+"px";
        if (window.navigator.appVersion != null) {
            if ((""+window.navigator.appVersion).match("MSIE 6")) {
            oDrive.style.height = (parseInt(o.driveHeight))+"px";
            }
        }
        oDrive.style.paddingTop = o.driveTop;
        oDrive.style.paddingLeft = o.driveLeft;        
        if (window.navigator.appVersion != null) {
            if (!(""+window.navigator.appVersion).match("Safari")) {
              sDriveWidth="auto";
            }
        }
        if (getId("zAuxDrive")!=null) {
            if (sAuxCode=="") getId("zAuxDrive").style.display="none"; else getId("zAuxDrive").style.display="block";
        }
    }
    if (sCode == "") {
        //крутилка голов
        if (sTopCode!='') {
            var sDrive = "";
            sDrive += renderZDrive ("Top", sTopCode, sDriveWidth, o, false);
        } 
        
        //крутилка тел
        if (sBotCode!='') {
            sDrive += renderZDrive ("Bot", sBotCode, sDriveWidth, o, false);
        }
        
        //крутилка aux
        if (sAuxCode!='') {
            sDrive += renderZDrive ("Aux", sAuxCode, sDriveWidth, o, false);
        }
        
        //управление
        sDrive+= '<div id="zDriveMenu"><a href="#'+zPrevCode+'" onclick="addToBasket ()"><span class="red">+</span> в корзину на '+getPrice(sTopCode,sBotCode,sAuxCode)+'р.</a> ';
        sDrive+= '<a href="#'+sTopCode+sBotCode+sAuxCode+'" onclick="toggleBlogCode()"><span class="red">&lt;&gt;</span> в блог</a>';
        sDrive+= '</div>';
        
        //код для блога
        sDrive+= '<div id="zBlog"><form method="post" name="zBlogCode" action="" style="position:relative;width:'+parseInt(o.driveWidth)+'px" ';
        sDrive+= 'id="zBlogCode" onsubmit="return false;">'
        var sBlogCode = generateBlogCode();
        
        sDrive+= '<textarea style="width:'+(-50+parseInt(o.driveWidth))+'px" name="zBlogCodeText" id="zBlogCodeText" readonly="readonly" rows="6">';
        sDrive+= sBlogCode.replace("<","&lt;").replace(">","&gt;");
        sDrive+= '</textarea></form></div>'
        

        //вставляем в страницу крутилки
        oDrive.innerHTML=sDrive;
    }
}

function generateBlogCode() {
    var html="";
    
    var o = g[zGroupCode];

    var sDivPrefix = '<div style="background:url('+"'http://zlobot.ru/i/bgblog1.gif'"+');width:580px;height:320px;overflow:hidden;';
    sDivPrefix+= 'border:none;position:relative;margin:1em 0 1em 0;font:170% Tahoma,Sans-serif;color:#667986;line-height:140%;">';
    sDivPrefix+= '<a style="color:#386eab;text-decoration:underline; border:none;" href="http://zlobot.ru/#'+zTopCode+zBotCode+zAuxCode+'" target="_blank">'
    sDivPrefix+= '<div style="background:none;z-index:100;width:';
    sDivPrefix+= (parseInt(o.driveWidth))+"px;height:";
    sDivPrefix+= (335-parseInt(o.driveTop))+"px;margin:";
    sDivPrefix+= o.driveTop+" 0 0 ";
    sDivPrefix+= o.driveLeft+';">';
    sDivPrefix+= 'ААА! Мой холодильник<br />оккупировали <br />';
    sDivPrefix+= 'злоботы!';
    sDivPrefix+= '</div>'   
    var sImgPrefix = '<img style="width:639px;height:339px;margin-top:-339px;border:0px!important;" src="http://zlobot.ru/z/';
    var sPostfix ='</a></div>';
    
    html = compositePic ("639px","339px",zTopCode,zBotCode,zAuxCode,"",sDivPrefix,sImgPrefix,sPostfix);
    return html;

}


function toggleBlogCode() {
    var o = getId("zBlog").style;
    if (o.display.toLowerCase() != "block") {
        o.display="block";
        getId("zBlogCodeText").focus();getId("zBlogCodeText").select();
    } else {
        o.display="none";
    }
}

function reflow () { 
//делает сайт резиновым
    var oR = document.getElementById ("_shimr");
    var oL = document.getElementById ("_shiml");
    if (oR && oL ) {
        var docWidth = document.body.clientWidth - 930;
        if (docWidth > 0) {
            var nR = 5+Math.round(docWidth/1.8);
            nR+= "px";
            var nL = 5+Math.round(docWidth/2);
            nL+= "px";
        };
        if (docWidth<=0 ) {
            var nR = "1px";
            var nL = "1px";
        };
        oR.style.width = nR;
        oR.style.height = "1px";
        oL.style.width = nL;
        oL.style.height = "1px";
    }
}

function rand (n) {
    
    var x = Math.round(0.55 + Math.random()*(n-0.1));
    return x;
}
function getId (id) {
    var o = document.getElementById(id);
    return o;
}
function removeNumbers (s) {
    var sResult = s.replace(/\d+/,"");
    return sResult;
}
function removeLetters (s) {
    var sResult = parseInt(s.replace(/\D+/,""));
    return sResult;
}
function toggleSeriesTags (sSpanName, sAttribute) {
    var oSpan = getId("z"+sSpanName+"DriveOtherTags");
    if (oSpan!=null) {
        var oStyle = oSpan.style;
        if (sAttribute == '') {
            if (oStyle.display.toLowerCase() !="block" ) {
                getId("zTopDriveOtherTags").style.display="none";
                getId("zBotDriveOtherTags").style.display="none";
                if (getId("zAuxDriveOtherTags")!=null) getId("zAuxDriveOtherTags").style.display="none";
                oStyle.display="block";
                getId("zStrips").style.display="none";
                //reflow(); 
            } else {
                oStyle.display="none";
                getId("zStrips").style.display="block";
            }
        }
        if (sAttribute != "") oStyle.display=sAttribute;
        //reflow(); 
    }
}

function move (sDriveName, ii) {
//по клику на стрелки крутилки меняет части            
    if (sDriveName=="Top"){
        var sCode = zTopCode; var oSeries = sTop;
        var oSerie = oSeries[removeNumbers(sCode)];
        var sSeries = g[zGroupCode].topSeries+",";
    }
    if (sDriveName=="Bot") {
        var sCode = zBotCode; var oSeries = sBot;
        var oSerie = oSeries[removeNumbers(sCode)];
        var sSeries = g[zGroupCode].botSeries+",";
    }
    if (sDriveName=="Aux") {
        var sCode = zAuxCode; var oSeries = sAux;
        var oSerie = oSeries[removeNumbers(sCode)];
        var sSeries = g[zGroupCode].auxSeries+",";
    }
    var sNewCode = sCode;
    var aSeries = sSeries.split(",");
    var iCurr = removeLetters (sCode);
    var iNew = iCurr;
    if (ii==1 && iCurr<parseInt(oSerie.count)) {
        iNew+=1;
        sNewCode = removeNumbers(sCode)+iNew;
    }
    if (ii==1 && iCurr==parseInt(oSerie.count)) {
        iNew=1;
        var sNewSerie = removeNumbers(sCode);
        for (var i=0; i<aSeries.length-1; i++) {
            if (aSeries[i] == removeNumbers(sCode)) {
                if (i==aSeries.length-2) {
                    sNewSerie=aSeries[0]; 
                } else {
                    sNewSerie=aSeries[i+1]; 
                }
            }
        }
        sNewCode = sNewSerie+iNew;
    }
    if (ii==-1 && iCurr>1) {
        iNew=iCurr-1;
        sNewCode = removeNumbers(sCode)+iNew;
    }
    if (ii==-1 && iCurr==1) {

        var sNewSerie = removeNumbers(sCode);
        for (var i=0; i<aSeries.length-1; i++) {
            if (aSeries[i] == removeNumbers(sCode)) {
                if (i==0) {
                    sNewSerie=aSeries[aSeries.length-2]; 
                } else {
                    sNewSerie=aSeries[i-1]; 
                }
            }
        }
        iNew=oSeries[sNewSerie].count;
        sNewCode = sNewSerie+iNew;
    }
    
    eval ("z"+sDriveName+"Code='"+sNewCode+"'");
    renderZ("");
}

function setGroup (iGroup) {
//устанавливает активную группу и рендерит верхние стрипы с тегами
    var html = ""; var html1 = "";
    for (var i=0; i<g.length; i++) {
        if (iGroup!=i && g[i].active) {
            html+='<a href="#" onclick="setGroup('+i+')">'+g[i].name+'</a>';
        } else {
            if (g[i].active) {
                html+='<span>'+g[i].name+'</span>';
                zGroupCode = i;
                var o = g[i];
                var sCollections = o.collections+",";
                var aCollections = sCollections.split(",");
                for (var j=0; j<aCollections.length-1;j++) {
                    html1+='<a href="#" onclick="setCollection('+j+')">'+aCollections[j]+'</a>';
                }
                
                var sCollections = o.topSeries+",";
                var aTopSeries = sCollections.split(",");
                var iRandom = rand(aTopSeries.length-1)-1;
                setCollection (iRandom);                        
            }
        }
    }            
    getId("zGroups").innerHTML = html;
    getId("zSeries").innerHTML = html1;   
}

function setCollection (iColl) {

    var iGroup = zGroupCode;
    var o = g[iGroup];
    
    var sSeries = o.topSeries+",";
    var aTop = sSeries.split(",");
    
    var sSeries = o.botSeries+",";
    var aBot = sSeries.split(",");
    
    var sSeries = o.auxSeries+",";
    var aAux = sSeries.split(",");
    
    if (aTop[iColl]!= null && aBot[iColl]!= null) {
        zTopCode = aTop[iColl]+rand(sTop[aTop[iColl]].count);
        zBotCode = aBot[iColl]+rand(sBot[aBot[iColl]].count);
        if (aAux[iColl]!= null && aAux[iColl]!='') {
            zAuxCode = aAux[iColl]+rand(sAux[aAux[iColl]].count);
        } else {
            zAuxCode = "";
        }
        
        renderZ ("");
        //alert (zTopCode);
    }
}


function compositePic (sWidth,sHeight,sTopCode,sBotCode,sAuxCode,sOnClick,sDivPrefix,sImgPrefix,sPostfix) {
    var sPrefixD = '<div class="zPic" style="width:'+sWidth+';height:'+sHeight+'">';
    if (sDivPrefix!=null) {
        sPrefixD=sDivPrefix;
    }
    
    var html = sPrefixD;
    if (true) {
        var sPrefix = '<img class="png" style="width:'+sWidth+';height:'+sHeight+';" src="http://zlobot.ru/z/';
        if (sImgPrefix!=null) {
            sPrefix=sImgPrefix;
        }        
        html += sPrefix+sBotCode+'b.png" ';
        if (sOnClick!='') html +=  'onclick="'+sOnClick+'" ';
        html += '/>';
        html += sPrefix+sTopCode+'t.png" ';
        if (sOnClick!='') html +=  'onclick="'+sOnClick+'" ';
        html += '/>';
        html += sPrefix+sAuxCode+'a.png" ';
        if (sOnClick!='') html +=  'onclick="'+sOnClick+'" ';
        html += '/>';
        if (sPostfix!=null) {
            html += sPostfix;
        } else {
            html+= '</div>';
        }
    }else{
    
    }
    return html;
}


function renderBasket (n) {
    var oBasket = getId("zBasket");
    
    //считаем сумму
    var nSum = 0;
    var aItemPrices = document.getElementsByName("zItemPrice")
    for (var i=0; i<aItemPrices.length; i++) {
        nSum+=parseInt(aItemPrices[i].innerHTML);
    }
    var html = "";
    if (nSum>0) {
        html+= '<a id = "bBasketOrder" href="#'+zTopCode+zBotCode+zAuxCode+'" onclick="toggleOrder()">Заказать на '+nSum+'р.</a>';
        html+= '<p style="padding:0.6em">';
        html+= '<span class="red">–</span><a href="#" onclick="showSide('+"'zSideHowToBuy'"+')">Как купить?</a><br />';
        html+= '<span class="red">–</span><a href="#" onclick="showSide('+"'zSideDelivery'"+')">О доставке</a></p>';
        
        //вставляем опции доставки
        var iDlv = -1;
        var aItems = document.getElementsByName("zItem");
        for (var i=0;i<aItems.length;i++) {
            if (aItems[i].childNodes.item(2).childNodes.item(0).innerHTML == csDelivery) iDlv=i;
        }
        if (iDlv != -1 ) {
            html+='<p><span style="line-height:110%;">Вместо доставки '+aItems[iDlv].childNodes.item(2).childNodes.item(1).innerHTML+' доставить:</span><br />';
        } else {
            html+='<p>Доставка:<br />';
        }
        for (var i=0;i<zDlv.length;i++) {
            var oDlv = zDlv[i];
            var bRenderDlv = false;
            if (iDlv != -1) {
                if (aItems[iDlv].childNodes.item(2).childNodes.item(1).innerHTML != oDlv.name) bRenderDlv = true;
            } else {
                bRenderDlv = true;
            }
            if (bRenderDlv) {
                html+= '<span class="red">+</span>';
                html+= '<a href="#'+zTopCode+zBotCode+zAuxCode+'" onclick="setDelivery('+"'"+oDlv.name+"'"+')">';
                html+= oDlv.name+'</a><br />'; 
            }               
        }
        html+='</p>';
    }
    getId("zBasketDrive").innerHTML = html;
    
    //код возобновления для IE6
    if (window.navigator.appVersion != null) {
       if ((""+window.navigator.appVersion).match("MSIE 6")) {
        var aItems = document.getElementsByName("zItem");
            for (var i=0; i<aItems.length;i++) {
               var sFullCode = aItems[i].childNodes.item(2).childNodes.item(1).innerHTML;
               var a = isCorrect(sFullCode);
               if (a!=false) {
                aItems[i].childNodes.item(0).innerHTML = compositePic ("136px","72px",a[0],a[1],a[2],"");
               }
            }
       }
    }
    
    //собираем форму для отправки

    var sCR = String.fromCharCode(13)+String.fromCharCode(10);
    var sOrderText = "Да, я заказываю:"+sCR;
    var aItems = document.getElementsByName("zItem");
    for (var i=0; i<aItems.length;i++) {
        var oItem = aItems[i];
        var sItemName = oItem.childNodes.item(2).childNodes.item(1).innerHTML;
        var sItemCount = oItem.childNodes.item(2).childNodes.item(0).innerHTML;
        if (sItemCount!="") {
            if (sItemCount!=csDelivery) {
                sItemCount=", "+parseInt(sItemCount)+" шт. на "; 
            } else {
                sItemCount=" за "; sItemName = "доставку "+sItemName
            }
        } else {
            sItemCount=" за ";
        }
        var sItemPrice = oItem.childNodes.item(2).childNodes.item(3).innerHTML;
        sOrderText+="• "+sItemName+sItemCount+sItemPrice+sCR;
    }
    sOrderText+="————"+sCR;
    sOrderText+="Итого: "+nSum+"р.";
    
    getId("message").value = sOrderText;
    getId("message").style.height = (4.4+aItems.length)*1.3 + "em";
    getId("message").readOnly="true";
    
    
    var html1 = "";
    html1+= '<div id="zSideContent" style="padding:23px 20px 0 4px;">';
    html1+= '<p style="font-size:100%;line-height:150%;margin-left:0em;text-align:center;">У вас в '+'<a href="#" onclick="showSide('+"'zBasket'"+')">корзине</a><br />'
    html1+= '&nbsp;злоботов на '+nSum+'р.';
    html1+= '</p></div><div id="zSideContentBottom" style="margin-top:-0.3em"></div>';
    getId("zSideTop").innerHTML = html1;
    if (n==0 || nSum==0) {
        getId("zSideTop").innerHTML="";
        showSide("zSideAbout");                
    }
    if (n==1 && nSum>0) {
        showSide("zBasket");
    }
}

function setItemCount (oItem, n) {
    if (oItem!= null && (n==1 || n==-1)){
        var oItemCount = oItem.childNodes.item(2).childNodes.item(0);
        var oItemPrice = oItem.childNodes.item(2).childNodes.item(3);
        //alert (oItemCount.innerHTML+oItemPrice.innerHTML)
        if (oItemCount.innerHTML!="") {
            var nCount = parseInt(oItemCount.innerHTML);
        } else {
            var nCount = 1;
        }
        if (oItemPrice.innerHTML!="") {
            var nPrice = parseInt(oItemPrice.innerHTML);
        } else {
            var nPrice = 0;
        }
        var nOne = nPrice/nCount;
        var newCount = nCount+n;
        var newPrice = (nOne*newCount)+"р.";
        if (newCount == 0)  { 
            oItem.parentNode.removeChild(oItem); renderBasket(1);
        }
        if (newCount>0 && newCount<=10) {
            if (newCount!=1) {
                oItemCount.innerHTML = newCount+"&times;";
            } else {
                oItemCount.innerHTML = "";
            }
            oItemPrice.innerHTML = newPrice;
            renderBasket(1);
        }
        if (newCount>10) {
            alert ("Не больше десяти в одни руки! o_0")
        }
    }
}

function addToBasket () {
    //ищем, нет ли уже такого айтема в корзине
    var sFullCode = (zTopCode+zBotCode+zAuxCode).toLowerCase();
    var aItemIds = document.getElementsByName("zItemId");
    if (aItemIds.length!=0) {
        var bFound = false;
        for (var i=0; i<aItemIds.length;i++) {
            var aItemId = aItemIds[i];
            if (sFullCode == aItemId.innerHTML) {
                setItemCount(aItemId.parentNode.parentNode,1);
                bFound = true;
            }
        }
        if (!bFound) {
            getId("zItems").innerHTML = getId("zItems").innerHTML + compositeBasketItem (zTopCode,zBotCode,zAuxCode);
            renderBasket(1);
        }
    } else {
        getId("zItems").innerHTML = compositeBasketItem (zTopCode,zBotCode,zAuxCode);
        renderBasket(1);
    }
}

function compositeBasketItem (sTopCode,sBotCode,sAuxCode) {
    var html="";
    html+= '<div id="zItem" class="zItemBg'+rand(3)+'" name="zItem">';
    html+= '<div id="zItemPic" style="cursor:hand" name="zItemPic" onclick="setZ('+"'"+sTopCode+sBotCode+sAuxCode+"')"+'">';
    html+= compositePic ("136px","72px",sTopCode,sBotCode,sAuxCode,"")//+'" onmouseover="'+ "renderZ('"+sTopCode+sBotCode+sAuxCode+"',true)"+'" onmouseout="renderZ(zPrevCode)');
    html+= '</div>';
    html+= '<div id="zItemDrive" name="zItemDrive">';
    html+= '<a href="#" onclick="setItemCount(this.parentNode.parentNode,1)">+</a>';
    html+= '<a href="#" onclick="setItemCount(this.parentNode.parentNode,-1)">&minus;</a>';
    html+= '&nbsp;<a href="#" onclick="this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);renderBasket(1)">&times;</a></div>'
    html+= '<div id="zItemName" name="zItemName">';
    html+= '<span id="zItemCount" name="zItemCount"></span>';
    html+= '<a id="zItemId" name="zItemId" href="#'+sTopCode+sBotCode+sAuxCode;
    html+= '" onclick="setZ('+"'"+sTopCode+sBotCode+sAuxCode+"'"+')">';
    html+= (sTopCode+sBotCode+sAuxCode).toLowerCase()+'</a>&nbsp;'
    html+= '<span id="zItemPrice" name="zItemPrice">'+getPrice(sTopCode,sBotCode,sAuxCode)+'р.</span>';
    html+= '</div></div>';
    return html;
}

function setDelivery (sName) {
    //устанавливает доставку sName, если sName пусто -- убирает доставку
    var aItems = document.getElementsByName("zItem");
    var oDelivery = "";
    for (var i=0; i<aItems.length;i++) {
        var oItem = aItems[i];
        var sItemCount = oItem.childNodes.item(2).childNodes.item(0).innerHTML;
        if (sItemCount==csDelivery) {
            oDelivery = oItem;
        }
    }
    
    if (oDelivery!="") {
        oDelivery.parentNode.removeChild(oDelivery);
    }
    if  (sName!="") {
        var html = "";

        var iDlv = "#";
        for (var i=0;i<zDlv.length;i++) {
            if (zDlv[i].name == sName) iDlv=i;
        }
        if (iDlv != "#") {
            html+= '<div id="zItem" class="zItemBg'+rand(3)+'" name="zItem">';
            html+= '<div id="zItemPic" name="zItemPic"></div>';
            html+= '<div id="zItemDrive" name="zItemDrive" style="z-index:12">';
            html+= '<a href="#" onclick="this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);renderBasket(1)">&times;</a></div>'
            html+= '<div id="zItemName" name="zItemName"  style="text-align:left;top:12px;left:19px;width:183px;line-height:130%;">';
            html+= '<div id="zItemCount" name="zItemCount">'+csDelivery+'</div>';
            html+= '<div id="zItemId" name="zItemId" style="padding-right:10px">';
            html+= zDlv[iDlv].name+'</div><div style="display:none">&nbsp;</div>';
            html+= '<div id="zItemPrice" name="zItemPrice" style="width:183px;margin:-1.1em 0 0 0;text-align:right">'+zDlv[iDlv].price+'р.</div>';
            html+= '</div></div>';
        }
        getId("zItems").innerHTML = getId("zItems").innerHTML + html;
    }
    renderBasket(1);    
}

var bWasOrderRemastered = false;

