﻿jQuery(document).ready(function() {
    var slideWidth = 721;
    var slideTime = 12000;
    var pause = 0;
    var slideshowSelected = 1;
    var currentWebDevPosition = 0;
    var webDevSlides = jQuery('#WebDevSlideshow .slide');
    var webDevMenus = jQuery('#WebDevSlideshow .sliderMenuDiv');
    var numberOfWebDevSlides = webDevSlides.length;

    var currentBusinessSolutionPosition = 0;
    var businessSolutionSlides = jQuery('#BusinessSolutionsSlideshow .slide');
    var businessSolutionMenus = jQuery('#BusinessSolutionsSlideshow .sliderMenuDiv');
    var numberOfBusinessSolutionSlides = businessSolutionSlides.length;

    // Remove scrollbar in JS
    jQuery('.slidesContainer').css('overflow', 'hidden');

    webDevSlides
    .wrapAll('<div id="slideInnerWebDev"></div>')
    // Float left to display horizontally, readjust .webDevSlides width
    	.css({
    	    'float': 'left',
    	    'width': slideWidth
    	});

    // Set #slideInnerWebDev width equal to total width of all webDevSlides
    jQuery('#slideInnerWebDev').css('width', slideWidth * numberOfWebDevSlides);

    businessSolutionSlides
    .wrapAll('<div id="slideInnerBusinessSolution"></div>')
    // Float left to display horizontally, readjust .businessSolutionSlides width
    	.css({
    	    'float': 'left',
    	    'width': slideWidth
    	});

    // Set #slideInnerBusinessSolution width equal to total width of all businessSolutionSlides
    jQuery('#slideInnerBusinessSolution').css('width', slideWidth * numberOfBusinessSolutionSlides);

    // Insert Button controls in the DOM
    jQuery('#slideshow')
    .prepend('<span class="slideButtonControl" id="leftControl">Clicking moves left</span>')
    .append('<span class="slideButtonControl" id="rightControl">Clicking moves right</span>');

    // Create event listeners for .slideshow hover
    jQuery('#slideshow').hover(
         function() {
             pause = 1;
         },
         function() {
             pause = 0;
         }
     );

    jQuery('.SlideshowSelector')
    .bind('click', function() {
        if (jQuery(this).attr('id') == 'WebDevTab' && slideshowSelected != 1) {
            slideshowSelected = 1;
            jQuery('.SlideshowSelector').removeClass('selected').addClass('unselected');
            jQuery(this).removeClass('unselected').addClass('selected');
            jQuery('#BusinessSolutionsSlideshow').hide();
            jQuery('#WebDevSlideshow').show();
            unselectSelectWebDevMenu();
        }
        else if (jQuery(this).attr('id') == 'BusinessSolutionsTab' && slideshowSelected != 2) {
            slideshowSelected = 2;
            jQuery('.SlideshowSelector').removeClass('selected').addClass('unselected');
            jQuery(this).removeClass('unselected').addClass('selected');
            jQuery('#WebDevSlideshow').hide();
            jQuery('#BusinessSolutionsSlideshow').show();
            unselectSelectBusinessSolutionMenu();
        }
    });

    // Create event listeners for .slideButtonControl clicks
    jQuery('.slideButtonControl')
        .bind('click', function() {
            if (slideshowSelected == 1) {
                // Determine new position
                currentWebDevPosition = (jQuery(this).attr('id') == 'rightControl') ? currentWebDevPosition + 1 : currentWebDevPosition - 1;
                //Move the slideshow
                slideWebDevAlong();
            }
            else {
                // Determine new position
                currentBusinessSolutionPosition = (jQuery(this).attr('id') == 'rightControl') ? currentBusinessSolutionPosition + 1 : currentBusinessSolutionPosition - 1;
                //Move the slideshow
                slideBusinessSolutionAlong();
            }
        });

    // Create event listeners for .sliderMenuDiv click
    jQuery('.sliderMenuDiv')
        .bind('click', function() {
            var idArr = jQuery(this).attr('id').split('_');
            var index = idArr[idArr.length - 1];
            if (slideshowSelected == 1) {
                // Determine new position
                currentWebDevPosition = parseInt(index);
                //Move the slideshow
                slideWebDevAlong();
            }
            else {
                // Determine new position
                currentBusinessSolutionPosition = parseInt(index);
                //Move the slideshow
                slideBusinessSolutionAlong();
            }
        });


    // Rotation  and Timing Event
    autoPlay = function() {
        play = setInterval(autoSlide, slideTime);
    };

    // Highlight the selected menu item
    unselectSelectWebDevMenu();

    // Run function on launch
    autoPlay();

    function autoSlide() {
        if (pause == 0) {
            if (slideshowSelected == 1) {
                currentWebDevPosition = currentWebDevPosition + 1;
                slideWebDevAlong();
            }
            else {
                currentBusinessSolutionPosition = currentBusinessSolutionPosition + 1;
                slideBusinessSolutionAlong();
            }
        }
    }

    // --*** BEGIN WebDevSlide Specific code **--    
    // Move slideInnerWebDev using margin-left
    function slideWebDevAlong() {
        p = (currentWebDevPosition * slideWidth * -1);
        jQuery('#slideInnerWebDev').animate(
    	        { marginLeft: p },
    	        { queue: false, duration: 500, complete: adjustWebDev }
             );
    }

    function adjustWebDev() {
        if (currentWebDevPosition == numberOfWebDevSlides) currentWebDevPosition = 0;
        if (currentWebDevPosition < 0) currentWebDevPosition = numberOfWebDevSlides - 1;
        jQuery("#slideInnerWebDev").css("margin-left", (currentWebDevPosition * slideWidth * -1));
        // Hide / show controls
        unselectSelectWebDevMenu();
    };

    function unselectSelectWebDevMenu() {
        jQuery('.sliderMenuDiv').removeClass('selected').addClass('unselected');
        jQuery('#WebDevMnu_' + currentWebDevPosition).removeClass('unselected').addClass('selected');
    }
    // --*** END WebDevSlide Specific code **--

    // --*** BEGIN BusinessSolutionSlide Specific code **--
    // Move slideInnerBusinessSolution using margin-left
    function slideBusinessSolutionAlong() {
        p = (currentBusinessSolutionPosition * slideWidth * -1);
        jQuery('#slideInnerBusinessSolution').animate(
    	        { marginLeft: p },
    	        { queue: false, duration: 500, complete: adjustBusinessSolution }
             );
    }

    function adjustBusinessSolution() {
        if (currentBusinessSolutionPosition == numberOfBusinessSolutionSlides) currentBusinessSolutionPosition = 0;
        if (currentBusinessSolutionPosition < 0) currentBusinessSolutionPosition = numberOfBusinessSolutionSlides - 1;
        jQuery("#slideInnerBusinessSolution").css("margin-left", (currentBusinessSolutionPosition * slideWidth * -1));
        // Hide / show controls
        unselectSelectBusinessSolutionMenu();
    };

    function unselectSelectBusinessSolutionMenu() {
        jQuery('.sliderMenuDiv').removeClass('selected').addClass('unselected');
        jQuery('#BusinessSolutionMnu_' + currentBusinessSolutionPosition).removeClass('unselected').addClass('selected');
    }
    // --*** END WebDevSlide Specific code **--    
});

