jQuery.noConflict();
jQuery(document).ready(function(){

      //hover
      jQuery('.productsMenuChild').live('mouseover', function() {
        if(!jQuery(this).hasClass('activeLink')){
            jQuery(this).css('background','url(http://technolen.eu/themes/Common/img/currentBig.png) left center no-repeat');
        }
      });
      jQuery('.productsMenuChild').live('mouseout', function() {
        if(!jQuery(this).hasClass('activeLink')){
            jQuery(this).css('background','none');
        }
      });

      jQuery('.previews ul li').live('mouseover', function() {
        jQuery(this).css('background','url(http://technolen.eu/themes/Common/img/productHoverBg.png) center center no-repeat');
        var tempId = jQuery(this).attr('class');
        jQuery('#currentFirmProducts #'+tempId).css('background','url(http://technolen.eu/themes/Common/img/currentSmall.png) left center no-repeat');
        
        changePageToProduct(tempId);
      });
      jQuery('.previews ul li').live('mouseout', function() {
        jQuery(this).css('background','none');
        var tempId = jQuery(this).attr('class');
        jQuery('#currentFirmProducts #'+tempId).css('background','none');
      });
      jQuery('.productDetail').live('mouseover', function() {
        var tempId = jQuery(this).attr('id');
        tempId = 'item-'+tempId;
        jQuery('#currentFirmProductsLinks a[href="#'+tempId+'"]').css('background','url(http://technolen.eu/themes/Common/img/currentSmall.png) left center no-repeat');

        changePageToProduct(tempId);
        });
      jQuery('.productDetail').live('mouseout', function() {
        var tempId = jQuery(this).attr('id');
        tempId = 'item-'+tempId;
        jQuery('#currentFirmProductsLinks a[href="#'+tempId+'"]').css('background','none');
      });

      jQuery('#currentFirmProducts > a').live('mouseover', function() {
        jQuery(this).css('background','url(http://technolen.eu/themes/Common/img/currentSmall.png) left center no-repeat');
        var tempId = jQuery(this).attr('id');
        jQuery('.previews ul .'+tempId).css('background','url(http://technolen.eu/themes/Common/img/productHoverBg.png) center center no-repeat');
      });
      jQuery('#currentFirmProducts > a').live('mouseout', function() {
        jQuery(this).css('background','none');
        var tempId = jQuery(this).attr('id');
        jQuery('.previews ul .'+tempId).css('background','none');
      });

      jQuery('#currentFirmProductsLinks > a').live('mouseover', function() {
        jQuery(this).css('background','url(http://technolen.eu/themes/Common/img/currentSmall.png) left center no-repeat');
      });
      jQuery('#currentFirmProductsLinks > a').live('mouseout', function() {
        jQuery(this).css('background','none');
      });
      //hover

      jQuery('.productsMenuChild').live('click', function() {
            productsMenuChildClicked(jQuery(this),false);
      });

jQuery('.previews ul li').live('click', function() {
    var clickedElementClass = jQuery(this).attr('class');
    jQuery('#currentFirmProducts #'+ clickedElementClass).click();
});

jQuery('#currentFirmProducts > a').live('click', function() {
        currentFirmProductsClicked(jQuery(this));

      });

      jQuery('#currentFirmProductsLinks > a').live('click', function() {
        var clickedElement = jQuery(this).attr('href');
        clickedElement = clickedElement.replace('item-', '');
        jQuery('#productsWrapper').scrollTo(jQuery(clickedElement),500);
      });

      jQuery('.productPhoto').live('click', function() {
          imageTypeClicked('productPhoto');
      });

      jQuery('.productLinear').live('click', function() {
         imageTypeClicked('productLinear');
      });

      jQuery('.imageControls .next').live('click', function() {
         prevOrNextClicked(jQuery(this),'next');
      });


      jQuery('.imageControls .prev').live('click', function() {
        prevOrNextClicked(jQuery(this),'prev');
      });



    jQuery('.downArrow').live('click', function() {
        var clickedElementWrapper = jQuery(this).parent().parent().parent();
        var currentImageWrapper = clickedElementWrapper.find('.currentImage');
        jQuery('#productsWrapper').scrollTo(currentImageWrapper,500);
    });

    jQuery('#currentFirmProductsLinks .pageNum').live('click', function() {
        if(!jQuery(this).hasClass('activePage')){
            var currentPage = jQuery(this).html();
            currentPage = currentPage.replace('.','');
            currentPage = parseInt(currentPage);
            appendMyPager(currentPage);
        }
    });

    jQuery('#currentFirmProducts .pageNum').live('click', function() {
        if(!jQuery(this).hasClass('activePage')){
            var currentPage = jQuery(this).html();
            currentPage = currentPage.replace('.','');
            currentPage = parseInt(currentPage);
            appendMyPager(currentPage);
        }
    });





});

