/* -- Variaveis Globais -- */

//var currentHomepageUrl = null;

/* -- //Variaveis Globais -- */

// PRINT

function createPrint(){
	$$('.printicon').each(function(el,i){
		new Element('img',{
			'class':'imprimir fixIE6hover',
			'src':Paths.SITE_URL_DESIGN + 'print.gif',
			'alt':Resources.print,
			'title':Resources.print,
			'events': {
				'click': function(){
					window.print();
				},
				'mouseenter':function(){
					this.set('src',Paths.SITE_URL_DESIGN + 'printHover.gif');
				},
				'mouseleave':function(){
					this.set('src',Paths.SITE_URL_DESIGN + 'print.gif');
				}
			}
		}).inject(el);					
	});
}

//end PRINT

//FIX Hover IE6

function fixIE6Hover(selector, cssClass){
	if (Browser.Engine.trident4) {
		$$(selector).each(function(el){
			el.addEvents({
				'mouseenter':function(){
					el.toggleClass(cssClass);
				},
				'mouseleave':function(){
					el.toggleClass(cssClass);
				}
			});	
		});
	}
}

//end FIX Hover IE6

//accordion

function accordion(accordionID, togglerClass, elementClass, showIndex){
    
	//create our Accordion instance
	var myAccordion = new Accordion($(accordionID), togglerClass, elementClass, {
		opacity: false,
		show : showIndex || 0,
		onActive: function(toggler, element){
			toggler.addClass('selected');
			$$(elementClass).addClass('selected');
		},
		onBackground: function(toggler, element){
			toggler.removeClass('selected');
			$$(elementClass).removeClass('selected');
		}
	});
}

//end accordion

//Animacao LandingMenus

function AnimacaoLandingMenus(Selector)
{
	$$(Selector).each(function(el){

			el.getElements('.box').setStyle('opacity',0);	
			el.getElements('.minibox').setStyle('opacity',0);	
			
			el.addEvents({
				'mouseenter':function(){
					el.getElements('.box').fade(1);
					el.getElements('.minibox').fade(1);
				},
				'mouseleave':function(){
					el.getElements('.box').fade(0);
					el.getElements('.minibox').fade(0);
				}
			});
		});
}

//end Animacao LandingMenus

//Animacao Mapa do Site

function AnimacaoMapaSite(FooterID, LinkMapaSiteID, cssClassPick)
{
	var Footer = $(FooterID);
	
	var LinkMapaSite = $(LinkMapaSiteID);
	
	var MapaSite = $('MapaSite');
	
	if(!Cookie.read('ShowSiteMap'))
	{
	    MapaSite.setStyle('opacity',0);	
	    MapaSite.toggleClass('Closed');
	    LinkMapaSite.toggleClass('Closed');
	}
	else
	{
	    LinkMapaSite.toggleClass('over');
	    LinkMapaSite.toggleClass('activo');
	}

	LinkMapaSite.addEvents({
		'click':function(e){
			LinkMapaSite.toggleClass('over');
	        LinkMapaSite.toggleClass('activo');
        	MapaSite.toggleClass('Closed');
        	LinkMapaSite.toggleClass('Closed');
        	
	        if(!MapaSite.hasClass('Closed'))
	        {
		        MapaSite.fade(1);
		        Cookie.write('ShowSiteMap','true');
		        new Fx.Scroll(window).toElement('MapaSite');
	        }
	        else
	        {
		        MapaSite.fade(0);
		        Cookie.dispose('ShowSiteMap');
	        }
		},
		'mouseenter':function(){
			this.toggleClass('over');
		},
		'mouseleave':function(){
			this.toggleClass('over');
		}
	});
}

//end Animacao Mapa do Site

// VALIDATORS
function CheckValidators()
{
	Page_ClientValidate();
	var controlsAlreadyValidated = new Array();
	for (var i = 0; i < Page_Validators.length; i++) {
		var control = dom_getAttribute(Page_Validators[i], "controltovalidate");
		if(!controlsAlreadyValidated.contains(control)){
			ChangeControlStyle(control,Page_Validators[i].isvalid);
			if(!Page_Validators[i].isvalid){
				controlsAlreadyValidated.include(control);
			}
		}
	}
}
//end VALIDATORS


// CLEAR DEFAULTS
function clearDefault(el) {
	if (el.defaultValue==el.value){ el.value = ""; }
}

function restoreDefault(el) {
	if (el.value == ""){ el.value = el.defaultValue; }
}

