/* -- Variaveis Globais -- */

//var currentHomepageUrl = null;

/* -- //Variaveis Globais -- */

// PRINT

function createPrint(){
	$$('.printicon').each(function(el,i){
		new Element('span',{
			'class':'imprimir',
			'title':Resources.printTO,
			'html':Resources.print,
			'events': {
				'click': function(){
					window.print();
				},
				'mouseenter':function(){
					this.addClass('imprimirHover');
				},
				'mouseleave':function(){
					this.removeClass('imprimirHover');
				}
			}
		}).inject(el);					
	});

}

//end PRINT

// SEND

function createSend(){
	$$('.sendicon').each(function(el,i){
		new Element('span',{
			'id':'lnkEnviar',
			'class':'enviar',
			'title':Resources.sendTO,
			'html':Resources.send,
			'events': {
				'mouseenter':function(){
					this.addClass('enviarHover');
				},
				'mouseleave':function(){
					this.removeClass('enviarHover');
				}
			}
		}).inject(el);					
	});

}

//end SEND

//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

// VALIDATORS

function CheckValidatorsForm(groupID,cssClass)
{
    Page_ClientValidate(groupID);
    var controlsAlreadyValidated = new Array();
    
    for (var i = 0; i < Page_Validators.length; i++) 
    {
	    var control = document.getElementById(Page_Validators[i].controltovalidate);
	    
	    if(!controlsAlreadyValidated.contains(control))
	    {
            if(Page_Validators[i].validationGroup == groupID)
            {
                ChangeControlStyleForm(control,Page_Validators[i].isvalid, cssClass);
            }
            if(!Page_Validators[i].isvalid)
            {
		        controlsAlreadyValidated.include(control);
	        }
        }
    }
}

function ChangeControlStyleForm(control, isvalid, cssClass)
{    
    if(!isvalid)
	{
	    // NOTA: dá erro quando recebe o custom validator q valida a Checkbox list, 
	    try
	    {
		    control.className = control.className + " " + cssClass;
		}
		catch(err){}
    }
    else
    {
        try
	    {
		    control.className = control.className.replace(cssClass, "");
		}
		catch(err){}
    }
}	

function CheckValidators()
{
    Page_ClientValidate();
    
    var controlsAlreadyValidated = new Array();
    for (var i = 0; i < Page_Validators.length; i++) 
    {
        var control = document.getElementById(Page_Validators[i].controltovalidate);
    
        if(!controlsAlreadyValidated.contains(control))
        {
	        ChangeControlStyle(control,Page_Validators[i].isvalid);
	        
	        if(!Page_Validators[i].isvalid)
	        {
		        controlsAlreadyValidated.include(control);
	        }
        }
    }
}

function CheckValidatorsSendPrint()
{
    Page_ClientValidate();
    
    var controlsAlreadyValidated = new Array();
    for (var i = 0; i < Page_Validators.length; i++) {
        var control = document.getElementById(Page_Validators[i].controltovalidate);
    
        if(!controlsAlreadyValidated.contains(control)){
	        GoToBottomPage(control,Page_Validators[i].isvalid);
	        if(!Page_Validators[i].isvalid){
		        controlsAlreadyValidated.include(control);
	        }
        }
    }
}

function ValidationGroupEnableDisableOthers(validationGroupName)
{
    if (Page_Validators.length > 0)
    {
        for(i=0; i < Page_Validators.length; i++)
        {
            if (Page_Validators[i].validationGroup == validationGroupName)
            {
                ValidatorEnable(Page_Validators[i], true);
            }
            else
            {
                ValidatorEnable(Page_Validators[i], false);
            }
        }
    }
}

function ChangeControlStyle(control, isvalid)
{
    if(!isvalid)
	{
	    control.style.borderColor = isvalid ? "" : "#993300";
    }
    else
    {
        var control = document.getElementById(control.id);
	    control.style.borderColor = "";
    }
}

function GoToBottomPage(control, isvalid)
{
    if(!isvalid)
	{
	    control.style.borderColor = isvalid ? "" : "red";
	    
        var scroll = new Fx.Scroll(window);
        scroll.toBottom();

    }
    else{
        var control = document.getElementById(control.id);
	    control.style.borderColor = "";
    }
}

//DOM 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; 
		} 
	} 
}

function accordion(accordionId, toggler, element){
    var myAccordion = new Accordion($(accordionId), toggler, element, {
		    opacity: false,
		    onActive: function(toggler, element){
			    toggler.addClass('selected');
			    element.addClass('selected');
		    },
		    onBackground: function(toggler, element){
			    element.removeClass('selected');
			    toggler.removeClass('selected');
		    }
	    });
}

//SCRIPT GALERIA

function galeria(SlideGlobal, SlideContainer){
	
	var slideGlobal = $$(SlideGlobal);
	var slideContainer = $(SlideContainer);
	
	slideGlobal.each(function(el,index){
		if(index == 0){
			showGalleryElement(el.get('href'),el.get('popup'),el.get('rel'),el.get('title'),SlideContainer);
		}
		el.addEvents({
			'click': function(e){
				e.stop();
				showGalleryElement(el.attributes['href'].nodeValue,el.get('popup'),el.get('rel'),el.get('title'),SlideContainer);
			}
		});
	});	
}

function showGalleryElement(elementLink, PopUpLink, elementType, elementalt, passSlideContainer){
	
	var slideContainer = $(passSlideContainer);
	
	slideContainer.empty();

	if(elementLink != "")
	{
		var elemimg = new Element('img',
			{
				'src':elementLink, 
				'alt':elementalt, 
				'events': {
					'click': function(){
						Shadowbox.open(
							{
								player:     (elementType == "imagem" ? "img" : "flv"),
								title:      '<strong>' + elementalt + '</strong>',
								content:    PopUpLink
							}
						);
					}
				}
			}
		);
		elemimg.inject(slideContainer).tween('opacity', [0,1]);
	}
}

//end SCRIPT GALERIA

function expandSELECT(element) {
	/*foi adicionado este if para evitar que o campo encolha quando não está populado com valores*/
	if(element.type.toString().charAt(0)=="s")
	{
			/*verifica se o valor da 2ª opcção da combo é -1 que significa que é o valor de outros*/
			if(element.options[1].value!="-1")
			{
					element.getParent().style.height = element.getParent().scrollHeight;
					element.style.width = 'auto';
					element.style.position = 'absolute';
			}
	}
	else
	{
			element.getParent().style.height = element.getParent().scrollHeight;
			element.style.width = 'auto';
			element.style.position = 'absolute';
	}
}

function contractSELECT(element) 
{
	element.style.width = '';
	element.style.position = 'relative';
}	

/* -- INICIALIZAÇÕES -- */

window.addEvent('domready',function(){
	createPrint();
	createSend();
	fixIE6Hover('.fixIE6hover','over');
	initClearDefaults();
	if($('accordion')){
	    accordion($('accordion'), '.toggler', '.element');
	}
	if (Browser.Engine.trident) {
		$$('select.expandable').each(function(el,i)
		{
			el.addEvent('mouseover', function(e){
				if(el.style.width != 'auto')
				{
					el.focus();
					expandSELECT(el);
				}
			});

			el.addEvent('blur', function(e){
				contractSELECT(el);
			});
		});
	}
});