function currentFirmProductsClicked(element){
        element.addClass('activeLink');
        var clickedElementId = element.attr('id');
        var tempArray = clickedElementId.split("-");
        var elementId = tempArray[0];
        var elementTitle = '';
        for(i=1;i<tempArray.length;i++){
            elementTitle = elementTitle + tempArray[i] + '-';
        }
        if(elementTitle.indexOf('-',elementTitle.length - 1) > -1){
            elementTitle = elementTitle.substr(0,elementTitle.length - 1);
        }
        var root = jQuery('.activeMainMenu').attr('alt');
        currentLang = jQuery('.currentLang').attr('id');
        //product clicked
        //alert('product clicked->'+elementId+'-'+elementTitle+':lang-'+currentLang);

        jQuery.ajax({
                type: "POST",
                url: "http://technolen.eu/index.php/"+currentLang+"/catalog/",
                data: "action=detail&lang="+currentLang+"&root="+root+"&title="+elementTitle+"&cat_id=&product_id="+elementId,
                success: function(data){
                        jQuery('#currentFirmProducts').attr('id','currentFirmProductsLinks');
                        //appendMyPager('#currentFirmProductsLinks',1);
                        adjustProductList();
                        jQuery('#productsWrapper').html(data);
                        jQuery('#productsWrapper').css('height',(jQuery(window).height())+'px');
                        jQuery('#productsWrapper').css('max-height',(jQuery(window).height())+'px');
                        jQuery('.productDetail').each(function (){
                            var initImg = jQuery(this).find('.hiddenLinears span:first-child').html();
                            jQuery(this).find('.currentImage > img').attr('src',initImg);
                        });
                        jQuery('#productsWrapper').css('height',(jQuery(document).height())+'px');
                        jQuery('#productsWrapper').css('max-height',(jQuery(document).height())+'px');
                        jQuery('#productsWrapper').scrollTo(jQuery('#'+clickedElementId),500);


                        
                    },
                    error: function(xmlhttp, status, error){
                    },
                    beforeSend: function(){
                        jQuery('#categoryText').remove();
                        
                    },
                    complete: function(){
                    }
              });
}


function productsMenuChildClicked(element,isOnInit){
        var clickedElementId = element.attr('id');
        var tempArray = clickedElementId.split("-");
        var elementId = tempArray[1];

        var elementTitle = '';
        for(i=1;i<tempArray.length;i++){
            elementTitle = elementTitle + tempArray[i] + '-';
        }
        if(elementTitle.indexOf('-',elementTitle.length - 1) > -1){
            elementTitle = elementTitle.substr(0,elementTitle.length - 1);
        }

        var root = jQuery('.activeMainMenu').attr('alt');
        currentLang = jQuery('.currentLang').attr('id');

        if(!element.hasClass('activeLink')){
            jQuery.ajax({
                    type: "POST",
                    url: "http://technolen.eu/index.php/"+currentLang+"/catalog/",
                    data: "action=firm&lang="+currentLang+"&root="+root+"&title="+elementTitle+"&cat_id="+elementId+"&product_id=",
                    success: function(data){
                            jQuery('#ajaxRenderWrapper').html(data);
                            if(!jQuery('#'+clickedElementId).hasClass('activeLink')){
                                jQuery('#'+clickedElementId).addClass('activeLink');
                            }
                            var minWidth = 200;
                            var tempWidth = jQuery('#productsMenuChildren').width();
                            jQuery('.productsMenuChild strong').each(function (){
                                if(minWidth > tempWidth){
                                    tempWidth = minWidth - 10;
                                }else{
                                    tempWidth = tempWidth;
                                }
                            });
                            appendMyPager(1);

                            jQuery('#productsMenuChildren').css('width',tempWidth + 'px');
                            //alert(jQuery('#productsMenuChildren').height());


                            jQuery('#productsWrapper').css('height',(jQuery(window).height())+'px');
                            jQuery('#productsWrapper').css('max-height',(jQuery(window).height())+'px');

                        },
                        error: function(xmlhttp, status, error){
                            //alert(error);
                        },
                        beforeSend: function(){
                            jQuery('#productsWrapper').css('height',(jQuery(window).height())+'px');
                            jQuery('#productsWrapper').css('max-height',(jQuery(window).height())+'px');
                        },
                        complete: function(){
                            jQuery('#productsWrapper').css('height',(jQuery(window).height())+'px');
                            jQuery('#productsWrapper').css('max-height',(jQuery(window).height())+'px');

                            adjustProductList();

                            if(isOnInit && (initHash.indexOf('#item') != -1)){
                                    var itemElement = jQuery('[href*="'+initHash+'"]');
                                    //alert(itemElement.attr('id')+' idecko');
                                    currentFirmProductsClicked(itemElement);
                            }
                        }
                  });
        }else{
            jQuery('#productsWrapper').css('height',(jQuery(window).height())+'px');
            jQuery('#productsWrapper').css('max-height',(jQuery(window).height())+'px');

        }
}

