﻿ var hypes = [];		
 var slideTargets = [];		

jQuery.fn.getHyper = function() {	
    var hypers = this;
    jQuery(hypers).each(function(i){
        hypes[i] = [this.href];
    })
    
    jQuery(hypers).each(function(i){
        slideTargets[i] = [this.target];
    })    
}            


jQuery.fn.promotion_slides = function(s,slideshow,styling) {	
		var promotion_slides = this;
		var img = [];
        var currentImage = 0;
        var buttonTopBuffer = 0;
        if (jQuery.browser.msie) {
            if (jQuery.browser.version.substr(0,3)=="7.0" || jQuery.browser.version.substr(0,3)=="6.0")
                buttonTopBuffer = 21;
        }
        var buttonStopStartTop = 251 + buttonTopBuffer;
		var speed = 3000; if(s) speed = parseInt(s,10);		
		var take = 0;
		if(slideshow==undefined) {
			slideShowSpeed = speed*2.5;
		} else if(slideshow) {
			slideShowSpeed = slideshow;
		} else if (!slideshow) {
			take = 1;
		}
		var promotion_slidesStructure = '<div id="pager" style="display:none; margin: 0 0 0 0; left: 320px; top:483px;" ><ul></ul></div><div id="img-promotion_slides"  style="margin: 0 0 0 0; left: 275px; top:214px;"><a class="img-hyp" href=""><img style="display:none" /></a></div>';
        if (jQuery.browser.msie) {
            if (jQuery.browser.version.substr(0,3)=="7.0" || jQuery.browser.version.substr(0,3)=="6.0")
                promotion_slidesStructure = '<div id="pager" style="display:none; margin: 0 0 0 0; left: 271px; top:487px;" ><ul></ul></div><div id="img-promotion_slides"  style="margin: 0 0 0 0; left: 226px; top:218px;"><a class="img-hyp" href=""><img style="display:none" /></a></div>';
        }
		var started = false;
		var active = false;
		var stopclicked = false;
		var startclicked = false;
		var previousclicked = false;
		var nextclicked = false;
		var clickeventfired = false;
		var runcount = 0;				
	    
		jQuery(promotion_slides).each(function(i){
			jQuery(this).hide();
			img[i] = [this.src,this.alt,jQuery(this).attr('longdesc')];
			this.onload = function(){
				jQuery(this).remove();
			}
			promotion_slides[promotion_slides.length-1].onload = function(){
				jQuery(this).remove();
				start();
				started = true;
				active = true;
			}
			setTimeout(function(){
				if(!started) start();
			},2000)
		})
		function start(){
			
		    clickeventfired = false;
			
	        jQuery('body').prepend(promotion_slidesStructure);
	        jQuery('#img-promotion_slides').corner("20px");
			
			var buttonPos = 0;
			var buttonWidth = 25;
			var buttonTop = 41;
			var imgCount = 0;
						
			if ((jQuery('#pager li').size()) > 0)
			{
			    jQuery('#pager li:(0)').remove();
			}			

		    jQuery('#pager ul').append('<li><div id="previousbutton" style="margin: 0 0 0 0; left: 0px; width: 25px; position: absolute; top: ' + buttonTop + 'px; height: 24px;"><a href="#Previous" id="previous_slide" title="Previous Slide"><</a></div></li>');
		    buttonPos = buttonWidth;

			jQuery(img).each(function(i){
		        jQuery('#pager ul').append('<li><div id="pager_button' + (i + 1) + '" style="left: ' + buttonPos + 'px; position: absolute; top: ' + buttonTop + 'px; height: 20px; width:' + buttonWidth + 'px;"><a href="#img' + (i + 1) + '">' + (i + 1) + '</a></div></li>');
			    buttonPos = buttonPos + buttonWidth;
			})
			
			imgCount =  (jQuery('#pager li').size()) - 2;
						
		    jQuery('#pager ul').append('<li><div id="nextbutton" style="margin: 0 0 0 0; left: ' + buttonPos + 'px; width:' + buttonWidth + 'px; position: absolute; top: ' + buttonTop + 'px; height: 24px;"><a href="#Next" id="next_slide" title="Next Slide">></a></div></li>');

                                   
            if (jQuery.browser.msie) {
                jQuery('#pager ul a').eq(1).css('color','Red');
			    changeImage(0);
            } else {
			    changeImage(0);
                jQuery('#pager ul a').eq(1).css('color','Red');
			}
			
			//alert((jQuery('#pager li').size()));

			jQuery('#pager ul a:not(#playstop)').click(function(){

				if (clickeventfired == false){

				    clickeventfired = true;

				    var imgToLoad = jQuery(this).attr('href');
				    imgToLoad = imgToLoad.split('#');
    				
		            if (imgToLoad[1] == 'Previous')
		            {
		                previousclicked = true;
		                nextclicked = false;
                        if (active == true)
                        {
                            if (currentImage == 1) 
                                {imgToLoad = promotion_slides.length - 1;}
                            else 
		                        {imgToLoad = currentImage - 2;}
		                } 
		                else 
		                {
                            if (currentImage == 0) 
                                {imgToLoad = promotion_slides.length - 1;}
                            else 
	                            {imgToLoad = currentImage - 1;}
		                }
		            } 
		            else if (imgToLoad[1] == 'Next')
		            {
		                nextclicked = true;
                        previousclicked = false;
                        if (active == true)
                        {
                            if (currentImage == promotion_slides.length) 
                                {imgToLoad = 0;}
                            else 
		                        {imgToLoad = currentImage;}
		                } 
		                else 
		                {
                            if (currentImage == promotion_slides.length - 1) 
                                {imgToLoad = 0;}
                            else 
	                            {imgToLoad = currentImage + 1;}
		                }
		            }
		            else 
		            {
		                nextclicked = false;
                        previousclicked = false;
		                imgToLoad = parseInt(imgToLoad[1].substr(3)) - 1;
		            }
            
                    changeImage(imgToLoad);
                 	stopSlideShow();
                 	
				    if(window['ssr']) jQuery('#img-promotion_slides ul a#playstop').click();

				    clickeventfired = false;
				}				
				return false;
			})
            
			jQuery('#pager ul a#playstop').toggle(
			    function(){
			        if(promotion_slides.length > 1)
			        {
				        stopSlideShow();
				        return false;
			        } else {
                        if (active != true)
                        {
    				        startSlideShow();
    				    }
				        return false;
				    }
			    }
			, function(){
			        if(promotion_slides.length > 1)
			        {
                        if (active != true)
                        {
    				        startSlideShow();
    				    }
				        return false;
			        } else {
				        stopSlideShow();
				        return false;
				    }
			    }
			)
            
			function changeImage(n, callback){
                runcount++;
	            currentImage = n;
		        jQuery('#img-promotion_slides img').fadeOut(speed / 2, function(){
			        var originalWidth = jQuery('#img-promotion_slides img').width();		        
			        jQuery('#img-promotion_slides img').attr('src', img[n][0]).attr('alt', img[n][1]);		            		            
		            jQuery('#img-promotion_slides a.img-hyp').attr('href', hypes[n]);
   			        jQuery('#img-promotion_slides a.img-hyp').attr('target', slideTargets[n]);
			        
			        var width = jQuery('#img-promotion_slides img').width();
			        var height = jQuery('#img-promotion_slides img').height();
                    jQuery('#pager ul a').eq(n + 1 - take).css('color','Red');
			        //jQuery('#pager ul a:eq(' + (n + 1 - take) + ')').css('color','Red');
                    if (jQuery.browser.safari) {
                        width = originalWidth;
                    } 					    
			        if (width == originalWidth) { fadeInAll(); } else { animate(); }
			        function animate(){ 
				        jQuery('#img-promotion_slides ul').fadeOut(speed / 2, function(){
					        jQuery('#img-promotion_slides').animate({
						        width: width,
						        height: height
					        }, speed / 2, function(){
						        fadeInAll(true)
					        })
				        })
			        }
			        function fadeInAll(fromAnimate){
				        var localSpeed = speed;
				        if (!fromAnimate) 
					        localSpeed = speed / 2;
				        jQuery('#img-promotion_slides img').fadeIn(localSpeed / 2);
				        //if (callback) callback();
				        if (styling) styling();
			        }
		        })
		        //jQuery('#pager ul a').removeClass('active');				
                if (jQuery.browser.msie) {
                    if  (runcount > 2){			                                          
                        jQuery('#pager ul a').css('color','#ccc');
                    }
                } else if (jQuery.browser.mozilla) { 
                    if  (runcount > 2){			                                          
                        jQuery('#pager ul a').css('color','#ccc');
                    }
                }
                else {
                    jQuery('#pager ul a').css('color','#ccc');
			    }
			}
			
			function startSlideShow(){
			    var imgToStart = currentImage;
			     active = true;
                 nextclicked = false;
                 previousclicked = false;
                 if (imgToStart == promotion_slides.length) {imgToStart = 0;}
                 window['promotion_slidesTimeout'] = setTimeout(function(){startSlideShow()}, slideShowSpeed)
                 try {
                     if (jQuery.browser.safari) {
                        if  (runcount < 2){			                       
			                jQuery('#pager ul a:eq(' + (1) + ')').addClass('active');
                        } else {
                            changeImage(imgToStart, function(){eval(promotion_slidesTimeout);});
                        }
                     } else {               
                        changeImage(imgToStart, function(){eval(promotion_slidesTimeout);});
                     }
                     runcount++;
                     currentImage++;
                 } catch (err) {
                     runcount++;
                     currentImage++;                 
                 }
			}
			
			function stopSlideShow(){
    		    active = false;
				window['ssr'] = false;
				clearTimeout(eval(promotion_slidesTimeout));
				stopclicked = true;				
			}
						
            if(promotion_slides.length > 1){
                if (active != true)
                {
			        startSlideShow();
                    jQuery('#pager').fadeIn(speed / 2);
			        jQuery('#img-promotion_slides').css("background", "#E6E6E6");
			    }
            }
		}
}


