﻿var Dom = YAHOO.util.Dom;
var Event = YAHOO.util.Event;
var $ = function(id) {
      return document.getElementById(id);
}

/***************************************************/
/*           add pretty corners to IE              */
/***************************************************/
var ieCorners  = function() {
	//find all div's with a class "box"
	var boxes = Dom.getElementsByClassName("box", "div", "container");
	// loop through all elements found
	for (var i=0; i<boxes.length; i++) {	 
		//create the ie6 helper div
		var ie6Helper = document.createElement("div");
		boxes[i].appendChild(ie6Helper);
		YAHOO.util.Dom.addClass(ie6Helper, 'ie6Helper');
	}
}  


/***************************************************/
/*           Script for flyOut menu                */
/***************************************************/
var ieMenu= function() {


//jQuery("ul#pageNav ul.level2 li.hasChildren").css("border","1px solid red");


	jQuery("ul#pageNav li.bread.hasChildren").hover(
	  function () {
	  	
	    jQuery(this).addClass("flyOut");
	  },
	  function () {
	    jQuery(this).removeClass("flyOut");
	  }
	);


 //jQuery("a").hover(function(){jQuery(this).fadeOut(100);$(this).fadeIn(500);});

//jQuery("ul#pageNav li.hasChildren").css("border","3px solid red");


/*
   jQuery("ul#pageNav li.bread.hasChildren").bind("mouseover mouseout", function(e){
        jQuery(this).toggleClass("flyOut");
    });
  */  

}

/***************************************************/
/*           		:first-child                   */
/***************************************************/
initFirstChild = function() {
	//var parentEl = Dom.get("pageFooter");
	//var nodes = YAHOO.util.Selector.query("ul li:first-child",parentEl);	
	//YAHOO.util.Dom.addClass(nodes,"firstItem");
}

/*******************************************************/
/*           FONTSIZE CHANGER                          */
/*******************************************************/

var fontChanger = {
	
	disableAnchor : function(e) {
		 Event.preventDefault(e);
	},
	
	init : function() {

		var fontChangeControls = Dom.getElementsByClassName("fontChange", "a", "fontChange");
		for(var i=0; i<fontChangeControls.length; i++) {
			
			Event.addListener(fontChangeControls[i], "click", fontChanger.disableAnchor);
			Event.addListener(fontChangeControls[i], "click", fontChanger.changeFont,fontChangeControls[i].rel);
		}
		
	},
	changeFont : function(e, perc) {
		
		Dom.setStyle("container", "font-size", perc);	
	}
	
};

/*******************************************************/
/*           HOVER CODE			                      */
/*******************************************************/

/*
sfHover = function() {
	var sfEls = document.getElementById("pageNav").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}

		sfEls[i].onclick=function() {
			alert('hello');
		}


		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}

*/



sfHover = function() {
	delayedMenu = "";
	if (document.getElementById("pageNav")) {
		var sfEls = document.getElementById("pageNav").getElementsByTagName("LI");
		for (var i=0; i<sfEls.length; i++) {
			
			YAHOO.util.Event.addListener(sfEls[i],"mouseover",addHoverClass);
			YAHOO.util.Event.addListener(sfEls[i],"mouseout",removeHoverClass);
			
		}
		
		
		
		
		
		
		
		
		//for animation 
		var toggleFold = Dom.getElementsByClassName("foldout", "li");
				
		for(var i=0; i<toggleFold .length; i++) {
			YAHOO.util.Event.addListener(toggleFold[i], "click", removeHoverClass);
			YAHOO.util.Event.addListener(toggleFold[i], "click", disableAnchor);
			YAHOO.util.Event.addListener(toggleFold[i], "click", toggleView);
		}
		
	}
}


toggleView = function(e, link) {
	YAHOO.util.Dom.addClass(this,"active open first hasChildren");
	
	
	
	YAHOO.util.Dom.addClass(link,"active");
	
	link  = YAHOO.util.Dom.getFirstChild(this);
	url = link.getAttribute("href");
	location.href = url;
}

disableAnchor = function(e) {
	 Event.preventDefault(e);
}
	

