﻿/* begin Page */
var artEventHelper = {
    'bind': function(obj, evt, fn) {
        if (obj.addEventListener)
            obj.addEventListener(evt, fn, false);
        else if (obj.attachEvent)
            obj.attachEvent('on' + evt, fn);
        else
            obj['on' + evt] = fn;
    }
};

var artLoadEvent = (function() {
    var userAgent = navigator.userAgent.toLowerCase();
    var browser = {
        version: (userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [])[1],
        safari: /webkit/.test(userAgent),
        opera: /opera/.test(userAgent),
        msie: /msie/.test(userAgent) && !/opera/.test(userAgent),
        mozilla: /mozilla/.test(userAgent) && !/(compatible|webkit)/.test(userAgent)
    };

    var list = [];

    var done = false;
    var ready = function() {
        if (done) return;
        done = true;
        for (var i = 0; i < list.length; i++)
            list[i]();
    };

    if (document.addEventListener && !browser.opera)
        document.addEventListener('DOMContentLoaded', ready, false);

    if (browser.msie && window == top) {
        (function() {
            try {
                document.documentElement.doScroll('left');
            } catch (e) {
                setTimeout(arguments.callee, 10);
                return;
            }
            ready();
        })();
    }

    if (browser.opera) {
        document.addEventListener('DOMContentLoaded', function() {
            for (var i = 0; i < document.styleSheets.length; i++) {
                if (document.styleSheets[i].disabled) {
                    setTimeout(arguments.callee, 10);
                    return;
                }
            }
            ready();
        }, false);
    }

    if (browser.safari) {
        var numStyles;
        (function() {
            if (document.readyState != 'loaded' && document.readyState != 'complete') {
                setTimeout(arguments.callee, 10);
                return;
            }
            if ('undefined' == typeof numStyles) {
                numStyles = document.getElementsByTagName('style').length;
                var links = document.getElementsByTagName('link');
                for (var i = 0; i < links.length; i++) {
                    numStyles += (links[i].getAttribute('rel') == 'stylesheet') ? 1 : 0;
                }
                if (document.styleSheets.length != numStyles) {
                    setTimeout(arguments.callee, 0);
                    return;
                }
            }
            ready();
        })();
    }

    artEventHelper.bind(window, 'load', ready);

    return ({
        add: function(f) {
            list.push(f);
        }
    })
})();

(function() {
    // fix ie blinking
    var m = document.uniqueID && document.compatMode && !window.XMLHttpRequest && document.execCommand;
    try { if (!!m) { m("BackgroundImageCache", false, true); } }
    catch (oh) { };
})();

function xGetElementsByClassName(clsName, parentEle, tagName) {
    var elements = null;
    var found = [];
    var slash = String.fromCharCode(92);
    var re = new RegExp(slash + "b" + clsName + slash + "b");
    if (!parentEle) parentEle = document;
    if (!tagName) tagName = '*';
    elements = parentEle.getElementsByTagName(tagName);
    if (elements) {
        for (var i = 0; i < elements.length; ++i) {
            if (elements[i].className.search(re) != -1) {
                found[found.length] = elements[i];
            }
        }
    }
    return found;
}

var styleUrlCached = null;
function GetStyleUrl() {
    if (null == styleUrlCached) {
        var ns;
        styleUrlCached = '';
        ns = document.getElementsByTagName('link');
        for (var i = 0; i < ns.length; i++) {
            var l = ns[i];
            if (l.href && /style\.css(\?.*)?$/.test(l.href)) {
                return styleUrlCached = l.href.replace(/style\.css(\?.*)?$/, '');
            }
        }

        ns = document.getElementsByTagName('style');
        for (var i = 0; i < ns.length; i++) {
            var matches = new RegExp('import\\s+"([^"]+\\/)style\\.css"').exec(ns[i].innerHTML);
            if (null != matches && matches.length > 0)
                return styleUrlCached = matches[1];
        }
    }
    return styleUrlCached;
}


function artButtonSetupJsHover(btn) {
    artEventHelper.bind(btn, 'mouseover', function() {
        var spans = btn.getElementsByTagName("span");
        if (spans.length > 0)
            spans[0].className += " hover";
    });
    artEventHelper.bind(btn, 'mouseout', function() {
        var spans = btn.getElementsByTagName("span");
        if (spans.length > 0)
            spans[0].className = spans[0].className.replace(/hover/, "");
    });
}

