﻿
        dojo.require("dojo.fx");
        dojo.require("dojo.fx.easing");
        dojo.require("dijit.form.ValidationTextBox");
        dojo.require("dojox.validate.regexp");
        dojo.require("dojo.parser");



        //You can customize these settings. Opacity ranges from 0 - 1. 0 is transparent. Duration is in milliseconds.

        var start_NonStop_PulseOpacity = .25;
        var end_NonStop_PulsOpacity = 1;
        var nonStop_PulseDuration = 1000;


        var start_PulseOpacity = .25;
        var end_PulseOpacity = 1;
        var pulseDuration = 750;

        var pulsingHandle;
        var nonStopPulsingHandle;
		
		var interactiveMapClickThrough = "";

        function closeWin() {
            console.log("Was here!");
            window.close();
        }
		
		function clearForm(evt) {
		    //document.myForm.myField.value = "";
		    console.log("Clearform");
			evt.value = "";
			console.log(evt);

			
			
			
		}
		
		function formSubmitClicked(evt){			

			
				dojo.style(dojo.byId("hiddenThanks"), {	
                    "visibility": "visible"
                });
			
		}

        function init() {


            addPDFPrint();
            addMapActions();
			addSplashActions();
			addListArrowActions();
            addMenuActions();
            addPulsing(start_PulseOpacity, end_PulseOpacity, pulseDuration);
            addOtherPulsing(start_PulseOpacity, end_PulseOpacity, pulseDuration);
            addNonStopPulsing(start_NonStop_PulseOpacity, end_NonStop_PulsOpacity, nonStop_PulseDuration);
        }


        function addPDFPrint() {



            var inputs = dojo.query(".printPDFs"), input;
            for (var i = 0, il = inputs.length; i < il; i++) {
                            
                dojo.connect(inputs[i], "onclick", function (evt) {
                    //some magic to make the pdf print autmatically....
                    console.log(evt.currentTarget.id.replace("_","."));
                });

            }




        }
		
		function mapWrapperClick(evt){
			if(interactiveMapClickThrough != "") {
				window.open('popUpPages/'+interactiveMapClickThrough+'','linkname','height=610, width=700, status=yes, toolbar=no, menubar=no, location=no, scrollbars=no, titlebar=no')
			}

			
		}

        function addMapActions() {




            var inputs = dojo.query(".interactiveMapCallOut"), input;
            for (var i = 0, il = inputs.length; i < il; i++) {

                dojo.style(inputs[i], {
                    "opacity": "0",
                    "visibility": "visible"
                });
            }

             
        }