function initClearDefaults(){
	$$('input.cleardefault').each(function(el, i){
		el.addEvent("focus",function(event){
			clearDefault(el);
		});
		el.addEvent("blur",function(event){
			restoreDefault(el);
		});
	});
}
//end CLEAR DEFAULTS

/* REVER!!! */
function clickButton(e, buttonid)
{
	var evt = e ? e : window.event;
	var bt = document.getElementById(buttonid);
		
	if (bt)
	{ 
		if (evt.keyCode == 13)
		{ 
			bt.click(); 
			return false; 
		} 
	} 
}

//Animacao Ferramentas

function AnimacaoFerramentas(ferramentasID, menuferramentasID, menuFavoritosID, LnkMapaSiteID)
{
	var LinkFerramentas = $(ferramentasID);
	var Menuferramentas = $(menuferramentasID);
	var MenuFavoritos = $(menuFavoritosID);
	var LnkMapaSiteID = $(LnkMapaSiteID);
	var LinkMapaSite = $('LinkMapaSite');
	var MapaSite = $('MapaSite');
	
	Menuferramentas.toggleClass('hidden');
	
	LinkFerramentas.addEvents({
		'click':function(e){
			LinkFerramentas.toggleClass('activo');
			Menuferramentas.toggleClass('hidden');
			if(MenuFavoritos.hasClass('visible'))
			{
			    MenuFavoritos.toggleClass('visible');    
			}
		}
	});
	
	//registar evento da ferramenta 'Mapa do Site'
	if(LnkMapaSiteID!=null)
	{
	    LnkMapaSiteID.addEvents({
		'click':function(e){
        	
        	    if(MapaSite.hasClass('Closed'))
        	    {
        	        MapaSite.toggleClass('Closed');
        	        LinkMapaSite.toggleClass('over');
	                LinkMapaSite.toggleClass('activo');        	    
        	        LinkMapaSite.toggleClass('Closed');
        	    }
        	
	            if(!MapaSite.hasClass('Closed'))
	            {
		            Cookie.write('ShowSiteMap','true');
		            MapaSite.setStyle('opacity',1);	
			        MapaSite.setStyle('visibility','visible');
	            }
		    }
	    });
	}
}

//end Animacao Ferramentas

// Favorita

function InitFavoritos(favoritosID,menuFavoritosID,ferramentasID)
{
    var LinkFavoritos= $(favoritosID);
	var MenuFavoritos = $(menuFavoritosID);
	var MenuFerramentas = $(ferramentasID);
	
	LinkFavoritos.toggleClass('visible');
	
	LinkFavoritos.addEvents({
		'click':function(e){
			MenuFavoritos.toggleClass('visible');
			if(!MenuFerramentas.hasClass('hidden'))
			{
			    MenuFerramentas.toggleClass('hidden');    
			}
		}
	});
	
	if(!Browser.Engine.trident)
	{
	    $('AdicionarFavoritos').dispose();
	}
	else
	{
	    $('AdicionarFavoritos').addEvents({
		    'click':function(e){
               window.external.AddFavorite(location.href, document.title);
		    }
	    });
	}
	
    $('AdicionarFavorita').addEvents({
		'click':function(e){
			if(currentHomepageUrl != 'null')
			{
				if(Cookie.read('FavoriteChannel') == currentHomepageUrl)
				{
					Cookie.dispose('FavoriteChannel');
					$('AdicionarFavorita').set('html', Resources.adicionar_favorita);
				}
				else
				{
					Cookie.write('FavoriteChannel',currentHomepageUrl,{duration:90});	
					$('AdicionarFavorita').set('html',Resources.remover_favorita);
				}
				LinkFavoritos.toggleClass('FavoritoActivo');
			}
		}
	});
	
	if(Cookie.read('FavoriteChannel') == currentHomepageUrl)
	{
		LinkFavoritos.toggleClass('FavoritoActivo');
		$('AdicionarFavorita').set('html',Resources.remover_favorita);
	}
	else
	{
		$('AdicionarFavorita').set('html',Resources.adicionar_favorita);
	}
}

// end 

// Background

function InitBodyBackground()
{
    if(typeof(currentChannel)!='undefined' && typeof(siteRoot)!='undefined' && $('body_'+currentChannel)){
        $('body_'+currentChannel).setStyle('background-image','url('+siteRoot+'Design/Images/body_'+currentChannel+'.jpg)');
    }
}

// end Background

