$j(document).ready(function(){
// Call specific functions to each page
		switch (getUrlVarsFrom(document.location.href, true)['tabid']) {
			
			case '10':
				initDealerPage();
				break;
			
		
		}

})


//Match truespectra parameters

var dimensions = new RegExp('cell=[0-9]*,[0-9]*'),

quality = new RegExp('qlt=[0-9]*');


// Dealer Catalogue page functionalities
function initDealerPage() {
	
	// Hide slideshow while loading
	$j('div.slides-area').css('height',0);
	
	
	function randomFromTo(from, to){
		return Math.floor(Math.random() * (to - from + 1) + from);
	}

	


	$j('img').each(function(index, domEle){
		$j(domEle)
		.error(function(){
			if ($j(domEle).attr('src').indexOf('qlt=') > -1) {
				$j(domEle).attr(
				'src',
				$j(domEle).attr('src').replace(quality,'qlt=' + randomFromTo(70,100))
				)
				
			}
			
		})
		
	})
	
	
		
		
		$j(window).load(function(){
			initDealerCatalogueSlideshow();
			setClickFunctions();
		})
		
		
	setupAccordion();
	
	
	
}

function setupAccordion() {
	$j('div.artist-wrapper a.name').click(function(){
		
		$j(this).closest('div.artist-wrapper').children('div.description-area').slideToggle();
		return false;
		
	});
}

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 < $j('div.slides-area ul li.item').length; i ++) {

						serieWidth += $j($j('div.slides-area ul li.item')[i]).width() + 6;

						
						if (serieWidth >= 600) {

							totalScreens++;
							
							$j($j('div.slides-area ul li.item')[i]).css('margin-left', screenSeparator);

							serieWidth = $j($j('div.slides-area ul li.item')[i]).width() + 6;
						}
						
						$j($j('div.slides-area ul li.item')[i]).addClass('serie' + totalScreens);


					}
					
					
					if (totalScreens == 1) {
					
						$j('div.controls-1').remove();
						
						if ($j('div.slider img').length == 0) $j('div.slider').remove();
						
						$j('div.slides-area').css('width', 659);
						$j('div.slides-area ul').css('width', 659);
						
						distributeMarginsEvenly('.item.serie1', 'div.slides-area');
						
						screenSeparator = 0;
						
						$j('div.slides-area').css('height',214).hide().fadeIn();
						
					} else {
						
						// set container size
						$j('div.slides-area ul').width(totalScreens * (659 + screenSeparator));
					
						for (var i = 1; i <= totalScreens; i++) {
							
							distributeMarginsEvenly('.item.serie' + i, 'div.slides-area');
							
						}
						
					$j('div.slides-area').css('height',214).hide().fadeIn();
							
					hideButton('a.previous');

					// Reset scroll
					$j('div.slides-area').animate({scrollLeft: 0}, 1500);

					// setup navigation button events
					if (totalScreens > 1) {

						$j('div.controls-1 a.previous').click(function () {
						
							if (currentScreen > 1) {
								$j('div.slides-area').animate({
									scrollLeft: (currentScreen - 2) * ($j('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;
						});
						$j('div.controls-1 a.next').click(function () {
						
							
							if (currentScreen < totalScreens) {
							
								$j('div.slides-area').animate({

									scrollLeft: currentScreen * ($j('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) {
	$j(el)
	.animate({
		'opacity': 0.3
	})
	.css('cursor','default')
	.data('clickable', false)
	.click(function(){ return false; })
}

function showButton(el) {
	$j(el)
	.animate({
		'opacity': 1
	})
	.css('cursor','pointer')
	.data('clickable', false)
}


function getDescription(address, area){
	var $container = $j(area).parent();
	//create loading image
	$container.append('<div id="LoaderImage" class="loading"><b></b></div>');
	//create reference to loader image

	
	
	$j(area).remove();
	//load new page
	$container.load(address + ' ' + area);
	
}

function setClickFunctions() {
	var $imgList = $j("div.listItem a");
	
	$j("div.slider ul li a img").each(function (index, domEle) {
	       
			//Bind on each thumb: On click, load body with description
	        $j(domEle).parent().bind('click', function() {
			
			  //alert('User clicked on' + $j(domEle).parent().attr("href"));
			  //getDescription($j(domEle).attr("href"));
			  getDescription($j(domEle).parent().attr("href"), 'div.detailPubContainer > table');
			  return false;
			});
													
														
	});

  

}

// Distribute margins evenly

function distributeMarginsEvenly(el, parent) {
	var totalWidth = 0, rest = 0;
	 
	$j(el).each(function (index, domEle) {

		totalWidth += $j(domEle).width();


	})

	margins = ($j(parent).width() - totalWidth) / ($j(el).length - 1);

	$j(el).css('margin-right', Math.floor(margins));
	
	rest =  $j(parent).width() - (totalWidth + (Math.floor(margins) * ($j(el).length - 1)));
	
	$j(el).last().css('margin-right', rest);
}


// 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;
}
