// JavaScript Document

  YAHOO.namespace("blaze.container");

  var initFolio = function(e) {
	 if(YAHOO.util.Dom.get("casestudies")){
 		 swfobject.embedSWF("swf/highlights.swf", "casestudies", "199", "464", "9.0.0", "", {}, { wmode: "opaque" }, {});
  	 }
  }
  YAHOO.util.Event.onDOMReady(initFolio); 
  
  // New Window Links 
  var external = function(e) {
	  
	  var blankness = function(o){
		  YAHOO.util.Dom.setAttribute(o, "target", "_blank");
	  }
	  
	YAHOO.util.Dom.getElementsBy( function(o){ if(YAHOO.util.Dom.getAttribute(o, "rel") === "external"){return true;}},'a', document.body, blankness);	  
	  
  }
	YAHOO.util.Event.onDOMReady(external); 


// Function to initialise buttons.
  // Give them a rollover state, as IE6 only supports :hover on anchor tags.
  var initButtons = function(){

  var buttons = YAHOO.util.Dom.getElementsByClassName('button', 'span');

  // Generate the rollover states
  function highlight(e, o){
    YAHOO.util.Dom.addClass(o, 'hover');
  }
  function unhighlight(e, o){
   YAHOO.util.Dom.removeClass(o, 'hover');
  }

  // Loop over all the buttons and assign a roll over state
  var l = buttons.length;
  for ( var i=0; i<l; ++i ){

   //Assign both the focus and blur listeners to the buttons
   YAHOO.util.Event.addListener(buttons[i], 'mouseover', highlight, buttons[i]);
   YAHOO.util.Event.addListener(buttons[i], 'mouseout', unhighlight, buttons[i]);

   }

 };
 YAHOO.util.Event.onDOMReady(initButtons); 

 
  var initMap = function(e){

	if(YAHOO.util.Dom.get("aus-map")){

		var show = function(e, o){
			YAHOO.util.Dom.setStyle(o.office, "display", "block");
    	}
	
		var hide = function(e, o){
			YAHOO.util.Dom.setStyle(o.office, "display", "none");
    	}
		
		var mapIDs = ['nt', 'wa', 'sa', 'vic', 'nsw', 'qld', 'contact-ul-nt', 'contact-ul-wa', 'contact-ul-sa', 'contact-ul-vic', 'contact-ul-nsw', 'contact-ul-qld'];
		
		if(!YAHOO.util.Dom.hasClass("nt-info", "selected")){
			YAHOO.util.Event.on(YAHOO.util.Dom.get('nt'), "mouseover", show, {"office":YAHOO.util.Dom.get('nt-info')});
			YAHOO.util.Event.on(YAHOO.util.Dom.get('nt'), "mouseout", hide, {"office":YAHOO.util.Dom.get('nt-info')});	
			YAHOO.util.Event.on(YAHOO.util.Dom.get('contact-ul-nt'), "mouseover", show, {"office":YAHOO.util.Dom.get('nt-info')});
			YAHOO.util.Event.on(YAHOO.util.Dom.get('contact-ul-nt'), "mouseout", hide, {"office":YAHOO.util.Dom.get('nt-info')});
		}
		
		if(!YAHOO.util.Dom.hasClass("wa-info", "selected")){
			YAHOO.util.Event.on(YAHOO.util.Dom.get('wa'), "mouseover", show, {"office":YAHOO.util.Dom.get('wa-info')});
			YAHOO.util.Event.on(YAHOO.util.Dom.get('wa'), "mouseout", hide, {"office":YAHOO.util.Dom.get('wa-info')});
			YAHOO.util.Event.on(YAHOO.util.Dom.get('contact-ul-wa'), "mouseover", show, {"office":YAHOO.util.Dom.get('wa-info')});
			YAHOO.util.Event.on(YAHOO.util.Dom.get('contact-ul-wa'), "mouseout", hide, {"office":YAHOO.util.Dom.get('wa-info')});
		}
		
		if(!YAHOO.util.Dom.hasClass("sa-info", "selected")){
			YAHOO.util.Event.on(YAHOO.util.Dom.get('sa'), "mouseover", show, {"office":YAHOO.util.Dom.get('sa-info')});
			YAHOO.util.Event.on(YAHOO.util.Dom.get('sa'), "mouseout", hide, {"office":YAHOO.util.Dom.get('sa-info')});
			YAHOO.util.Event.on(YAHOO.util.Dom.get('contact-ul-sa'), "mouseover", show, {"office":YAHOO.util.Dom.get('sa-info')});
			YAHOO.util.Event.on(YAHOO.util.Dom.get('contact-ul-sa'), "mouseout", hide, {"office":YAHOO.util.Dom.get('sa-info')});
		}
		
		if(!YAHOO.util.Dom.hasClass("vic-info", "selected")){
			YAHOO.util.Event.on(YAHOO.util.Dom.get('vic'), "mouseover", show, {"office":YAHOO.util.Dom.get('vic-info')});
			YAHOO.util.Event.on(YAHOO.util.Dom.get('vic'), "mouseout", hide, {"office":YAHOO.util.Dom.get('vic-info')});
			YAHOO.util.Event.on(YAHOO.util.Dom.get('contact-ul-vic'), "mouseover", show, {"office":YAHOO.util.Dom.get('vic-info')});
			YAHOO.util.Event.on(YAHOO.util.Dom.get('contact-ul-vic'), "mouseout", hide, {"office":YAHOO.util.Dom.get('vic-info')});
		}
		
		if(!YAHOO.util.Dom.hasClass("nsw-info", "selected")){
			YAHOO.util.Event.on(YAHOO.util.Dom.get('nsw'), "mouseover", show, {"office":YAHOO.util.Dom.get('nsw-info')});
			YAHOO.util.Event.on(YAHOO.util.Dom.get('nsw'), "mouseout", hide, {"office":YAHOO.util.Dom.get('nsw-info')});
			YAHOO.util.Event.on(YAHOO.util.Dom.get('contact-ul-nsw'), "mouseover", show, {"office":YAHOO.util.Dom.get('nsw-info')});
			YAHOO.util.Event.on(YAHOO.util.Dom.get('contact-ul-nsw'), "mouseout", hide, {"office":YAHOO.util.Dom.get('nsw-info')});
		}
		
		if(!YAHOO.util.Dom.hasClass("qld-info", "selected")){
			YAHOO.util.Event.on(YAHOO.util.Dom.get('qld'), "mouseover", show, {"office":YAHOO.util.Dom.get('qld-info')});
			YAHOO.util.Event.on(YAHOO.util.Dom.get('qld'), "mouseout", hide, {"office":YAHOO.util.Dom.get('qld-info')});
			YAHOO.util.Event.on(YAHOO.util.Dom.get('contact-ul-qld'), "mouseover", show, {"office":YAHOO.util.Dom.get('qld-info')});
			YAHOO.util.Event.on(YAHOO.util.Dom.get('contact-ul-qld'), "mouseout", hide, {"office":YAHOO.util.Dom.get('qld-info')});
		}
		
	}
		
   }  
   YAHOO.util.Event.onDOMReady(initMap);
   
   var initForm = function(e){
	/********* START Focus States for Input Fields ***********/
		function highlight(e, o){
			YAHOO.util.Dom.addClass(o, 'focus'); 
		}
		function unhighlight(e, o){
			YAHOO.util.Dom.removeClass(o, 'focus'); 
		}
		fObj = YAHOO.util.Dom.get("contact-form");
		
		if(fObj != null){
			//Loop over all form elements and assign the event listeners
			for(i=0; i<fObj.elements.length; i++)
			{
				//If the element is a text field of a text area
				if(fObj.elements[i].className === "text-field") {
				
				//Assign both the focus and blule listeners to the element	
				YAHOO.util.Event.addListener(fObj.elements[i], 'focus', highlight, fObj.elements[i]);
				YAHOO.util.Event.addListener(fObj.elements[i], 'blur', unhighlight, fObj.elements[i]);
			
				}
			}
			/********* END Focus States for Input Fields ***********/
		}
		
		/********* START File Attachment Interactivity ********/
 		// This is for careers.html only -Set it to disbaled, enable when checkbox is checked on/off as such


 	  if (YAHOO.util.Dom.get("careers-form") != null) {
	  
	    function disable(e){
		  var checkbox = document.getElementById("blazeCareerAttach");

 		  // If it is checked then they much want the file field disabled
 		  if (checkbox.checked) {
 			document.getElementById("blazeCareerFile").disabled = false;
 		  }
 		  else {
 			document.getElementById("blazeCareerFile").disabled = true;
 		  }

 	  }
 	  YAHOO.util.Event.on(document.getElementById("blazeCareerAttach"), 'click', disable);
     }
 	/********* END File Attachment Interactivity ********/ 
   }
   YAHOO.util.Event.onDOMReady(initForm);

	
	var initTestimonails = function(e) {
		
	  if(YAHOO.util.Dom.get("testimonial-logos")){
		
		YAHOO.util.Dom.addClass(document.body, "yui-skin-sam");
	
		var testimonials = YAHOO.util.Dom.getChildren('testimonial-logos');

		var rollOver = function(e, o) { o.overlay.show();  }
		
		var rollOut = function(e, o)  {  o.overlay.hide(); }
		

		for (i=0;i<testimonials.length;i++) {
			var listItems = YAHOO.util.Dom.getChildren(testimonials[i]);
			
			for (j=0;j<listItems.length;j++) {
	
				if (listItems[j].tagName == "A") {
					
					var div = YAHOO.util.Dom.getNextSiblingBy(listItems[j], function(o){if(o.tagName == "DIV"){return true;}else {return false;}})
				

					if(!YAHOO.util.Dom.insertBefore(div, 'container')){
						div.parentNode.removeChild(div);
					}
					
					var panel1 = new YAHOO.widget.Panel(div, { fixedcenter:true,  
														         close:true,  
	            											     draggable:false,
	             												 modal:true,
																 visible: false,
																 zindex:4
																	} ); 
					
					
					var kl3 = new YAHOO.util.KeyListener(document, { keys:27 }, 
													   { fn:panel1.hide, 
		 												 scope:panel1,
														 correctScope:true } );
			
					panel1.cfg.queueProperty("keylisteners", kl3);
					kl3.enable();

					panel1.render();
					
					YAHOO.util.Event.on(listItems[j], "click", rollOver, {"itemHandle":listItems[j], "overlay":panel1});
					YAHOO.util.Event.on(YAHOO.util.Dom.getElementsByClassName("close", "img", testimonials[i])[0], "click", rollOut, {"itemHandle":listItems[j], "overlay":panel1});
					
				}
			}
		}
	  }
	}
	