function artButtonsSetupJsHover() {
    var elements = xGetElementsByClassName("btn", document, "span");
    for (var i = 0; i < elements.length; i++) {
        if (!elements[i].tagName) continue;
        artButtonSetupJsHover(elements[i].parentNode);
    }
}
artLoadEvent.add(artButtonsSetupJsHover);

/* end Page */

/* begin Menu */
function Insert_Separators() {
    var menus = xGetElementsByClassName("artmenu", document);
    for (var i = 0; i < menus.length; i++) {
        var menu = menus[i];
        var childs = menu.childNodes;
        var listItems = [];
        for (var j = 0; j < childs.length; j++) {
            var el = childs[j];
            if (String(el.tagName).toLowerCase() == "li") listItems.push(el);
        }
        for (var j = 0; j < listItems.length - 1; j++) {
            var span = document.createElement('span');
            span.className = 'separator';
            var li = document.createElement('li');
            li.appendChild(span);
            listItems[j].parentNode.insertBefore(li, listItems[j].nextSibling);
        }
    }
}
artLoadEvent.add(Insert_Separators);

function Menu_IE6Setup() {
    var isIE6 = navigator.userAgent.toLowerCase().indexOf("msie") != -1
    && navigator.userAgent.toLowerCase().indexOf("msie 7") == -1;
    if (!isIE6) return;
    var aTmp2, i, j, oLI, aUL, aA;
    var aTmp = xGetElementsByClassName("artmenu", document, "ul");
    for (i = 0; i < aTmp.length; i++) {
        aTmp2 = aTmp[i].getElementsByTagName("li");
        for (j = 0; j < aTmp2.length; j++) {
            oLI = aTmp2[j];
            aUL = oLI.getElementsByTagName("ul");
            if (aUL && aUL.length) {
                oLI.UL = aUL[0];
                aA = oLI.getElementsByTagName("a");
                if (aA && aA.length)
                    oLI.A = aA[0];
                oLI.onmouseenter = function() {
                    this.className += " artmenuhover";
                    this.UL.className += " artmenuhoverUL";
                    if (this.A) this.A.className += " artmenuhoverA";
                };
                oLI.onmouseleave = function() {
                    this.className = this.className.replace(/menuhover/, "");
                    this.UL.className = this.UL.className.replace(/menuhoverUL/, "");
                    if (this.A) this.A.className = this.A.className.replace(/menuhoverA/, "");
                };
            }
        }
    }
}
artLoadEvent.add(Menu_IE6Setup);
/* end Menu */


/* IME >>> */

onload = start;

function start() {
    if (document.getElementById("index_button_play")) {
        index_setsrc();
        index_play();
    }
    if (AlreadyExist == true || AlreadyExist == false)
        FillSearch();
}

// Index >
var index_current_ind = 5;
var index_prev_ind = 1;
var index_play_enabled = false;
function index_smallfoto_onmouseover(id1, id2) {
    var index_mainfoto_1_1, current;
    index_mainfoto_1_1 = document.getElementById("index_mainfoto_" + id1.toString() + "_1");
    current = document.getElementById("index_mainfoto_" + id1.toString() + "_" + id2.toString());
    index_mainfoto_1_1.style.display = "none";
    current.style.display = "block";
}
function index_smallfoto_onmouseout(id1, id2) {
    var index_mainfoto_1_1, current;
    index_mainfoto_1_1 = document.getElementById("index_mainfoto_" + id1.toString() + "_1");
    current = document.getElementById("index_mainfoto_" + id1.toString() + "_" + id2.toString());
    current.style.display = "none";
    index_mainfoto_1_1.style.display = "block";
}
function index_next() {
    index_prev_ind = index_current_ind;
    if (index_current_ind < 5)
        index_current_ind++;
    else
        index_current_ind = 1;
    index_update();
}
function index_prev() {
    index_prev_ind = index_current_ind;
    if (index_current_ind > 1)
        index_current_ind--;
    else
        index_current_ind = 5;
    index_update();
}
function index_play() {
    index_play_enabled = true;
    document.getElementById("index_button_play").style.display = "none";
    document.getElementById("index_button_pause").style.display = "block";
    index_autoplay();
}
function index_pause() {
    index_play_enabled = false;
    document.getElementById("index_button_play").style.display = "block";
    document.getElementById("index_button_pause").style.display = "none";
}
function index_update() {
    if (index_current_ind == index_prev_ind) return;
    var current_block = document.getElementById("index_block_" + index_current_ind);
    var prev_block = document.getElementById("index_block_" + index_prev_ind);
    prev_block.style.display = "none";
    current_block.style.display = "block";
}
function index_autoplay() {
    if (index_play_enabled) {
        var timeout = 5000;
        index_next();
        setTimeout("index_autoplay()", timeout);
    }
}

