// TECHNIQ ====== $(document).ready(function () { if ($('.main-header .FH').length){ // BASE MENU $('ul.base-menu').show(); }; // LEVEL DEPTH FOR MOBILE if($(window).width() < 1090) { var fullMenu = ''; $('ul.base-menu li.ifDrop').each(function(){ fullMenu = fullMenu + '
  • '+$(this).html()+'
  • '; }); $('ul.base-menu li.all-product-button').remove(); $('.nav-menu.base-menu').prepend(fullMenu); } // FIXED HEADER function fixNav(){ if (!$('.cart-menu').length && !$('.-g-template-black-friday').length){ var nav = $('.main-header'); var pos = nav.height(); var posDelay = nav.height()*2; var prevScroll = 0; nav.addClass('fix-nav'); $(window).scroll(function () { var fix = ($(this).scrollTop() > posDelay) ? true : false; if(fix){ nav.addClass('fade-menu', fix); setTimeout(function() { nav.addClass('animate-menu'); }, 250); $('body').css('margin-top', pos); if($(this).scrollTop() > prevScroll){ nav.removeClass('active-menu'); }else{ nav.addClass('active-menu'); } }else{ $('body').css('margin-top', 0); nav.removeClass('fade-menu active-menu animate-menu', fix); } prevScroll = $(this).scrollTop(); }); } } $.Gomag.bind('Widget/Add/After', function(){ fixNav(); // BF SIDEBAR + MENU STICKY if($('.-g-template-black-friday').length){ $('.main-header').css({'top' : '-' + ($('.discount-tape').height() + $('.top-head-bg').height()) + 'px'}); } if($( window ).width() > 991 && $('.-g-template-black-friday').length){ $('.landing-h .side-menu.fixed').css({'top' : $('#navigation').outerHeight() + 20 + 'px'}); } }) // ITC MENU ========== function buildMenu(){ $('.main-header .__ignoreSubmenu').each(function() { var $this = $(this); if ($this.find('li').length > 20){ $this.addClass('col3'); }else if ($this.find('li').length >= 11){ $this.addClass('col2'); }else if ($this.find('li').length < 10){ $this.addClass('col1'); }else{} }); }; buildMenu(); $('.main-header .menu-drop').hover(function() { $(this).find('.menu-dd').addClass('visible'); if ( $('.slide-item-menu').length ) { $('.slide-item-menu').owlCarousel({items:1,navigation:!0,pagination:!1}); var owl = $('.slide-item-menu'); // get owl element var owlInstance = owl.data('owlCarousel'); // get owl instance from element if(owlInstance != null) // if instance is existing owlInstance.reinit(); $.Gomag.eqProductRow(); }; }, function(){ $(this).find('.menu-dd').removeClass('visible'); }); $('.main-header ul.nav-menu li.ifDrop').has('ul.drop-list').addClass('drop-parent'); $('.main-header .drop-parent').hover(function() { $(this).find('.drop-list').addClass('visible'); $(this).find('.drop-list').show(); var itemNumber = $(this).find('.col').length, itemWidth = $(this).find('.col').outerWidth(), elemCount = $(this).find('.drop-list li a').length, imgCount = $(this).find('.drop-list .image').length; if(elemCount < 10 && imgCount == 0){ $('.menu-dd').css({"padding-right" : "0px", "width" : /*itemWidth + 258 + */"500px"}); } else{ $('.menu-dd').css({"padding-right" : "0px", "width" : itemNumber * itemWidth + 258 + "px"}); } },function() { $(this).find('.drop-list').removeClass('visible'); $(this).find('.drop-list').hide(); $('.menu-dd').css({"width" : 255 + "px"}); }) }); /** * Scrie aici codul tau Javascript... */ jQuery( document ).ready(function() { /* START modificare la breadcrumbs-uri */ jQuery( "a" ).each(function() { var that = jQuery( this ); if( (that.attr('href') == window.location.origin || that.attr('href') == window.location.origin + '/') && that.text().indexOf('Home') != -1) { that.text('Scule Az / '); } if((that.attr('href') == window.location.origin + '/blog') && (that.text().indexOf('Blog') != -1) && that.parent().parent().parent().hasClass( "breadcrumbs-box" )) { that.parent().prepend('
  • Scule Az /
  • '); } }); /* END modificare la breadcrumbs-uri */ /* pentru ca nu merge sa modific din editare pagina categorii */ /* am incercat mi-a salvat datele insa s-a afisat ca si cum nu as fi introdus nimic la editare in campurile respective */ var h2Element = ''; var h3Element = ''; if(jQuery(location).attr('pathname') == '/accesorii-auto-intretinere') { document.title = "Accesorii Auto | Scule de la A la Z | SculeAZ"; jQuery('meta[name=description]').remove(); jQuery('head').append( '' ) jQuery('h1.catTitle').html('Accesorii Auto'); jQuery('h1.catTitle').parent().append('

    Accesorii auto - descopera gama variata de peste 900 de produse

    '); jQuery('h3:eq(1)').html('Accesorii auto interior si exterior - caracteristici variate'); jQuery('div.filter-holder').find('p.title').eq(1).html('Accesorii Auto'); } if(jQuery(location).attr('pathname') == '/materiale-electrice') { jQuery('meta[name=description]').remove(); jQuery('head').append( '' ); jQuery('h1.catTitle').html('Materiale Electrice si Electronice'); jQuery('h1.catTitle').parent().append('

    Materiale electrice si electronice - descopera gama variata de peste 800 de produse

    '); jQuery('div.filter-holder').find('p.title').eq(1).html('Materiale Electrice si Electronice'); } if(jQuery(location).attr('pathname') == '/fierastraie-cu-lant') { jQuery('h1.catTitle').html('Motofierastraie'); document.title = "Motofierastraie (drujbe) electrice sau pe benzina - Sculeaz.ro"; jQuery("meta[name=description]").attr('content', 'Motofierastraie ➽ Intra acum pe sculeaz.ro si consulta oferta de motofierastraie electrice ✅Transport Gratuit > 299RON⭐Calitate Garantata ☑️Comanda acum'); h2Element = 'Motofierastraie electrice - Vezi gama de produse'; h3Element = 'Motofierastraie cu acumulatori - Oferta variata'; jQuery('.result-section').append('

    ' + h2Element + '

    ' + h3Element + '

    '); } if(jQuery(location).attr('pathname') == '/masini-de-tuns-iarba-trimmere-electrice-motocoase') { jQuery('h1.catTitle').html('Masini de tuns iarba, motocoase si trimmere electrice'); document.title = "Masini de tuns iarba, motocoase si trimmere electrice - Sculeaz.ro"; jQuery("meta[name=description]").attr('content', 'Masini de tuns iarba, motocoase si trimmere electrice ➽ Intra acum pe sculeaz.ro si consulta oferta de masini de tuns iarba, motocoase si trimmere electrice ✅Transport Gratuit > 299RON⭐Calitate Garantata ☑️Comanda acum'); } if(jQuery(location).attr('pathname') == '/motosape-si-motocultoare') { jQuery('h1.catTitle').html('Motosape'); document.title = "Motosape si motosapatoare - Sculeaz.ro"; jQuery("meta[name=description]").attr('content', 'Motosape si motosapatoare ➽ Intra acum pe sculeaz.ro si consulta oferta de motosape ✅Transport Gratuit > 299RON⭐Calitate Garantata ☑️Comanda acum'); h2Element = 'Motosape si motocultoare profesionale - Vezi gama de produse'; h3Element = 'Motosape, motocultoare si motosapatoare la preturi accesibile'; jQuery('.result-section').append('

    ' + h2Element + '

    ' + h3Element + '

    '); } if(jQuery(location).attr('pathname') == '/aparate-de-spalat-cu-presiune') { jQuery('h1.catTitle').html('Aparate de spalat cu presiune'); document.title = "Aparate de spalat cu presiune - Sculeaz.ro"; jQuery("meta[name=description]").attr('content', 'Aparate de spalat cu presiune ➽ Intra acum pe sculeaz.ro si consulta oferta de aparate de spalat cu presiune ✅Transport Gratuit > 299RON⭐Calitate Garantata ☑️Comanda acum'); } if(jQuery(location).attr('pathname') == '/pompe-si-hidrofoare') { jQuery('h1.catTitle').html('Pompe submersibile si hidrofoare'); document.title = "Pompe submersibile si hidrofoare - Sculeaz.ro"; jQuery("meta[name=description]").attr('content', 'Pompe submersibile si hidrofoare ➽ Intra acum pe sculeaz.ro si consulta oferta de pompe submersibile si hidrofoare ✅Transport Gratuit > 299RON⭐Calitate Garantata ☑️Comanda acum'); h2Element = 'Pompe submersibile si pompe de apa - Vezi gama de produse'; h3Element = 'Hidrofoare, pompe submersibile si pompe de apa la preturi accesibile'; jQuery('.result-section').append('

    ' + h2Element + '

    ' + h3Element + '

    '); } if(jQuery(location).attr('pathname') == '/accesorii-motosape-motocultoare') { jQuery('h1.catTitle').html('Accesorii motocultoare si motosape'); document.title = "Accesorii motocultoare si motosape - Sculeaz.ro"; jQuery("meta[name=description]").attr('content', 'Accesorii motocultoare si motosape ➽ Intra acum pe sculeaz.ro si consulta oferta de accesorii motocultoare si motosape ✅Transport Gratuit > 299RON⭐Calitate Garantata ☑️Comanda acum'); h2Element = 'Accesorii motocultoare, motosape si drujbe - Vezi gama de produse'; h3Element = 'Accesorii motocultoare, motosape si drujbe la preturi accesibile'; jQuery('.result-section').append('

    ' + h2Element + '

    ' + h3Element + '

    '); } if(jQuery(location).attr('pathname') == '/atomizoare-si-suflante') { jQuery('h1.catTitle').html('Atomizoare si suflante'); document.title = "Atomizoare si suflante - Sculeaz.ro"; jQuery("meta[name=description]").attr('content', 'Atomizoare si suflante ➽ Intra acum pe sculeaz.ro si consulta oferta de atomizoare si suflante ✅Transport Gratuit > 299RON⭐Calitate Garantata ☑️Comanda acum'); h2Element = 'Suflante frunze si atomizoare profesionale - Vezi gama de produse'; h3Element = 'Atomizoare de stropit pomi si suflante pentru frunze la preturi accesibile'; jQuery('.result-section').append('

    ' + h2Element + '

    ' + h3Element + '

    '); } if(jQuery(location).attr('pathname') == '/mori-si-batoze-208') { jQuery('h1.catTitle').html('Mori si batoze cereale'); document.title = "Mori si batoze cereale - Sculeaz.ro"; jQuery("meta[name=description]").attr('content', 'Mori si batoze cereale ➽ Intra acum pe sculeaz.ro si consulta oferta de mori si batoze pentru cereale ✅Transport Gratuit > 299RON⭐Calitate Garantata ☑️Comanda acum'); h2Element = 'Mori cereale profesionale - Vezi gama de produse'; h3Element = 'Mori cereale electrice la preturi accesibile'; jQuery('.result-section').append('

    ' + h2Element + '

    ' + h3Element + '

    '); } if(jQuery(location).attr('pathname') == '/motoburghie-motofoarfeci-burghie-electrice') { jQuery('h1.catTitle').html('Foarfeci electrice si motoburghie'); document.title = "Foarfeci electrice si motoburghie - Sculeaz.ro"; jQuery("meta[name=description]").attr('content', 'Foarfeci electrice si motoburghie ➽ Intra acum pe sculeaz.ro si consulta oferta de foarfeci electrice si motoburghie ✅Transport Gratuit > 299RON⭐Calitate Garantata ☑️Comanda acum'); h2Element = 'Motoburghie si foarfeci electrice - Vezi gama de produse'; h3Element = 'Foarfeci electrice pentru gard viu la preturi accesibile'; jQuery('.result-section').append('

    ' + h2Element + '

    ' + h3Element + '

    '); } if(jQuery(location).attr('pathname') == '/produse-vinificatie') { jQuery('h1.catTitle').html('Zdrobitoare si teascuri struguri'); document.title = "Zdrobitoare si teascuri struguri (Produse vinificatie) - Sculeaz.ro"; jQuery("meta[name=description]").attr('content', 'Zdrobitoare si teascuri struguri ➽ Intra acum pe sculeaz.ro si consulta oferta de zdrobitoare si teascuri pentru struguri ✅Transport Gratuit > 299RON⭐Calitate Garantata ☑️Comanda acum'); h2Element = 'Produse vinificatie - Vezi gama de produse'; h3Element = 'Zdrobitoare struguri electrice la preturi accesibile'; jQuery('.result-section').append('

    ' + h2Element + '

    ' + h3Element + '

    '); } if(jQuery(location).attr('pathname') == '/accesorii-unelte-gradinarit') { jQuery('h1.catTitle').html('Accesorii gradinarit'); document.title = "Accesorii gradinarit - Sculeaz.ro"; jQuery("meta[name=description]").attr('content', 'Accesorii gradinarit ➽ Intra acum pe sculeaz.ro si consulta oferta de accesorii gradinarit ✅Transport Gratuit > 299RON⭐Calitate Garantata ☑️Comanda acum'); h2Element = 'Accesorii gradinarit - Vezi gama de produse'; h3Element = 'Accesorii pentru gradinarit la preturi accesibile'; jQuery('.result-section').append('

    ' + h2Element + '

    ' + h3Element + '

    '); } if(jQuery(location).attr('pathname') == '/coase-manuale-greble-si-furci') { jQuery('h1.catTitle').html('Greble frunze'); document.title = "Greble frunze - Sculeaz.ro"; jQuery("meta[name=description]").attr('content', 'Greble frunze ➽ Intra acum pe sculeaz.ro si consulta oferta de greble pentru frunze ✅Transport Gratuit > 299RON⭐Calitate Garantata ☑️Comanda acum'); h2Element = 'Greble frunze - Vezi gama de produse'; h3Element = 'Greble si furci la preturi accesibile'; jQuery('.result-section').append('

    ' + h2Element + '

    ' + h3Element + '

    '); } if(jQuery(location).attr('pathname') == '/foarfeci-gradinarit') { jQuery('h1.catTitle').html('Foarfeci gradinarit'); document.title = "Foarfeci gradinarit (crengi, pomi si flori) - Sculeaz.ro"; jQuery("meta[name=description]").attr('content', 'Foarfeci gradinarit ➽ Intra acum pe sculeaz.ro si consulta oferta de foarfeci de gradinarit pentru crengi, pomi sau flori ✅Transport Gratuit > 299RON⭐Calitate Garantata ☑️Comanda acum'); h2Element = 'Foarfeci crengi - Vezi gama de produse'; h3Element = 'Foarfeci pentru pomi la preturi accesibile'; jQuery('.result-section').append('

    ' + h2Element + '

    ' + h3Element + '

    '); } if(jQuery(location).attr('pathname') == '/lopeti-si-unelte-de-sapat') { jQuery('h1.catTitle').html('Unelte de sapat'); document.title = "Unelte de sapat - Sculeaz.ro"; jQuery("meta[name=description]").attr('content', 'Unelte de sapat ➽ Intra acum pe sculeaz.ro si consulta oferta de unelte de sapat ✅Transport Gratuit > 299RON⭐Calitate Garantata ☑️Comanda acum'); h2Element = 'Lopeti multifunctionale - Vezi gama de produse'; h3Element = 'Unelte de sapat la preturi accesibile'; jQuery('.result-section').append('

    ' + h2Element + '

    ' + h3Element + '

    '); } if(jQuery(location).attr('pathname') == '/utilaje-gradinarit') { jQuery('h1.catTitle').html('Utilaje gradinarit'); document.title = "Utilaje gradinarit: scarificatoare gazon si freze de zapada - Sculeaz.ro"; jQuery("meta[name=description]").attr('content', 'Utilaje gradinarit ➽ Intra acum pe sculeaz.ro si consulta oferta de scarificatoare gazon si freze de zapada ✅Transport Gratuit > 299RON⭐Calitate Garantata ☑️Comanda acum'); h2Element = 'Scarificatoare gazon si freze de zapada - Vezi gama de produse'; h3Element = 'Scarificatoare gazon si freze zapada la preturi accesibile'; jQuery('.result-section').append('

    ' + h2Element + '

    ' + h3Element + '

    '); } if(jQuery(location).attr('pathname') == '/topoare-si-fierastraie') { h2Element = 'Topoare profesionale - Vezi gama de produse '; h3Element = 'Fierastraie de mana la preturi accesibile'; jQuery('.result-section').append('

    ' + h2Element + '

    ' + h3Element + '

    '); } if(jQuery('.wordpress-articles-h').length > 0) { var articles_title = jQuery('.wordpress-articles-h').find('h1.title').html(); jQuery('.wordpress-articles-h').find('h1.title').replaceWith( "
    " + articles_title + "
    " ); jQuery('.wordpress-articles-h').find('h4.-g-post-slide-title').each(function() { jQuery(this).replaceWith("
    "+$(this).html()+"
    ") }); } if(jQuery('#toc_container').find('h2').length > 0 && jQuery('#toc_container').find('h2').text() == 'Cuprins') { jQuery('#toc_container').find('h2').replaceWith("
    "+jQuery('#toc_container').find('h2').html()+"
    ") } }); /* // SNOW EFFECT var $ = jQuery.noConflict(); var THREE=THREE||{};if(!self.Int32Array)self.Int32Array=Array,self.Float32Array=Array;THREE.Color=function(a){a!==void 0&&this.setHex(a);return this}; THREE.Color.prototype={constructor:THREE.Color,r:1,g:1,b:1,copy:function(a){this.r=a.r;this.g=a.g;this.b=a.b;return this},copyGammaToLinear:function(a){this.r=a.r*a.r;this.g=a.g*a.g;this.b=a.b*a.b;return this},copyLinearToGamma:function(a){this.r=Math.sqrt(a.r);this.g=Math.sqrt(a.g);this.b=Math.sqrt(a.b);return this},setRGB:function(a,b,c){this.r=a;this.g=b;this.b=c;return this},setHSV:function(a,b,c){var d,f,e;if(c===0)this.r=this.g=this.b=0;else switch(d=Math.floor(a*6),f=a*6-d,a=c*(1-b),e=c*(1- b*f),b=c*(1-b*(1-f)),d){case 1:this.r=e;this.g=c;this.b=a;break;case 2:this.r=a;this.g=c;this.b=b;break;case 3:this.r=a;this.g=e;this.b=c;break;case 4:this.r=b;this.g=a;this.b=c;break;case 5:this.r=c;this.g=a;this.b=e;break;case 6:case 0:this.r=c,this.g=b,this.b=a}return this},setHex:function(a){a=Math.floor(a);this.r=(a>>16&255)/255;this.g=(a>>8&255)/255;this.b=(a&255)/255;return this},getHex:function(){return~~(this.r*255)<<16^~~(this.g*255)<<8^~~(this.b*255)},getContextStyle:function(){return"rgb("+ Math.floor(this.r*255)+","+Math.floor(this.g*255)+","+Math.floor(this.b*255)+")"},clone:function(){return(new THREE.Color).setRGB(this.r,this.g,this.b)}};THREE.Vector2=function(a,b){this.x=a||0;this.y=b||0}; THREE.Vector2.prototype={constructor:THREE.Vector2,set:function(a,b){this.x=a;this.y=b;return this},copy:function(a){this.x=a.x;this.y=a.y;return this},clone:function(){return new THREE.Vector2(this.x,this.y)},add:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;return this},addSelf:function(a){this.x+=a.x;this.y+=a.y;return this},sub:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;return this},subSelf:function(a){this.x-=a.x;this.y-=a.y;return this},multiplyScalar:function(a){this.x*=a;this.y*=a;return this}, divideScalar:function(a){a?(this.x/=a,this.y/=a):this.set(0,0);return this},negate:function(){return this.multiplyScalar(-1)},dot:function(a){return this.x*a.x+this.y*a.y},lengthSq:function(){return this.x*this.x+this.y*this.y},length:function(){return Math.sqrt(this.lengthSq())},normalize:function(){return this.divideScalar(this.length())},distanceTo:function(a){return Math.sqrt(this.distanceToSquared(a))},distanceToSquared:function(a){var b=this.x-a.x,a=this.y-a.y;return b*b+a*a},setLength:function(a){return this.normalize().multiplyScalar(a)}, equals:function(a){return a.x===this.x&&a.y===this.y}};THREE.Vector3=function(a,b,c){this.x=a||0;this.y=b||0;this.z=c||0}; THREE.Vector3.prototype={constructor:THREE.Vector3,set:function(a,b,c){this.x=a;this.y=b;this.z=c;return this},setX:function(a){this.x=a;return this},setY:function(a){this.y=a;return this},setZ:function(a){this.z=a;return this},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;return this},clone:function(){return new THREE.Vector3(this.x,this.y,this.z)},add:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;this.z=a.z+b.z;return this},addSelf:function(a){this.x+=a.x;this.y+=a.y;this.z+=a.z;return this}, addScalar:function(a){this.x+=a;this.y+=a;this.z+=a;return this},sub:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;this.z=a.z-b.z;return this},subSelf:function(a){this.x-=a.x;this.y-=a.y;this.z-=a.z;return this},multiply:function(a,b){this.x=a.x*b.x;this.y=a.y*b.y;this.z=a.z*b.z;return this},multiplySelf:function(a){this.x*=a.x;this.y*=a.y;this.z*=a.z;return this},multiplyScalar:function(a){this.x*=a;this.y*=a;this.z*=a;return this},divideSelf:function(a){this.x/=a.x;this.y/=a.y;this.z/=a.z;return this}, divideScalar:function(a){a?(this.x/=a,this.y/=a,this.z/=a):this.z=this.y=this.x=0;return this},negate:function(){return this.multiplyScalar(-1)},dot:function(a){return this.x*a.x+this.y*a.y+this.z*a.z},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z},length:function(){return Math.sqrt(this.lengthSq())},lengthManhattan:function(){return this.x+this.y+this.z},normalize:function(){return this.divideScalar(this.length())},setLength:function(a){return this.normalize().multiplyScalar(a)}, cross:function(a,b){this.x=a.y*b.z-a.z*b.y;this.y=a.z*b.x-a.x*b.z;this.z=a.x*b.y-a.y*b.x;return this},crossSelf:function(a){var b=this.x,c=this.y,d=this.z;this.x=c*a.z-d*a.y;this.y=d*a.x-b*a.z;this.z=b*a.y-c*a.x;return this},distanceTo:function(a){return Math.sqrt(this.distanceToSquared(a))},distanceToSquared:function(a){return(new THREE.Vector3).sub(this,a).lengthSq()},setPositionFromMatrix:function(a){this.x=a.n14;this.y=a.n24;this.z=a.n34},setRotationFromMatrix:function(a){var b=Math.cos(this.y); this.y=Math.asin(a.n13);Math.abs(b)>1.0E-5?(this.x=Math.atan2(-a.n23/b,a.n33/b),this.z=Math.atan2(-a.n12/b,a.n11/b)):(this.x=0,this.z=Math.atan2(a.n21,a.n22))},isZero:function(){return this.lengthSq()<1.0E-4}};THREE.Vector4=function(a,b,c,d){this.x=a||0;this.y=b||0;this.z=c||0;this.w=d!==void 0?d:1}; THREE.Vector4.prototype={constructor:THREE.Vector4,set:function(a,b,c,d){this.x=a;this.y=b;this.z=c;this.w=d;return this},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;this.w=a.w!==void 0?a.w:1},clone:function(){return new THREE.Vector4(this.x,this.y,this.z,this.w)},add:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;this.z=a.z+b.z;this.w=a.w+b.w;return this},addSelf:function(a){this.x+=a.x;this.y+=a.y;this.z+=a.z;this.w+=a.w;return this},sub:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;this.z=a.z- b.z;this.w=a.w-b.w;return this},subSelf:function(a){this.x-=a.x;this.y-=a.y;this.z-=a.z;this.w-=a.w;return this},multiplyScalar:function(a){this.x*=a;this.y*=a;this.z*=a;this.w*=a;return this},divideScalar:function(a){a?(this.x/=a,this.y/=a,this.z/=a,this.w/=a):(this.z=this.y=this.x=0,this.w=1);return this},negate:function(){return this.multiplyScalar(-1)},dot:function(a){return this.x*a.x+this.y*a.y+this.z*a.z+this.w*a.w},lengthSq:function(){return this.dot(this)},length:function(){return Math.sqrt(this.lengthSq())}, normalize:function(){return this.divideScalar(this.length())},setLength:function(a){return this.normalize().multiplyScalar(a)},lerpSelf:function(a,b){this.x+=(a.x-this.x)*b;this.y+=(a.y-this.y)*b;this.z+=(a.z-this.z)*b;this.w+=(a.w-this.w)*b;return this}}; THREE.Ray=function(a,b){function c(a,b,c){i.sub(c,a);p=i.dot(b);if(p<=0)return null;k=n.add(a,o.copy(b).multiplyScalar(p));return s=c.distanceTo(k)}function d(a,b,c,d){i.sub(d,b);n.sub(c,b);o.sub(a,b);K=i.dot(i);C=i.dot(n);Q=i.dot(o);O=n.dot(n);w=n.dot(o);F=1/(K*O-C*C);z=(O*Q-C*w)*F;D=(K*w-C*Q)*F;return z>=0&&D>=0&&z+D<1}this.origin=a||new THREE.Vector3;this.direction=b||new THREE.Vector3;this.intersectScene=function(a){return this.intersectObjects(a.children)};this.intersectObjects=function(a){var b, c,d=[];b=0;for(c=a.length;bk.scale.x)return[];i={distance:n,point:k.position,face:null,object:k};o.push(i)}else if(k instanceof THREE.Mesh){n=c(this.origin,this.direction,k.matrixWorld.getPosition());if(n===null||n>k.geometry.boundingSphere.radius*Math.max(k.scale.x,Math.max(k.scale.y,k.scale.z)))return o;var p,G=k.geometry,H=G.vertices,I;k.matrixRotationWorld.extractRotation(k.matrixWorld);n=0;for(W=G.faces.length;n0:p<0)))if(p=l.dot(m.sub(f,a))/p,j.add(a,b.multiplyScalar(p)),i instanceof THREE.Face3)d(j, f,e,g)&&(i={distance:a.distanceTo(j),point:j.clone(),face:i,object:k},o.push(i));else if(i instanceof THREE.Face4&&(d(j,f,e,h)||d(j,e,g,h)))i={distance:a.distanceTo(j),point:j.clone(),face:i,object:k},o.push(i)}return o};var i=new THREE.Vector3,n=new THREE.Vector3,o=new THREE.Vector3,p,k,s,K,C,Q,O,w,F,z,D}; THREE.Rectangle=function(){function a(){e=d-b;g=f-c}var b,c,d,f,e,g,h=!0;this.getX=function(){return b};this.getY=function(){return c};this.getWidth=function(){return e};this.getHeight=function(){return g};this.getLeft=function(){return b};this.getTop=function(){return c};this.getRight=function(){return d};this.getBottom=function(){return f};this.set=function(e,g,j,i){h=!1;b=e;c=g;d=j;f=i;a()};this.addPoint=function(e,g){h?(h=!1,b=e,c=g,d=e,f=g):(b=be?d:e,f=f>g?f:g);a()};this.add3Points= function(e,g,j,i,n,o){h?(h=!1,b=ej?e>n?e:n:j>n?j:n,f=g>i?g>o?g:o:i>o?i:o):(b=ej?e>n?e>d?e:d:n>d?n:d:j>n?j>d?j:d:n>d?n:d,f=g>i?g>o?g>f?g:f:o>f?o:f:i>o?i>f?i:f:o>f?o:f);a()};this.addRectangle=function(e){h?(h=!1,b=e.getLeft(),c=e.getTop(),d=e.getRight(),f=e.getBottom()):(b=be.getRight()?d:e.getRight(),f=f> e.getBottom()?f:e.getBottom());a()};this.inflate=function(e){b-=e;c-=e;d+=e;f+=e;a()};this.minSelf=function(e){b=b>e.getLeft()?b:e.getLeft();c=c>e.getTop()?c:e.getTop();d=d=0&&Math.min(f,a.getBottom())-Math.max(c,a.getTop())>=0};this.empty=function(){h=!0;f=d=c=b=0;a()};this.isEmpty=function(){return h}}; THREE.Math={clamp:function(a,b,c){return ac?c:a},clampBottom:function(a,b){return a=0&&f>=0&&g>=0&&h>=0?!0:e<0&&f<0||g<0&&h<0?!1:(e<0?c=Math.max(c,e/(e-f)):f<0&&(d=Math.min(d,e/(e-f))),g<0?c=Math.max(c,g/(g-h)):h<0&&(d=Math.min(d,g/(g-h))),dg&&h.positionScreen.z0&&z.z<1))g=O[Q]=O[Q]||new THREE.RenderableParticle,Q++,C=g,C.x=z.x/z.w,C.y=z.y/z.w,C.z=z.z,C.rotation=J.rotation.z,C.scale.x=J.scale.x*Math.abs(C.x-(z.x+e.projectionMatrix.n11)/(z.w+e.projectionMatrix.n14)),C.scale.y=J.scale.y*Math.abs(C.y-(z.y+e.projectionMatrix.n22)/(z.w+e.projectionMatrix.n24)),C.material=J.material,w.elements.push(C); f&&w.elements.sort(c);return w}};THREE.Quaternion=function(a,b,c,d){this.set(a||0,b||0,c||0,d!==void 0?d:1)}; THREE.Quaternion.prototype={constructor:THREE.Quaternion,set:function(a,b,c,d){this.x=a;this.y=b;this.z=c;this.w=d;return this},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;this.w=a.w;return this},setFromEuler:function(a){var b=Math.PI/360,c=a.x*b,d=a.y*b,f=a.z*b,a=Math.cos(d),d=Math.sin(d),b=Math.cos(-f),f=Math.sin(-f),e=Math.cos(c),c=Math.sin(c),g=a*b,h=d*f;this.w=g*e-h*c;this.x=g*c+h*e;this.y=d*b*e+a*f*c;this.z=a*f*e-d*b*c;return this},setFromAxisAngle:function(a,b){var c=b/2,d=Math.sin(c); this.x=a.x*d;this.y=a.y*d;this.z=a.z*d;this.w=Math.cos(c);return this},setFromRotationMatrix:function(a){var b=Math.pow(a.determinant(),1/3);this.w=Math.sqrt(Math.max(0,b+a.n11+a.n22+a.n33))/2;this.x=Math.sqrt(Math.max(0,b+a.n11-a.n22-a.n33))/2;this.y=Math.sqrt(Math.max(0,b-a.n11+a.n22-a.n33))/2;this.z=Math.sqrt(Math.max(0,b-a.n11-a.n22+a.n33))/2;this.x=a.n32-a.n23<0?-Math.abs(this.x):Math.abs(this.x);this.y=a.n13-a.n31<0?-Math.abs(this.y):Math.abs(this.y);this.z=a.n21-a.n12<0?-Math.abs(this.z):Math.abs(this.z); this.normalize();return this},calculateW:function(){this.w=-Math.sqrt(Math.abs(1-this.x*this.x-this.y*this.y-this.z*this.z));return this},inverse:function(){this.x*=-1;this.y*=-1;this.z*=-1;return this},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},normalize:function(){var a=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);a===0?this.w=this.z=this.y=this.x=0:(a=1/a,this.x*=a,this.y*=a,this.z*=a,this.w*=a);return this},multiplySelf:function(a){var b= this.x,c=this.y,d=this.z,f=this.w,e=a.x,g=a.y,h=a.z,a=a.w;this.x=b*a+f*e+c*h-d*g;this.y=c*a+f*g+d*e-b*h;this.z=d*a+f*h+b*g-c*e;this.w=f*a-b*e-c*g-d*h;return this},multiply:function(a,b){this.x=a.x*b.w+a.y*b.z-a.z*b.y+a.w*b.x;this.y=-a.x*b.z+a.y*b.w+a.z*b.x+a.w*b.y;this.z=a.x*b.y-a.y*b.x+a.z*b.w+a.w*b.z;this.w=-a.x*b.x-a.y*b.y-a.z*b.z+a.w*b.w;return this},multiplyVector3:function(a,b){b||(b=a);var c=a.x,d=a.y,f=a.z,e=this.x,g=this.y,h=this.z,m=this.w,l=m*c+g*f-h*d,j=m*d+h*c-e*f,i=m*f+e*d-g*c,c=-e* c-g*d-h*f;b.x=l*m+c*-e+j*-h-i*-g;b.y=j*m+c*-g+i*-e-l*-h;b.z=i*m+c*-h+l*-g-j*-e;return b}}; THREE.Quaternion.slerp=function(a,b,c,d){var f=a.w*b.w+a.x*b.x+a.y*b.y+a.z*b.z;f<0?(c.w=-b.w,c.x=-b.x,c.y=-b.y,c.z=-b.z,f=-f):c.copy(b);if(Math.abs(f)>=1)return c.w=a.w,c.x=a.x,c.y=a.y,c.z=a.z,c;var e=Math.acos(f),f=Math.sqrt(1-f*f);if(Math.abs(f)<0.001)return c.w=0.5*(a.w+b.w),c.x=0.5*(a.x+b.x),c.y=0.5*(a.y+b.y),c.z=0.5*(a.z+b.z),c;b=Math.sin((1-d)*e)/f;d=Math.sin(d*e)/f;c.w=a.w*b+c.w*d;c.x=a.x*b+c.x*d;c.y=a.y*b+c.y*d;c.z=a.z*b+c.z*d;return c};THREE.Vertex=function(a){this.position=a||new THREE.Vector3}; THREE.Face3=function(a,b,c,d,f,e){this.a=a;this.b=b;this.c=c;this.normal=d instanceof THREE.Vector3?d:new THREE.Vector3;this.vertexNormals=d instanceof Array?d:[];this.color=f instanceof THREE.Color?f:new THREE.Color;this.vertexColors=f instanceof Array?f:[];this.vertexTangents=[];this.materialIndex=e;this.centroid=new THREE.Vector3}; THREE.Face4=function(a,b,c,d,f,e,g){this.a=a;this.b=b;this.c=c;this.d=d;this.normal=f instanceof THREE.Vector3?f:new THREE.Vector3;this.vertexNormals=f instanceof Array?f:[];this.color=e instanceof THREE.Color?e:new THREE.Color;this.vertexColors=e instanceof Array?e:[];this.vertexTangents=[];this.materialIndex=g;this.centroid=new THREE.Vector3};THREE.UV=function(a,b){this.u=a||0;this.v=b||0}; THREE.UV.prototype={constructor:THREE.UV,set:function(a,b){this.u=a;this.v=b;return this},copy:function(a){this.u=a.u;this.v=a.v;return this},clone:function(){return new THREE.UV(this.u,this.v)}}; THREE.Geometry=function(){this.id=THREE.GeometryCount++;this.vertices=[];this.colors=[];this.materials=[];this.faces=[];this.faceUvs=[[]];this.faceVertexUvs=[[]];this.morphTargets=[];this.morphColors=[];this.skinWeights=[];this.skinIndices=[];this.boundingSphere=this.boundingBox=null;this.dynamic=this.hasTangents=!1}; THREE.Geometry.prototype={constructor:THREE.Geometry,applyMatrix:function(a){var b=new THREE.Matrix4;b.extractRotation(a,new THREE.Vector3(1,1,1));for(var c=0,d=this.vertices.length;c0){this.boundingBox={x:[this.vertices[0].position.x,this.vertices[0].position.x],y:[this.vertices[0].position.y,this.vertices[0].position.y],z:[this.vertices[0].position.z,this.vertices[0].position.z]};for(var b=1,c=this.vertices.length;bthis.boundingBox.x[1])this.boundingBox.x[1]=a.position.x;if(a.position.ythis.boundingBox.y[1])this.boundingBox.y[1]=a.position.y;if(a.position.zthis.boundingBox.z[1])this.boundingBox.z[1]=a.position.z}}},computeBoundingSphere:function(){for(var a= 0,b=0,c=this.vertices.length;b0&&(c(THREE.NormalBlending),b(1),f("rgba("+Math.floor(s.r*255)+","+Math.floor(s.g*255)+","+Math.floor(s.b*255)+","+K+")"),k.fillRect(Math.floor(Z.getX()), Math.floor(Z.getY()),Math.floor(Z.getWidth()),Math.floor(Z.getHeight()))),Z.empty())};this.render=function(a,j){function i(a){var b,c,d,e;$.setRGB(0,0,0);ta.setRGB(0,0,0);ua.setRGB(0,0,0);b=0;for(c=a.length;b>1,n=m.height>> 1,g=e.scale.x*o,i=e.scale.y*p,h=g*q,j=i*n,X.set(a.x-h,a.y-j,a.x+h,a.y+j),ma.intersects(X)&&(k.save(),k.translate(a.x,a.y),k.rotate(-e.rotation),k.scale(g,-i),k.translate(-q,-n),k.drawImage(m,0,0),k.restore())}else g instanceof THREE.ParticleCanvasMaterial&&(h=e.scale.x*o,j=e.scale.y*p,X.set(a.x-h,a.y-j,a.x+h,a.y+j),ma.intersects(X)&&(d(g.color.getContextStyle()),f(g.color.getContextStyle()),k.save(),k.translate(a.x,a.y),k.rotate(-e.rotation),k.scale(h,j),g.program(k),k.restore()))}function w(a,e, f,g){b(g.opacity);c(g.blending);k.beginPath();k.moveTo(a.positionScreen.x,a.positionScreen.y);k.lineTo(e.positionScreen.x,e.positionScreen.y);k.closePath();if(g instanceof THREE.LineBasicMaterial){a=g.linewidth;if(F!=a)k.lineWidth=F=a;a=g.linecap;if(z!=a)k.lineCap=z=a;a=g.linejoin;if(D!=a)k.lineJoin=D=a;d(g.color.getContextStyle());k.stroke();X.inflate(g.linewidth*2)}}function C(a,d,f,g,h,k,i,q){e.info.render.vertices+=3;e.info.render.faces++;b(q.opacity);c(q.blending);G=a.positionScreen.x;H=a.positionScreen.y; I=d.positionScreen.x;Y=d.positionScreen.y;L=f.positionScreen.x;B=f.positionScreen.y;K(G,H,I,Y,L,B);if(q instanceof THREE.MeshBasicMaterial)if(q.map)q.map.mapping instanceof THREE.UVMapping&&(aa=i.uvs[0],Aa(G,H,I,Y,L,B,aa[g].u,aa[g].v,aa[h].u,aa[h].v,aa[k].u,aa[k].v,q.map));else if(q.envMap){if(q.envMap.mapping instanceof THREE.SphericalReflectionMapping)a=j.matrixWorldInverse,T.copy(i.vertexNormalsWorld[g]),Ba=(T.x*a.n11+T.y*a.n12+T.z*a.n13)*0.5+0.5,Ca=-(T.x*a.n21+T.y*a.n22+T.z*a.n23)*0.5+0.5,T.copy(i.vertexNormalsWorld[h]), Da=(T.x*a.n11+T.y*a.n12+T.z*a.n13)*0.5+0.5,Ea=-(T.x*a.n21+T.y*a.n22+T.z*a.n23)*0.5+0.5,T.copy(i.vertexNormalsWorld[k]),Fa=(T.x*a.n11+T.y*a.n12+T.z*a.n13)*0.5+0.5,Ga=-(T.x*a.n21+T.y*a.n22+T.z*a.n23)*0.5+0.5,Aa(G,H,I,Y,L,B,Ba,Ca,Da,Ea,Fa,Ga,q.envMap)}else q.wireframe?ja(q.color,q.wireframeLinewidth,q.wireframeLinecap,q.wireframeLinejoin):ia(q.color);else if(q instanceof THREE.MeshLambertMaterial)q.map&&!q.wireframe&&(q.map.mapping instanceof THREE.UVMapping&&(aa=i.uvs[0],Aa(G,H,I,Y,L,B,aa[g].u,aa[g].v, aa[h].u,aa[h].v,aa[k].u,aa[k].v,q.map)),c(THREE.SubtractiveBlending)),ya?!q.wireframe&&q.shading==THREE.SmoothShading&&i.vertexNormalsWorld.length==3?(A.r=x.r=y.r=$.r,A.g=x.g=y.g=$.g,A.b=x.b=y.b=$.b,n(m,i.v1.positionWorld,i.vertexNormalsWorld[0],A),n(m,i.v2.positionWorld,i.vertexNormalsWorld[1],x),n(m,i.v3.positionWorld,i.vertexNormalsWorld[2],y),A.r=Math.max(0,Math.min(q.color.r*A.r,1)),A.g=Math.max(0,Math.min(q.color.g*A.g,1)),A.b=Math.max(0,Math.min(q.color.b*A.b,1)),x.r=Math.max(0,Math.min(q.color.r* x.r,1)),x.g=Math.max(0,Math.min(q.color.g*x.g,1)),x.b=Math.max(0,Math.min(q.color.b*x.b,1)),y.r=Math.max(0,Math.min(q.color.r*y.r,1)),y.g=Math.max(0,Math.min(q.color.g*y.g,1)),y.b=Math.max(0,Math.min(q.color.b*y.b,1)),M.r=(x.r+y.r)*0.5,M.g=(x.g+y.g)*0.5,M.b=(x.b+y.b)*0.5,ea=wa(A,x,y,M),oa(G,H,I,Y,L,B,0,0,1,0,0,1,ea)):(t.r=$.r,t.g=$.g,t.b=$.b,n(m,i.centroidWorld,i.normalWorld,t),t.r=Math.max(0,Math.min(q.color.r*t.r,1)),t.g=Math.max(0,Math.min(q.color.g*t.g,1)),t.b=Math.max(0,Math.min(q.color.b*t.b, 1)),q.wireframe?ja(t,q.wireframeLinewidth,q.wireframeLinecap,q.wireframeLinejoin):ia(t)):q.wireframe?ja(q.color,q.wireframeLinewidth,q.wireframeLinecap,q.wireframeLinejoin):ia(q.color);else if(q instanceof THREE.MeshDepthMaterial)ga=j.near,ha=j.far,A.r=A.g=A.b=1-na(a.positionScreen.z,ga,ha),x.r=x.g=x.b=1-na(d.positionScreen.z,ga,ha),y.r=y.g=y.b=1-na(f.positionScreen.z,ga,ha),M.r=(x.r+y.r)*0.5,M.g=(x.g+y.g)*0.5,M.b=(x.b+y.b)*0.5,ea=wa(A,x,y,M),oa(G,H,I,Y,L,B,0,0,1,0,0,1,ea);else if(q instanceof THREE.MeshNormalMaterial)t.r= pa(i.normalWorld.x),t.g=pa(i.normalWorld.y),t.b=pa(i.normalWorld.z),q.wireframe?ja(t,q.wireframeLinewidth,q.wireframeLinecap,q.wireframeLinejoin):ia(t)}function Q(a,d,f,g,h,k,i,q,o){e.info.render.vertices+=4;e.info.render.faces++;b(q.opacity);c(q.blending);if(q.map||q.envMap)C(a,d,g,0,1,3,i,q,o),C(h,f,k,1,2,3,i,q,o);else if(G=a.positionScreen.x,H=a.positionScreen.y,I=d.positionScreen.x,Y=d.positionScreen.y,L=f.positionScreen.x,B=f.positionScreen.y,S=g.positionScreen.x,v=g.positionScreen.y,R=h.positionScreen.x, P=h.positionScreen.y,V=k.positionScreen.x,J=k.positionScreen.y,q instanceof THREE.MeshBasicMaterial)O(G,H,I,Y,L,B,S,v),q.wireframe?ja(q.color,q.wireframeLinewidth,q.wireframeLinecap,q.wireframeLinejoin):ia(q.color);else if(q instanceof THREE.MeshLambertMaterial)ya?!q.wireframe&&q.shading==THREE.SmoothShading&&i.vertexNormalsWorld.length==4?(A.r=x.r=y.r=M.r=$.r,A.g=x.g=y.g=M.g=$.g,A.b=x.b=y.b=M.b=$.b,n(m,i.v1.positionWorld,i.vertexNormalsWorld[0],A),n(m,i.v2.positionWorld,i.vertexNormalsWorld[1],x), n(m,i.v4.positionWorld,i.vertexNormalsWorld[3],y),n(m,i.v3.positionWorld,i.vertexNormalsWorld[2],M),A.r=Math.max(0,Math.min(q.color.r*A.r,1)),A.g=Math.max(0,Math.min(q.color.g*A.g,1)),A.b=Math.max(0,Math.min(q.color.b*A.b,1)),x.r=Math.max(0,Math.min(q.color.r*x.r,1)),x.g=Math.max(0,Math.min(q.color.g*x.g,1)),x.b=Math.max(0,Math.min(q.color.b*x.b,1)),y.r=Math.max(0,Math.min(q.color.r*y.r,1)),y.g=Math.max(0,Math.min(q.color.g*y.g,1)),y.b=Math.max(0,Math.min(q.color.b*y.b,1)),M.r=Math.max(0,Math.min(q.color.r* M.r,1)),M.g=Math.max(0,Math.min(q.color.g*M.g,1)),M.b=Math.max(0,Math.min(q.color.b*M.b,1)),ea=wa(A,x,y,M),K(G,H,I,Y,S,v),oa(G,H,I,Y,S,v,0,0,1,0,0,1,ea),K(R,P,L,B,V,J),oa(R,P,L,B,V,J,1,0,1,1,0,1,ea)):(t.r=$.r,t.g=$.g,t.b=$.b,n(m,i.centroidWorld,i.normalWorld,t),t.r=Math.max(0,Math.min(q.color.r*t.r,1)),t.g=Math.max(0,Math.min(q.color.g*t.g,1)),t.b=Math.max(0,Math.min(q.color.b*t.b,1)),O(G,H,I,Y,L,B,S,v),q.wireframe?ja(t,q.wireframeLinewidth,q.wireframeLinecap,q.wireframeLinejoin):ia(t)):(O(G,H,I, Y,L,B,S,v),q.wireframe?ja(q.color,q.wireframeLinewidth,q.wireframeLinecap,q.wireframeLinejoin):ia(q.color));else if(q instanceof THREE.MeshNormalMaterial)t.r=pa(i.normalWorld.x),t.g=pa(i.normalWorld.y),t.b=pa(i.normalWorld.z),O(G,H,I,Y,L,B,S,v),q.wireframe?ja(t,q.wireframeLinewidth,q.wireframeLinecap,q.wireframeLinejoin):ia(t);else if(q instanceof THREE.MeshDepthMaterial)ga=j.near,ha=j.far,A.r=A.g=A.b=1-na(a.positionScreen.z,ga,ha),x.r=x.g=x.b=1-na(d.positionScreen.z,ga,ha),y.r=y.g=y.b=1-na(g.positionScreen.z, ga,ha),M.r=M.g=M.b=1-na(f.positionScreen.z,ga,ha),ea=wa(A,x,y,M),K(G,H,I,Y,S,v),oa(G,H,I,Y,S,v,0,0,1,0,0,1,ea),K(R,P,L,B,V,J),oa(R,P,L,B,V,J,1,0,1,1,0,1,ea)}function K(a,b,c,d,e,f){k.beginPath();k.moveTo(a,b);k.lineTo(c,d);k.lineTo(e,f);k.lineTo(a,b);k.closePath()}function O(a,b,c,d,e,f,g,h){k.beginPath();k.moveTo(a,b);k.lineTo(c,d);k.lineTo(e,f);k.lineTo(g,h);k.lineTo(a,b);k.closePath()}function ja(a,b,c,e){if(F!=b)k.lineWidth=F=b;if(z!=c)k.lineCap=z=c;if(D!=e)k.lineJoin=D=e;d(a.getContextStyle()); k.stroke();X.inflate(b*2)}function ia(a){f(a.getContextStyle());k.fill()}function Aa(a,b,c,d,e,g,h,i,j,m,o,n,l){if(l.image.width!=0){if(l.needsUpdate==!0||la[l.id]==void 0){var p=l.wrapS==THREE.RepeatWrapping,r=l.wrapT==THREE.RepeatWrapping;la[l.id]=k.createPattern(l.image,p&&r?"repeat":p&&!r?"repeat-x":!p&&r?"repeat-y":"no-repeat");l.needsUpdate=!1}f(la[l.id]);var p=l.offset.x/l.repeat.x,r=l.offset.y/l.repeat.y,s=l.image.width*l.repeat.x,u=l.image.height*l.repeat.y,h=(h+p)*s,i=(i+r)*u,j=(j+p)*s, m=(m+r)*u,o=(o+p)*s,n=(n+r)*u;c-=a;d-=b;e-=a;g-=b;j-=h;m-=i;o-=h;n-=i;p=j*n-o*m;if(p==0){if(fa[l.id]==void 0)b=document.createElement("canvas"),b.width=l.image.width,b.height=l.image.height,a=b.getContext("2d"),a.drawImage(l.image,0,0),fa[l.id]=a.getImageData(0,0,l.image.width,l.image.height).data,delete b;b=fa[l.id];h=(Math.floor(h)+Math.floor(i)*l.image.width)*4;t.setRGB(b[h]/255,b[h+1]/255,b[h+2]/255);ia(t)}else p=1/p,l=(n*c-m*e)*p,m=(n*d-m*g)*p,c=(j*e-o*c)*p,d=(j*g-o*d)*p,a=a-l*h-c*i,h=b-m*h- d*i,k.save(),k.transform(l,m,c,d,a,h),k.fill(),k.restore()}}function oa(a,b,c,d,e,f,g,h,i,j,l,m,o){var n,p;n=o.width-1;p=o.height-1;g*=n;h*=p;i*=n;j*=p;l*=n;m*=p;c-=a;d-=b;e-=a;f-=b;i-=g;j-=h;l-=g;m-=h;p=1/(i*m-l*j);n=(m*c-j*e)*p;j=(m*d-j*f)*p;c=(i*e-l*c)*p;d=(i*f-l*d)*p;a=a-n*g-c*h;b=b-j*g-d*h;k.save();k.transform(n,j,c,d,a,b);k.clip();k.drawImage(o,0,0);k.restore()}function wa(a,b,c,d){var e=~~(a.r*255),f=~~(a.g*255),a=~~(a.b*255),g=~~(b.r*255),h=~~(b.g*255),b=~~(b.b*255),i=~~(c.r*255),j=~~(c.g* 255),c=~~(c.b*255),k=~~(d.r*255),l=~~(d.g*255),d=~~(d.b*255);ba[0]=e<0?0:e>255?255:e;ba[1]=f<0?0:f>255?255:f;ba[2]=a<0?0:a>255?255:a;ba[4]=g<0?0:g>255?255:g;ba[5]=h<0?0:h>255?255:h;ba[6]=b<0?0:b>255?255:b;ba[8]=i<0?0:i>255?255:i;ba[9]=j<0?0:j>255?255:j;ba[10]=c<0?0:c>255?255:c;ba[12]=k<0?0:k>255?255:k;ba[13]=l<0?0:l>255?255:l;ba[14]=d<0?0:d>255?255:d;ra.putImageData(za,0,0);va.drawImage(qa,0,0);return sa}function na(a,b,c){a=(a-b)/(c-b);return a*a*(3-2*a)}function pa(a){a=(a+1)*0.5;return a<0?0:a> 1?1:a}function ka(a,b){var c=b.x-a.x,d=b.y-a.y,e=c*c+d*d;e!=0&&(e=1/Math.sqrt(e),c*=e,d*=e,b.x+=c,b.y+=d,a.x-=c,a.y-=d)}var xa,Ha,U,ca;this.autoClear?this.clear():k.setTransform(1,0,0,-1,o,p);e.info.render.vertices=0;e.info.render.faces=0;g=l.projectScene(a,j,this.sortElements);h=g.elements;m=g.lights;(ya=m.length>0)&&i(m);xa=0;for(Ha=h.length;xa');var SCREEN_WIDTH=window.innerWidth,SCREEN_HEIGHT=window.innerHeight,container,particle,camera,scene,renderer,mouseX=0,mouseY=0,windowHalfX=window.innerWidth/2,windowHalfY=window.innerHeight/2,particles=[],particleImage=new Image;function snowEffectBind(){container=$(".snowEffect"),(camera=new THREE.PerspectiveCamera(75,SCREEN_WIDTH/SCREEN_HEIGHT,1,1e4)).position.z=1e3,(scene=new THREE.Scene).add(camera),(renderer=new THREE.CanvasRenderer).setSize(SCREEN_WIDTH,SCREEN_HEIGHT);for(var e=new THREE.ParticleBasicMaterial({map:new THREE.Texture(particleImage)}),n=0;n<500;n++)(particle=new Particle3D(e)).position.x=2e3*Math.random()-1e3,particle.position.y=2e3*Math.random()-1e3,particle.position.z=2e3*Math.random()-1e3,particle.scale.x=particle.scale.y=1,scene.add(particle),particles.push(particle);container.html(renderer.domElement),setInterval(loop,2e3/60)}function onDocumentMouseMove(e){mouseX=e.clientX-windowHalfX,mouseY=e.clientY-windowHalfY}function onDocumentTouchStart(e){1==e.touches.length&&(e.preventDefault(),mouseX=e.touches[0].pageX-windowHalfX,mouseY=e.touches[0].pageY-windowHalfY)}function onDocumentTouchMove(e){1==e.touches.length&&(e.preventDefault(),mouseX=e.touches[0].pageX-windowHalfX,mouseY=e.touches[0].pageY-windowHalfY)}function loop(){for(var i=0;i1e3?x-=2e3:x<-1e3&&(x+=2e3),z>1e3?z-=2e3:z<-1e3&&(z+=2e3)}camera.position.x+=.05*(mouseX-camera.position.x),camera.position.y+=.05*(-mouseY-camera.position.y),camera.lookAt(scene.position),renderer.render(scene,camera)}particleImage.src="https://www.sculeaz.ro/domains2/sculeaz.ro/files/files/snow-5185.png",snowEffectBind()}); */