/**
 *function $(el) {
 *    return document.getElementById(el);
 *}
 */

function ud_getEventSrc(e) {
 // get a reference to the IE/windows event object
	 if (!e) e = window.event;
	
	 // DOM-compliant name of event source property
	 if (e.target)
	   return e. target;
	 // IE/windows name of event source property
	 else if (e.srcElement)
	   return e.srcElement;
}
function ud_addEvent(objObject, strEventName, fnHandler) {
 // DOM-compliant way to add an event listener
	 if (objObject.addEventListener)
	   	objObject.addEventListener(strEventName, fnHandler, false);
	 // IE/windows way to add an event listener
	 else if (objObject.attachEvent)
	   	objObject.attachEvent("on" + strEventName, fnHandler);
}
function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	else
		node=document.getElementById(node)
	if ( tag == null )
		tag = '*';
	if(node==null)
		return classElements
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
	if ( pattern.test(els[i].className) ) 
		{
		classElements[j] = els[i];
		j++;
		}
	}
	return classElements;
}
function cargareventos(criterios,eventos,funciones)
{
	clase=criterios[0]
	nodo=criterios[1]
	tag=criterios[2]
	var objelems=getElementsByClass(clase,nodo,tag)
	for (var i = 0; i < objelems.length; i++) 
	{   
		for (var j = 0; j < eventos.length; j++) 
		{   			
			ud_addEvent(objelems[i],eventos[j],eval(funciones[j]))			
		}
    }  	
}
function getcodetub()
{
if(document.getElementById('url_vid').value=='')
{alert('Debe ingresar una URL')	
document.getElementById('url_vid').focus()
return null}
urlvid=document.getElementById('url_vid').value
x= new Array()
x=urlvid.split('=')
urlvid=x[1]
code='<object data="http://www.youtube.com/v/'+urlvid+'" type="application/x-shockwave-flash" wmode="transparent" height="350" width="425"><param name="movie" value="http://www.youtube.com/v/'+urlvid+'"></param><param name="wmode" value="transparent"></param></object>'
document.getElementById('code_vid').value=code
}
function ver_img(n,w,h)
{
    nh=h+40
    nw=w+10
    window.open('http://tensaiweb.info/blog/wp-includes/php/my_img.php?file='+n,'',
        'location=no,toolbar=no,scrollbars=yes,titlebar=no,resizable=yes,left=200,top=200,height='+nh+',width='+nw)       
}
function imgpopup(event)
{
var t = ud_getEventSrc(event) 
ruta=t.src
wi=(t.naturalWidth)?t.naturalWidth:600
he=(t.naturalHeight)?t.naturalHeight:480
ver_img(ruta,wi,he)
}
function seleccionar(event)
{
var t = ud_getEventSrc(event) 
t.select()
}
function calcurl(event)
{
var t = ud_getEventSrc(event) 
pu=document.getElementById('priurl').value
if(pu.value=='')
{alert('Debe ingresar una URL')	
document.getElementById('priurl').focus()
return null}
window.open('http://www.business-opportunities.biz/projects/how-much-is-your-blog-worth/worth.php?url='+pu,'_blank',
        'menubar=yes,location=yes,toolbar=yes,scrollbars=yes,titlebar=yes,resizable=yes')       
}
function displayentry(event)
{
var t = ud_getEventSrc(event) 
p=t.parentNode
ens=new Array()
ens=getElementsByClass('entry',p.id,'div')
en=ens[0]
if(t.innerHTML=='[-]')
{
en.style.display='none'
t.innerHTML='[+]'
}
else
{
en.style.display='block'
t.innerHTML='[-]'
}
}
function limitcolor(c,lim)
{
	rgb=new Array()
	rgb=rgbtodec(c)
	var cR=parseInt(rgb[0])
	var cG=parseInt(rgb[1])
	var cB=parseInt(rgb[2])
	switch(lim)
	{
	case 0:
		if(c=='FFFFFF')
		return [0,0,0]
		if(c=='000000')
		return [0,0,0]
		min=(cR!=0)?cR:255
		if(cG!=0)
			min=(cG<min)?cG:min
		if(cB!=0)
			min=(cB<min)?cB:min
		cR=(cR!=0)?cR-min:0
		cG=(cG!=0)?cG-min:0
		cB=(cB!=0)?cB-min:0
		break
	case 1:
		if(c=='FFFFFF')
		return [0,0,0]
		if(c=='000000')
		return [0,0,0]
		max=(cR!=0)?cR:0
		max=(cG>max)?cG:max
		max=(cB>max)?cB:max
		cR=(cR!=0)?cR+(255-max):0
		cG=(cG!=0)?cG+(255-max):0
		cB=(cB!=0)?cB+(255-max):0
		break
	case 2:
		//min=menorhex(c)
		max=mayorhex(c)
		cR=(cR==max)?cR:0
		cG=(cG==max)?cG:0
		cB=(cB==max)?cB:0
		break
	case 3:
		max=mayorhex(c)
		cR=(cR==max)?cR:max
		cG=(cG==max)?cG:max
		cB=(cB==max)?cB:max
		break	
	}
	rgb=[cR,cG,cB]
	return rgb
}
var Checks = {
  // some stuff our 'generic' function needs

  generic: function(event) {
    // Some generic, all-purpose checking (e.g. empty required fields)

	e='#'+Event.element(event).getValue()
	$('colorsuma').setStyle({backgroundColor:e})
  },
	pasar: function(event) {
	    // Some generic, all-purpose checking (e.g. empty required fields)
	
		ide=Event.element(event).id
		
		switch(ide)
		{
		case 'golight':
		e=$('colorsuma').getStyle('backgroundColor')
		$('colorbrillo').setStyle({backgroundColor:e})
		break
		}
		rgb=new Array()
		rgb=rgbtodec(e)
		cR=parseInt(rgb[0])
		cG=parseInt(rgb[1])
		cB=parseInt(rgb[2])
		nmax=Math.max(Math.max(cR,cG),cB)
		if(espastel(e))
		{
			$('upastel').enable()
			$('dpastel').enable()			
		}
		else
		{
			$('upastel').disable()
			$('dpastel').disable()			
		}
		$('faclight').value=nmax
		$('codrgb').value=dectorgb(rgbtodec(e))
		$('color2').value=dectorgb(rgbtodec(e))		
		$('codhex').value='#'+toHex(cR)+toHex(cG)+toHex(cB)	
	},
	brillar: function(event) {
	    // Some generic, all-purpose checking (e.g. empty required fields)
	
		ide=Event.element(event).id
		e=$('colorbrillo').getStyle('backgroundColor')
		c=$('color2').value
		rgb=new Array()
		rgb=rgbtodec(e)
		var cR=parseInt(rgb[0])
		var cG=parseInt(rgb[1])
		var cB=parseInt(rgb[2])
		
		sum=$('sumfaclight').getValue()
		switch(ide)
		{
		
		case 'lighter':
			maximo=limitcolor(c,1)
			mR=maximo[0]
			mG=maximo[1]
			mB=maximo[2]	
			cR+=parseInt(sum)
			cG+=parseInt(sum)
			cB+=parseInt(sum)
			cR=(cR>mR)?mR:cR
			cG=(cG>mG)?mG:cG		
			cB=(cB>mB)?mB:cB			
			break
		case 'darker':
			sum*=-1
			minimo=limitcolor(c,0)
			mR=minimo[0]			
			mG=minimo[1]
			mB=minimo[2]		
			cR+=parseInt(sum)
			cG+=parseInt(sum)
			cB+=parseInt(sum)		
			cR=(cR<mR)?mR:cR
			cG=(cG<mG)?mG:cG
			cB=(cB<mB)?mB:cB
			break
		case 'upastel':
			maximo=limitcolor(c,3)
			mR=maximo[0]
			mG=maximo[1]
			mB=maximo[2]
			cR+=parseInt(sum)
			cG+=parseInt(sum)
			cB+=parseInt(sum)
			cR=(cR>mR)?mR:cR
			cG=(cG>mG)?mG:cG		
			cB=(cB>mB)?mB:cB
			break	
		case 'dpastel':
			sum*=-1
			minimo=limitcolor(c,2)
			mR=minimo[0]
			mG=minimo[1]
			mB=minimo[2]
			cR+=parseInt(sum)
			cG+=parseInt(sum)
			cB+=parseInt(sum)
			cR=(cR<mR)?mR:cR
			cG=(cG<mG)?mG:cG		
			cB=(cB<mB)?mB:cB
			break	
		}			
		
		e=dectorgb([cR,cG,cB])
		nmax=Math.max(Math.max(cR,cG),cB)
		$('faclight').value=nmax
		$('colorbrillo').setStyle({backgroundColor:e})
		$('codrgb').value=e
		$('codhex').value='#'+toHex(cR)+toHex(cG)+toHex(cB)		
		
	}
};
var techno = {
  // some stuff our 'generic' function needs

  cambiar: function(event) {
    // Some generic, all-purpose checking (e.g. empty required fields)

	e=Event.element(event).getValue()
	e=getags(e)
	$('technocode').value = e
	$('technohtml').innerHTML=e
	return true
  },
clrads: function(event) {
	$('adcode').value=''
	},	
  selec: function(event) {
    Event.element(event).select()
	},
	
	getcode: function(event) {
    // Some generic, all-purpose checking (e.g. empty required fields)

	e=$('adcode').value
	if(e=="")
		return true
	
	txt=e
	var ali
	if($('forma').flot[0].checked)
		ali=$('forma').flot[0].value
	else
		ali=$('forma').flot[1].value
	if($('forma').plant[1].checked)
	{
	txt = txt.replace(/</g,"&lt;");
	txt = txt.replace(/>/g,"&gt;");

		$('bloggercode').value = '<b:if cond=\'data:blog.pageType == "item"\'><p><div style="float:'+ali+';">'+txt+
	'</div><data:post.body/></p><b:else/><p><data:post.body/></p></b:if>'

	}
	else
		$('bloggercode').value = '<div style="overflow:hidden;"><ItemPage><div style="float:'+ali+';">'+txt+
	'</div></ItemPage><$BlogItemBody$></div></div>'	
	return true
  },
	gettagcloud: function(event) {
    // Some generic, all-purpose checking (e.g. empty required fields)

	var a=$('mintags').value
	var b=$('minfont').value
	var c=$('maxfont').value
	var d=$('mincol').value
	var e=$('maxcol').value
	if(a=="")a="1"
	if(b=="")b="10"
	if(c=="")c="20"
	if(d=="")d="#FFFFFF"
	if(e=="")e="#0000FF"
	
	
	if($('showcont').checked)
		var f='true'
	else
		var f='false'
	$('bloggercode').value = codetags(a,b,c,d,e,f)	
	return true
  }

 };