function imageTypeClicked(clickedType){
    var clickedClass = clickedType;
    var removeClass = 'productLinear';
    var hiddenClass = 'hiddenPhotos';
    if(clickedClass == 'productLinear'){
        removeClass = 'productPhoto';
        hiddenClass = 'hiddenLinears';
    }
    if(!jQuery('.'+clickedClass).hasClass('activeImgType')){
             jQuery('.'+clickedClass).addClass('activeImgType');
             jQuery('.'+removeClass).removeClass('activeImgType');
             jQuery('.productDetail').each(function (){
                            var countImgs = jQuery(this).find('.'+hiddenClass+' span').size();
                            var initImg = jQuery(this).find('.'+hiddenClass+' span:first-child').html();
                            jQuery(this).find('.imageControls .numbers').html('');
                            if(initImg == undefined || initImg == null || initImg == ''){
                                jQuery(this).find('.currentImage > img').attr('src','http://technolen.eu/themes/Common/img/no_image_'+jQuery('.currentLang').attr('id')+'.png');
                            }else{
                                jQuery(this).find('.currentImage > img').attr('src',initImg);
                                for(var i=1;i<=countImgs;i++){
                                    jQuery(this).find('.imageControls .numbers').append('<span>&nbsp;'+i+'.</span>');
                                }
                                jQuery(this).find('.imageControls .numbers span:first-child').addClass('currentImgNumber');
                                //remove dot from last
                                jQuery(this).find('.imageControls .numbers span').last().html('&nbsp;'+countImgs+'&nbsp;');
                            }
            });
    }

}

function prevOrNextClicked(clickedElement,prevOrNext){
         var productDetailWrapper = clickedElement.parent().parent().parent();
         var currentUrl = productDetailWrapper.find('.currentImage > img').attr('src');
         var newImgUrl;
         if(jQuery('.productLinear').hasClass('activeImgType')){
             productDetailWrapper.find('.hiddenLinears span').each(function (){
                 if(currentUrl == jQuery(this).html()){
                    if(prevOrNext == 'prev'){
                        newImgUrl = jQuery(this).prev().html();
                    }else{
                        newImgUrl = jQuery(this).next().html();
                    }
                 }
            });
            if(newImgUrl != undefined && newImgUrl != null && newImgUrl != ''){
                productDetailWrapper.find('.currentImage > img').attr('src', newImgUrl);
                markNewNum(productDetailWrapper,prevOrNext);
            }
         }else if(jQuery('.productPhoto').hasClass('activeImgType')){
             productDetailWrapper.find('.hiddenPhotos span').each(function (){
                 if(currentUrl == jQuery(this).html()){
                    if(prevOrNext == 'prev'){
                        newImgUrl = jQuery(this).prev().html();
                    }else{
                        newImgUrl = jQuery(this).next().html();
                    }
                 }
            });
            if(newImgUrl != undefined && newImgUrl != null && newImgUrl != ''){
                productDetailWrapper.find('.currentImage > img').attr('src', newImgUrl);
                markNewNum(productDetailWrapper,prevOrNext);
            }
         }
}

