$(document).ready(function() {
    if(window.location.search.indexOf("pokupon")!=-1 || window.location.search.indexOf("?yclid")!=-1){
        history.pushState(null, null, 'https://karpoff.com.ua')
    }
    checkPage();
    function checkPage(){
        var  pathName = window.location.pathname;
        if( pathName == "/company" || pathName == "/guaranty" || pathName == "/delivery" || pathName == "/loyaltyprogram"){
            //$(".b-garage").hide();
            $(".searchBlock").hide();
        }
        if(window.location.href === 'https://karpoff.com.ua/'){
            addHelpForm();
        }
    }
    if ($("#selected_filters label").length>0){
        $("#selected_filters").css({display:"inline-table"});
    }
    if(document.body.clientWidth > 991){clickYear();}
    ///////////////addNewCar From autoparts/////////////////////
    if ($(".gtr.pads").length>0){
        $(".gtr.pads a[href]").on("click",function(){
            addNewCar($(this).attr("href"));
        });
    }
//////////////End /addNewCar From autoparts///////////////////////
    $(".catalog_button").on("click",function(){
        var $list_group_img=$(".list_group_img"),
            $whitebox=$(".whitebox"),
            $thisText=$(this)[0];

        if($thisText.innerHTML=="Скрыть"){
            $thisText.innerHTML="Показать";
            $list_group_img.css({display:"none"});
            $whitebox.css({display:"none"});
        }else{
            $thisText.innerHTML="Скрыть";
            $list_group_img.css({display:"block"});
            $whitebox.css({display:"block"});
        }
    });
    $(".section_detail").on("click",function(){
        if (!$(this).parent().hasClass("active_section")){
            var $currenHeight=0;

            $(this).parent().addClass("active_section");
            for(var i=0;i<$(this).parent().children(".section_details").children().length;i++){
                $currenHeight += $(this).parent().children(".section_details").children()[i].clientHeight;
            }
            var $timeAnimate = $currenHeight*6.7;

            $(this).parent().children(".section_details").animate({height:$currenHeight+14+"px"},$timeAnimate);
//          }else{
//                    $(this).parent().children(".section_details").animate(
//                          {height:0},
//                          $timeAnimate,
//                          function(){
//                                  $(this).parent().removeClass("active_section");
//                    });
//
//          }
        }else{
            $(this).parent().children(".section_details").animate({height:0},$timeAnimate);
            $(this).parent().removeClass("active_section");
        }
    });

    if (document.getElementById("box-filter")!=null){checkFilds();}
    if (location.href == "http://kf/") {
        $('#logo a').on('click', function (e) {
            e.preventDefault();
        });
    }
    $('html').on("click",function (e){
        var $autoGarage =$(".autoGarage"),
            $div = $autoGarage.children("div"),
            $currentCar =$(".currentCar");

        if(!$div.is(e.target)&&!($currentCar.is(e.target)||$currentCar.find("span").is(e.target)||$currentCar.find("div").is(e.target))) {
            $autoGarage.removeClass("act");
        }
        if(!$div.is(e.target)&&($currentCar.is(e.target)||$currentCar.find("span").is(e.target)||$currentCar.find("div").is(e.target))){
            if($autoGarage.hasClass("act")){
                $autoGarage.removeClass("act");
            }else{
                $autoGarage.addClass("act");
                if(document.documentElement.clientWidth<992) {
                    $(".cars").css({width: $autoGarage.width() + "px"});
                }
            }
        }
    });
    $(".addAuto").on("click",function(){
        if(document.body.clientWidth<992){setPopUp("bottom");}else{setPopUp("popUp");}
    });
});
function clickYear(){
    $("#mselcont").children().children().slice(0,1).trigger( "click" );
}
////////AddButton////////
function detachButton(){

    var $button = $("#button-filter");

    $button.css({opacity: 0.2,right:"5px"});
    $button.detach();
    return $button;
}

function addButtonFilter(parent){
    var $button = detachButton();

    if(parent.selector =="#selected_filters") {
        $button.appendTo(parent);
        $("#button-filter").css({position:"relative",float:"right",opacity: 1});
    }else {
        $button.appendTo(parent.parentElement);
        $button.animate({opacity: 1,right:"0"},200);
    }
}
$('.box-filter input').on('click', function() {
    addButtonFilter(this);
});
//////////End AddButton////////////

////////////Sellected_close////////////////
$('.selected_close').live('click',function(){

    $(this).parent().css({display:"none"});
    $(this).parent().removeAttr("checked");
    addButtonFilter($("#selected_filters"));
});
function allSelectClose(button){
    var $sf;
    $sf = $(button).parent().find("input");
    for (var i=0;i<$sf.length;i++){
        $($sf[i]).parent().css({display:"none"});
        $($sf[i]).removeAttr("checked");
    }
}
///////////////End Selected_close///////////////

//////////hideFilds////////////
$('.fildHide').on('click',function(){
    getCurentFild(this);
});
function getCurentFild(fild){
    var ul = fild.parentNode.children[1],
        ulH = ul.clientHeight,
        ulN = ul.children.length,
        liH = ul.children[0].clientHeight;
    if (ulH == ulN*liH){
        $(ul).animate({height:""+ liH*5+"px"},4*(ulN*liH-liH*5));
        fild.firstChild.nodeValue='Показ весь список';
    }else if (ulH < ulN*liH){
        $(ul).animate({height:""+ulN*liH+"px"},4*(ulN*liH-liH*5));
        fild.firstChild.nodeValue='Свернуть';
    }
}

function addHeightFild(obj){
    $(obj.objUl).css({height:""+ obj.liH*5+"px"});
    $(obj.objUl).parent().children('p').text('Показ весь список');
}
function checkFilds(){
    var obj;
    obj = curentHeightFilds();
    for (var i=obj.length;i--;){
        if (obj[i].ulN>5){
            addHeightFild(obj[i]);
        }
    }
}
function curentHeightFilds(){
    var boxFilter,
        ulNumber,
        ul_li_H,
        liNumber,
        arrH=[];
    boxFilter=document.getElementById("box-filter");
    liNumber = boxFilter.children;
    ul_li_H = $(boxFilter).children().children("ul").children().height();
    for (var i=liNumber.length;i--;){
        ulNumber = liNumber[i].children[1].children.length;
        arrH.push({objUl:liNumber[i].children[1],ulN:ulNumber,liH:ul_li_H});
    }
    return arrH;
}
//////////Stop hideFilds////////////

////////////start Cookie Manipulation///////////////////////

checkCookie();

function checkCookie(){

    var cok;
    if (JSON.parse(getCookie("garage"))==null || JSON.parse(getCookie("garage"))==undefined){cok =0;}else{cok = JSON.parse(getCookie("garage"));}
    if(cok.length>0){
        if (window.location.href=="https://karpoff.com.ua/"||window.location.href=="https://karpoff.com.ua/autoparts/"){
            return location.href="https://karpoff.com.ua"+cok[cok.length-1].url;
        }
        //addHelpForm();
        $(".b-garage").css({display:"block"});
        if(document.body.clientWidth > 991){
        $("#vinsearch").css({display:"none"});
        }
        $("#searchBlock").removeClass("activeSearch");
        for (var i=cok.length;i--;){
            var url = getCokURL(cok[i]);
            var urlobj = parseURL(url);
            if (i==cok.length-1){
                var curentCarSpan = document.createElement('span'),
                    curentCar =document.getElementsByClassName("currentCar"),
                    imgCurentCar = getImgUrl(urlobj),
                    img = document.createElement('img');

                checkCarInfo(url);
                img.src=imgCurentCar;
                img.onerror=function (){this.src="/autoparts/media/models/default_car.jpg"};
                curentCarSpan.innerHTML =urlobj.marc.toUpperCase()+" "+urlobj.model.toUpperCase()+" ("+urlobj.motor.toUpperCase()+")";
                $(curentCar).children().prepend(curentCarSpan);
                $(".yourAuto").append(img);
            }
            createCarsFilds(urlobj,url);
        }
    }else{$(".searchBlock").addClass("activeSearch");}
}
function createCarsFilds(urlobj,url){
    var input = document.createElement('div'),
        cars=document.getElementsByClassName("cars");

    input.innerHTML =   "<a href=\""+url+"\">"+
        "<span>"+urlobj.marc.toUpperCase()+" "+urlobj.model.toUpperCase()+" ("+urlobj.motor.toUpperCase()+")</span></a>"+
        "<span class=\"deleteBlock\">&times;</span>";
    $(cars).append(input);
    $(".deleteBlock").on("click",function(){
        deleteElement(this);
        deleteFromCok(this,1);
    });
}

function parseURL(url){
    var urlObj ={},
        url = url,
        arrName = ['motor','model','marc','autoparts'];
    for (var i=arrName.length;i--;){
        if (url.length<2){urlObj[arrName[i]]="";}else{
            if (i>1){
                urlObj[arrName[i]] = url.substring(url.indexOf("/")+1,url.indexOf("/",1));
                url = url.substring(url.indexOf("/",1));
            }else{
                if((url.substring(url.indexOf("/")+1,url.indexOf("/",1))).indexOf("-class")!="-1"){
                    urlObj[arrName[i]] = url.substring(url.indexOf("/")+1,url.indexOf("-",1))+"-class";
                    url = url.substring(url.indexOf("/",1));
                }else{
                    urlObj[arrName[i]] = url.substring(url.indexOf("/")+1,url.indexOf("-",1));
                    url = url.substring(url.indexOf("/",1));
                }
            }
        }
    }
    return urlObj;
}

