// VALIDATORS
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 CheckValidatorsGroup(groupID)
{
    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)){
            if(Page_Validators[i].validationGroup == groupID)
            {
                ChangeControlStyle(control,Page_Validators[i].isvalid);
            }
            if(!Page_Validators[i].isvalid)
            {
		        controlsAlreadyValidated.include(control);
	        }
        }
    }
}

function ChangeControlStyle(control, isvalid)
{
    if(!isvalid)
	{
	    control.style.borderColor = isvalid ? "" : "#F7931D";
	    if($('PreencheErro'))
	    {
			$('PreencheErro').setStyle('display','block');
	    }
	    if($$('.msgSucesso'))
	    {
			$$('.msgSucesso').setStyle('display','none');
	    }
    }
    else{
        var control = document.getElementById(control.id);
	    control.style.borderColor = "";
    }
}

/* EMBED - used by TinyMCE */

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);
}


/* end EMBED - used by TinyMCE */

// 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

// PRINT

function createPrint(){
	$$('.printicon').each(function(el,i){
		new Element('span',{
			'class':'imprimir fixIE6hover',
			'html':Resources.printall,
			'events': {
				'click': function(){
					window.print();
				}
			}
		}).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

function hideSubMenus(){
	$$('.Menu .subMenu').removeClass('Show');
}

function adjustMenus(el){
	el.addClass('Current');
	hideSubMenus();
	
	if(el.getElement('.subMenu') != null){
		el.getElement('.subMenu').addClass('Show');
	}
	
    var subMenu = el.getElement('ul.subMenu');
   
    if(subMenu && subMenu.getStyle('margin-left')=="0px"){
    	
        var subMenuWidth = subMenu.getCoordinates(el).width;

        var menuArea = $('AreaMenu');
        var menuAreaWidth = menuArea.getCoordinates().width;
		
        var marginLeft = el.getCoordinates(menuArea).left;
        
        if(marginLeft < 0)
        {
            marginLeft = 0; 
        }
        else if(marginLeft + subMenuWidth > menuAreaWidth)
        {
            marginLeft = menuAreaWidth - subMenuWidth - 3;
        }
        
        subMenu.setStyle('margin-left',marginLeft);
    }
    
}

/* init register form */
function initRegister()
{

    var divRegistrationData = $('divRegistrationData');
    var pnlRegistrationData = $(RegisterResources.pnlRegistrationDataID);
    var divOptions = $('divOptions');
    var pnlOptions = $(RegisterResources.pnlOptionsID);
    var divPaymentEnclosed = $('divPaymentEnclosed');
    var pnlPayEnclosed = $(RegisterResources.pnlPayEnclosedID);
    var divPaymentMethods = $('divPaymentMethods');
    var pnlPayMethods = $(RegisterResources.pnlPayMethodsID);
    
    if(divRegistrationData && pnlRegistrationData )
    {
        divRegistrationData.addEvent('click',function(){        
            divRegistrationData.toggleClass('open');
            pnlRegistrationData.toggleClass('hide');
        });
    }
    
    if(divOptions && pnlOptions)
    {
        divOptions.addEvent('click',function(){   
            divOptions.toggleClass('open');     
            pnlOptions.toggleClass('hide');
        });
    }
    
    if(divPaymentEnclosed && pnlPayEnclosed)
    {
        divPaymentEnclosed.addEvent('click',function(){   
            divPaymentEnclosed.toggleClass('open');     
            pnlPayEnclosed.toggleClass('hide');
        });
    }
    
    if(divPaymentMethods && pnlPayMethods)
    {
        divPaymentMethods.addEvent('click',function(){   
            divPaymentMethods.toggleClass('open');     
            pnlPayMethods.toggleClass('hide');
        });
    }
}

/* funções para expandir e contraír as dropdowns */
function expandSELECT(element) 
{
    element.style.width = 'auto';
    element.style.position = 'absolute';
}

function contractSELECT(element) 
{
	element.style.width = '';
	element.style.position = 'relative';
}

window.addEvent('domready',function(){
 	
 	createPrint();
 	initClearDefaults();
 	fixIE6Hover('.fixIE6hover','over');
 	
 	var myAccordion = new Accordion($('listaAcc'), 'div.eventoAcc', 'div.elementoAcc', {		  
		opacity: false,
		show: -1,
		alwaysHide: true,
		onActive: function(toggler, element){
			toggler.addClass('aberto');
		},
		onBackground: function(toggler, element){
			toggler.removeClass('aberto');
		}
		
	});

	$$('#internalTabs .internalTabsCont').each(function(el, i){
		if(i!=0){
			el.setStyle('display','none');
		}
	});	
	


	$$('#internalTabs #internalTabsNav a').each(function(el, i) {
	
	    if(i==0){
	        el.addClass('tabSel');
	    }
		
		el.addEvent("click",function(event){							 	
			event.stop();	
			var intTabsNavPoint = el.get("href").split("#")[1];
			
			$$('#internalTabsNav a').each(function(el, i){
				el.removeClass('tabSel');
			});	
			
			this.addClass('tabSel');

			$$('#internalTabs .internalTabsCont').each(function(el, i){
				el.setStyle('display','none');
			});				
			
			if($(intTabsNavPoint)){			
				$(intTabsNavPoint).setStyle('display','block');
				
			}
			
		});		

	});
	
	/* MENUS */
	hideSubMenus();
	$$('.Menu li.Selected ul.subMenu').addClass('Show');
	
	$$('.Menu > li.Selected').each(function(el){
		adjustMenus(el);
	});
	
	$$('.Menu li.MenuItem').each(function(el){
	
		el.addEvents({
			'mouseenter':function(){
				adjustMenus(el);
			},
			'mouseleave':function(){
				el.removeClass('Current');
				if(el.getElement('.subMenu') != null){
					el.getElement('.subMenu').removeClass('Show');
				}
				$$('.Menu li.Selected ul.subMenu').addClass('Show');
			}
		});
		
	});
	
	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);
			});
		});
	}
    
});