// JavaScript Document

ie = (document.all)? true:false;
// Compatibilizando o event.type para Mozilla
function MOZEventHandlers(_eventos){var i; for (i=0; i< _eventos.length; i++){document.addEventListener(_eventos[i], function(e){window.event = e;}, true);}}
if(!document.all){MOZEventHandlers(["click","mousedown","mouseup","mouseover","mouseout","mousemove","keyup","keydown","load","focus","blur"]);}
//-->

//-- Onload
$(document).ready(function(){
	//window.setTimeout("sIFRRollback();", 500);
	//createTab();
	menuLeft();
	write_menuPopup();
	if(typeof centerSplash == "function"){
		centerSplash();	
	}
	if(typeof browserUpdateResizeScroll == "function"){
		browserUpdateResizeScroll();
	}
	if(typeof ajaxLoad == "function"){
		ajaxLoad(0,{iconNumber:5});
	}
	$("#banner").bannerRotator();
	
	$cassio.InputEmbedTitle(); // Flash titles
});

// Babel
(function($){		  
	$.fn.babel = function(options) {
		  
		var
		  defaults = {
			  popup : false,
			  executeClose : false
		  },
		  settings = $.extend({}, defaults, options);
		  
		  this.each(function(){
			var $this = $(this);
			var $popup = (!settings.popup)? $this.children("div"):$this.find(settings.popup);
			var $executeClose = (!settings.executeClose)? $this.children("a"):$(settings.executeClose);
			var timeOutBabel;
			
			$this
				.mouseleave(function(){
					timeOutBabel = window.setTimeout(function(){
						$popup.hide();									 
					},2000);				   
				})
				.mouseenter(function(){
					window.clearTimeout(timeOutBabel);	
					$popup.show();
				});
			
		  });
		  return this;
	}
})(jQuery);

// Banner Rotator
(function($){
	$.bannerRotator = function(data){
		//$("#banner").bannerRotator();
	};
	
	$.extend($.bannerRotator, {
		
		Create : function($this, $xml){
			var banner;
			$xml.find("item").each(function(index){
				var $banner = $(this);
				var timeout = $banner.attr("timeout");
				timeout = (parseInt(timeout) && timeout >= 10000)? timeout:10000;
				var file = $banner.children("file").text();
				var url = $banner.children("file").attr("link");
				var target = $banner.children("file").attr("target");
				target = (target == "" || target == null)? "_self":target;
				var title = $banner.children("title").text();
				banner = "<div class='bannerHTML' timeout=" + timeout + ">" + ((url == "")? "":"<a href='" + url + "' target='" + target + "'>") + "<img alt='" + title + "' title='" + title + "' src='" + file + "' />" + ((url == "")? "":"</a>") + "</div>";
				$this.append(banner);
				if(index == 0){
					$(".bannerHTML").attr("selected","true");
					//$.bannerRotator.Rotate($this);
				};
			});
			$.bannerRotator.Rotate($this);
		},
		
		Rotate : function($this){
			var arrBanners = $this.children(".bannerHTML");
			var $banner = $this.children(".bannerHTML[selected='true']");
			var timeout = 10000;
			var time;
			arrBanners.each(function(index){
				if(arrBanners.eq(index).attr("selected") == "true"){
					arrBanners.eq(index)
						.attr("selected","false")
						.fadeIn(2000);
					// Define true para o próximo item
					if(arrBanners.eq(index + 1).hasClass("bannerHTML")){
						arrBanners.eq(index + 1)
							.attr("selected","true");
						timeout = parseInt(arrBanners.eq(index + 1).attr("timeout"));
					}else if(index > 0){
						arrBanners.eq(0)
							.attr("selected","true");
						timeout = parseInt(arrBanners.eq(0).attr("timeout"));
					};
					// Fadeout para o úlitmo item
					if(arrBanners.eq(index - 1).hasClass("bannerHTML")){
						arrBanners.eq(index - 1)
							.fadeOut(2000);
					}else if(index < arrBanners.length){
						arrBanners.eq(arrBanners.length)
							.fadeOut(2000);
					};
					return false
				};
			});
			time = window.setTimeout(function(){
				$.bannerRotator.Rotate($this);
			}, timeout);
		}
		
	});

	$.fn.bannerRotator = function(options){
		
		this.each(function(){
			var $this = $(this);
			
			$.ajax({
				type: "GET",
				url: "/banner/banners.xml",
				dataType: "xml",
				success: function(xml){
					var $xml = $(xml);
					$.bannerRotator.Create($this, $xml);
				},
				error: function(){
					alert("O XML dos banners não pode ser carregado");
				}
			});
			
		});
		
	};

})(jQuery);

