$(document).ready(function () {
    highlightCurrent();
    handleLanguageMenu();

    activateMainMenuAnimations();



    switch (getUrlVarsFrom(document.location.href, true)['tabid']) {

    case '50':
        /*load();*/
        handleContactPage();
        hideEmptyRequisitionMessages();
        break;
    case '49':
        hideEmptyRequisitionMessages();
        break;
    case '9':
        hideEmptyRequisitionMessages();
        break;
    case '5':
        handleInventoryPage();
        break;
    case '1':
        if (!getUrlVarsFrom(document.location.href, true)['intro']) showIntro();
        handleHomePage();
        break;
    case undefined:
		if (!getUrlVarsFrom(document.location.href, true)['intro']) showIntro();
        handleHomePage();
        break;
    }

	setIntroPlayed();


})

function getUrlVarsFrom(url, preventUnwantedVars) {
    var vars = [],
        hash;
    var hashes = url.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] != 'intro') {
                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;
}


function handleContactPage() {
    // hide confirmation span if it has no content
    if ($('span.confirmation').is(":empty")) $('span.confirmation').css('display', 'none');



    $('.inputBox.select label').html($('.inputBox.select select option:first').html());

	if ($('#fr').hasClass('active')) {
		$('#time').html('Ouvert<br/> Lundi - vendredi 10h-19h<br/>Samedi 14h-18h<br/>Et sur RDV.');
	}


}

function hideEmptyRequisitionMessages() {
    $('span.req').each(function (index, domEle) {
        if ($(domEle).css('visibility') == 'hidden') $(domEle).css('display', 'none');

    })
}

/* 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;
    }
}



function handleLanguageMenu() {

    $("ul.langMenu > li > a").each(function (index, domEle) {
        var currentLg = getUrlVarsFrom(window.location.href, false)['lg'],
            newLg = getUrlVarsFrom($(domEle).attr('href'), false)['lg'];
        if (currentLg != newLg) {

            if (currentLg === undefined) {
                if (getUrlVarsFrom(window.location.href, false).length > 1) {
                    $(domEle).bind('click', function () {
                        window.location = window.location.href + '&lg=' + newLg;
                        return false;
                    })
                }
            } else {
                $(domEle).bind('click', function () {
                    window.location = window.location.href.replace('lg=' + currentLg, 'lg=' + newLg);
                    return false;
                })
            }

        } else {
            $(domEle).bind('click', function () {
                window.location = window.location.href;
                return false;
            })

        }

    })

}

function handleInventoryPage() {

    $('div#content div#list-wrapper').prepend('<ul class="picList" />')

    $('.picListTable a').each(function (index, domEle) {
        $('ul.picList').append('<li />')
        $(domEle).appendTo('ul.picList li:last');

    })
}


// Homepage
var currentImage;
var currentIndex = -1;
var interval, dimensions = new RegExp('&cell=[0-9]*,[0-9]*');
var myTimer;
var images= [];



function setContentSize() {

    //calculate content height (substract header height and bottom navigation height)
    $('div#content').height($(window).height() - $('#top').css('height').slice(0, -2) - 20);
    //calculate content width (substract left menu width)
    $('div#content').width($(window).width() - 160 - 10);
    //set main image to occupy the whole content area
	
}

function showImage(index) {
    var indexImage = $('.imageNav li')[index]

    currentImage = indexImage;
    currentIndex = index;
    $('.imageNav li img').removeClass('active');
    $($('.imageNav li')[index]).children('img').addClass('active');

    $('img#mainImage').fadeOut(300, function () {



        setContentSize();


        $('img#mainImage').attr('src', $('.imageNav li img.active').attr('src').replace(dimensions, '&cell=' + $('#content').width() +',' + $('#content').height()));

		$('div#content').prepend('<div class="loading"></div>');

        $('img#mainImage').load(function () {
			$('div#content div.loading').remove();
            $('img#mainImage').fadeIn();


        })

    })


    clearTimeout(myTimer);
    myTimer = setTimeout("showNext()", 10000);


}

function showNext() {
    var len = $('.imageNav li').length;
    var next = currentIndex < (len - 1) ? currentIndex + 1 : 0;

    showImage(next);
}



function handleHomePage() {
    var navWidth = 0,
        overflow = -1;


    function setHomeSizes() {
		
		$('img#mainImage').attr('src', $('img#mainImage').attr('src').replace(dimensions, '&cell=841,' + $('#content').height()));

        navWidth > $('.navContainer').width() ? overflow = 1 : overflow = -1;
        //reset nav pos
        if (overflow < 0) $('.imageNav').css('left', '0');

    }
    $(window).resize(function () {
        setContentSize();
        setHomeSizes();
    });

    var navVis = 0;

    $(document).mousemove(function (e) {
        if (e.pageX > 150 && overflow > 0) $('.imageNav').css('left', (((e.pageX - 160 - $('.navContainer').width() / 2) / ($('.navContainer').width() / 2) / 2) + 0.5) * -(navWidth - $('.navContainer').width()) + 'px');
        if (e.pageY > $(window).height() - 111 && navVis == 0) {
            $('.navContainer').animate({
                bottom: "0px"
            });
            $('.navButton').animate({
                opacity: 0
            });
            navVis = 1;
        }
        if (e.pageY < $(window).height() - 111 && navVis == 1) {
            $('.navContainer').animate({
                bottom: "-120px"
            });
            $('.navButton').animate({
                opacity: 1
            });
            navVis = 0;
        }

    });




var loaded = 0;	

    $(document).ready(function () {






        $("<div>").load('http://www.galeriechenel.com/Galerie-Chenel-The-Collection-Galerie-Chenel-Catalogue-DesktopDefault.aspx?tabid=5&categoryid=8916 div#content', function () {

            $('div#content').append($(this).find('table.picListTable').parent().html());


            $('table.picListTable img').each(function (index, domEle) {

                $(domEle).attr('src', $(domEle).attr('src').replace(dimensions, '&cell=400,75'));
                $('ul.imageNav').append('<li>' + $(domEle).parent().html() + '</li>');



                $(domEle).remove();
            })

            $('table.picListTable').remove();

            $('ul.imageNav img').each(function (index, domEle) {
				images.push($(domEle).attr('src'));
                $(domEle).bind('click', function () {
                    $('.imageNav li img').removeClass('active');
                    $(domEle).addClass('active');

                    showImage($(domEle).parent().index());

                })
				
				
				$(domEle).load(function() {
					loaded+=1;
					
					if (loaded == images.length) {
						

navWidth = 0;
        $('.imageNav li').each(function (index, domEle) {
            navWidth += $(domEle).width() + 10;
        });

        if (navWidth > $('.navContainer').width()) overflow = 1;

						
					}
				}); 
            });



            $('ul.imageNav li:first img').addClass('active');
            myTimer = setTimeout("showNext()", 4000);
            showNext(); //loads first image



navWidth = 0;
        $('.imageNav li').each(function (index, domEle) {
            navWidth += $(domEle).width() + 10;
        });

        if (navWidth > $('.navContainer').width()) overflow = 1;

        });





/*//fill navigation bar with dummie data
for (i=0; i<30; i++)
$('.imageNav').append('<li><div class="num">'+i+'</div></li>');
*/


        $('.navButton').animate({
            opacity: 0
        });

        $('img#mainImage').css('display', 'block');

    })

   

}