addHoverClass = function() {
	if(delayedMenu) {
		clearTimeout(delayedMenu);
		removeClasses();
	}
	YAHOO.util.Dom.addClass(this,"sfhover");
}

removeClasses = function() {
	tempObjects = YAHOO.util.Dom.getElementsByClassName("sfhover");
	if(tempObjects.length > 0){
		for(var i=0; i<tempObjects.length; i++) {
			YAHOO.util.Dom.removeClass(tempObjects,"sfhover");
		}
	}
}

removeHoverClass = function() {
	var tempObj = this;
	
	removeClass = function() {
		YAHOO.util.Dom.removeClass(tempObj,"sfhover");
	}
	
	delayedMenu = window.setTimeout(removeClass,300);
}



/**********************************************************/
/*        NEWSTICKER                                      */
/**********************************************************/

YAHOO.namespace("snippet");
YAHOO.snippet.ticker = {
	init : function(className){
		this.speed = 50;
		// get all ticker element from a page
		this.tickerEl = Dom.getElementsByClassName(className);
		for(var i=0; i<this.tickerEl.length; i++) {
			this.buildTicker(this.tickerEl[i]);
		}
	},
	buildTicker : function(tickerEl) {
		// get all newsitems from a ticker element
		this.tickerItem = tickerEl.getElementsByTagName("li");
		this.tickerItemContainer = tickerEl.getElementsByTagName("ul");

		// get width of all list items and set the container to this width
		this.containerWidth = 0;
		for(var i=0; i<this.tickerItem.length; i++) {
			this.containerWidth += Dom.getRegion(this.tickerItem[i]).right - Dom.getRegion(this.tickerItem[i]).left;
		}
		Dom.setStyle(this.tickerItemContainer[0],"width",this.containerWidth + "px");

		// set position of container to the left of the containing box
		Dom.setStyle(this.tickerItemContainer[0],"left", (Dom.getRegion(tickerEl).right - Dom.getRegion(tickerEl).left) + "px");
		this.yPos = Dom.getRegion(this.tickerItemContainer[0]).top;

		// set listener for mouseover
		Event.addListener(this.tickerItemContainer[0],"mouseover",this.pauseAnim,this);

		// set listener for mouseout
		Event.addListener(this.tickerItemContainer[0],"mouseout",this.restartAnim,this);

		// start animation
		this.startAnim(tickerEl);
	},
	startAnim : function(tickerEl) {
		this.startPos = Dom.getStyle(this.tickerItemContainer[0],"left");
		this.startPos = this.startPos.split("px")[0];
		this.endPos = Dom.getRegion(tickerEl).left - this.containerWidth;

		this.attributes = {
			points: { to: [this.endPos,this.yPos] }
		};

		this.anim = new YAHOO.util.Motion(this.tickerItemContainer[0], this.attributes);
		this.currentWidth = this.containerWidth + parseFloat(this.startPos);
		this.anim.duration = this.currentWidth/this.speed;
		this.anim.useSeconds = true;
		this.anim.onComplete.subscribe(this.endAnim,this);
		this.anim.animate();
	},
	pauseAnim : function(e,obj) {
		obj.anim.stop();
	},
	restartAnim : function(e,obj) {
		obj.currentWidth = obj.containerWidth + Dom.getRegion(obj.tickerItemContainer[0]).left;
		obj.anim.duration = obj.currentWidth/obj.speed;
		obj.anim.animate();
	},
	endAnim : function(state,dur,obj) {
		if(Dom.getRegion(obj.tickerItemContainer[0]).left <= obj.endPos) {
			YAHOO.snippet.ticker.init("newsTicker");
		};
	}
}



/* Lightbox */
lightbox = function() {
	jQuery("a[rel^='lightbox']").prettyPhoto();
}





/**********************************************************/
/*        PAGE INIT                                       */
/**********************************************************/

initPage = function() {
	//YAHOO.lutsr.accordion.init();
	//initTopSearch();
	//sfHover();
	//foldOut.init();
	//ticker();
	//sfHover();

	fontChanger.init();
	if(YAHOO.env.ua.ie > 0) {
		ieCorners();
	}
	ieMenu();
	lightbox();
	YAHOO.snippet.ticker.init("newsTicker");

}

Event.on(window,"load",initPage);