function otherMapActions(evt) {
	dojo.disconnect(pulsingHandle);	
}

        function runMapActions(evt) {
			dojo.disconnect(pulsingHandle);	
            console.log(evt.id);
			interactiveMapClickThrough = evt.id.replace("imageMap_","")+"PopUp.htm";
            var currentAnimation;
            var inputs = dojo.query(".interactiveMapCallOut"), input;
            for (var i = 0, il = inputs.length; i < il; i++) {

                if ((dojo.style(inputs[i], "opacity") > 0) && evt.id != inputs[i].id) {
                    //console.log(inputs[i].id);
                    currentAnimation = dojo.fadeOut({ node: inputs[i], duration: 500 });
                    currentAnimation.play();
                }
            }
                        
            callOutName = evt.id
            callOutName = callOutName.replace("imageMap_", "interactiveMap_callout_");
            currentAnimation = dojo.fadeIn({ node: callOutName, duration: 500 });
            currentAnimation.play();

//            pulseObjects(evt.id.replace("imageMap_","stores_"), "startStop", start_PulseOpacity, end_PulseOpacity, pulseDuration);


        }
		
		
		
		function addListArrowActions(){
			
			
			
			
			
	            var inputs = dojo.query(".HighlightAction"), input;
		        for (var i = 0, il = inputs.length; i < il; i++) {
                

				   dojo.connect(inputs[i], "onmouseenter", function (evt) {
						var navName = evt.currentTarget.id;
						dojo.toggleClass(navName, navName.replace('_ID',''));

				   });
		
				   dojo.connect(inputs[i], "onmouseleave", function (evt) {
						var navName = evt.currentTarget.id;			
						dojo.toggleClass(navName, navName.replace('_ID',''));
					});




            }
			
			
			
			
	
			
		}
		
		
		
		function addSplashActions(){
				   dojo.connect(dojo.byId("splashArrowTest"), "onmouseenter", function (evt) {
					   dojo.disconnect(nonStopPulsingHandle);
   					   dojo.disconnect(pulsingHandle);
						 var navName = evt.currentTarget.id;
						dojo.attr(navName,'src',dojo.attr(dojo.byId("splashArrowTest"),'src').replace('off','on'));	
				   });
		
				   dojo.connect(dojo.byId("splashArrowTest"), "onmouseleave", function (evt) {
						 var navName = evt.currentTarget.id;
						 dojo.attr(navName,'src',dojo.attr(this,'src').replace('on','off'));
						 pulseObjects(navName, "startStop", start_PulseOpacity, end_PulseOpacity, pulseDuration);
					});
	
			
		}

        function addMenuActions() {


            var inputs = dojo.query(".subNavRollover"), input;
            for (var i = 0, il = inputs.length; i < il; i++) {
                

				   dojo.connect(inputs[i], "onmouseenter", function (evt) {
						 var navName = evt.currentTarget.id;
						dojo.attr(navName,'src',dojo.attr(this,'src').replace('Black','White'));	
				   });
		
				   dojo.connect(inputs[i], "onmouseleave", function (evt) {
						 var navName = evt.currentTarget.id;
						 dojo.attr(navName,'src',dojo.attr(this,'src').replace('White','Black'));
					});




            }




        }

        function addOtherPulsing(start_PulseOpacity, end_PulseOpacity, pulseDuration) {
            var inputs = dojo.query(".pulseOther"), input;
            for (var i = 0, il = inputs.length; i < il; i++) {

                

                dojo.connect(inputs[i], "onmouseenter", function (evt) {
                    var objectID = evt.currentTarget.id + "_Pulse";
                    pulseObjects(objectID, "startStop", start_PulseOpacity, end_PulseOpacity, pulseDuration);
                });

                dojo.connect(inputs[i], "onmouseleave", function (evt) {
                    dojo.disconnect(pulsingHandle);
                
                });

            }
        }


        function addPulsing(start_PulseOpacity, end_PulseOpacity, pulseDuration) {
            var inputs = dojo.query(".pulsing"), input;

            

            for (var i = 0, il = inputs.length; i < il; i++) {

                            
                    dojo.connect(inputs[i], "onmouseenter", function (evt) {
                    var objectID = evt.currentTarget.id;
                    pulseObjects(objectID, "startStop", start_PulseOpacity, end_PulseOpacity, pulseDuration);
                });

                dojo.connect(inputs[i], "onmouseleave", function (evt) {
                    dojo.disconnect(pulsingHandle);                    
                });

            }
        }


        function addNonStopPulsing(start_NonStop_PulseOpacity, end_NonStop_PulsOpacity, nonStop_PulseDuration) {
            var inputs = dojo.query(".nonStopPulsing"), input;
            for (var i = 0, il = inputs.length; i < il; i++) {
                pulseObjects(inputs[i].id, "nonStop", start_NonStop_PulseOpacity, end_NonStop_PulsOpacity, nonStop_PulseDuration);
            }
        }



        function pulseObjects(objectID, type, start_Opacity, end_Opacity, duration) {

            

            var fadeIn = dojo.animateProperty(
            {
                node: objectID,
                duration: duration,
                properties: {
                    opacity: { start: start_Opacity, end: end_Opacity }

                }
            });


            var fadeOut = dojo.animateProperty(
            {
                node: objectID,
                duration: duration,
                properties: {
                    opacity: { start: end_Opacity, end: start_Opacity }

                }
            });

            var currentAnimation;

            currentAnimation = dojo.fx.chain([fadeOut, fadeIn]);
            currentAnimation.play();

            if (type == "startStop") {
                pulsingHandle = dojo.connect(currentAnimation, "onEnd", function () {
                    pulseObjects(objectID, "startStop", start_Opacity, end_Opacity, duration);
                });
            } else {
                nonStopPulsingHandle = dojo.connect(currentAnimation, "onEnd", function () {
                    pulseObjects(objectID, "nonStop", start_Opacity, end_Opacity, duration);
                });

            }


        }

        dojo.addOnLoad(init);

    
