(function($){

/********************************************* GALLERY SETTINGS ***********/
//TIME
var slideChangeTime = 4000;
var clickDelay = 2000;
var slideFadeTime = 500;
var descrFadeTime = 500;
var descrChangeTime = slideChangeTime-2*descrFadeTime-slideFadeTime;
//Default ID
var boxID = '#hGallery';
/********************************************* GALLERY SETTINGS ***********/



var current = 0;
var imagesQ = 0;
var loadedQ  = 0;
var tmout = 0;
var tmout2 = 0;
var tmout3 = 0;
var height = 0;
var width = 0;
var dHeight = 0;
var dWidth = 0;

   qtGallery_galleryPreload =  function (){
        imagesQ = $(boxID+' img').length;
        //$(boxID).append('<div id="preload">'+loadedQ+' images loaded from '+imagesQ+'</div>');
        $(boxID+' img').each(function(el){
          var oldImg = $(this);
          var newImg = new Image();
          var imgSrc = oldImg.attr('src');
           if(oldImg.get(0).complete){
              loadedQ++;
            } else {
               newImg.onload = qtGallery_checkLoaded;
               newImg.src = imgSrc;
            }
        });
        if(imagesQ==loadedQ) qtGallery_checkLoaded();
    }

    qtGallery_checkLoaded = function (){
        if(imagesQ!=loadedQ) loadedQ++;
        $('#preload').html(loadedQ+' images loaded from '+imagesQ);
        if(imagesQ==loadedQ){
            $('#preload').fadeOut(function(){
                $(this).remove();
            });
            qtGallery_firstStart();
        }
    }

    qtGallery_firstStart = function (){
    height = $(boxID).height();
    width = $(boxID).width();

        $('#hBoxes').append('<div id="triangle"></div>');
        $(boxID+' div.gItem').fadeOut(0);
        $(boxID+' div.gItem:first').fadeTo(slideFadeTime,1,function(){
                    sn = 1;
                    qtGallery_animateTriangle(0);
                    $(boxID+' div.gItem').each(function(el){
                    sn++;
                });
                    $('#hBoxes .hBox:first').addClass('active');
                    $('.hBox').click(function(el){
                    n = $(this).index();
                    qtGallery_changer(n,1);
                    });
            invl  = setInterval( "qtGallery_clicker()", slideChangeTime );
        });
        
    }


    qtGallery_changer = function (n,p){
        current = n;
	if(p){
            clearInterval(invl);
            if(tmout){
              clearTimeout(tmout);
            }
            tmout = setTimeout(function(){

              invl  = setInterval( "qtGallery_clicker()", slideChangeTime );

            }, clickDelay);
	}

	if(!$('#hBoxes .hBox:eq('+current+')').hasClass('active')){
        $(boxID+' .gItem').stop().css('display','none');
        $(boxID+' div.active:not(.hBox)').fadeTo(slideFadeTime,0);
		 $(boxID+' div.active').removeClass('active');
		 $(boxID+' div.gItem:eq('+current+')').fadeTo(slideFadeTime,1,function(){
			 $(boxID+' div.gItem:eq('+current+')').addClass('active');
                         qtGallery_animateTriangle(current,p);
		  });
				$('#hBoxes .hBox').removeClass('active');
				$('#hBoxes .hBox:eq('+current+')').addClass('active');
	  }
          
	}


	qtGallery_clicker = function () {
	  if(current==$('#hBoxes .hBox:last').index()){
	  	  current = 0;
	  } else {
		 current++;
	  }
	  qtGallery_changer(current,0);
	}

        qtGallery_animateTriangle = function (number,p){
        if(p){
          descTime = descrChangeTime + clickDelay;
        } else {
          descTime = descrChangeTime;
        }
            var triangle = $('#triangle');
            elm = $(boxID+' .hBox:eq('+number+')');
            var offset = elm.offset();
            triangle.animate({'left': offset.left})

             
   }

    qtGallery_init = function(boxID){
        qtGallery_galleryPreload();
    }


  $(document).ready(function() {
	qtGallery_init();
  });

})( jQuery );

 

    