$cassio = {
	
	InputEmbedTitle : function(){ // Controlar o título dentro de inputs. Faz com que apareçam e suman para que os valores possam ser digitados.
		$("input[type='text']").each(function(){
			var $this = $(this);
			if(	$this.attr("initialValue") ){
				$this.focus(function(e){
					if($this.val() == $this.attr("initialValue")){
						$this.val("");
					};
				});
				$this.blur(function(e){
					if($this.val() == ""){
						$this.val($this.attr("initialValue"));
					};
				});
			};
		});	
	}
	
};

// getPageScroll() by quirksmode.com
function getPageScroll() {
	var xScroll, yScroll;
	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
		xScroll = self.pageXOffset;
	} else if (document.documentElement && document.documentElement.scrollTop) { // Explorer 6 Strict
		yScroll = document.documentElement.scrollTop;
		xScroll = document.documentElement.scrollLeft;
	} else if (document.body) {// all other Explorers
		yScroll = document.body.scrollTop;
		xScroll = document.body.scrollLeft;	
	}
	return new Array(xScroll,yScroll) 
}

// Adapted from getPageSize() by quirksmode.com
function getPageHeight() {
	var windowHeight
	if (self.innerHeight) {	// all except Explorer
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowHeight = document.body.clientHeight;
	}	
	return windowHeight
}

// Rollback title tags that does not load the sIFR
function sIFRRollback(){
	var hasObject;
	var tagClassName;
	for(var x = 0; x < 6; x++){
		if(document.getElementsByTagName("h" + x)){
			for(var y = 0; y < document.getElementsByTagName("h" + x).length; y++){
				hasObject = document.getElementsByTagName("h" + x)[y].childNodes[0].tagName;
				tagClassName = document.getElementsByTagName("h" + x)[y].className;
				if((hasObject != "object") && (!tagClassName || tagClassName.indexOf("sIFR-replaced") == -1)){
					document.getElementsByTagName("h" + x)[y].className = (tagClassName)? (tagClassName + " rollBack_" + x + "_" + y):("rollBack_" + x + "_" + y);
					sIFR.rollback(named({sSelector:"h" + x + "." + ("rollBack_" + x + "_" + y)}));
				}
			}
		}
	}	
}

// Combobox
(function($){
	$.fn.scrollTo = function(selector) {			
		$(this).click(function(){
			$('html, body').animate({
				scrollTop: $(selector).offset().top
			}, 500);
		});
		return this;
	}
})(jQuery);

// Combobox
(function($){
	$.fn.comboBox = function(options) {
		
		var
		  defaults = {
		  },
		  settings = $.extend({}, defaults, options);
		  
		  this.each(function() {
			var $this = $(this);
			
			var barContent = $this.children("div:last-child");
			$this.click(function(e){
				if( barContent.css("display") == "none" ){
					var offset = $this.offset();
					var bodyHeight = document.getElementsByTagName("html")[0].clientHeight;
					var bodyScrollTop = document.getElementsByTagName("html")[0].scrollTop;
					barContent
						.css({
							 "max-height": (getPageHeight() + getPageScroll()[1]) - (offset.top + 50),
							 "overflow-y": "auto"
						})
						.fadeIn();
					$this.unbind("click");
					window.setTimeout(function(){
						$("body").click(function(){
							if( barContent.css("display") == "block" ){
								barContent.fadeOut();
								$this.comboBox();
								$("body").unbind("click");
							};
						});
					}, 1000);
				};
			});
			
		  });
		  return this;
	}
})(jQuery);