function getCokURL(cok){
    var key;
    for (key in cok){
        if (key=="url"){return cok[key];}
    }
}
function setCookie (name, value, m, path, domain, secure) {
    var d = new Date();
    d.setTime(d.getTime() + (m*30*24*60*60*1000));
    var expires = "expires="+ d.toUTCString();
    document.cookie = name + "=" + encodeURIComponent(value) +
        ((expires) ? "; expires=" + expires : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}

function getCookie(name) {
    var cookie = " " + document.cookie,
        search = " " + name + "=",
        setStr = null,
        offset = 0,
        end = 0;
    if (cookie.length > 0) {
        offset = cookie.indexOf(search);
        if (offset != -1) {
            offset += search.length;
            end = cookie.indexOf(";", offset);
            if (end == -1) {
                end = cookie.length;
            }
            setStr = decodeURIComponent(cookie.substring(offset, end));
        }
    }
    return (setStr);
}

function deleteElement(element){
    element.parentElement.remove();
}

function deleteFromCok(href,n){
    var obj = JSON.parse(getCookie("garage")),
        newArr=[];
    if (n==1){
        hrefForDel = href.parentElement.children[0].href;
    }else if (n==2){
        hrefForDel =href;
    }
    deleteLSGarage(hrefForDel);
    for (var i=obj.length;i--;){
        if(hrefForDel.indexOf(obj[i].url)=="-1"){
            newArr.push(obj[i]);
        }
    }
    setCookie("garage",JSON.stringify(newArr),6,"/","karpoff.com.ua");
    if (newArr.length>0){
        return location.href=newArr[newArr.length-1].url;}
    else if (newArr.length==0){ setCookie("garage",JSON.stringify(newArr),-1,"/","karpoff.com.ua");
        return location.href="https://karpoff.com.ua/";
    }
}
function getImgUrl(obj){
    var url="autoparts/media/models/"+obj.marc+"/"+obj.model.toUpperCase()+".jpg";
    return url;
}

function addNewCar(addUrl){
//return false;
    var newArr=[],
        newUrl={};
    newUrl.url = addUrl;

    if (getCookie("garage")==null){
        newArr.push(newUrl);
        return setCookie("garage",JSON.stringify(newArr),6,"/","karpoff.com.ua");
    }else{
        var cookieObj = JSON.parse(getCookie("garage"));
        for (var i=cookieObj.length;i--;){
            if(newUrl.url.indexOf(cookieObj[i].url)=="-1"){
                newArr.push(cookieObj[i]);
            }
        }
        newArr.push(newUrl);
        return setCookie("garage",JSON.stringify(newArr),6,"/","karpoff.com.ua");
    }
}
function deleteCurrentCar(){
    deleteFromCok($(".cars").children().find("a")[0].href,2)
}
////////////end Cookie Manipulation//////////////////

/////////////////AJAX test////////////////////
function pullAjax(){
    var dataForUrlMade ={id:"10339",rs_code:"transmission"};
    var url ="/autoparts/tdmcore/components/sections/fulltree.php?rd=autoparts&ulng=&brand=chery&mod_id=6176&type_id=22353&mod_name=j11-02%7E08&type_name=2.0";
    $.ajax({
        type: 'post',
        data: dataForUrlMade ,
        dataType: 'html',
        url: url ,
        success: function(data) {
            //  $('#testAjaxReturn').html(data);
            console.log(data);
        }
    });
}
/////////////////end AJAX test////////////////////

/////////detach//////////////
function setPopUp(input)
{
    if(document.body.clientWidth>991){
        var $VINSearch = $("#vinsearch").detach();
    }
    var
        $popUpCont =$(".PopUpContainer>div"),
        $searchBlock = $(".searchBlock"),
        $popUp = $("#mselbox").detach(),
        $newAutoparts = clearAutoparts($popUp);

    if(input == "popUp"){

        $popUpCont.append($newAutoparts);
        $popUpCont.parent().addClass("activePopUp");

        $popUpCont.parent()[0].addEventListener('click',function(e){
            if(e.target.id === "PopUpContainer") {
                $popUpCont.parent().removeClass("activePopUp");
                $newAutoparts.find("#mselcont").children().children().slice(0, 1).trigger("click");
            }
        });
       /* $popUpCont.parent().on("click",function ()
        {

        });*/
    }
    if($VINSearch){
        $VINSearch[0].style.display = "flex";
        $popUpCont.prepend($VINSearch);
    }
    if (input == "bottom"){
        $(".searchBlock").addClass("activeSearch");
        $searchBlock.prepend($newAutoparts);
    }

}
function clearAutoparts(detach){
    var $detachBlock= detach.children(),
        $MS = $detachBlock.find(".MainlayColumn>div").slice(1),
        MANUFACTURERS = "#MANUFACTURERS",
        MODELS = "#MODELS",
        TYPES = "#TYPES",
        $mselform = $detachBlock.find("#mselform");

    for (var i =1; i <$mselform.children().length; i++){
        $detachBlock.find("#mselform").children()[i].value = "";
    }

    for(var i=0;i<$MS.length;i++){
        $($MS[i]).removeAttr("class").addClass("ms-disabled").off();
        $($MS[i]).find("ms-sublay").children().remove();
        if ($($MS[i]).find(MANUFACTURERS).length!=0){
            $($MS[i]).find(MANUFACTURERS).parent().children()[0].innerHTML="<span class=\"symbol\">Выберите марку▼</span>";
            $($MS[i]).find(MANUFACTURERS).remove();
        }
        if ($($MS[i]).find(MODELS).length!=0){
            $($MS[i]).find(MODELS).parent().children()[0].innerHTML="<span class=\"symbol\">Модель▼</span>";
        }
        if ($($MS[i]).find(TYPES).length!=0){
            $($MS[i]).find(TYPES).parent().remove();
        }
    }
    return detach;
}
///////////end detach////////////

////////////LocalStorage////////////
function addInfoCar(info,url)
{
    var $carInfo = $(".carInfo");
    if($carInfo.children().length==0){
        var info = info;
        info+="</br><a href=\""+url+"\"><div class=\"href_to_car\">Перейти к деталям автомобиля</div></a>";
        $carInfo.append(info);
    }
}

function addInLS(url/*string*/,garageInfo/*arr*/)
{
    var curentUrl = window.location.pathname,
        infoObj={};
    if(garageInfo==null)
    {
        garageInfo=[];
    }
    if (url==curentUrl)
    {
        var
            $tdm_content=$(".tdm_content"),
            info = $tdm_content.children("h1")[0].innerHTML,
            infoMotor,
            infoModel,
            arrForFined = [": ", "<br><span>", "Двигатель:", ", см<sup>3</sup>, ", ", "],
            elementForDelete = [" , "];

        if(info.indexOf(arrForFined[0]) != -1){
            infoModel= info.substring(info.indexOf(": ")+2,info.indexOf(arrForFined[1]));
            infoMotor = info.substring(info.indexOf(arrForFined[1]));
        }
        for(var i = 3; i < arrForFined.length; i++){
            if(info.indexOf(arrForFined[i]) != -1){
                if (infoMotor.indexOf(arrForFined[2])==10){
                    break;
                }
                if (infoMotor.indexOf(arrForFined[i])==10){
                    infoMotor =infoMotor.substring(0,infoMotor.indexOf(arrForFined[i])) + arrForFined[2] + " " +infoMotor.substring(infoMotor.indexOf(arrForFined[i])+arrForFined[i].length);
                    break;
                }
            }
        }
        for (var i=0; i<elementForDelete.length; i++){
            if (infoMotor.indexOf(elementForDelete[i]) !=-1){
                infoMotor = infoMotor.substring(0,infoMotor.indexOf(elementForDelete[i]))+" "+infoMotor.substring(infoMotor.indexOf(elementForDelete[i])+elementForDelete[i].length)
            }
        }
        infoObj.url = url;
        infoObj.info = infoModel+infoMotor;
        garageInfo.push(infoObj);
        localStorage.setItem("gatageInfo",JSON.stringify(garageInfo));
        return checkCarInfo(url);
    }
}
function checkCarInfo(url)
{
    var garageInfo;
    garageInfo = JSON.parse(localStorage.getItem("gatageInfo"));
    if ( garageInfo != null && garageInfo.length > 0 ) {
        for (var i = 0; i < garageInfo.length; i++) {
            if (garageInfo[i].url == url
                && !(garageInfo[i].info == ""
                || garageInfo[i].info == undefined
                || garageInfo[i].info == null))
            {
                return addInfoCar(garageInfo[i].info,url);
            }
        }
    }
    return addInLS(url,garageInfo);
}

function deleteLSGarage(href)
{
    var garageInfo,
        arrLS=[];

    garageInfo = JSON.parse(localStorage.getItem("gatageInfo"));
    if ( garageInfo != null && garageInfo.length > 0 ) {
        for (var i = 0; i < garageInfo.length; i++) {
            if(href.indexOf(garageInfo[i].url) == "-1"){
                arrLS.push(garageInfo[i]);
            }
        }
    }
    return  localStorage.setItem("gatageInfo",JSON.stringify(arrLS));
}
////////////END LocalStorage////////////

///////////////////Slider/////////////////////////
needSlider();
function needSlider(){
    if(/*JSON.parse(localStorage.getItem("slider"))==true && */document.body.clientWidth>992/*&&window.location.href=="https://karpoff.com.ua/"*/){
        var slider = document.createElement('div');
        slider.className= "new_container_slider";
        slider.innerHTML = "<ul id=\"new_slides\">"+
            "<li class=\"new_slide new_showing\"><img src=\"image/Sales/Slider/pic13-min.jpg\" alt=\"Прямые поставки\" title=\"Страны - партнеры\"/></li>"+
            "<li class=\"new_slide\"><a href=\"https://karpoff.com.ua/loyaltyprogram\"><img src=\"image/Sales/Slider/fifth_element_build2-min.jpg\" alt=\"Программа лояльности KARPOFF\" title=\"Программа лояльности\"/></a></li>"+
            "<li class=\"new_slide\"><img src=\"image/Sales/Slider/pic17-min.jpg\"  title=\"Ви займаєтесь своїми справами, ми шукаємо Вам запчастини!\"/></li>"+
            "<li class=\"new_slide\"><a href=\"https://karpoff.com.ua/girls_as_cars\"><img src=\"image/Sales/Slider/pic18-min.jpg\" alt=\"Женщина машина\"/></a></li>"+
            "<li class=\"new_slide\"><a href=\"https://karpoff.com.ua/company\"><img src=\"image/Sales/Slider/pic19-min.jpg\" alt=\"О компании KARPOFF\" title=\"О компании\"/></a></li>"+
            "<div class=\"new_buttons_slider\">"+
            "<input type=\"radio\" name=\"point\" id=\"slide1\" checked>"+
            "<input type=\"radio\" name=\"point\" id=\"slide2\">"+
            "<input type=\"radio\" name=\"point\" id=\"slide3\">"+
            "<input type=\"radio\" name=\"point\" id=\"slide4\">"+
            "<input type=\"radio\" name=\"point\" id=\"slide5\">"+
            "</div>"+
            "</ul>";

        $(".slides").append(slider);
        $(".slides").show();
        var timerId = setTimeout(tick, 5000,1),
            slides = document.querySelectorAll('#new_slides .new_slide'),
            buttons = document.querySelectorAll('.new_buttons_slider input'),
            currentSlide = 1;

        function goToSlide(n){
            for(var i=0;i<slides.length;i++) {
                if(slides[n]!=slides[i]){slides[i].className = 'new_slide';}
            }
            slides[n].className = 'new_slide new_showing';
            buttons[n].checked = true;
        }

        function goSlide(currentSlide){
            goToSlide(currentSlide);
            stopSlide();
            timerId = setTimeout(tick, 5000,currentSlide);
        }

        function stopSlide(){
            clearInterval(timerId);
        }

        function tick(slideId) {
            if (typeof(timerId)!="number"){
                currentSlide=0;
                timerId = setTimeout(tick, 5000,currentSlide++);
            }else{
                currentSlide = currentSlide%slides.length;
                goToSlide(currentSlide);
                timerId = setTimeout(tick, 5000,currentSlide++);
            }
        }

        $(document).ready(function() {
            $(".new_buttons_slider input").on("click",function(){
                stopSlide();
                currentSlide=$(this).index();
                goSlide(currentSlide);
            });
        });
    }
}
/////////////////////End Slider//////////////////////

////////////admin function///////////////
function userRoot(user){
    localStorage.setItem("userRoot",JSON.stringify(user));
}
$("#button-payment-address").on("click",function(){
    checkRoot();
});
function checkRoot(){
    var root = JSON.parse(localStorage.getItem("userRoot"));
    if (root=="admin"){
        $(".pokupon_block").show();
    }
}
///////////End admin function///////////////
//window.addEventListener('load',function(){var e=document.getElementsByTagName('div');for(var k=0;k<e.length;k++){if(e[k].className.indexOf('share42init')!=-1){if(e[k].getAttribute('data-url')!=-1)var u=e[k].getAttribute('data-url');if(e[k].getAttribute('data-title')!=-1)var t=e[k].getAttribute('data-title');if(e[k].getAttribute('data-image')!=-1)var i=e[k].getAttribute('data-image');if(e[k].getAttribute('data-description')!=-1)var d=e[k].getAttribute('data-description');if(e[k].getAttribute('data-path')!=-1)var f=e[k].getAttribute('data-path');if(e[k].getAttribute('data-icons-file')!=-1)var fn=e[k].getAttribute('data-icons-file');if(!f){function path(name){var sc=document.getElementsByTagName('script'),sr=new RegExp('^(.*/|)('+name+')([#?]|$)');for(var p=0,scL=sc.length;p<scL;p++){var m=String(sc[p].src).match(sr);if(m){if(m[1].match(/^((https?|file)\:\/{2,}|\w:[\/\\])/))return m[1];if(m[1].indexOf("/")==0)return m[1];b=document.getElementsByTagName('base');if(b[0]&&b[0].href)return b[0].href+m[1];else return document.location.pathname.match(/(.*[\/\\])/)[0]+m[1];}}return null;}f="catalog/view/theme/julytheme/template/common/share42/";}if(!u)u=location.href;if(!t)t=document.title;if(!fn)fn='icons.png';function desc(){var meta=document.getElementsByTagName('meta');for(var m=0;m<meta.length;m++){if(meta[m].name.toLowerCase()=='description'){return meta[m].content;}}return'';}if(!d)d=desc();u=encodeURIComponent(u);t=encodeURIComponent(t);t=t.replace(/\'/g,'%27');i=encodeURIComponent(i);d=encodeURIComponent(d);d=d.replace(/\'/g,'%27');var fbQuery='u='+u;if(i!='null'&&i!='')fbQuery='s=100&p[url]='+u+'&p[title]='+t+'&p[summary]='+d+'&p[images][0]='+i;var vkImage='';if(i!='null'&&i!='')vkImage='&image='+i;var s=new Array('"#" data-count="fb" onclick="window.open(\'//www.facebook.com/sharer/sharer.php?u='+u+'\', \'_blank\', \'scrollbars=0, resizable=1, menubar=0, left=100, top=100, width=550, height=440, toolbar=0, status=0\');return false" title="Поделиться в Facebook"','"#" data-count="gplus" onclick="window.open(\'//plus.google.com/share?url='+u+'\', \'_blank\', \'scrollbars=0, resizable=1, menubar=0, left=100, top=100, width=550, height=440, toolbar=0, status=0\');return false" title="Поделиться в Google+"','"#" data-count="lnkd" onclick="window.open(\'//www.linkedin.com/shareArticle?mini=true&url='+u+'&title='+t+'\', \'_blank\', \'scrollbars=0, resizable=1, menubar=0, left=100, top=100, width=600, height=400, toolbar=0, status=0\');return false" title="Добавить в Linkedin"','"#" data-count="vk" onclick="window.open(\'//vk.com/share.php?url='+u+'&title='+t+vkImage+'&description='+d+'\', \'_blank\', \'scrollbars=0, resizable=1, menubar=0, left=100, top=100, width=550, height=440, toolbar=0, status=0\');return false" title="Поделиться В Контакте"');var l='';for(j=0;j<s.length;j++)l+='<a rel="nofollow" style="display:inline-block;vertical-align:bottom;width:32px;height:32px;margin:0 6px 6px 0;padding:0;outline:none;background:url('+f+fn+') -'+32*j+'px 0 no-repeat" href='+s[j]+' target="_blank"></a>';e[k].innerHTML='<span id="share42">'+l+'</span>';}};},false);

//////////////////top menu show/hide ////////////////////////
$(".topMenuArrow").on("click",function(){
    $topMenu = $("#topMenu");
    if ($topMenu.height()=="33"){$topMenu.animate({height: "200px"}, 500);}else{$topMenu.animate({height: "33px"}, 500);}
});
////////////////end top menu show/hide ////////////////////////

////////////////start cart hide////////////////////

(function(global,doc){
    var cartTopFixed = doc.getElementById('cart-top-fixed'),
        cartId = doc.getElementById('cart'),
        buttons = doc.getElementsByClassName('button');
    if(doc.body.clientWidth < 992 && cartTopFixed.style.display==='none')
    {
        cartId.style.display='none';
    }else{
        cartId.style.display='block';
    }

    for(var i = buttons.length;i--;)
    {
        buttons[i].addEventListener("click",function()
        {
            cartId.style.display='block';
        });
    }
})(window,document);
//////////////////end cart hide//////////////////
(function(global,doc){
    var autopartsForm = doc.getElementsByClassName('addAuto')[0],
        top_menu = doc.getElementsByClassName('mob-menu')[0],
        user_icon = doc.getElementsByClassName("user_icon")[0],
        sidebarRight = doc.getElementById("sidebarRight"),
        close = doc.getElementsByClassName("close");
    autopartsForm.addEventListener("click",function(){
        global.scrollTo(0,715);
    });

    top_menu.addEventListener("click",function(){
        doc.getElementById("sidebarLeft").style.display='block';
    });

    user_icon.addEventListener("click",function(){
        sidebarRight.style.display="block";
    });
    for(var i = close.length;i--;)
    {
        if(close[i].parentNode.parentNode.id==="sidebarRight")
        {
            close[i].addEventListener("click",function(){
                this.parentNode.parentNode.style.display="none";
            });
        }
    }
})(window,document);


///////////HelpForm//////////
function addHelpForm(typeBlock){
    //addNewElementInBlock(
    //  @param ("selector")или ("object")блок в который необходимо найти внутри fragment (".Selector"),
    //  @param ("object") обьект с необходимыми атрбутами ({id: "id", class : "classBlock",...}),
    //  @param ("nodeObject")созданый елемент node (document.createElement("div or input or else")),
    //  @param ("number") количество елементов (4)
    //);
    var div = document.createElement("DIV"),
        input = document.createElement("INPUT"),
        textarea = document.createElement("TEXTAREA"),
        selectForm = document.createElement("SELECT"),
        option = document.createElement("OPTION"),
        span = document.createElement("SPAN"),
        button = document.createElement("BUTTON"),
        img = document.createElement("IMG"),
        fragment = document.createDocumentFragment(),
        parentBlock,
        Intermediate_block,
        idPlus = dynamicId(),
        validate = validation(),
        inputObject = getInputObject(),
        // handlerPath = "testClassCreate.php";
//work URL on local
        // handlerPath = "testClassCreate.php/insertUserInfo";
//work URL on server
        handlerPath = "index.php?route=checkout/Pre_orderDetails/insertUserInfo",
        helpFormSearch_content_right_footer,
        global = window,
        doc = document;

    if(typeBlock)
    {
        var parentBlockFunc =  popUpFunc();
        parentBlock = parentBlockFunc.create(typeBlock);
        parentBlock.addEventListener("click",function(e){
            if(e.target.className === 'popUp'){
                parentBlockFunc.hide();
            }
        });
        parentBlock = parentBlock.childNodes[0];
        parentBlockFunc.show();


    }
    else
    {
        parentBlock = document.getElementsByClassName("partPlanBlock")[0];
    }




    addNewElementInBlock(".someBlock",{class :"bTitleHelpForm",style:"padding: 22px 0;",textHtml:'<span>ПОИСК необходимых запчестей? Вы можете предоставить это Нам.</span>'},div);
    addNewElementInBlock(".someBlock",{class :"helpFormSearch"},div);

    addNewElementInBlock(".helpFormSearch",{class:"helpFormSearch_header",textHtml:'<span>Форма предварительного подбора Запчастей</span>'},div);
    addNewElementInBlock(".helpFormSearch",{class:"helpFormSearch_content"},div);
    parentBlock.addEventListener("click",inputObject);



    addNewElementInBlock(".helpFormSearch_content",{id:"helpFormSearch_content_left",class:"helpFormSearch_content_left"},div);
    Intermediate_block =  fragment.querySelectorAll(".helpFormSearch_content_left")[0];
    Intermediate_block.addEventListener("click",inputObject);
    addNewElementInBlock(Intermediate_block,{class:"userVIN",textHtml:"<span class=\"required\">*</span>"},div);

    var VinText = addNewElementInBlock(".userVIN",{class:"textLeft",textHtml:"VIN код автомобиля(17 символов)"},div);

    var questionIcon = addNewElementInBlock(VinText,{class:"VIN_img_question",src:"image/Sales/Slider/question_icon-min.png",alt:"question"}, img),
    // var questionIcon = addNewElementInBlock(VinText,{class:"VIN_img_question",src:"../first/img/question_icon-min.png",alt:"question"}, img),

        // vin_img = addNewElementInBlock(VinText,{class:"VIN_img",src:"../first/img/VIN.jpg",alt:"VIN", title:"Место нахождения VIN кода Вашего автомобиля"}, img);
    vin_img = addNewElementInBlock(VinText,{class:"VIN_img",src:"image/Sales/Slider/VIN.jpg",alt:"VIN", title:"Место нахождения VIN кода Вашего автомобиля"}, img);

    addHover(questionIcon,vin_img);

    function addHover(questionIcon,Text){

        var bonus = addNewElementInBlock(Text.parentNode,{class:"VIN_img_bonus"},div);

        questionIcon.onmouseout = function(){
            for(var i=Text.parentNode.classList.length;i--;)
            {
                if(Text.parentNode.classList[i]==="activeVin")
                {
                    Text.parentNode.classList.remove(Text.parentNode.classList[i]);
                }
            }

        };

        questionIcon.onmouseover = function(){
            var active = true;
            for(var i=Text.parentNode.classList.length;i--;)
            {
                if(Text.parentNode.classList[i]==='activeVin')
                {
                    active=false;
                }
            }
            if(active)
            {
                showMouseOver(bonus,questionIcon);
                showMouseOver.textField(questionIcon,Text);
                Text.parentNode.classList.add("activeVin");
            }
        };
    }
    function showMouseOver(bonus,questionIcon)
    {
        if(document.body.clientWidth > 991){
            // bonus.style.top=questionIcon.offsetHeight+questionIcon.offsetTop+"px";
            bonus.style.top=questionIcon.offsetHeight/2+"px";
            bonus.style.left=questionIcon.offsetLeft+13+"px";
        }else if(document.body.clientWidth < 991){
            bonus.style.top=18+"px";
            bonus.style.left=questionIcon.offsetLeft+2+"px";
        }
    }
    showMouseOver.textField = function(parentBlock,text){
        if(document.body.clientWidth > 991){
            text.style.top=parentBlock.offsetHeight-20+"px";
            text.style.left=parentBlock.offsetLeft+20+"px";
        }else if(document.body.clientWidth < 991){
            text.style.top=26+"px";
            text.style.left=0+"px";
        }
    };


    addNewElementInBlock(".userVIN",{name:"userVIN",class:"inputLeft",maxLength:"17",placeholder: "VIN 17 автомобиля"},input);
    addNewElementInBlock(Intermediate_block,{class:"userPhone",textHtml:"<span class=\"required\">*</span>"},div);
    addNewElementInBlock(".userPhone",{class:"textLeft",textHtml:"Ваш телефон"},div);
    var Intermediate_block1=addNewElementInBlock(".userPhone",{name:"userPhone",class:"inputLeft",maxLength:"18",value:"+38(___)___-__-__"},input);
    addNewElementInBlock(Intermediate_block,{class:"userName",textHtml:"<span class=\"required\">*</span>"},div);
    addNewElementInBlock(".userName",{class:"textLeft",textHtml:"Ваше Имя"},div);
    addNewElementInBlock(".userName",{name:"userName",class:"inputLeft",placeholder: "Ваше Имя",maxLength:"60"},input);
    addNewElementInBlock(Intermediate_block,{class:"userEmail"},div);
    addNewElementInBlock(".userEmail",{class:"textLeft",textHtml:"Ваш Почтовый ящик"},div);
    addNewElementInBlock(".userEmail",{name:"userEmail",class:"inputLeft",placeholder: "Почтовый ящик"},input);


    addNewElementInBlock(".helpFormSearch_content",{class:"helpFormSearch_content_right"},div);

    helpFormSearch_content_right_footer = addNewElementInBlock(".helpFormSearch_content_right",{class:"helpFormSearch_content_right_footer"},div);
    Intermediate_block = addNewElementInBlock(helpFormSearch_content_right_footer,{class:"bAddButton"},div);
    Intermediate_block = addNewElementInBlock(Intermediate_block,{class:"helpFormSearch_content_right-button", textHtml:"Добавить Новую запчасть"},button);
    Intermediate_block.addEventListener("click",function(){
        var show = doc.getElementsByClassName("showInfoBlock")[0];
        if(document.body.scrollTop > show.offsetParent.offsetTop && doc.body.clientWidth < 991){
            show.offsetParent.scrollIntoView();
        }
        addDetalesFilds();
    });

    // Intermediate_block = addNewElementInBlock(helpFormSearch_content_right_footer,{class :"helpFormFooter"},div);
    Intermediate_block = addNewElementInBlock(helpFormSearch_content_right_footer,{class:"bSend"},div);
    var ttt = addNewElementInBlock(Intermediate_block,{class: "reCaptcha_V2",textHtml:"<div class=\"g-recaptcha\" data-sitekey=\"6Ldg6iMUAAAAADMHCGRXMcyugjHo0svi4yCzupgn\" data-callback=\"onloadCallback\"></div>"+
    "<div class=\"text-danger\" id=\"recaptchaError\"></div>"},div);

    Intermediate_block = addNewElementInBlock(Intermediate_block,{class:"send_HelpForm", textHtml:"Отправить Заказ"},button);
    /*Intermediate_block.addEventListener("click",function (){
        var check=["userVIN","userPhone","userName","DetailsName"],
            sendForm=true;

        for (var i=check.length;i--;){
            var checkBlock = document.querySelectorAll("input[name="+check[i]+"]");
            for (var j = checkBlock.length;j--;){
                if(checkBlock[j].name!=="DetailsName"){
                    if(!validate(checkBlock[j].parentNode.parentNode, checkBlock[j]))
                    {sendForm = false;}
                }else
                {
                    if(!validate(checkBlock[j].parentNode.parentNode.parentNode, checkBlock[j]))
                    {sendForm = false;}
                }
            }
        }
        var helpFormSearch_content = document.querySelectorAll(".error")[0];
        if(sendForm && (!helpFormSearch_content||helpFormSearch_content.parentNode.parentNode.className==="dopInfo_1"))
        {
            var forms = validate.SendForm();
            showHint(handlerPath,forms);
        }
    });*/
    Intermediate_block.addEventListener("click",prepareSend);

    function prepareSend(){
        var check=["userVIN","userPhone","userName","DetailsName"],
            sendForm=true,
            forms = validate.SendForm(),
            helpFormSearch_content,
            helpFormSearch_contentLength;

        for (var i=check.length;i--;){
            var checkBlock = document.querySelectorAll("input[name="+check[i]+"]");
            for (var j = checkBlock.length;j--;){
                if(checkBlock[j].name!=="DetailsName")
                {
                    if(!validate(checkBlock[j].parentNode.parentNode, checkBlock[j]))
                    {sendForm = false;}
                }else
                {
                    if(checkBlock[j].parentNode.parentNode.parentNode.classList[1] === "showInfoBlock" ){
                        if(forms[checkBlock[j].parentNode.parentNode.parentNode.id] !== undefined || document.getElementsByName("DetailsName").length===1){
                            if(!validate(checkBlock[j].parentNode.parentNode.parentNode, checkBlock[j]))
                            {sendForm = false;}
                        }

                    }
                }
            }
        }
        helpFormSearch_content = document.querySelectorAll(".error"),
            (helpFormSearch_content)? helpFormSearch_contentLength = helpFormSearch_content.length : helpFormSearch_contentLength = 0;
        if(helpFormSearch_contentLength>0){
            for(var v=helpFormSearch_contentLength;v--;){
                if(helpFormSearch_content[v].previousSibling.name === "userEmail" /*&&*/ ){
                    sendForm = false;
                }
            }
        }
        if(sendForm)
        {
            showHint(handlerPath,forms);
        }
    }

    addDetalesFilds();
    parentBlock.appendChild(fragment);//Вставка fragment в HTML
    if(typeBlock === "helpForm"){grecaptcha.render(doc.getElementsByClassName("g-recaptcha")[0], {
        'sitekey' : '6Ldg6iMUAAAAADMHCGRXMcyugjHo0svi4yCzupgn'
    });}

    function addNewElementInBlock(findBlockInFragment,newElement,nodeBlock,cloneNumber)
    {
        var inFragment;

        (nodeBlock !== undefined) ? nodeBlock.cloneNode(true) : "";
        (typeof cloneNumber !== "number")? cloneNumber = 1: "";
        if(typeof findBlockInFragment === "string"&& findBlockInFragment.length>0)
        {
            if (fragment.querySelectorAll(findBlockInFragment).length !== 0)
            {
                if (fragment.querySelectorAll(findBlockInFragment).length > 0)
                {
                    inFragment = fragment.querySelectorAll(findBlockInFragment);
                    return addBlock(inFragment[0], nodeBlock, newElement, cloneNumber);
                }
            }
            else
            {
                inFragment = fragment;
                return addBlock(inFragment, nodeBlock, newElement, cloneNumber);
            }
        }else if(typeof findBlockInFragment=== "object" ){
            return addBlock(findBlockInFragment, nodeBlock, newElement, cloneNumber);
        }
        return false;
    }

    function addBlock(parent,nodeBlock,newElement,cloneNumber)
    {
        var createBlock;
        for (var i = cloneNumber; i--;)
        {
            (nodeBlock !== undefined) ? createBlock = nodeBlock.cloneNode(true) : "";
            (newElement.class !== undefined) ? createBlock.className = newElement.class : "";
            (newElement.id !== undefined) ? createBlock.id = newElement.id : "";
            (newElement.style!== undefined) ? createBlock.style = newElement.style : "";
            (newElement.textHtml !== undefined) ? createBlock.innerHTML = newElement.textHtml : "";
            (newElement.placeholder !== undefined) ? createBlock.placeholder = newElement.placeholder : "";
            (newElement.type !== undefined) ? createBlock.type = newElement.type : "";
            (newElement.value !== undefined) ? createBlock.defaultValue= newElement.value : "";
            (newElement.name !== undefined) ? createBlock.name = newElement.name : "";
            (newElement.rows !== undefined) ? createBlock.rows = newElement.rows : "";
            (newElement.src !== undefined) ? createBlock.src = newElement.src : "";
            (newElement.alt !== undefined) ? createBlock.alt = newElement.alt : "";
            (newElement.title !== undefined) ? createBlock.title = newElement.title : "";
            (newElement.maxLength !== undefined) ? createBlock.maxLength = newElement.maxLength : "";
            if(nodeBlock.class ==="helpFormSearch_content_right"){createBlock.addEventListener( "click" , addDetalesFilds());}
            if(nodeBlock.class ==="reCaptcha_V2")
            {
                parent.prependChild(createBlock);
            }else{
                parent.appendChild(createBlock);
            }
        }
        return createBlock;
    }
    function reClass(useBlock,addClass){
        var getSelector = doc.getElementsByClassName("DetailsInfoBlock");
        for(var i = getSelector.length;i--;){
            if(addClass==="showInfoBlock" && getSelector[i]!==useBlock){
                getSelector[i].classList.remove("showInfoBlock");
                getSelector[i].classList.add("hideInfoBlock");
                var text = getSelector[i].getElementsByClassName('DetailsName')[0].value;
                getSelector[i].children[1].children[1].innerHTML = text;
            }else
            {
                getSelector[i].classList.remove("hideInfoBlock");
                getSelector[i].classList.add("showInfoBlock");
            }
        }
        useBlock.classList.add(addClass);
    }
    function dynamicId(){
        function addId(idName){
            return idName += "_"+addId.idNumber++;
        }
        addId.idNumber=1;
        addId.setId=function(id)
        {
            addId.idNumber = id;
        };
        return addId;
    }

    function CheckSwowBlock(){
        var blockForValid = document.querySelectorAll(".showInfoBlock"),
            forms = validate.SendForm();
        if(blockForValid.length!==0 && !(blockForValid[0].id in forms)){
            blockForValid[0].parentNode.removeChild(blockForValid[0]);
            return true;
        }
        if(blockForValid.length!==0 && blockForValid[0].querySelectorAll(".DetailsName"))
        {
            if(validate(blockForValid[0], blockForValid[0].querySelectorAll(".DetailsName")[0])===false)
            {
                return false;
            }
        }
        return true;
    }
    function addDetalesFilds()
    {
        if(CheckSwowBlock()===false){return false;}
        var parent,emptyBlock,
            newBlock,
            Intermediate_block,
            hideDetailsBlock,
            newFragment= document.createDocumentFragment(),
            startBlock=parentBlock.querySelectorAll(".helpFormSearch_content_right");

        if (startBlock.length!==0)
        {
            parent = startBlock[0]
        }else
        {
            parent = fragment.querySelector(".helpFormSearch_content_right");
        }
        var DetailsInfoBlock = "DetailsInfoBlock";
        newBlock = addNewElementInBlock(newFragment, {id:idPlus(DetailsInfoBlock),class: DetailsInfoBlock},div);
        emptyBlock = addNewElementInBlock(newBlock, {class:"detailsFilds"},div);

        hideDetailsBlock = addNewElementInBlock(newBlock, {class: "hideDetailsForm"}, div);
        // addNewElementInBlock(hideDetailsBlock, {class:"successAddDetail",src:"../first/img/galochka-min.png",alt:"Деталь добавлена",style:'margin-right: 10px;'}, img);
        addNewElementInBlock(hideDetailsBlock, {class:"successAddDetail",src:"image/Sales/Slider/galochka-min.png",alt:"Деталь добавлена",style:'margin-right: 10px;'}, img);
        addNewElementInBlock(hideDetailsBlock, {}, span);
//showBlock
        Intermediate_block = addNewElementInBlock(newBlock, {class: "showButton", textHtml: "Редактировать"}, div);
        Intermediate_block.addEventListener("click", function (e) { // showBlock
            if (CheckSwowBlock() === false) {
                return false;
            }
            reClass(e.currentTarget.parentNode/*.parentNode.parentNode.parentNode.parentNode*/, "showInfoBlock");

        });
//deleteBlock
        Intermediate_block = addNewElementInBlock(newBlock, {class: "deleteButton", textHtml: "Удалить"}, div);// Delete block
        Intermediate_block.addEventListener("click", function (e) {
            if (confirm("Удалить товар?")) {
                validate.deleteBlock(e.currentTarget.parentNode/*.parentNode*/);
            }
        });
//details
        Intermediate_block = addNewElementInBlock(emptyBlock,{class:"helpFormSearch_input-margin"},div);
        addNewElementInBlock(Intermediate_block,{class: "textRight",textHtml:"Наименование запчасти"},div);
        addNewElementInBlock(Intermediate_block, {class: "required",textHtml:"*",style:"top: 9px;left: 1px;"}, span);
        addNewElementInBlock(Intermediate_block, {name:"DetailsName",class: "DetailsName inputRight", placeholder: "Наименование запчасти",maxLength:"40"}, input);
//infoBlock
        Intermediate_block=addNewElementInBlock(newBlock, {class:"infoBlock"}, div);
        Intermediate_block=addNewElementInBlock(Intermediate_block,{class:"helpFormSearch_input-margin detailsDescription"},div);
        addNewElementInBlock(Intermediate_block,{class: "textRight",textHtml:"Дополнительная информация"},div);
        addNewElementInBlock(Intermediate_block, {name:"DetailsInfo",class: "DetailsInfo", placeholder: "Описание: бренд, цена и другая необходимая информация",rows:"4",maxLength:"200"}, textarea);

        var Intermediate_block3 = addNewElementInBlock(emptyBlock,{class:"dopInfoBlock"},div),
            Intermediate_block4 = addNewElementInBlock(Intermediate_block3,{class:"dopInfo_1"},div);

//quality
        Intermediate_block=addNewElementInBlock(Intermediate_block4,{class:"helpFormSearch_input-margin"},div);
        addNewElementInBlock(Intermediate_block,{class: "textRight",textHtml:"Качество запчасти"},div);
        addNewElementInBlock(Intermediate_block, {name:"DetailsQuality",class: "DetailsQuality"},selectForm);

        if(newBlock.querySelector(".DetailsQuality").length===0)
        {
            var selectBlock = emptyBlock.querySelector(".DetailsQuality");
            addNewElementInBlock(selectBlock, {class: "DetailsSelect helpFormSearch_input-margin",textHtml:"Не знаю"}, option);
            addNewElementInBlock(selectBlock, {class: "DetailsSelect helpFormSearch_input-margin",textHtml:"Оригинал"}, option);
            addNewElementInBlock(selectBlock, {class: "DetailsSelect helpFormSearch_input-margin",textHtml:"Хороший аналог"}, option);
            addNewElementInBlock(selectBlock, {class: "DetailsSelect helpFormSearch_input-margin",textHtml:"Аналог(не Китай)"}, option);
            addNewElementInBlock(selectBlock, {class: "DetailsSelect helpFormSearch_input-margin",textHtml:"Самая дешевая"}, option);

        }
//photo
        Intermediate_block = addNewElementInBlock(Intermediate_block4, {class:"helpFormSearch_input-margin blockPhoto"},div);
        Intermediate_block4 = addNewElementInBlock(Intermediate_block, {class:"textRight",textHtml:"Фото Запчасти"}, div);
        questionIcon = addNewElementInBlock(Intermediate_block4,{class:"VIN_img_question",src:"image/Sales/Slider/question_icon-min.png",alt:"question"}, img);
        // questionIcon = addNewElementInBlock(Intermediate_block4,{class:"VIN_img_question",src:"../first/img/question_icon-min.png",alt:"question"}, img);
        var text  = addNewElementInBlock(Intermediate_block4,{class:"photoQuestAnswer",textHtml:'Для лучшего понимания необходимой Вам детали, можете вложить фотографию БУ Вашей запчасти или же картинку запчасти, которая подходит к вашему автомобилю.'}, span);
        addHover(questionIcon,text);
        //img on local
        // addNewElementInBlock(Intermediate_block, {class:"imgPhoto",src:"../first/img/camera-icon-min.png",alt:"Добавить фото", title:"Фото запчасти"}, img);
        //img on server
        addNewElementInBlock(Intermediate_block, {class:"imgPhoto",src:"image/Sales/Slider/camera-icon-min.png",alt:"Добавить фото", title:"Добавить фото детали"}, img);
        addNewElementInBlock(Intermediate_block, {name:"DetailsPhoto",class: "DetailsPhoto ", type: "file",title:"Добавить фото"}, input);

        /*      Intermediate_block4 = addNewElementInBlock(Intermediate_block3,{class:"dopInfo_2"},div);
        //brend
                var Intermediate_block2=addNewElementInBlock(Intermediate_block4, {class: "helpFormSearch_input-margin"}, div);
                addNewElementInBlock(Intermediate_block2,{class: "textRight",textHtml:"Предпочитаемый производитель"},div);
                Intermediate_block=addNewElementInBlock(Intermediate_block2, {name:"DetailsBrend",class: "DetailsBrend inputRight",placeholder: "Предпочитаемый производитель",maxLength:"30"}, input);
                // Intermediate_block.setAttribute("disabled", "");
        //price
                Intermediate_block2=addNewElementInBlock(Intermediate_block4, {class: "helpFormSearch_input-margin"}, div);
                addNewElementInBlock(Intermediate_block2,{class: "textRight",textHtml:"Предпочитаемая цена"},div);
                Intermediate_block=addNewElementInBlock(Intermediate_block2, {name:"DetailsPrice",class: "DetailsPrice inputRight", placeholder: "Предпочитаемая цена"}, input);
                // Intermediate_block.setAttribute("disabled", "");
        */



        reClass(emptyBlock.parentNode,"showInfoBlock");
        return parent.appendChild(newFragment);
    }

    ////////////////////////////////////////////validation////////////////////////////////////////////////////////////////////////
    function validation(){
        var forms = {},
            regex = {
                userEmail:{
                    re:/^([\w\._]{1,20})@([\w\._]{1,8})\.([a-z]{2,6}\.?)$/,
                    obligatorily: false,
                    errorSize:"Не верный Email. Пример : Office@karpoff.com.ua"
                },
                userName : {
                    re:/^[\W\w_а-яієїА-ЯІЄЇ\s]{3,50}$/,
                    obligatorily: true,
                    min_size:3,
                    max_size:50,
                    error:"Пожалуйста введите ваше Имя",
                    error_min_size:"Имя должно содержать не менее 3 символов"
                },
                userVIN : {
                    re:/^[\w_]{17}$/,
                    obligatorily: true,
                    size:17,
                    errorLanguage:"VIN код должен содержать числа и латинские буквы",
                    errorLanguagePlus:"  (числа и латинские буквы)",
                    error:"Введите VIN код вашей машины",
                    errorSize:"VIN код должен содержать 17 символов"
                },
                userPhone:{
                    re:/^\+([3][8])\(([0-9]{3})\)([0-9]{3})\-([0-9]{2})\-([0-9]{2})$/,
                    obligatorily: true,
                    error:"Пожалуйста введите вашь номер телефона",
                    errorSize:"Номер телефона должен содержать 12 чисел"

                },
                DetailsName:{
                    re:/^[\W\w_а-яієїА-ЯІЄЇ\s]{0,30}$/,
                    obligatorily: true,
                    max_size:30,
                    error:"Пожалуйста введите название детали"
                },
                DetailsInfo:{
                    re:/^[\W\w_а-яієїА-ЯІЄЇ\s]{0,200}$/,
                    obligatorily: false
                },
                DetailsBrend:{
                    re:/^[\w_а-яієїёА-ЯІЄЇЁ\s]{0,30}$/,
                    obligatorily: false
                },
                DetailsQuality:{
                    re:/^[\w_а-яієїА-ЯІЄЇ\s]{0,30}$/,
                    obligatorily: false
                },
                DetailsPhoto:{
                    maxFileSize:5*1048576,//5Мб
                    re:/[\w_\s]$/,
                    obligatorily: false,
                    maxFileSizeError:"Размер фото не должен превышать 5 Мб",
                    fileTypeError:"Формат фала: jpeg, jpg, png."
                },
                DetailsPrice:{
                    re:/^[\W\w_а-яієїА-ЯІЄЇ\s]{0,30}$/,
                    /*re:/[0-9]$/,*/
                    errorSize:"Цена должна быть указана в грн.",
                    obligatorily: false
                }
            },
            errorBlock;

        function errorFunc(errorFild,textObj){
            var errorFragment = document.createDocumentFragment();

            errorBlock = addNewElementInBlock(errorFragment, {class: "error errorFild1"}, div);
            addNewElementInBlock(errorBlock, {class: "errorFild2"}, div);
            //Проверка наличия текущей ошибки
            if(errorFild.parentNode.getElementsByClassName("error").length === 1 )
            {
                //Удаляем текущую ошибку
                errorFild.parentNode.removeChild(errorFild.parentNode.querySelectorAll(".error")[0]);
            }
            //Проверка телефона
            if(errorFild.name==="userPhone")
            {
                if(errorFild.value.replace(/\D/g, "").length===2)
                {
                    addNewElementInBlock(errorBlock, {class: "errorSize", textHtml:textObj.error}, div);
                }
                else if(errorFild.value.replace(/\D/g, "").length < 13)
                {
                    addNewElementInBlock(errorBlock, {class: "errorSize", textHtml:textObj.errorSize}, div);
                }
            }
            //Проверка розмера заполнения поля
            if(errorFild.name!=="DetailsPhoto") {
                if (errorFild.value.length === 0 && textObj.obligatorily === true) {
                    addNewElementInBlock(errorBlock, {class: "errorSize", textHtml: textObj.error}, div);
                }
                else if (textObj.min_size !== undefined && errorFild.value.length < textObj.min_size) {
                    addNewElementInBlock(errorBlock, {class: "errorSize", textHtml: textObj.error_min_size}, div);
                }
                else if (textObj.size !== undefined && errorFild.value.length < textObj.size + 1) {
                    addNewElementInBlock(errorBlock, {class: "errorSize", textHtml: textObj.errorSize}, div);
                }
                else if (!textObj.re.test(errorFild.value) && errorFild.name !== "userPhone") {
                    addNewElementInBlock(errorBlock, {class: "errorSize", textHtml: textObj.errorSize}, div);
                }
            }
            // Проверка загруэаемого файла
            if(errorFild.name==="DetailsPhoto")
            {
                if(errorFild.files.length===0){return false;}
                var fileSize = errorFild.files[0].size,
                    fileType = errorFild.files[0].type;

                if(fileSize>textObj.maxFileSize && (fileType==="image/jpeg" || fileType === "image/png" || fileType === "image/jpg"))
                {

                }else {
                    if (fileSize > textObj.maxFileSize) {
                        addNewElementInBlock(errorBlock, {class: "errorSize", textHtml:textObj.maxFileSizeError}, div);
                    }
                    if (!(fileType === "image/jpeg" || fileType === "image/png" || fileType === "image/jpg")) {
                        addNewElementInBlock(errorBlock, {class: "errorSize", textHtml:textObj.fileTypeError}, div);
                    }
                }
            }
            //Возврящаяет true/false - есть/нет ошибки
            if(errorFragment.children[0].children.length>1)
            {
                addErrorFild(errorFild,errorFragment);
                //errorFild.parentNode.appendChild(errorFragment);
                return true;
            }
            return false;
        }
        errorFunc.remove = function(valid){
            if(valid.parentNode.getElementsByClassName("error").length >0 ) {
                var error = valid.parentNode.getElementsByClassName("error");
                valid.parentNode.querySelectorAll(".error")[0].parentNode.removeChild(valid.parentNode.querySelectorAll(".error")[0]);
            }
        };
        function addErrorFild(errorFild,errorFragment)
        {
            errorFragment.children[0].style.top=errorFild.offsetHeight+errorFild.offsetTop+7+"px";
            if(errorFild.name !== "DetailsPhoto")
            {
                errorFragment.children[0].style.left=20+"%";
            }else
            {
                errorFragment.children[0].children[0].style.left="calc((100% - 12.0px)/2)";
            }

            errorFild.parentNode.appendChild(errorFragment);

        }
        function validateFunc(parentForm,valid)
        {// Функция валидации, сделана замыканием, фомирует форму для отправки на сервер
            var parent = {},key1,key2,key3,key4,
                p;
            for (key1 in regex) {
                if (regex.hasOwnProperty(key1))
                {
                    if (key1 === valid.name)
                    {
                        for (key2 in regex[key1])
                        {
                            if (valid.value.length === 0 && regex[key1].obligatorily === true || !regex[key1].re.test(valid.value))
                            {
                                if (valid.name === "userEmail" && valid.value.length === 0)
                                {
                                    errorFunc.remove(valid);
                                    p = forms[parentForm.parentNode.id];
                                    if(p===undefined){return false;}
                                    valid.value="";
                                    if(key1 in p)
                                    {
                                        delete p[key1];
                                    }
                                    return false;
                                }
                                var numb=0;
                                for(var key in forms[parentForm.parentNode.id]){
                                    numb++;
                                }
                                if((parentForm.id in forms)&& numb ===0){
                                    delete forms[parentForm.id];
                                }
                                /*return*/ !errorFunc(valid, regex[key1]);
                            }
                            else if (regex[key1].re.test(valid.value) && key1 !== "DetailsPhoto")
                            {
                                //Проверка наличия проверяемого поля в forms,если поля нет или оно изменено, создает новое ключ->значение в forms
                                for (key3 in forms)
                                {
                                    if (forms.hasOwnProperty(key3))
                                    {
                                        if (key3 === parentForm.id)
                                        {
                                            for (key4 in forms[key3])
                                            {
                                                if (forms[key3].hasOwnProperty(key4))
                                                {
                                                    if (key4 === key1 && forms[key3][key4] === valid.value)
                                                    {
                                                        return true;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                                if(forms[parentForm.id] !== undefined){
                                    p = forms[parentForm.id];
                                }
                                if(valid.value.length === 0)
                                {
                                    if(p === undefined){
                                        return false;
                                    }
                                    if(p[key1]!== undefined){
                                        delete p[key1];
                                    }
                                    return false;
                                }
                                parent[key1] = valid.value;
                                errorFunc.remove(valid);
                                if (key1 === "userPhone") {
                                    parent[key1] = valid.value.replace(/\D/g, "").slice(2);
                                }
                                if (forms[parentForm.id] === undefined && parent[key1].length !== 0 )
                                {
                                    forms[parentForm.id] = parent;
                                    return true;
                                } else {
                                    p = forms[parentForm.id];
                                    p[key1] = parent[key1];
                                    return true;
                                }
                            } else if (key1 === "DetailsPhoto")
                            {
                                var parentPhoto = parentForm.parentNode.parentNode.parentNode.parentNode;
                                parent[key1] = valid.files[0];
                                if (!errorFunc(valid, regex[key1])) {
                                    if (forms[parentPhoto.id] === undefined) {
                                        forms[parentPhoto.id] = parent;
                                        return true;
                                    } else {
                                        p = forms[parentPhoto.id];
                                        p[key1] = valid.files[0];
                                        return true;
                                    }
                                } else {
                                    p = forms[parentPhoto.id];
                                    valid.value="";
                                    if( p!== undefined && key1 in p)
                                    {
                                        delete p[key1];
                                    }
                                    return false;
                                }
                            }
                        }
                    }
                }
            }
        }

        validateFunc.SendForm= function()
        {
            return forms;
        };
        validateFunc.setForm= function(v)
        {
            forms = v;
        };
        validateFunc.deleteBlock = function(deleteBlock)
        {
            var key,
                parent = deleteBlock.parentNode;

            for(key in forms)
            {
                if(deleteBlock.id === key ) {
                    if (forms.hasOwnProperty(key)) {
                        parent.removeChild(deleteBlock);
                        return delete forms[key];
                    }
                }
            }
        };
        return validateFunc;
    }

    function regexReplase(input,rep)
    {
        var value = input.value;
        if (rep.test(value)) {
            value = value.replace(rep, "");
            input.value = value;
        }
    }

    regexReplase.tel = function(input)
    {
        function setCursorPosition(pos, elem) {
            elem.focus();
            if (elem.setSelectionRange)
            {
                elem.setSelectionRange(pos, pos);
            }
            else if (elem.createTextRange) {
                var range = elem.createTextRange();

                range.collapse(true);
                range.moveEnd("character", pos);
                range.moveStart("character", pos);
                range.select();
            }
        }

        function mask()
        {
            var matrix = this.defaultValue,
                i = 0,
                def = matrix.replace(/\D/g, ""),
                val = this.value.replace(/\D/g, "");

            def.length >= val.length && (val = def);
            matrix = matrix.replace(/[_\d]/g, function(a) {
                return val.charAt(i++) || "_";
            });
            this.value = matrix;
            if((matrix.slice(-1))!=="_"){return false;}
            i = matrix.lastIndexOf(val.substr(-1));
            i < matrix.length && matrix != this.defaultValue ? i++ : i = matrix.indexOf("_");
            setCursorPosition(i, this)
        }

        Intermediate_block1.addEventListener("input", mask, false);
    };
    regexReplase.tel();
    function getInputObject(thisBlock)
    {
        function targetManipul(thisBlock)
        {
            if(thisBlock!==undefined&&(thisBlock.target.tagName==="INPUT"||thisBlock.target.tagName==="TEXTAREA"||thisBlock.target.tagName==="SELECT"))
            {
                if(thisBlock.target.name==="userVIN")
                {
                    thisBlock.target.oninput = function()
                    {
                        regexReplase(thisBlock.target, /[а-яёіїА-ЯЁІЇ]/g);
                    }
                }
                if(thisBlock.target.name==="DetailsPhoto")
                {
                    // thisBlock.target.onchange = function()
                    thisBlock.target.onblur = function()
                    {
                        return validate(thisBlock.target.parentNode, thisBlock.target);
                    }
                }

                if(thisBlock.target.tagName!=="SELECT"&&thisBlock.target.name!=="DetailsPhoto")
                {//Проверка что выбраный бдлок не является SELECT, выполняется наложение onblur на поля ввода
                    // return thisBlock.target.onchange = function () {
                    return thisBlock.target.onblur = function () {
                        var parentRight = document.getElementsByClassName("DetailsInfoBlock"),
                            parentLeft = document.getElementsByClassName("helpFormSearch_content_left");

                        onBlurInput(parentRight);
                        onBlurInput(parentLeft);
                        onBlurInput(parentLeft);

                        function onBlurInput(parent)
                        {
                            for (var i = parent.length; i--;)
                            {
                                if (parent[i].contains(thisBlock.target))
                                {
                                    validate(parent[i], thisBlock.target);
                                }
                            }
                        }
                    }
                }/*else
             {
             return thisBlock.target.onchange = function(){//Для SELECT наложение onchange слушатель
             if(thisBlock.target.name==="DetailsQuality") {
             var parentRight = document.getElementsByClassName("DetailsInfoBlock"), i;
             for (i = parentRight.length; i--;) {
             if (parentRight[i].contains(thisBlock.target)) {
             validate(parentRight[i], thisBlock.target);
             var DetailsBrend, DetailsPrice;
             DetailsBrend = parentRight[i].querySelectorAll(".DetailsBrend")[0];
             DetailsPrice = parentRight[i].querySelectorAll(".DetailsPrice")[0];

             if (thisBlock.target.value !== "Не знаю" || thisBlock.target.value === "") {
             DetailsBrend.removeAttribute("disabled");
             DetailsPrice.removeAttribute("disabled");
             } else {
             DetailsBrend.value = "";
             DetailsPrice.value = "";
             DetailsBrend.setAttribute("disabled", "");
             DetailsPrice.setAttribute("disabled", "");

             }
             }
             }
             }
             }
             }*/
            }
        }

        targetManipul.getTagName = function(){
            return thisBlock.currentTarget.tagName;
        };
        return targetManipul;
    }
////////////////////////////////////////////end validation////////////////////////////////////////////////////////////////////////

//////////////////////////////////Start AJAX///////////////////////////////////////////////////////
    function showHint(handlerPath,request)
    {
        var formDataSend = new FormData(),
            i=1,key,key1;

//captcha//

        var captcha = grecaptcha.getResponse(),
            recaptchaError = doc.getElementById('recaptchaError');
        if (!captcha.length) {
            // Выводим сообщение об ошибке
            recaptchaError.textHtml='* Вы не прошли проверку "Я не робот"';
        } else {
            // получаем элемент, содержащий капчу
            recaptchaError.textHtml='';
        }
        if(captcha===""){
            reCaptchaBorderColor(true);
            return false;
        }
        reCaptchaBorderColor(false);
        // console.log(captcha);
        formDataSend.append("captcha",captcha);

        for(key in request)
        {
            if (typeof (request) === "object")
            {
                if (request.hasOwnProperty(key))
                {
                    var request1 = request[key];
                    for (key1 in request1)
                    {
                        if (request1.hasOwnProperty(key1))
                        {
                            if(key1==="userVIN" || key1==="userPhone" || key1==="userName" || key1==="userEmail")
                            {
                                formDataSend.append(key1, request1[key1]);
                            }else
                            {
                                formDataSend.append(key1 + "_" + i, request1[key1]);
                            }
                        }
                    }
                    if(!(key1==="userVIN" || key1==="userPhone" || key1==="userName" || key1==="userEmail")){i++}
                }
            }
        }
        var xmlhttp;
        if (global.XMLHttpRequest)
        {
            xmlhttp = new XMLHttpRequest();
        }     // normal browser
        else if (global.ActiveXObject)
        {                            // IE
            try {
                xmlhttp = new ActiveXObject('Msxml2.XMLHTTP');          // IE разных версий
            } catch (e){}                                           // может создавать
            try {                                                   // объект по разному
                xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
            } catch (e){}
        }
        xmlhttp.open("POST", handlerPath,true);
        ///////SEND////////
        xmlhttp.send(formDataSend);

        xmlhttp.onload = function() {
            if (xmlhttp.status >= 200 && xmlhttp.status < 400) {
                var getJson;
                if(typeof (this.responseText)==="string")
                {

                    console.log(this.responseText);
                }else
                {
                    getJson=this.responseText;
                    document.getElementById("txtHint").innerHTML =  getJson;
                }
                if(xmlhttp.status === 200 ){
                    var popUpF = popUpFunc();
                    popUpF.create('send');
                    popUpF.show();
                    clearHelpForm();
                    setTimeout(function(){
                        popUpF.hide();
                    }, 2000);
                }
            }
        };

        //
        xmlhttp.onerror = function() {
            // There was a connection error of some sort
        };
    }
// //////////////////////////////////////end AJAX//////////////////////////////////////////////////////////////

/////////////////reCaptcha///////////////////

    function reCaptchaBorderColor(comand)
    {
        var reCaptcha_V2 = doc.getElementsByClassName("reCaptcha_V2")[0],
            iframe = reCaptcha_V2.getElementsByTagName("iframe")[0];
        if(comand)
        {
            iframe.classList.add("redBorder");
        }else{
            iframe.classList.remove("redBorder");
        }
    }
    var onloadCallback = function(comand)
    {
        var reCaptcha_V2 = doc.getElementsByClassName("reCaptcha_V2")[0],
            iframe = reCaptcha_V2.getElementsByTagName("iframe")[0]||null;
        if(comand.length===0)
        {
            iframe.classList.add("redBorder");
        }else{
            iframe.classList.remove("redBorder");
        }
    };
    global.onloadCallback=onloadCallback;
//////////////////end reCaptcha//////////////////
    function clearHelpForm(){
        var partPlan = doc.getElementById("partPlan"),
            detailsBlock = doc.getElementsByClassName("DetailsInfoBlock");

        for(var i = detailsBlock.length-1;i>=0;i--){
            validate.deleteBlock(detailsBlock[i]);
        }
        idPlus.setId(1);
        addDetalesFilds();
    }

    function createPopUp(check){
        var body = doc.getElementsByTagName("body"),
            popUp;

        if(check === 'send') {
            popUp = addNewElementInBlock(body[0], {
                class: "popUp",
                textHtml: '<div class=\'popUpTitle\'><span>Ваш Заказ успешно отправлен!</span></div>'
            }, div);
        }else if(check === 'helpForm'){
            popUp = addNewElementInBlock(body[0], {class: "popUp"}, div);
            addNewElementInBlock(popUp, {class: "partPlanBlock",style:'background:white;'}, div);
        }
        return popUp;
    }

    function popUpFunc(){
        var popUp = doc.getElementsByClassName('popUp')[0];

        if(popUp === undefined){
            popUpReturn.create;
        }
        popUpReturn.create = function(check){
            popUp = createPopUp(check);
            return popUp;
        };

        function popUpReturn(){
            return popUp;
        }

        popUpReturn.show = function(){
            popUp.style.display = 'flex';
        };

        popUpReturn.hide = function(){
            popUp.style.display = 'none';
        };

        return popUpReturn;
    }
    // function setCookie (name, value, m, path, domain, secure) {
    //     var d = new Date();
    //     d.setTime(d.getTime() + (m*30*24*60*60*1000));
    //     var expires = "expires="+ d.toUTCString();
    //     document.cookie = name + "=" + encodeURIComponent(value) +
    //         ((expires) ? "; expires=" + expires : "") +
    //         ((path) ? "; path=" + path : "") +
    //         ((domain) ? "; domain=" + domain : "") +
    //         ((secure) ? "; secure" : "");
    // }
    //
    // function getCookie(name) {
    //     var cookie = " " + document.cookie,
    //         search = " " + name + "=",
    //         setStr = null,
    //         offset = 0,
    //         end = 0;
    //     if (cookie.length > 0) {
    //         offset = cookie.indexOf(search);
    //         if (offset != -1) {
    //             offset += search.length;
    //             end = cookie.indexOf(";", offset);
    //             if (end == -1) {
    //                 end = cookie.length;
    //             }
    //             setStr = decodeURIComponent(cookie.substring(offset, end));
    //         }
    //     }
    //     return (setStr);
    // }
}




let tel_numbers = document.getElementsByClassName('tel_number');
let phonelength =tel_numbers.length;
for (let i=phonelength;i--;){
    tel_numbers[i].addEventListener('click',function(e){
        goog_report_conversion(e.currentTarget.href);
        e.preventDefault();
    });
}


goog_snippet_vars = function() {
    var w = window;
    w.google_conversion_id = 835770856;
    w.google_conversion_label = "t4uYCPPMwnoQ6LPDjgM";
    w.google_conversion_value = 40.00;
    w.google_conversion_currency = "UAH";
    w.google_remarketing_only = false;
}
// DO NOT CHANGE THE CODE BELOW.
goog_report_conversion = function(url) {
        goog_snippet_vars();
        window.google_conversion_format = "3";
        var opt = new Object();
        opt.onload_callback = function() {
            if (typeof(url) != 'undefined') {
                window.location = url;
            }
        }
        var conv_handler = window['google_trackConversion'];
        if (typeof(conv_handler) == 'function') {
            conv_handler(opt);
        }
    }







