/***********************
* Adobe Edge Composition Actions
*
* Edit this file with caution, being careful to preserve 
* function signatures and comments starting with 'Edge' to maintain the 
* ability to interact with these actions from within Adobe Edge
*
***********************/
(function($, Edge, compId){
var Composition = Edge.Composition, Symbol = Edge.Symbol; // aliases for commonly used Edge classes

   //Edge symbol: 'stage'
   (function(symbolName) {
      
      
      Symbol.bindElementAction(compId, symbolName, "document", "compositionReady", function(sym, e) {
//get the id of the clicked item         // insert code to be run when the composition is fully loaded here
              
         var headline;
         var headlinetxt = sym.getSymbol("styleMc").$("headlineTxt").css("pointer-events","none");
         var stand;
         var standtxt = sym.getSymbol("styleMc").$("standTxt").css("pointer-events","none");
         var source;
         var sourcetxt = sym.getSymbol("styleMc").$("sourceTxt").css("pointer-events","none");
         var menu0;
         var menu0txt = sym.getSymbol("styleMc").$("menuTxt0").css("pointer-events","none");
         var menu1;
         var menu1txt = sym.getSymbol("styleMc").$("menuTxt1").css("pointer-events","none");
         var txt1;
         var txt1txt = sym.$("txt1").css("pointer-events","none");
         var txt2;
         var txt2txt = sym.getSymbol("keyMc").$("txt2").css("pointer-events","none");
         var txt3;
         var txt3txt = sym.getSymbol("keyMc").$("txt3").css("pointer-events","none");
         var txt4;
         var txt4txt = sym.getSymbol("keyMc").$("txt4").css("pointer-events","none");
         var txt5;
         var txt5txt = sym.getSymbol("keyMc").$("txt5").css("pointer-events","none");
         var txt6;
         var txt6txt = sym.getSymbol("keyMc").$("txt6").css("pointer-events","none");
         var txt7;
         var txt7txt = sym.getSymbol("keyMc").$("txt7").css("pointer-events","none");
         var txt8;
         var txt8txt = sym.getSymbol("keyMc").$("txt8").css("pointer-events","none");
         var txt9;
         var txt9txt = sym.getSymbol("keyMc").$("txt9").css("pointer-events","none");
         var txt10;
         var txt10txt = sym.getSymbol("keyMc").$("txt10").css("pointer-events","none");
         var txt11;
         var txt11txt = sym.getSymbol("keyMc").$("txt11").css("pointer-events","none");
         var txt12;
         var txt12txt = sym.getSymbol("keyMc").$("txt12").css("pointer-events","none");
         var txt13;
         var txt13txt = sym.getSymbol("keyMc").$("txt13").css("pointer-events","none");
         var txt14;
         var txt14txt = sym.getSymbol("keyMc").$("txt14").css("pointer-events","none");
         var txt15;
         var txt15txt = sym.$("txt15").css("pointer-events","none");
         var txt16;
         var txt16txt = sym.$("txt16").css("pointer-events","none");
         var txt17;
         var txt17txt = sym.$("txt17").css("pointer-events","none");
         var txt18;
         var txt18txt = sym.$("txt18").css("pointer-events","none");
         var txt19;
         var txt19txt = sym.$("txt19").css("pointer-events","none");
         var txt20;
         var txt20txt = sym.$("txt20").css("pointer-events","none");
         var txt21;
         var txt21txt = sym.getSymbol("keyMc").$("txt21").css("pointer-events","none");
         var txt22;
         var txt22txt = sym.getSymbol("keyTxt").$("txt22").css("pointer-events","none");
         var txt23;
         var txt23txt = sym.getSymbol("keyTxt").$("txt23").css("pointer-events","none");
         var txt24;
         var txt24txt = sym.getSymbol("keyTxt").$("txt24").css("pointer-events","none");
         var txt25;
         var txt25txt = sym.getSymbol("keyTxt").$("txt25").css("pointer-events","none");
         var txt26;
         var txt26txt = sym.getSymbol("keyTxt").$("txt26").css("pointer-events","none");
         var txt27;
         var txt27txt = sym.getSymbol("keyTxt").$("txt27").css("pointer-events","none");
         var txt28;
         var txt28txt = sym.getSymbol("keyTxt").$("txt28").css("pointer-events","none");
         var txt29;
         var txt29txt = sym.getSymbol("keyTxt").$("txt29").css("pointer-events","none");
         var txt30;
         var txt30txt = sym.getSymbol("keyTxt").$("txt30").css("pointer-events","none");
         var txt31;
         var txt31txt = sym.getSymbol("keyTxt").$("txt31").css("pointer-events","none");
         var txt32;
         var txt32txt = sym.getSymbol("keyTxt").$("txt32").css("pointer-events","none");
         var txt33;
         var txt33txt = sym.getSymbol("keyTxt").$("txt33").css("pointer-events","none");
         var txt34;
         var txt34txt = sym.$("txt34").css("pointer-events","none");
         var txt35;
         var txt35txt = sym.$("txt35").css("pointer-events","none");
         var txt36;
         var txt36txt = sym.$("txt36").css("pointer-events","none");
         var txt37;
         var txt37txt = sym.$("txt37").css("pointer-events","none");
         var txt38;
         var txt38txt = sym.$("txt38").css("pointer-events","none");
         var txt39;
         var txt39txt = sym.$("txt39").css("pointer-events","none");
         var txt40;
         var txt40txt = sym.$("txt40").css("pointer-events","none");
         var txt41;
         var txt41txt = sym.$("txt41").css("pointer-events","none");
                  
           
           //AJAX retrieves data from xml source specified in url, maps xml variable to DOM object variable
           $.ajax({	
         	type: "GET",
         	url: "GN29783.xml",
         	dataType: "xml",
         	success: function(xml) {
			headline = $(xml).find('headline').text();
         		headlinetxt.html(headline);
         		stand = $(xml).find('stand').text();
         		standtxt.html(stand);
         		source = $(xml).find('source').text();
         		sourcetxt.html(source);
         		menu0 = $(xml).find('menu0').text();
         		menu0txt.html(menu0);
         		menu1 = $(xml).find('menu1').text();
         		menu1txt.html(menu1);
         		txt1 = $(xml).find('txt1').text();
         		txt1txt.html(txt1);
         		txt2 = $(xml).find('txt2').text();
         		txt2txt.html(txt2);
         		txt3 = $(xml).find('txt3').text();
         		txt3txt.html(txt3);
         		txt4 = $(xml).find('txt4').text();
         		txt4txt.html(txt4)
         		txt5 = $(xml).find('txt5').text();
         		txt5txt.html(txt5);
         		txt6 = $(xml).find('txt6').text();
         		txt6txt.html(txt6);
         		txt7 = $(xml).find('txt7').text();
         		txt7txt.html(txt7);
         		txt8 = $(xml).find('txt8').text();
         		txt8txt.html(txt8);
         		txt9 = $(xml).find('txt9').text();
         		txt9txt.html(txt9);
         		txt10 = $(xml).find('txt10').text();
         		txt10txt.html(txt10);
         		txt11 = $(xml).find('txt11').text();
         		txt11txt.html(txt11);
         		txt12 = $(xml).find('txt12').text();
         		txt12txt.html(txt12);
         		txt13 = $(xml).find('txt13').text();
         		txt13txt.html(txt13);
         		txt14 = $(xml).find('txt14').text();
         		txt14txt.html(txt14);
         		txt15 = $(xml).find('txt15').text();
         		txt15txt.html(txt15);
         		txt16 = $(xml).find('txt16').text();
         		txt16txt.html(txt16);
         		txt17 = $(xml).find('txt17').text();
         		txt17txt.html(txt17);
         		txt18 = $(xml).find('txt18').text();
         		txt18txt.html(txt18);
         		txt19 = $(xml).find('txt19').text();
         		txt19txt.html(txt19);
         		txt20 = $(xml).find('txt20').text();
         		txt20txt.html(txt20);
         		txt21 = $(xml).find('txt21').text();
         		txt21txt.html(txt21);
         		txt22 = $(xml).find('txt22').text();
         		txt22txt.html(txt22);
         		txt23 = $(xml).find('txt23').text();
         		txt23txt.html(txt23);
         		txt24 = $(xml).find('txt24').text();
         		txt24txt.html(txt24);
         		txt25 = $(xml).find('txt25').text();
         		txt25txt.html(txt25);
         		txt26 = $(xml).find('txt26').text();
         		txt26txt.html(txt26);
         		txt27 = $(xml).find('txt27').text();
         		txt27txt.html(txt27);
         		txt28 = $(xml).find('txt28').text();
         		txt28txt.html(txt28);
         		txt29 = $(xml).find('txt29').text();
         		txt29txt.html(txt29);
         		txt30 = $(xml).find('txt30').text();
         		txt30txt.html(txt30);   
         		txt31 = $(xml).find('txt31').text();
         		txt31txt.html(txt31);   
         		txt32 = $(xml).find('txt32').text();
         		txt32txt.html(txt32);   
         		txt33 = $(xml).find('txt33').text();
         		txt33txt.html(txt33);    
         		txt34 = $(xml).find('txt34').text();
         		txt34txt.html(txt34);
         		txt35 = $(xml).find('txt35').text();
         		txt35txt.html(txt35);   
         		txt36 = $(xml).find('txt36').text();
         		txt36txt.html(txt36);   
         		txt37 = $(xml).find('txt37').text();
         		txt37txt.html(txt37);   
         		txt38 = $(xml).find('txt38').text();
         		txt38txt.html(txt38);   
         		txt39 = $(xml).find('txt39').text();
         		txt39txt.html(txt39);   
         		txt40 = $(xml).find('txt40').text();
         		txt40txt.html(txt40);   
         		txt41 = $(xml).find('txt41').text();
         		txt41txt.html(txt41);                 
         		}
         	}); // END XML
         	
// STOP ELEMENTS INTERACTING WITH MOUSE
	sym.$("handMc").css("pointer-events","none");
	sym.$("videoIcon").css("pointer-events","none");
	sym.$("carIcon").css("pointer-events","none");
	
// HIDE ELEMENTS
        sym.$("videoPanel").hide();
        	
// MAKE ELEMENTS INVISIBLE
	sym.getSymbol("carBottomMc").$("carBottom").animate({opacity: 0}, 0);
	sym.$("arrowBtn").animate({opacity: 0}, 0);
	sym.$("keyMc").animate({opacity: 0}, 0);
	sym.$("keyTxt").animate({opacity: 0}, 0);
	sym.$("txt34").animate({opacity: 0}, 0);
	sym.$("handMc").animate({opacity: 0}, 0);
         
// Animate cars at start
	var speed = 900;	
	sym.getSymbol("carsMc").$("car1").delay(200). animate({left: 0}, speed);
	sym.getSymbol("carsMc").$("car2").delay(400).animate({left: 0}, speed);
	sym.getSymbol("carsMc").$("car3").delay(600).animate({left: 0}, speed);
	sym.getSymbol("carsMc").$("car4").delay(800).animate({left: 0}, speed);
	sym.getSymbol("carsMc").$("car5").delay(1000).animate({left: 0}, speed);
	sym.getSymbol("carsMc").$("car6").delay(1200).animate({left: 0}, speed);
	sym.getSymbol("carsMc").$("car7").delay(1400).animate({left: 0}, speed);
	sym.getSymbol("carsMc").$("carTop").delay(1400).animate({left: 0}, speed);
	sym.$("keyMc").delay(2500).animate({opacity: 1}, 800);
	sym.$("txt34").delay(2900).animate({opacity: 1}, 800);
	sym.$("arrowBtn").delay(3200).animate({opacity: 1}, 800);
	
	
// SLIDE CUT AWAY CAR UP AND DOWN --------------------------------------------
	var slideCar = "carDOWN";
        function doClick() {
			if(slideCar == "carDOWN"){
				sym.getSymbol("carBottomMc").$("carBottom").animate({opacity: 1}, 500);
				sym.getSymbol("carBottomMc").$("carBottom").delay(380).animate({top: -96}, 400);
				sym.getSymbol("carBottomMc").$("slideBg").delay(500).animate({top: -154}, 800);
				sym.$("arrowBtn").delay(840).animate({top: 276}, 440);
				sym.$("keyTxt").delay(1400).animate({opacity: 1}, 800);
				// ROTATE BUTTON 180
				sym.$('arrowBtn').animate({borderSpacing: 180}, {
				step: function(now,fx) {
				$(this).css('-webkit-transform','rotate('+now+'deg)');
				$(this).css('-moz-transform','rotate('+now+'deg)'); 
				$(this).css('transform','rotate('+now+'deg)');
				},duration:'fast'},'linear');
				slideCar = "carUP";
			}else{	
				sym.$("keyTxt").animate({opacity: 0}, 400);
				sym.getSymbol("carBottomMc").$("carBottom").delay(300).animate({top: 0}, 400);
				sym.getSymbol("carBottomMc").$("slideBg").delay(300).animate({top: 181}, 1000);
				sym.getSymbol("carBottomMc").$("carBottom").delay(800).animate({opacity: 0}, 500);	
				sym.$("arrowBtn").delay(300).animate({top: 404}, 240);
				// ROTATE BUTTON 0
				sym.$('arrowBtn').animate({borderSpacing: 0}, {
				step: function(now,fx) {
				$(this).css('-webkit-transform','rotate('+now+'deg)');
				$(this).css('-moz-transform','rotate('+now+'deg)'); 
				$(this).css('transform','rotate('+now+'deg)');
				},duration:'fast'},'linear');
				slideCar = "carDOWN";
			}
	}
// MOVE HAND
	sym.$("handMc").delay(3200).animate ({opacity:1, top:-190, left:-460}, 1000);
	sym.$("handMc").delay(200).animate ({top:-597, left:300}, 1000);
	
// ARROW BUTTON
	Symbol.bindElementAction(compId, symbolName, "${_arrowBtn}", "click", function(sym, e) {
		doClick();
	});
	
// MENU BUTTONS --------------------------------------------	
         //the array that will hold references to the buttons.
         menuArray = [];

         for (var m = 0; m < 2; m++){
         	 // Create an instance element of a symbol as a child of the given parent element
         	 var menuBtnSymbols = sym.getSymbol("styleMc").getSymbol("menuBtn" +m);
         	 //set the value of a Symbol variable
         	 menuBtnSymbols.setVariable("menuId", m);
         	 //push it into the array
         	 menuArray.push(menuBtnSymbols);
         }

         //a 'for each' loop through the newly populated array.
         $.each(menuArray, function( count, btnInTheArray ){
         	 //create jQuery reference to the item.
         	 var menuBtnItem = $(btnInTheArray);
         	 //create a jQuery reference to the DIV element inside the symbol.
         	 var menuBtnElement = btnInTheArray.getSymbolElement();
         	 //now you can bind interactivity to the menu items' DIVs
         	 menuBtnElement.bind ("click", {menuId:count}, menuBtnClick);
         	 menuBtnElement.bind ("mouseover", {menuId:count}, menuShow);
         	 menuBtnElement.bind ("mouseout", {menuId:count}, menuHide);
         	}
         )
         
         function resetMenu (){
		for (var m=0; m<menuArray.length; m++){
			var menu_arr = ["menuTxt0","menuTxt1"];
			$.each(menu_arr, function(index, value) {
			sym.getSymbol("styleMc").$(value).css('opacity', '0');
			});
         	menuArray[m].$("menuBtnOverClick").animate ({opacity: 0}, 0);
         	menuArray[m].$("menuBtnOver").animate ({opacity: 0}, 0);
		}
         }
	resetMenu();
	
	sym.getSymbol("styleMc").getSymbol("menuBtn0").$("menuBtnOverClick"). animate ({opacity: 1}, 0); // Make button 0 visible
	
        function menuBtnClick (e){
        
         	resetMenu(); //set them all back to normal state
         	var selectedMenu_id = (e.data.menuId); //get the id of the clicked item
         	sym.getSymbol("styleMc").getSymbol("menuBtn"+ selectedMenu_id).$("menuBtnOverClick"). animate ({opacity: 1}, 0);
         	sym.getSymbol("styleMc").$("menuTxt"+ selectedMenu_id). animate ({opacity: 1}, 0);
		if (selectedMenu_id == 0){
		sym.$("videoPanel").animate({opacity: 0}, {
		complete: function() { 
		sym.$("videoPanel").hide();
    		}
		});
		document.getElementById('vid1').pause();
		}
		if (selectedMenu_id == 1){
		sym.$("videoPanel").show();
		sym.$("videoPanel").animate({opacity: 1}, 1000);
		document.getElementById('vid1').play();
		}
         }
         function menuShow (e){
         	var selectedMenu_id = (e.data.menuId); //get the id of the over button
         	sym.$('handMc').hide();
		sym.getSymbol("styleMc").getSymbol("menuBtn" + selectedMenu_id).$("menuBtnOver"). animate ({opacity: 1}, 0);
		sym.getSymbol("styleMc").$("menuTxt" + selectedMenu_id). animate ({opacity: 1}, 0);
		
         }
         function menuHide (e){
         	var selectedMenu_id = (e.data.menuId); //get the id of the out button
		sym.getSymbol("styleMc").getSymbol("menuBtn" + selectedMenu_id).$("menuBtnOver"). animate ({opacity: 0}, 0);
		sym.getSymbol("styleMc").$("menuTxt" + selectedMenu_id). animate ({opacity: 0}, 0);
		
         }
         
         
// Embed a movie: create text variable 
	var vid = $("<video width='640' height='480' controls='controls' id='vid1'>" +
	"<source src='media/GN29783.mp4' type='video/mp4' />" +
	"<source src='media/GN29783.webm' type='video/webm' />" +
	"<source src='media/GN29783.ogg' type='video/ogg' />" +
	"This browser is not compatible with HTML5" +
	"</video>");
 
	// stage symbol lookup, and append the above vid object to it;
	// in other words, get the div called 'videobox' and attach the video control to it;
	sym.getSymbol("videoPanel").$("videobox").append(vid);
         
         
         
         

         });//Edge binding end	

         	
         	
         	
         		
         	
         	


   })("stage");
   //Edge symbol end:'stage'

//=========================================================
   //Edge symbol: 'handMc'
   (function(symbolName) {

   })("handMc");
   //Edge symbol end:'handMc'

   //=========================================================
   
   //Edge symbol: 'styleMc'
   (function(symbolName) {   
   
   })("styleMc");
   //Edge symbol end:'styleMc'

   //=========================================================
   
   //Edge symbol: 'menuBtn'
   (function(symbolName) {   
   
   })("menuBtn");
   //Edge symbol end:'menuBtn'

   //=========================================================
   
   //Edge symbol: 'carsMc'
   (function(symbolName) {   
   
   })("carsMc");
   //Edge symbol end:'carsMc'

   //=========================================================
   
   //Edge symbol: 'arrowBtnMc'
   (function(symbolName) {   
this.slideIt();
sym.$("arrowBtnMc").hide();

})("arrowBtnMc");
   //Edge symbol end:'arrowBtnMc'

   //=========================================================
   
   //Edge symbol: 'btnMc'
   (function(symbolName) {   

   })("btnMc");
   //Edge symbol end:'btnMc'

   //=========================================================
   
   //Edge symbol: 'keyMc'
   (function(symbolName) {   
   
   })("keyMc");
   //Edge symbol end:'keyMc'

   //=========================================================
   
   //Edge symbol: 'carBottom'
   (function(symbolName) {   
   
   })("carBottom");
   //Edge symbol end:'carBottom'

   //=========================================================
   
   //Edge symbol: 'keyTxt'
   (function(symbolName) {   
   
   })("keyTxt");
   //Edge symbol end:'keyTxt'

   //=========================================================
   
   //Edge symbol: 'videopane'
   (function(symbolName) {   
   
   })("videopane");
   //Edge symbol end:'videopane'

   //=========================================================
   
   //Edge symbol: 'videopane_1'
   (function(symbolName) {   
   
   })("videopane_1");
   //Edge symbol end:'videopane_1'

   //=========================================================
   
   //Edge symbol: 'videoPanel'
   (function(symbolName) {   
   
   })("videoPanel");
   //Edge symbol end:'videoPanel'

})(jQuery, AdobeEdge, "GraphicNews29783");