// Language
(function($){
	$.fn.language = function(options) {
		  
		this.each(function() {
			var $this = $(this);
			
			$this.hover(function(){
				if( $this.attr("atribuido") != "true" ){
					$this.children("a").click(function(){
						$this.find("div").show();
						return false
					});
					$this.find(".lan_menu a").each(function(){
						var $link = $(this);
						var href = $link.attr("href");
						var querystring = href.substring(href.indexOf("?"),href.length); // Get all querystrings
						var queryLan = querystring.substring(querystring.indexOf("lan"),querystring.lastIndexOf("lan")+6);
						var language = querystring.substring(querystring.indexOf("lan")+4,querystring.lastIndexOf("lan")+6);
						var url = href.replace(queryLan,"");
						$link.click(function(){
							$.ajax({
								type: "GET",
								url: "/includes/lib_mudaIdioma.asp",
								data: "lan=" + language,
								success: function(msg){
									//alert(msg);
									if( url.length - 1 == url.lastIndexOf("?") ){
										url = url.substring(0,url.lastIndexOf("?"));
									}
									url = url.replace("/" + addthis_language + "/","/" + language + "/");
									$(location).attr('href',url);
								},
								error: function(){
									alert("Não pudemos mudar a língua. Tente novamente.")	
								}
							});
							return false
						});
					});
				};
				$this.attr("atribuido","true");
			},function(){
				window.setTimeout(function(){
					$this.find("div").hide("slow");
				}, 1000);
			});
			
		});
		return this;
	}
})(jQuery);

// Menu popup
var timePopup;
function open_menuPopup(){
	try{
		var objLanList = document.getElementById("lan_list");
		
		objLanList.style.display = "block";
		window.clearTimeout(timePopup);
		timePopup = window.setTimeout("close_menuPopup()", 2000);
		
	}catch(e){
		alert("O menu de línguas NÃO está funcionando. | The language menu is NOT working.");	
	}
}

function close_menuPopup(){
	try{
		var objLanList = document.getElementById("lan_list");
		
		window.clearTimeout(timePopup);
		objLanList.style.display = "none";
	}catch(e){
		alert("O menu de línguas NÃO está funcionando. | The language menu is NOT working.");	
	}
}

function write_menuPopup(){
	if(document.getElementById("lan_list")){
		var objLanList = document.getElementById("lan_list");
		
		objLanList.setAttribute("onmouseover","window.clearTimeout(timePopup);");
		objLanList.setAttribute("onmouseout","timePopup=window.setTimeout('close_menuPopup();', 2000);");
		
		for(var x = 0; x < objLanList.childNodes.length; x++){
			if(objLanList.childNodes[x].nodeName == "A"){
				objLanList.childNodes[x].setAttribute("onclick","close_menuPopup();");
			}
		}
	}
}

// Menu Esquerdo
var menuOpened;
var menuID;
function menuLeft(){
	try{
		var objMenuGroup = document.getElementById(menuID + "_group");
		var objMenuDivider = document.getElementById(menuID + "_divider");
			
		if(menuOpened){
			document.getElementById(menuOpened + "_group").style.display = "none";
			document.getElementById(menuOpened + "_divider").style.display = "block";
		}
			
		objMenuGroup.style.display = "block";
		objMenuDivider.style.display = "none";
		menuOpened = menuID;
	}catch(e){}
}
function openMenuLeft(id){
	var objMenuGroup = document.getElementById(id + "_group");
	var objMenuDivider = document.getElementById(id + "_divider");
	
	objMenuGroup.style.display = "block";
	objMenuDivider.style.display = "none";
}


// Tab
/*function createTab(){
	
	try{	
		var objContent = document.getElementById("content");
		var nodeLength = objContent.childNodes.length;
		var createTabHTML;
		var cloneNode1;
		
		for(var x = 0; x < nodeLength; x++){
					//alert(x)
			if(objContent.childNodes[x].nodeName == "DIV"){
				if(objContent.childNodes[x].getAttribute("type") == "tab"){
					createTabHTML = document.createElement("div");
					createTabHTML.setAttribute("id","tab_" + x);
					createTabHTML.innerHTML = objContent.childNodes[x].getAttribute("description");
					//if(x == 0){
						//objContent.insertBefore(createTabHTML, objContent.childNodes[x]);
					//}
				}
			}
		}
		
		//alert(objContent.innerHTML +", "+ nodeLength);
	}catch(e){
		<!-- No tab -->	
	}
	
}
*/
// Buttons' Actions
function contenButtonsActions(action){
	if(action == "print"){
		window.print();
	}
}
// Fade in / Fade out
function opacity(id, opacStart, opacEnd){
    //Speed for each frame
    var speed = Math.round(1000 / 100);
    var timer = 0;

    //Determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd){
        for(i = opacStart; i >= opacEnd; i--){
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }else if(opacStart < opacEnd){
        for(i = opacStart; i <= opacEnd; i++){
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
}

function changeOpac(opacity, id){ //Change the opacity for different browsers
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
}