YAHOO.util.Event.onDOMReady(initTestimonails);

// Start Case Study / Folio Hightlights Gallery Script

  YAHOO.namespace("blaze.casestudy");

  var initCaseStudy = function(e){
	  
	
	// Show Navigation
	var nav = YAHOO.util.Dom.getElementsByClassName('nav', 'ul', 'casestudy')[0];
		
	// Re Structure Case Study Images
	var caseStudy      = YAHOO.util.Dom.getElementsByClassName('gallery', 'ul', 'casestudy')[0];
	var caseStudyItems = YAHOO.util.Dom.getChildren(caseStudy);
	
		var currentImage   = 0;
			
		var clearDots = function(o){
			for (var i=0; i<o.length; ++i ){	
				YAHOO.util.Dom.removeClass(o[i], "red");
			}
		}
					
		var findCurrentDot = function(o){
			for (var i=0; i<o.length; ++i ){	
				if(YAHOO.util.Dom.hasClass(o[i], "red")){
					return i+1;	
				}
			}
			return 0;		
		}
			
		//START Dot Controls
				
		//Populate The Navigation
		var dotNav  = document.createElement('ul');
		YAHOO.util.Dom.setStyle(dotNav, "display", "block");
		YAHOO.util.Dom.setStyle(dotNav, "height", "20px");
		YAHOO.util.Dom.addClass(dotNav, "dotnav");
		YAHOO.util.Dom.addClass(dotNav, "clearfix");
		
		for (var j=0; j<caseStudyItems.length; ++j ){
			var navItem = document.createElement('li');
			navItem.innerHTML = "&bull;";
			dotNav.appendChild(navItem);
		}
		
		//Insert This Dot Nav before the gallery images
		YAHOO.util.Dom.insertBefore(dotNav, nav);
		//Set First Dot To Red
		YAHOO.util.Dom.addClass(YAHOO.util.Dom.getLastChild(dotNav), "red");
		var navItems = YAHOO.util.Dom.getChildren(dotNav);
			
		var over = function(e, o){ YAHOO.util.Dom.setStyle(o, "color", "#E80000");    }
		var out = function(e, o) { YAHOO.util.Dom.setStyle(o, "color", ""); }
			
		dotNav = YAHOO.util.Dom.getChildren(dotNav);
			
		var next = function(e, o){
				
			var currentDot = findCurrentDot(o.dotNav)-1;
			YAHOO.util.Dom.removeClass(o.dotNav[currentDot], "red");
				
			if (o.direction === "left"){
					
				var nodeItem = YAHOO.util.Dom.getFirstChild(o.caseStudy);
				var nextNode = YAHOO.util.Dom.getNextSibling(nodeItem);
				
				if(currentDot === 0){
					var nextDot = YAHOO.util.Dom.getLastChild(YAHOO.util.Dom.getAncestorByTagName(o.dotNav[currentDot], "ul"));
					YAHOO.util.Dom.addClass(nextDot, "red");
				}
				else {
					var nextDot  = YAHOO.util.Dom.getPreviousSibling(o.dotNav[currentDot]);
					YAHOO.util.Dom.addClass(nextDot, "red");
				}
					
				var slideOut = { left: { to: -614 } }; 
				var animSlideOut = new YAHOO.util.Anim(nodeItem, slideOut, 0.75); 
				animSlideOut.animate(); 
					
				var slideIn = { right: { to: 0 }, left: { to: 0 } }; 
				var animSlideIn = new YAHOO.util.Anim(nextNode, slideIn, 0.75); 
				animSlideIn.animate(); 
					
				var shiftBack = function(e, a, o){
						
				// Reset the last image
				YAHOO.util.Dom.setStyle(o.nodeItem, "left", "auto");
				YAHOO.util.Dom.setStyle(o.nodeItem, "right", "-614px");
				YAHOO.util.Dom.insertAfter(o.nodeItem, YAHOO.util.Dom.getLastChild(o.caseStudy));
				if(o.repeat === 0){return;}
					else {
						next("", {"caseStudy":o.caseStudy, "direction": "left", "repeat": o.repeat-1, "dotNav":o.dotNav});
					}
				}
				animSlideOut.onComplete.subscribe(shiftBack, {"caseStudy":o.caseStudy, "nodeItem": nodeItem, "repeat": o.repeat, "dotNav":o.dotNav});
			}
			if (o.direction === "right"){
							
				if(currentDot === o.dotNav.length-1){
					var previousDot = YAHOO.util.Dom.getFirstChild(YAHOO.util.Dom.getAncestorByTagName(o.dotNav[currentDot], "ul"));
					YAHOO.util.Dom.addClass(previousDot, "red");
				}
				else {
					var previousDot  = YAHOO.util.Dom.getNextSibling(o.dotNav[currentDot]);
					YAHOO.util.Dom.addClass(previousDot, "red");
				}
							
				// Shuffle the nodes before animation
				var previousNode = '';
				var nodeItem = '';
	
				previousNode = YAHOO.util.Dom.getLastChild(o.caseStudy);
				nodeItem = YAHOO.util.Dom.getFirstChild(o.caseStudy);
				YAHOO.util.Dom.setStyle(previousNode, "right", "-614px");
				YAHOO.util.Dom.setStyle(previousNode, "left", "auto");
				YAHOO.util.Dom.insertBefore(previousNode, YAHOO.util.Dom.getFirstChild(o.caseStudy));
				  
				YAHOO.util.Dom.setStyle(previousNode, "right", "0");
				YAHOO.util.Dom.setStyle(previousNode, "left", "-614px");
		
				var slideOut = { left: { to: 0 } }; 
				var animSlideOut = new YAHOO.util.Anim(previousNode, slideOut, 0.75); 
				animSlideOut.animate(); 
						
				YAHOO.util.Dom.setStyle(nodeItem, "left", "auto");
				var slideIn = { right: { to: -614 } }; 
				animSlideIn = new YAHOO.util.Anim(nodeItem, slideIn, 0.75); 
				animSlideIn.animate(); 
							
				var shiftBack = function(e, a, o){
					// Reset the last image
					YAHOO.util.Dom.setStyle(o.nodeItem, "left", "0");
					YAHOO.util.Dom.setStyle(o.nodeItem, "right", "0");
					YAHOO.util.Dom.insertBefore(o.nodeItem, YAHOO.util.Dom.getFirstChild(o.caseStudy));	
					if(o.repeat === 0){return;}
					else {
						next("", {"caseStudy":o.caseStudy, "direction": "right", "repeat": o.repeat-1, "dotNav":o.dotNav});
					}
				}
				animSlideOut.onComplete.subscribe(shiftBack, {"caseStudy":o.caseStudy, "nodeItem": previousNode, "repeat": o.repeat, "dotNav":o.dotNav});
					
						
			}
		}
			
		YAHOO.util.Dom.setStyle(caseStudy, "overflow", "hidden");
		YAHOO.util.Dom.setStyle(caseStudy, "height", "350px");
		YAHOO.util.Dom.setStyle(caseStudy, "position", "absolute");	
		YAHOO.util.Dom.setStyle('galleryContainer', "height", "350px");
			
		for (var j=0; j<caseStudyItems.length; ++j ){
				
			YAHOO.util.Dom.setStyle(caseStudyItems[j], "position", "absolute");
			if (j === 0) {
				YAHOO.util.Dom.setStyle(caseStudyItems[j], "left", "0px");
				YAHOO.util.Dom.setStyle(caseStudyItems[j], "right", "0px");
			}
			else {
				//Set The initial positions
				YAHOO.util.Dom.setStyle(caseStudyItems[j], "right", "-614px");
			}
		}
		
			
		// START left / right controls
		var showControls = function(e, o){
			YAHOO.util.Dom.setStyle(o, "display", "block");
			var show = { opacity: { to: 1 } }; 
			var animShow = new YAHOO.util.Anim(o, show, 0.3, YAHOO.util.Easing.easeOut); 
			animShow.animate(); 	
		}
		var hideControls = function(e, o){
			var hide = { opacity: { to: 0 } }; 
			var animHide = new YAHOO.util.Anim(o, hide, 0.3, YAHOO.util.Easing.easeOut); 
			animHide.animate();
		}
		
		
		if(caseStudyItems.length > 1){
			
			YAHOO.util.Event.on('left-slide', "click", next, {"caseStudy":caseStudy, "direction": "right", "repeat": 0, "dotNav":dotNav});
			YAHOO.util.Event.on('right-slide', "click", next, {"caseStudy":caseStudy, "direction": "left", "repeat": 0, "dotNav":dotNav});
		
			YAHOO.util.Event.on('galleryContainer', "mouseover", showControls, nav);
			YAHOO.util.Event.on('galleryContainer', "mouseout", hideControls, nav);
		}
		// END left/right controls
			
		// Function to slide to appropriate image number
		var dotSlide = function(e, o){
	
			//Current Dot Highlighted
			var currentDot = findCurrentDot(o.navItems);
			var repeat = currentDot - o.selected;
		
			//Slide Left
			if(repeat < 0){
				next("", {"caseStudy":caseStudy, "direction": "right", "repeat": (repeat*-1)-1, "dotNav":o.dotNav});
				clearDots(o.navItems);
			}
			//Slide Right
			else if (repeat > 0){
				next("", {"caseStudy":caseStudy, "direction": "left", "repeat": repeat-1, "dotNav":o.dotNav});
				clearDots(o.navItems);
			}
			else {return;}
				
			YAHOO.util.Dom.addClass(o.navItems[o.selected-1], "red");
		}
			
		for (var i=0; i<navItems.length; ++i ){
			YAHOO.util.Event.on(navItems[i], "mouseover", over, navItems[i]);
			YAHOO.util.Event.on(navItems[i], "mouseout", out, navItems[i]);
			YAHOO.util.Event.on(navItems[i], "click", dotSlide, {"dotLength": navItems.length, "selected": i+1, "navItems":navItems, "dotNav":YAHOO.util.Dom.getAncestorByTagName(navItems[i], "ul")});
		}
		//END Dot Controls
	
}
YAHOO.util.Event.onDOMReady(initCaseStudy);
// END Case Study Folio Highlights Gallery

