$(document).ready(function(){
// Call specific functions to each page
		switch (getUrlVarsFrom(document.location.href, true)['tabid']) {
			
			case '5':
				initDealerCatalogue();
				break;
			
		
		}

})


//Match truespectra parameters

var dimensions = new RegExp('cell=[0-9]*,[0-9]*'),

quality = new RegExp('qlt=[0-9]*');


// Dealer Catalogue page functionalities
function initDealerCatalogue() {
	
	// Hide slideshow while loading
	$('div.slides-area').css('height',0);
	
	
	
	function randomFromTo(from, to){
		return Math.floor(Math.random() * (to - from + 1) + from);
	}

	


	$('img').each(function(index, domEle){
		$(domEle)
		.error(function(){
			if ($(domEle).attr('src').indexOf('qlt=') > -1) {
				$(domEle).attr(
				'src',
				$(domEle).attr('src').replace(quality,'qlt=' + randomFromTo(70,100))
				)
				
			}
			
		})
		
	})
	
		
		
		$(window).load(function(){
			initDealerCatalogueSlideshow();
			setClickFunctions();
		})
		
		
	
	
	
	
}


function initDealerCatalogueSlideshow() {
	
	
	
	
	var
	currentImage, 
	currentIndex = -1,
	myTimer, 
	totalScreens = 1,
	currentScreen = 1,
	screenSeparator = 65,
	slideSeparator = 6,
	images = [];
	
	// init slider
	var loadedThumbs = 0;

	
					var
						serieWidth = 0;
					for (var i = 0; i < $('div.slides-area ul li.item').length; i ++) {

						serieWidth += $($('div.slides-area ul li.item')[i]).width() + 6;

						
						if (serieWidth >= 700) {

							totalScreens++;
							
							$($('div.slides-area ul li.item')[i]).css('margin-left', screenSeparator);

							serieWidth = $($('div.slides-area ul li.item')[i]).width() + 6;
						}
						
						$($('div.slides-area ul li.item')[i]).addClass('serie' + totalScreens);


					}
					
					
					if (totalScreens == 1) {
					
						hideButton('a.next');
						hideButton('a.previous');
						
						$('div.slides-area').css('width', 913);
						$('div.slides-area ul').css('width', 913);
						
						distributeMarginsEvenly('.item.serie1', 'div.slides-area');
						
						screenSeparator = 0;
						
						$('div.slides-area').css('height',214).hide().fadeIn();
						
					} else {
						
						// set container size
						$('div.slides-area ul').width(totalScreens * (913 + screenSeparator));
					
						for (var i = 1; i <= totalScreens; i++) {
							
							distributeMarginsEvenly('.item.serie' + i, 'div.slides-area');
							
						}
						
					$('div.slides-area').css('height',214).hide().fadeIn();
							
					hideButton('a.previous');

					// Reset scroll
					$('div.slides-area').animate({scrollLeft: 0}, 1500);

					// setup navigation button events
					if (totalScreens > 1) {

						$('div.controls-1 a.previous').click(function () {
						
							if (currentScreen > 1) {
								$('div.slides-area').animate({
									scrollLeft: (currentScreen - 2) * ($('div.slides-area').width() + screenSeparator)
								}, 1500);
								
								currentScreen--;
								
								if (currentScreen == 1) { 
									hideButton('a.previous'); showButton('a.next');
								} else {
								
									showButton('a.previous'); showButton('a.next');
									
								}
								
								
							}
							return false;
						});
						$('div.controls-1 a.next').click(function () {
						
							
							if (currentScreen < totalScreens) {
							
								$('div.slides-area').animate({

									scrollLeft: currentScreen * ($('div.slides-area').width() + screenSeparator)

								}, 1500);
								currentScreen++;
								
								if (currentScreen == totalScreens) { 
									showButton('a.previous'); hideButton('a.next'); 
								} else {
								
									showButton('a.previous'); showButton('a.next');
									
								}
							
								
							
							}
							return false;
						});
						
						

					} 
					
				}
				
				
			
}

// Show / Hide buttons

function hideButton(el) {
	$(el)
	.animate({
		'opacity': 0.3
	})
	.css('cursor','default')
	.data('clickable', false)
	.click(function(){ return false; })
}

function showButton(el) {
	$(el)
	.animate({
		'opacity': 1
	})
	.css('cursor','pointer')
	.data('clickable', false)
}


function getDescription(address, area){
	var $container = $(area).parent();
	//create loading image
	$container.append('<div id="LoaderImage" class="loading"><b></b></div>');
	//create reference to loader image

	
	
	$(area).remove();
	//load new page
	$container.load(address + ' ' + area);
	
}

function setClickFunctions() {
	var $imgList = $("div.listItem a");
	
	$("div.slider ul li a img").each(function (index, domEle) {
	       
			//Bind on each thumb: On click, load body with description
	        $(domEle).parent().bind('click', function() {
			
			  //alert('User clicked on' + $(domEle).parent().attr("href"));
			  //getDescription($(domEle).attr("href"));
			  getDescription($(domEle).parent().attr("href"), 'div.detailPubContainer > table');
			  return false;
			});
													
														
	});

  

}

// Distribute margins evenly

function distributeMarginsEvenly(el, parent) {
	var totalWidth = 0, rest = 0;
	 
	$(el).each(function (index, domEle) {

		totalWidth += $(domEle).width();


	})

	margins = ($(parent).width() - totalWidth) / ($(el).length - 1);

	$(el).css('margin-right', Math.floor(margins));
	
	rest =  $(parent).width() - (totalWidth + (Math.floor(margins) * ($(el).length - 1)));
	
	$(el).last().css('margin-right', rest);
}



// Search functions

function submitQuickSearch() {
    var keyWords = document.getElementById('inpQuickSearch').value;
    document.location.href = document.location.href.split('?')[0] + '?tabid=5&keyword=' + keyWords;
}

function submitCategory() {
    var url = document.getElementById('selCategory').value;
    document.location.href = document.location.href.substr(0, document.location.href.indexOf('DesktopDefault.aspx')) + url;
}

function entsub(e) {
    var evt = window.event ? e.keyCode : e.which;
    var keyPressed = evt;

    if (keyPressed == 13) {
        submitQuickSearch();
        return false;
    } else {
        return true;
    }
}

// Get variables from the url
function getUrlVarsFrom(url, preventUnwantedVars) {
    var vars = [],
        hash;
    var hashes = url.split('#')[0].slice(url.indexOf('?') + 1).split('&');
    for (var i = 0; i < hashes.length; i++) {
        hash = hashes[i].split('=');
        if (preventUnwantedVars == 1) {
            if (hash[0] != 'lg' && hash[0] != 'objectid' && hash[0] != 'tabindex' && hash[0] != 'page' && hash[0] != 'keyword' && hash[0] != 'mediaid' && hash[0] != 'testmode') {
                if (hash[0] == 'categoryid' && hash[1] == 0) {} else {
                    vars.push(hash[0]);
                    vars[hash[0]] = hash[1];
                }
            }
        } else {
            vars.push(hash[0]);
            vars[hash[0]] = hash[1];
        }
    }
    return vars;
}