function blinkear(event)
{	var inicolor='#00FFFF'	
	var fincolor='#FFAAFF'
	var t = ud_getEventSrc(event)
	t=$(t)
	var actual=new Array()
	var color=t.getStyle('color')
	if(!aresamearray(rgbtodec(inicolor),rgbtodec(color)))
		return false
	var frames=32

	var xi=new Array()
	xi=rgbtodec(inicolor)
	var iR=xi[0]
	var iG=xi[1]
	var iB=xi[2]
	var xf=new Array()
	xf=rgbtodec(fincolor)
	var fR=xf[0]
	var fG=xf[1]
	var fB=xf[2]
	var sentido=1
	dR=parseInt((fR-iR+1)/frames)
	dG=parseInt((fG-iG+1)/frames)
	dB=parseInt((fB-iB+1)/frames)
	
	var aR=0
	var aG=0
	var aB=0
	
	new PeriodicalExecuter(function(pe) {	
	actual=rgbtodec(color)
	aR=actual[0]
	aG=actual[1]
	aB=actual[2]
	if(sentido==1)
	{
		aR+=dR
		aG+=dG
		aB+=dB
		aR=((dR*aR)>(dR*fR))?fR:aR
		aG=((dG*aG)>(dG*fG))?fG:aG
		aB=((dB*aB)>(dB*fB))?fB:aB
		if(aR==fR&&aG==fG&&aB==fB)
			sentido=-1
		
	}
	else
	{
		aR-=dR
		aG-=dG
		aB-=dB
		aR=((dR*aR)<(dR*iR))?iR:aR
		aG=((dG*aG)<(dG*iG))?iG:aG
		aB=((dB*aB)<(dB*iB))?iB:aB
		if(aR==iR&&aG==iG&&aB==iB)
			sentido=1
	}
	
	actual=[aR,aG,aB]
	color=dectorgb(actual)
	t.setStyle({'color':color})
  },
 0.1);
}	
function carga()
{	/*cargareventos(criterios,eventos,funciones)*/	
	cargareventos(['buton','get_codetub','input'],['click'],['getcodetub'])
	cargareventos(['showtexta','get_codetub','textarea'],['click'],['seleccionar'])
	cargareventos(['imgpop','content','img'],['click'],['imgpopup'])
	cargareventos(['butonurl','priceurl','input'],['click'],['calcurl'])
	cargareventos(['swentry','content','small'],['click'],['displayentry'])
	cargareventos(['post_title','estrellados','a'],['mouseover'],['blinkear'])
	if($('hcolores'))
	{
		Event.observe('selector1', 'change', Checks.generic.bindAsEventListener(Checks));
		Event.observe('golight', 'click', Checks.pasar.bindAsEventListener(Checks));
		Event.observe('lighter', 'click', Checks.brillar.bindAsEventListener(Checks));
		Event.observe('darker', 'click', Checks.brillar.bindAsEventListener(Checks));
		Event.observe('dpastel', 'click', Checks.brillar.bindAsEventListener(Checks));
		Event.observe('upastel', 'click', Checks.brillar.bindAsEventListener(Checks));
	}
	if($('technomaker'))
	{
		Event.observe('technotags', 'keyup', techno.cambiar.bindAsEventListener(techno));	
		Event.observe('technocode', 'click', techno.selec.bindAsEventListener(techno));
	}
	if($('adBlogger'))
	{
		Event.observe('getcodeBlogger', 'click', techno.getcode.bindAsEventListener(techno));
		Event.observe('bloggercode', 'click', techno.selec.bindAsEventListener(techno));
		Event.observe('clradcode', 'click', techno.clrads.bindAsEventListener(techno));
	}
	if($('tagcloud'))
	{
		Event.observe('getcodeBlogger', 'click', techno.gettagcloud.bindAsEventListener(techno));
		Event.observe('bloggercode', 'click', techno.selec.bindAsEventListener(techno));
	}
}
ud_addEvent(window,"load",carga)