function index_setsrc() {
    for (var i = 1; i <= 5; i++) {
        for (var j = 1; j <= 4; j++) {
            var el = document.getElementById("index_mainfoto_" + i.toString() + "_" + j.toString());
            var elsrc = document.getElementById("index_mainfotosrc_" + i.toString() + "_" + j.toString());
            el.src = elsrc.value;
        }
    }
}

// Index <
//******************************************

function InitNumericInfo() {
    fadeOpacity.addRule('oR1', 0.0, 1, 50);
    initFade();
}

var Element = new Array(0);
for (var iElement = 0; iElement < Element.length; iElement++) {
    Element[iElement] = 'ProductImage' + (iElement + 1).toString();
}

function initFade() {
    var t = 0;
    for (var i = 0; i < Element.length; i++) {
        setTimeout('Show(\'' + Element[i] + '\')', t);
        for (var j = 0; j < Element.length; j++) {
            if (i != j) {
                setTimeout('Hide(\'' + Element[j] + '\')', t);
            }
        }
        setTimeout('fadeOpacity(\'' + Element[i] + '\',\'oR1\')', t);
        t += 4000;
        setTimeout('fadeOpacity.back(\'' + Element[i] + '\')', t);
        t += 800;
    }
    setTimeout('initFade()', t);
}

function Show(sElemId) {
    var obj = document.getElementById(sElemId);
    if (!obj) return;
    obj.style.display = "block";
}
function Hide(sElemId) {
    var obj = document.getElementById(sElemId);
    if (!obj) return;
    obj.style.display = "none";
}
/* Photo in header < */

/* IME <<< */


/* Opacity > */
//***************************************
function setElementOpacity(oElem, nOpacity) {
    var p = getOpacityProperty();
    (setElementOpacity = p == "filter" ? new Function('oElem', 'nOpacity', 'nOpacity *= 100;    var oAlpha = oElem.filters["DXImageTransform.Microsoft.alpha"] || oElem.filters.alpha;    if (oAlpha) oAlpha.opacity = nOpacity; else oElem.style.filter += "progid:DXImageTransform.Microsoft.Alpha(opacity="+nOpacity+")";') : p ? new Function('oElem', 'nOpacity', 'oElem.style.' + p + ' = nOpacity;') : new Function)(oElem, nOpacity);
}

function getOpacityProperty() {
    var p;
    if (typeof document.body.style.opacity == 'string') p = 'opacity';
    else if (typeof document.body.style.MozOpacity == 'string') p = 'MozOpacity';
    else if (typeof document.body.style.KhtmlOpacity == 'string') p = 'KhtmlOpacity';
    else if (document.body.filters && navigator.appVersion.match(/MSIE ([\d.]+);/)[1] >= 5.5) p = 'filter';

    return (getOpacityProperty = new Function("return '" + p + "';"))();
}

function fadeOpacity(sElemId, sRuleName, bBackward) {
    var elem = document.getElementById(sElemId);
    if (!elem || !getOpacityProperty() || !fadeOpacity.aRules[sRuleName]) return;

    var rule = fadeOpacity.aRules[sRuleName];
    var nOpacity = rule.nStartOpacity;

    if (fadeOpacity.aProc[sElemId]) { clearInterval(fadeOpacity.aProc[sElemId].tId); nOpacity = fadeOpacity.aProc[sElemId].nOpacity; }
    if ((nOpacity == rule.nStartOpacity && bBackward) || (nOpacity == rule.nFinishOpacity && !bBackward)) return;

    fadeOpacity.aProc[sElemId] = { 'nOpacity': nOpacity, 'tId': setInterval('fadeOpacity.run("' + sElemId + '")', fadeOpacity.aRules[sRuleName].nDalay), 'sRuleName': sRuleName, 'bBackward': Boolean(bBackward) };
}