var gotoMeeting = function(e){
	
	YAHOO.blaze.container.meeting = new YAHOO.widget.Overlay("overlay3", { context:["gotomeeting","bl","tl", ["beforeShow", "windowResize"]], 
	                                                                          visible:false,
																			  zIndex: 9,
	                                                                          width:"300px" } );
	var content = '<input type="text" name="meetingID" id="meetingID" value="Meeting ID" class="initial" />';
	    content = content + '<a id="meetingButton" href="#" style="display:block; float:right;width:119px;height:29px;margin: 0 8px 0 0;"><img src="http://www.blazeadvertising.com.au/images/joinmeeting.png" style="display:block;float:right;" width="119" height="29" border="0" /></a>';
	
	var goToMeetingAction = function(e, o){
		YAHOO.util.Event.stopEvent(e);
		YAHOO.blaze.container.meeting.hide;
		window.open("http://www.gotomeeting.com.au/join/" + o.meetingID);
	}
	
	YAHOO.blaze.container.meeting.setBody(content); 
	YAHOO.blaze.container.meeting.render("gotomeeting");
	YAHOO.util.Event.on("gotomeeting", "mouseover", YAHOO.blaze.container.meeting.show, YAHOO.blaze.container.meeting, true);
	YAHOO.util.Event.on("meetingButton", "click", goToMeetingAction, {"meetingID":document.getElementById("meetingID").value});
	YAHOO.util.Event.on("gotomeeting", "mouseout", YAHOO.blaze.container.meeting.hide, YAHOO.blaze.container.meeting, true);
	YAHOO.util.Event.on("meetingID", "focus", function(e){document.getElementById("meetingID").value = "";});
	YAHOO.util.Event.on("meetingID", "blur", function(e){ if(document.getElementById("meetingID").value == ""){ document.getElementById("meetingID").value = "Meeting ID";  };});
	
}
YAHOO.util.Event.onDOMReady(gotoMeeting);