// EXTENSÃO - Copyright 2007 Fabio Cardoso

// Regular Expression Library

var rx=new Array();
rx['alphanumeric']=/^[a-zA-Z0-9]+$/;
rx['email']=/^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(([0-9]{1,3})|([a-zA-Z]{2,3})|(aero|coop|info|museum|name))$/;

String.extend ({
	flip:function(){
		return this.split("").reverse().join("");
	},
	_B64Map : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
 	base64encode:function (){
		var length=this.length;
		var b64=new String();
		var i,b1,b2,b3;
		for (i=0;i<length;i+=3){
			b1=this.charCodeAt(i);
			b2=this.charCodeAt(i+1);
			b3=this.charCodeAt(i+2);
			b64+=( this._B64Map.charAt(b1 >> 2) ) 
				+( this._B64Map.charAt( ( (b1 & 3 ) << 4) | ( (i+1 < length) ? ( b2 >> 4) : 0 ) ) ) 	
				+( (i+1 < length) ? this._B64Map.charAt(  ( (b2 & 15 ) << 2) | ( (i+2 < length) ? ( b3 >> 6) : 0 ) ) : "=" )
				+( (i+2 < length) ? this._B64Map.charAt( b3 & 63 ) : "=" );
		}
		return b64;
	},
	base64decode:function(){
		var ret=new String();
		var length=this.length;
		var i,n1,n2,n3,n4;
		if ((length % 4) != 0){ return null; }
		for(i=0;i<length;i+=4){
			n1=this._B64Map.indexOf ( this.charAt(i) );
			n2=this._B64Map.indexOf ( this.charAt(i+1) );
			n3=(this.charAt(i+2) != "=") ? this._B64Map.indexOf ( this.charAt(i+2) ) : 0;
			n4=(this.charAt(i+3) != "=") ? this._B64Map.indexOf ( this.charAt(i+3) ) : 0;
			ret += String.fromCharCode( (n1 << 2) | ( (n2 & 48) >> 4) ) 
				+ String.fromCharCode( ( (n2 & 15) << 4) | ( (n3 & 60 ) >> 2 ) )
				+ String.fromCharCode( ( (n3 & 3) << 6 ) | n4);
		}
		return ret;
	}
});
Element.extend({
	valid:function(){
		var c=new Fx.Style(this,'background-color');
		c.start('#ffffff');
	},
	invalid:function(){
		var c=new Fx.Style(this,'background-color');
		c.start('#ffc6c6');
	},
	replaceText:function(t,s,c,bc,f){
		t=t!=null ? t : 'NO TEXT DEFINED !';
		s=s!=null ? s : 24;
		f=f!=null ? f : 'font';
		var o=this.getChildren();
		var a=new Array();
		o.each(function(e){
			var l=o.getChildren()[0].getTag();
			l=='img' ? a[a.length]=o.getChildren()[0] : '';
		});
		this.setHTML('');
		var url='lib/text.php?';
		url+='&text='+t;
		url+='&size='+s;
		c!=null ? url+='&color='+c : '';
		bc!=null ? url+='&bgcolor='+bc : '';
		url+='&font='+f;
		var img=new Asset.image(url);
		this.adopt(img);
		a.each(function(e){
			this.adopt(e);
		},this);
		img=null;
	},
	gradient:function(o,a,b){
		this.setStyle('background','none');
		o=o!=null ? o : 0; 
		a=a!=null ? a : '#ff000000'; 
		b=b!=null ? b : '#ffffffff';
		if(window.ie) this.setStyle('filter',' progid:DXImageTransform.Microsoft.gradient(gradientType='+o+',startColorstr='+a+',endColorstr='+b+')');
	},
	addBlur:function(r){
		if(window.ie) this.setStyle('filter','progid:DXImageTransform.Microsoft.Blur(PixelRadius="'+r+'")');
	},
	removeBlur:function(){
		if(window.ie) this.setStyle('filter','progid:DXImageTransform.Microsoft.Blur(enabled=false)');
	},
	invert:function(){
		if(window.ie) this.setStyle('filter','invert');
	},
	saturate:function(){
		if(window.ie) this.setStyle('filter','progid:DXImageTransform.Microsoft.BasicImage(enabled=false)');
	},
	mirror:function(){
		if(window.ie) this.setStyle('filter','DXImageTransform.Microsoft.BasicImage(mirror=1)');
	},
	xRay:function(){
		if(window.ie) this.setStyle('filter','progid:DXImageTransform.Microsoft.BasicImage(XRay=1)');
	},
	noFilter:function(){
		if(window.ie) this.setStyle('filter','none');
	},
	hover:function(m){
		m=m!=null ? m : 0.5;
		if(m>1){
			a=1;
			b=m-1;
		}else{
			a=m;
			b=1;
		}
		this.setOpacity(a);
		var h=new Fx.Style(this,'opacity',{duration:200,wait:false});
		this.addEvent('mouseenter',function(){
			h.start(a,b);
		});
		this.addEvent('mouseleave',function(){
			h.start(b,a);								
		});
	},
	hide:function(t){
		t=t!=null ? t : 500;
		var h=new Fx.Style(this,'opacity',{
			duration:t,
			onComplete:function(){ 
				this.setStyle('display','none'); 
			}
		});
		h.start(0);
	},
	show:function(t){
		t=t!=null ? t : 500;
		this.setOpacity(0);
		this.setStyle('display','block');
		var s=new Fx.Style(this,'opacity',{
			duration:t
		});
		s.start(1);
	},
	highlight:function(ci,cf){
		ci= ci!=null ? ci : '#ffffff'; 
		cf= cf!=null ? cf : '#000000'; 
		this.setStyle('background-color',ci);
		var h=new Fx.Style(this,'background-color',{duration:300,wait:false});
		this.addEvent('mouseenter',function(){
			h.start(cf);
		}.bindWithEvent(this));
		this.addEvent('mouseleave',function(){
			h.start(ci);							
		}.bindWithEvent(this));
	},
	searchbox:function(t){
		t=t!=null ? t : "Pesquisar";
		this.value=t;
		var b={
			'text-align':'right',
			'font-style':'italic',
			'color':'#999999'
		};
		var f={
			'text-align':'left',
			'font-style':'normal',
			'color':'#000000'
		};
		this.setStyles(b);
		this.addEvent('focus',function(){
			this.value="";
			this.setStyles(f);
		});
		this.addEvent('blur',function(){
			if(this.value==""){
				this.setStyles(b);
				this.value=t;
			}
		});
	}
});
function fixPNG(){
	if(window.ie6){
		var blank=new Asset.image('img/blank.gif');
		$$('body','div','span','a','li').each(function(o){
			var s=o.currentStyle.backgroundImage;
			s=s.replace(/(url|\(")/g,"").replace(/"\)/g,"");
			if(s.test(/^.*\.png$/i)){
				o.setStyles({
					background:'none',
					filter:'progid:DXImageTransform.Microsoft.AlphaImageLoader(src='+s+',sizingMethod="scale")'
				});
			}
		});
		$$('img').each(function(i){
			if(i.src.test(/^.*\.png$/i)){
				var clone=blank.clone();
				var w=i.getSize().size.x;
				var h=i.getSize().size.y;
				i.replaceWith(clone);
				clone.setStyles({
					width:w,
					height:h
				});
				var change=new Asset.image(i.src,{onload:function(){
					clone.setStyle('filter','progid:DXImageTransform.Microsoft.AlphaImageLoader(src='+i.src+',sizingMethod="scale")');											  
				}});
			}
		});
	}	
}
function showDate(){
	var m=new Array('Janeiro','Fevereiro','Mar&ccedil;o','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro');
	var w=new Array('Domingo','Segunda-feira','Ter&ccedil;a-feira','Quarta-feira','Quinta-feira','Sexta-feira','S&aacute;bado');
	var n=new Date();
	var w=w[n.getDay()];
	var d=n.getDate();
	var o=m[n.getMonth()+1];
	var y=n.getYear();
	y<1900 ? y+=1900 : ''; 
	return w+", "+d+" de "+o+" de "+y;
}
function popup(url,largura,altura,scrollbar){
	var janela=window.open(url,'popup','toolbar=0,scrollbars='+scrollbar+',location=0,statusbar=0,menubar=0,resizable=0,width='+largura+',height='+altura+',left = '+((screen.width/2)-largura)+',top = '+((screen.height/2)-altura));
}


// Fim da Extensão

window.addEvent("domready",function(){
	$$('.hover').each(function(e){
		e.hover(0.7);
	});
});