fadeOpacity.addRule = function(sRuleName, nStartOpacity, nFinishOpacity, nDalay) { fadeOpacity.aRules[sRuleName] = { 'nStartOpacity': nStartOpacity, 'nFinishOpacity': nFinishOpacity, 'nDalay': (nDalay || 30), 'nDSign': (nFinishOpacity - nStartOpacity > 0 ? 1 : -1) }; };

fadeOpacity.back = function(sElemId) { fadeOpacity(sElemId, fadeOpacity.aProc[sElemId].sRuleName, true); };

fadeOpacity.run = function(sElemId) {
    var proc = fadeOpacity.aProc[sElemId];
    var rule = fadeOpacity.aRules[proc.sRuleName];

    proc.nOpacity = Math.round((proc.nOpacity + .1 * rule.nDSign * (proc.bBackward ? -1 : 1)) * 10) / 10;
    setElementOpacity(document.getElementById(sElemId), proc.nOpacity);

    if (proc.nOpacity == rule.nStartOpacity || proc.nOpacity == rule.nFinishOpacity) clearInterval(fadeOpacity.aProc[sElemId].tId);
}
fadeOpacity.aProc = {};
fadeOpacity.aRules = {};
//***************************************
/* Opacity < */


/* Gallery >>> */
var roll_shift = 0;
var roll_shift_old = -1;
var roll_shift_max = 2;
var gallery_active = 1;
var gallery_active_old = -1;
var a = new Array();
a[1] = "/Продукция/Дорожный ремонтер Madpatcher MP";
a[2] = "/Продукция/Машина для поверхностной обработки дорог Комбайн KD3";
a[3] = "/Продукция/Автогудронатор SMA";
a[4] = "/Продукция/Прицепной гудронатор SM 2000";
a[5] = "/Продукция/Щебнераспределитель DRG";
a[6] = "/Продукция/Система нивелирования MD1";

$(function() {
    $('#roll_btn_left').click(roll_btn_left_click);
    $('#roll_btn_right').click(roll_btn_right_click);

    $('#roll_place_1').click(roll_place_click);
    $('#roll_place_2').click(roll_place_click);
    $('#roll_place_3').click(roll_place_click);
    $('#roll_place_4').click(roll_place_click);

    $('#gallery_placeimg').click(gallery_placeimg_click);
});

function roll_btn_left_click() {
    if (roll_shift > 0) {
        roll_shift_old = roll_shift;
        roll_shift--;
        update_by_roll_shift();
    };
}
function roll_btn_right_click() {
    if (roll_shift < roll_shift_max) {
        roll_shift_old = roll_shift;
        roll_shift++;
        update_by_roll_shift();
    };
}
function roll_place_click() {
    var roll_place_nam = -1;
    if(this.id == "roll_place_1") roll_place_nam = 1;
    if(this.id == "roll_place_2") roll_place_nam = 2;
    if(this.id == "roll_place_3") roll_place_nam = 3;
    if(this.id == "roll_place_4") roll_place_nam = 4;
    if(roll_place_nam == -1) return;
    if (roll_shift < 0 || roll_shift > roll_shift_max) return;
    if (roll_place_nam + roll_shift == gallery_active) return;
    gallery_active_old = gallery_active;
    gallery_active = roll_place_nam + roll_shift;
    update_by_gallery_active();
}
function gallery_placeimg_click() {
    if (gallery_active < 1 || gallery_active > 6) return;
    document.location = a[gallery_active];
}
function update_by_gallery_active() {
    if (gallery_active < 1 || gallery_active > 6) return;
    if (gallery_active_old >= 1 && gallery_active_old <= 6) {
        $("#gallery_img" + gallery_active_old.toString()).fadeOut(200, function() {$("#gallery_img" + gallery_active.toString()).fadeIn(400);});
        $("#gallery_txt" + gallery_active_old.toString()).hide();
        $("#gallery_txt" + gallery_active.toString()).show();
    }
}
function update_by_roll_shift() {
    for (var i = 0; i < 4; i++) {
        set_img_for_roll(i + 1);
    }
}
function set_img_for_roll(nam) {
    var class_nam_old = roll_shift_old + nam;
    var class_nam = roll_shift + nam;
    $('#roll_place_' + nam.toString()).removeClass('jms-roll-pic-' + class_nam_old.toString());
    $('#roll_place_' + nam.toString()).addClass('jms-roll-pic-' + class_nam.toString());
}
/* Gallery <<< */