/* Obter valores da QueryString */
function getQueryString(variable) 
{
  var query = window.location.search.substring(1);
  var vars = query.split("&");
  
  for (var i=0;i<vars.length;i++) 
  {
    var pair = vars[i].split("=");
    if (pair[0] == variable) 
    {
      return pair[1];
    }
  }
} 

/* padding */

function pad(num, count, padchar,direction) 
{
    var lenDiff = count - String(num).length;
    var padding = '';
    var result;
  
    if (lenDiff > 0)
    {
        while (lenDiff--)
        {
            padding += padchar;   
        }
    }
  
    if(direction == 'left')
    {
        result = padding + num;
    }
    else
    {
        result = num + padding;
    }
  
  return result;
}

//The fix() method returns the number rounded to the specified number of digits.
function _fix(dig) {
 if ((dig<0) || (dig==null) || (isNaN(dig))) 
 {
    dig=0;
 }
 
 var power = Math.pow(10,dig);
 
 return Math.round(this.valueOf()*power)/power;
}
Number.prototype.fix = _fix;

/* ie6flickeringfix - Corrige o bug de fazer flick ao passar de uma imagem para a outra no IE6 */
function ie6flickeringfix() {
	if (window.ie) try {document.execCommand("BackgroundImageCache", false, true);} catch(e){};
}

/* embed */
/**
 * This script contains embed functions for common plugins. This scripts are complety free to use for any purpose.
 */

function writeFlash(p) {
	writeEmbed(
		'D27CDB6E-AE6D-11cf-96B8-444553540000',
		'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
		'application/x-shockwave-flash',
		p
	);
}

function writeShockWave(p) {
	writeEmbed(
	'166B1BCA-3F9C-11CF-8075-444553540000',
	'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0',
	'application/x-director',
		p
	);
}

function writeQuickTime(p) {
	writeEmbed(
		'02BF25D5-8C17-4B23-BC80-D3488ABDDC6B',
		'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0',
		'video/quicktime',
		p
	);
}

function writeRealMedia(p) {
	writeEmbed(
		'CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA',
		'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
		'audio/x-pn-realaudio-plugin',
		p
	);
}

function writeWindowsMedia(p) {
	p.url = p.src;
	writeEmbed(
		'6BF52A52-394A-11D3-B153-00C04F79FAA6',
		'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701',
		'application/x-mplayer2',
		p
	);
}

function writeEmbed(cls, cb, mt, p) {
	var h = '', n;

	h += '<object classid="clsid:' + cls + '" codebase="' + cb + '"';
	h += typeof(p.id) != "undefined" ? 'id="' + p.id + '"' : '';
	h += typeof(p.name) != "undefined" ? 'name="' + p.name + '"' : '';
	h += typeof(p.width) != "undefined" ? 'width="' + p.width + '"' : '';
	h += typeof(p.height) != "undefined" ? 'height="' + p.height + '"' : '';
	h += typeof(p.align) != "undefined" ? 'align="' + p.align + '"' : '';
	h += '>';

	for (n in p)
		h += '<param name="' + n + '" value="' + p[n] + '">';

	h += '<embed type="' + mt + '"';

	for (n in p)
		h += n + '="' + p[n] + '" ';

	h += '></embed></object>';

	document.write(h);
}

/* -- INICIALIZAÇÕES -- */

window.addEvent('domready',function(){
    ie6flickeringfix();
	createPrint();	
	fixIE6Hover('.fixIE6hover','over');
	initClearDefaults();
	if($('Ferramentas')){
		AnimacaoFerramentas('Ferramentas', 'menuFerramentas','menuFavoritos','lnkSiteMap');
	}
	if($('Favoritos')){
		InitFavoritos('Favoritos','menuFavoritos','menuFerramentas');
	}
	if($('accordion_text')){
		accordion('accordion_text','h3.toggler_C','div.element_C');
	}
	if($$('.Entrada_de_Areas')){
		AnimacaoLandingMenus('.Entrada_de_Areas .areabox');
	}

	if($('as_accordion')){
		accordion('as_accordion','h3.toggler_F','div.element_F');
	}


	AnimacaoMapaSite('Footer', 'LinkMapaSite', 'Pick');
	
	InitBodyBackground();
	
	$$('.DestaquesServicos').addClass('hide');
	$$('.servicosToggle h4').addEvents({
		'click':function(e){
			$$('.servicosToggle .DestaquesServicos').toggleClass('hide');
		}
	});
});