function handleHomePage22() {
}


function handleHomePage24() {}

function activateMainMenuAnimations() {

    $('.mainMenu li a').each(function (index, domEle) {

        $(domEle).hover(function () {
            $(domEle).animate({
                'letter-spacing': 3
            });
        }, function () {
            if (!$(domEle).hasClass('active')) $(domEle).animate({
                'letter-spacing': 0
            });

        })

    })
}

//MENU FUNCTIONS

function nrKeys(a) {
    var i = 0;
    for (key in a) {
        i++;
    }
    return i;
}

function compareAssociativeArrays(a, b) {
    if (a == b) {
        return true;
    }
    if (nrKeys(a) != nrKeys(b)) {
        return false;
    }
    for (key in a) {
        if (a[key] != b[key]) {
            return false;
        }
    }
    return true;
}




function handleLanguageMenu() {

    $("ul.langMenu > li > a").each(function (index, domEle) {
        var currentLg = getUrlVarsFrom(window.location.href, false)['lg'],
            newLg = getUrlVarsFrom($(domEle).attr('href'), false)['lg'];
        if (currentLg != newLg) {

            if (currentLg === undefined) {
                if (getUrlVarsFrom(window.location.href, false).length > 1) {
                    $(domEle).bind('click', function () {
                        window.location = window.location.href + '&lg=' + newLg;
                        return false;
                    })
                }
            } else {
                $(domEle).bind('click', function () {
                    window.location = window.location.href.replace('lg=' + currentLg, 'lg=' + newLg);
                    return false;
                })
            }

        } else {
            $(domEle).bind('click', function () {
                window.location = window.location.href;
                return false;
            })

        }

    })

}

function highlightCurrent() {
	$("ul.mainMenu a").css('letter-spacing',0);
    //check for matches on menu
    $("ul.mainMenu a").each(function (index, domEle) {
        if (compareAssociativeArrays(getUrlVarsFrom(window.location.href, 1), getUrlVarsFrom($(domEle).attr('href'), 1))) {
            $(domEle).addClass('active').animate({
                'letter-spacing': 3
            });
        }
    })


}

var introPlayed = 0;

function showIntro() {
    $('body').prepend('<div id="frame1" />');
    $('body').prepend('<div id="frame2" />');

    setTimeout(function () {
        $('#frame1').fadeOut(1400, function () {
            setTimeout(function () {
                $('#frame2').fadeOut(1400);
            }, 1000);

        });
    }, 1000);

	introPlayed = 1;
}


function setIntroPlayed() {
	if (getUrlVarsFrom(document.location.href, true)['intro'] == 1 || introPlayed == 1) {
		
		$('a').each(function(index, domEle){
			if (!$(domEle).parents('div#content.links').length > 0 && !$(domEle).parents('div#content.contact').length > 0) {
			if (getUrlVarsFrom($(domEle).attr('href'))['tabid']) {
				
				$(domEle).attr('href',$(domEle).attr('href') + '&intro=1');
			} else {
				if ($(domEle).attr('href').indexOf('?') < 0) {
					$(domEle).attr('href',$(domEle).attr('href') + '?intro=1');
				}
				
			}
			}
			
		})
		
		
	}
}