function markNewNum(productDetailWrapper,prevOrNext){
    var oldCurrent = productDetailWrapper.find('.currentImgNumber');
    var newCurrent;
    if(prevOrNext == 'prev'){
        newCurrent = oldCurrent.prev();
    }else{
        newCurrent = oldCurrent.next();
    }

    if(newCurrent){
        oldCurrent.removeClass('currentImgNumber');
        newCurrent.addClass('currentImgNumber');
    }
}

function appendMyPager(page){
      page = page - 1;
      var page_size = 10;
      var startIndex = page * page_size;
      var endIndex = (page * page_size) + page_size;
      var tempItemArray1 = jQuery('#currentFirmProducts > a');
      var tempItemArray2 = jQuery('#currentFirmProductsLinks > a');
      var itemArray = tempItemArray1;
      if(tempItemArray2.length > tempItemArray1.length){
        itemArray = tempItemArray2;
      }

      
      if(itemArray.length > page_size){
          if(endIndex > itemArray.length){
            endIndex = itemArray.length;
          }

          if(jQuery('.pageNavigation').html() == ''){
              for(var i=0;i<((itemArray.length)/page_size);i++){
                    jQuery('.pageNavigation').append('<span class="pageNum">'+(i+1)+'.</span>');
              }
          }
          jQuery('.pageNavigation span').removeClass('activePage');
          jQuery('.pageNavigation span').each(function(index){
              var tempNumber = jQuery(this).html();
              tempNumber = tempNumber.replace('.','');
                if(parseInt(tempNumber) == (page+1)){
                    jQuery(this).addClass('activePage');
                }
            });
            var tempString = jQuery('.pageNavigation .pageNum').last().html();
            jQuery('.pageNavigation .pageNum').last().html(tempString.replace('.','&nbsp;'));


          var current_page = itemArray.slice(startIndex,endIndex);

          itemArray.each(function(){
                jQuery(this).removeClass('currentPage');
                jQuery(this).addClass('nonCurrentPage');
          });

          current_page.each(function(){
            jQuery(this).removeClass('nonCurrentPage');
            jQuery(this).addClass('currentPage');
          });
      }else{
        jQuery('.pageNavigationWrapper').remove();
      }

      adjustProductList();

}

function changePageToProduct(id){
    var pageSize = 10;
    var productOrderNum = 1;
    var productPage = 1;
    if(jQuery('#'+id).hasClass('nonCurrentPage') || jQuery('#currentFirmProductsLinks a[href="#'+id+'"]').hasClass('nonCurrentPage')){
          var tempItemArray1 = jQuery('#currentFirmProducts > a');
          var tempItemArray2 = jQuery('#currentFirmProductsLinks > a');
          var itemArray = tempItemArray1;
          if(tempItemArray2.length > tempItemArray1.length){
            itemArray = tempItemArray2;
          }
          jQuery(itemArray).each(function(e){
             if(jQuery(this).attr('href').indexOf(id) != -1){
                productOrderNum = e+1;
             }
          });

          productPage = Math.floor(productOrderNum/pageSize) + 1;
          if((productOrderNum%pageSize) == 0){
            productPage--;
          }
          
          appendMyPager(productPage);
    }

}



function adjustProductList(){
    //position
      jQuery('#currentFirmProducts').css('top',(80+jQuery('#productsMenuChildren').height())+'px');
      jQuery('#currentFirmProducts').css('left',(jQuery('#productsMenuChildren').width()-10-jQuery('#currentFirmProducts').width())+'px');
      jQuery('#productsWrapper').css('left',(jQuery('#productsMenuChildren').width()+30)+'px');

      jQuery('#currentFirmProductsLinks').css('top',(80+jQuery('#productsMenuChildren').height())+'px');
      jQuery('#currentFirmProductsLinks').css('left',(jQuery('#productsMenuChildren').width()-10-jQuery('#currentFirmProductsLinks').width())+'px');
      jQuery('#currentFirmProductsLinks > a').each(function(){
            jQuery(this).css('background','none');
            jQuery(this).removeAttr('id');//very importat because of scroll to
        });
}
