    


function newGallery(){
    var classType  = "liga13-gallery";    
    var objectArray = new Array();
    
    var open = false;
    
    /* language variables */
    var noTitle = 'нет заголовка ';
    /* language variables */
    
    
     /* style variables */
     
      var topPadding = 30;
      var bottomPadding = 30; 
      var leftPadding = 30;
      var rightPadding = 30;
      
     
      var mainDescriptionUID = "gallery-description";
      var shadowUID = "gallery-shadow";
      var shadowUIDopacity = "0.5";
      
      var thumbBarUID = "thumb-bar";
      var thumbBarLeftUID = thumbBarUID+"-left";
      var thumbBarRightUID = thumbBarUID+"-right";
      var thumbBarCenterUID = thumbBarUID+"-center";
      
      var maxThumbsInBar = 0 ;/* if we set this variable to zero[0] - we can get infinity bar
          but if we set natural integer - we get bar wich have count items
      */      
      
      
      var thumbBarItemUID = thumbBarUID+"-item";
       var thumbBarItemActiveUID = "active-item";  
      
      
      
      var mainPictureUID = "main-picture";
      
      var minWidthMainPictureUID = 200;
      var minHeightMainPictureUID = 150;
      
      
      
  
      
      /* style variables */
    
    
    this.init = function(){
          var self = this;
          
          jQuery(window).resize(function(){
            self.resetBar();
          })
          
          
            
            
        //if(navigator.appName=='Microsoft Internet Explorer'){
        if(false){
                document.onkeyup = function(event) {
          /*
          <- = 37
          -> = 39
          */
          
            alert(event.keyCode)  ;
          if(open==true){
              if(event.keyCode=='37'){
                     self.moveArrow(false);
              }else if(event.keyCode=='39'){
                    self.moveArrow(true);
              }else if(event.keyCode=='27'){
                    self.close();
              } 
          }
              
            };
          }else{
          
                jQuery(document).keyup(function(event) {
          /*
          <- = 37
          -> = 39
          */
          
              // alert(event.keyCode);
          if(open==true){
              if(event.keyCode=='37'){
                     self.moveArrow(false);
              }else if(event.keyCode=='39'){
                    self.moveArrow(true);
              }else if(event.keyCode=='27'){
                    self.close();
              } 
          }
              
            });
          
          }

        jQuery('.'+classType).each(function(){
         
        
          
          this.onclick = function(){
          if(navigator.appName=='Microsoft Internet Explorer'){
            var self2 =  this;
           
              setTimeout(function(){
                self.construct(self2);
                  self.resetBar();
              },10)
             
            
            
            }else{
              self.construct(this); 
                self.resetBar(); 
            }
            
           return false; 
          }
          var tempObjectArray = new Array();
              tempObjectArray['link'] = this['href'];
              tempObjectArray['title'] = (this['title']) ? this['title'] : noTitle;
              tempObjectArray['thumb'] = jQuery(this).children('img')[0]['src'];
              objectArray.add(tempObjectArray);
        }) 
    }
    
    
    this.construct = function(object){
      var self = this;
      open = true;
      if(!document.getElementById(shadowUID)){
        var mainCardShadow = document.createElement('div');
            mainCardShadow.id = shadowUID;
            mainCardShadow.className = shadowUID;
            
            mainCardShadow.onclick = function(){
              self.close();  
            }
            document.body.appendChild(mainCardShadow);
            
            jQuery(mainCardShadow).mousemove(function(e){
                    
                    jQuery('.'+mainDescriptionUID).css('display','none');
                     
                    })
            
            jQuery(mainCardShadow).css('opacity',shadowUIDopacity);
      }else{
        jQuery('.'+shadowUID).css('display','block');  
      }
      
      
      if(!document.getElementById(thumbBarUID)){
        var mainThumbBar = document.createElement('div');
            mainThumbBar.id = thumbBarUID;
            mainThumbBar.className = thumbBarUID;
            var mainThumbBarCenter = document.createElement('div');
                mainThumbBarCenter.className = thumbBarCenterUID; 
            
            var buttonLeft = document.createElement('div');
                buttonLeft.className = thumbBarLeftUID;
                buttonLeft.onclick = function(){
                  self.replaceBlock();
                } 
                mainThumbBar.appendChild(buttonLeft);
                
            var buttonRight = document.createElement('div');
                buttonRight.className = thumbBarRightUID;
                buttonRight.onclick = function(){
                  self.replaceBlock(true);
                } 
                mainThumbBar.appendChild(buttonRight);
            
            for(var i=0; i<objectArray.length;i++){
                if(objectArray[i]){
  
                  var tempDiv = document.createElement('a');
                      tempDiv.className = thumbBarItemUID;
                  var tempImage = document.createElement('img');
                      tempImage.src = objectArray[i]['thumb'];
                      tempImage.onclick = function(){
                        self.viewImage(this,true) ;
                      }
                      tempDiv.appendChild(tempImage);
                  mainThumbBarCenter.appendChild(tempDiv); 
                }   
            }
            
            mainThumbBar.appendChild(mainThumbBarCenter);
          
            document.body.appendChild(mainThumbBar);
            
           
      }else{
        jQuery('.'+thumbBarUID).css('display','block');  
      }
      
      
      if(!document.getElementById(mainPictureUID)){
           var mainPicture = document.createElement('div');
           mainPicture.id = mainPictureUID;
           mainPicture.className = mainPictureUID;
           
           document.body.appendChild(mainPicture);
      
      }else{
        jQuery('.'+mainPictureUID).css('display','block');
        jQuery('.'+mainPictureUID).css({
          width:minWidthMainPictureUID+'px',
          height:minHeightMainPictureUID+'px',
          marginTop:minWidthMainPictureUID/2*(-1)+'px',
          marginLeft:minHeightMainPictureUID/2*(-1)+'px',
          top:'50%',
          left:'50%'
        }); 
     
      }
      
       if(!document.getElementById(mainDescriptionUID)){
                var mainDescription = document.createElement('div');
                 mainDescription.id = mainDescriptionUID;
                 mainDescription.className = mainDescriptionUID;
                 
                 document.body.appendChild(mainDescription);
       
       }else{
          jQuery('.'+mainDescriptionUID).css('display','block');
       }
      
      
    
      
      this.resetBar();
     
       this.viewImage(object) ;
          
       
    }
    
    
    this.resetBar = function(){
    
   
      var leftWidthButton = parseInt(jQuery('.'+thumbBarLeftUID).width());
      var rightWidthButton = parseInt(jQuery('.'+thumbBarRightUID).width());
  
      var freeWidth = parseInt(jQuery(window).width())-leftWidthButton-rightWidthButton;

      var summWidth = 0;
      
      var countItemHere = 1;
      
      jQuery('.'+thumbBarCenterUID).children('.'+thumbBarItemUID).each(function(){
      
        var tempWidthItem = jQuery(this).outerWidth();
      
          if(countItemHere>maxThumbsInBar && maxThumbsInBar!=0){
            jQuery(this).css('display','none') ;

          }else{

           if(freeWidth>(summWidth+tempWidthItem)){
              summWidth+=tempWidthItem;
  
              jQuery(this).css('display','block') ; 
              countItemHere++; 
           }else{
           
        
              jQuery(this).css('display','none') ;
           }
         }
      })
      
 
              //alert(freeWidth+'>='+summWidth) ;
              // alert(countItemHere+'>='+jQuery('.'+thumbBarCenterUID).children('.'+thumbBarItemUID).length) ;
      if(countItemHere>jQuery('.'+thumbBarCenterUID).children('.'+thumbBarItemUID).length){
          jQuery('.'+thumbBarLeftUID).css('display','none');
          jQuery('.'+thumbBarRightUID).css('display','none');
       
       }else{
          jQuery('.'+thumbBarLeftUID).css('display','block');
          jQuery('.'+thumbBarRightUID).css('display','block');
       
     
       }
     
     
       jQuery('.'+thumbBarCenterUID).css('width',summWidth+'px');
   
    var minusMargin = ((-1)*(parseInt(jQuery('.'+thumbBarUID).outerWidth())/2));
   
       jQuery('.'+thumbBarUID).css('margin-left',minusMargin+'px');
    //   alert(summWidth+leftWidthButton+rightWidthButton)  ;
       jQuery('.'+thumbBarUID).css('width',summWidth+leftWidthButton+rightWidthButton+'px');
       
      
      
    }
    
    
    
    this.viewImage = function (object,thumb){
     
       
        if(jQuery(object).parent().hasClass(thumbBarItemActiveUID)){
                
                   return true;
        } 
       var link = '';
       var ident = '';
       var self = this;
        if(thumb){
          for(var i=0; i<objectArray.length;i++){
             if(objectArray[i]){
               if(objectArray[i]['thumb']==object["src"]){
                 link = objectArray[i]['link'];
                 ident = objectArray[i]['thumb'];
                 jQuery('.'+mainDescriptionUID)[0].innerHTML = objectArray[i]['title'];
                 break;
               } 
             }
          }
        }else{
          for(var i=0; i<objectArray.length;i++){
             if(objectArray[i]){
               if(objectArray[i]['link']==object["href"]){
                 link = objectArray[i]['link'];
                 ident = objectArray[i]['thumb'];
                 jQuery('.'+mainDescriptionUID)[0].innerHTML = objectArray[i]['title'];
                 break;
               } 
             }
          }
        
        }
       //  alert(link+" - "+ident+" - "+object["src"]+" - "+object["href"]);
        
        jQuery('.'+thumbBarCenterUID).children('.'+thumbBarItemUID).each(function(){
            if(jQuery(this).hasClass(thumbBarItemActiveUID)){
              jQuery(this).removeClass(thumbBarItemActiveUID);
            }
        
            if(jQuery(this).children('img').attr('src')==ident){
              jQuery(this).addClass(thumbBarItemActiveUID);
              
                var mainImageInsert = document.createElement("img");
                    mainImageInsert.src = link;
                    mainImageInsert.style.display = "none";
                    jQuery('.'+mainPictureUID).children('img').remove();
                    jQuery('.'+mainPictureUID)[0].appendChild(mainImageInsert);
                    var rt = new obg(mainImageInsert);
       
              rt.checkload(self.taDam);
                  
              
            }
        
        })
        
    }
    
   
    
    this.close = function (){
    open = false;
       jQuery('.'+shadowUID).css('display','none');
       jQuery('.'+thumbBarUID).css('display','none');
       jQuery('.'+mainPictureUID).css('display','none');
       jQuery('.'+mainPictureUID).children('img').css('display','none');  
       jQuery('.'+mainDescriptionUID).css('display','none'); 
    }
    
    
  
    
      this.taDam = function (){
        var ourImage = jQuery('.'+mainPictureUID).children('img');
        var realWidth = parseInt(jQuery(ourImage).width());
        var realHeight = parseInt(jQuery(ourImage).height());

        var heightPadding = parseInt(topPadding);
            heightPadding += parseInt(bottomPadding);
            heightPadding += parseInt(jQuery('.'+thumbBarUID).css('height'));
            
        var botPadding = parseInt(bottomPadding);
         
            botPadding += parseInt(jQuery('.'+thumbBarUID).css('height'));
        var widthPadding = parseInt(leftPadding);
            widthPadding += parseInt(rightPadding);
        
        var maxWidth = parseInt(jQuery(window).width())-widthPadding;
        var maxHeight = parseInt(jQuery(window).height())-heightPadding;

        var rt = resize(realWidth,realHeight,maxWidth,maxHeight);
        var anotherMargin = 0;

          
          
        var leftSide = rt[1]/2;
            leftSide += parseInt(jQuery(window).height())/2;
              
        var rightSide =parseInt(jQuery(window).height());
            rightSide -= botPadding;
          
          if(leftSide>rightSide){
               anotherMargin =rightSide -  leftSide ;
          }
        
         jQuery('.'+mainPictureUID).stop();
         jQuery('.'+mainPictureUID).animate({
          width:rt[0]+'px',
          height:rt[1]+'px',
          marginLeft:((-1)*rt[0]/2)+'px',
          marginTop:((-1)*rt[1]/2)+anotherMargin+'px'
        },'slow',function(){
                    jQuery(ourImage).css('width',rt[0]+"px");
                    jQuery(ourImage).css('height',rt[1]+"px");
                    jQuery(ourImage).css('opacity',"0");
                    jQuery(ourImage).css('display',"block");
                    jQuery(ourImage).mousemove(function(e){
                    
                   
                   var coorX =  e.clientX+20;
                   var coorY =  e.clientY+20;
                   
                   if((parseInt(jQuery('.'+mainDescriptionUID).width())+coorX+20)>parseInt(jQuery(window).width())){
                      coorX =coorX -  parseInt(jQuery('.'+mainDescriptionUID).width()) -40; 
                   }
                   
                   if((parseInt(jQuery('.'+mainDescriptionUID).height())+coorY+20)>parseInt(jQuery(window).height())){
                      coorY =coorY -  parseInt(jQuery('.'+mainDescriptionUID).height()) -40; 
                   }
                   
                    jQuery('.'+mainDescriptionUID).css({
                        display:'block',
                        top:coorY+"px",
                        left:coorX+"px"
                    });
                     // debug(e.pageX+" - "+e.pageY,true);
                    })
                    jQuery(ourImage).animate({
                      opacity:1
                    },'slow');
                    
             
              
        })  
          
              
    }
    
    
    this.replaceBlock = function (turn){
      var self = this;
      turn = (turn) ? true : false ; //right : left;
      
        
        var firstBlock = null;
        var lastBlock = null;
   
        firstBlock =  jQuery('.'+thumbBarCenterUID).children('.'+thumbBarItemUID+':first');
        lastBlock =  jQuery('.'+thumbBarCenterUID).children('.'+thumbBarItemUID+':last');
          
        
       
      
     
      var fg = document.createElement('a');
          fg.className = thumbBarItemUID;
      var tempImage = document.createElement('img');    
                                    
          if(turn==false){
          
      
          
          
        
          
           tempImage.src = jQuery(firstBlock).children('img').attr('src')
            tempImage.onclick = function(){
                        self.viewImage(this,true) ;
                      }
           
          
             fg.appendChild(tempImage);
           
            jQuery('.'+thumbBarCenterUID)[0].appendChild(fg);
            
            
            if(firstBlock.hasClass(thumbBarItemActiveUID)){
              fg.className = thumbBarItemUID+" "+thumbBarItemActiveUID;
            }
            
            firstBlock.remove();
           }else{
    
            tempImage.src = jQuery(lastBlock).children('img').attr('src')
            tempImage.onclick = function(){
                        self.viewImage(this,true) ;
                      }
           
          
             fg.appendChild(tempImage);
            jQuery('.'+thumbBarCenterUID)[0].insertBefore(fg,firstBlock[0]) ;
            
            
            if(lastBlock.hasClass(thumbBarItemActiveUID)){
              fg.className = thumbBarItemUID+" "+thumbBarItemActiveUID;
            }
            lastBlock.remove();
          }
          
      //  alert(andThis);  
      /*  if(andThis==true){
               //  alert('eee');
            self.viewImage(tempImage,true) ;
        }  
        */  
        
     }
     
     this.moveArrow = function (turn) {
         var self = this;
          turn = (turn) ? true : false ; //right : left;
        turn2 = (turn) ? false : true ; //right : left;
          this.replaceBlock(turn2);
       
        var startStart = 1;
        var array = jQuery('.'+thumbBarCenterUID).children('.'+thumbBarItemUID);
         var totalCoint = array.length;
         
         var ghj = null;
          
        for(var i=0;i<totalCoint;i++){
             if(jQuery(array[i]).hasClass(thumbBarItemActiveUID)){
            
                 if(turn){
                    if(startStart<totalCoint){
                      var z =i+1;
                      ghj = jQuery(array[z]).children('img');
                      break;
                    }else{
                    
                      ghj = jQuery(array[0]).children('img');
                      break;
                    }
                 
                 }else{
                 
                 
                  if(startStart>1){
                      var z =i-1;
                      ghj = jQuery(array[z]).children('img');
                      break;
                    }else{
                    
                    var z =totalCoint-1;
                      ghj = jQuery(array[z]).children('img');
                      break;
                    }
                 
                 
                 }
             
             }
             startStart++;
        }
          
         this.viewImage(ghj[0],true) ;
        
     }
  
}

