var tagspendientes=false
var Urlgf = {
 	
  validar: function(event,prop,directo) {	
	
	if(directo!=null)
		var t=$(directo)
	else
		var t = Event.element(event)	
	var urlajax = 'verificarurl.php'
	var url=$('checkurl').url.value
	if(url.include(';')||!url.endsWith('/'))
	{
		$('mensajeurl').innerHTML='<p>La URL ingresada no es v&aacute;lida</p>'
		$('bpas12').disable()
		return false
	}	
	t.value="Verificando"
	$('mensajeurl').innerHTML='Verificando'
	t.disable()
	$('bpas12').disable()
	new Ajax.Request(urlajax, 
		{
		method: 'get',
		parameters: $H({'url':url}),
		onSuccess: function(transport) 
			{
				var response = transport.responseText || "no response text";
				
				switch(response)
				{
					case 'no response text':
						$('mensajeurl').innerHTML='<p>No se pudo conectar con el Servicio, por favor int&eacute;ntelo m&aacute;s tarde</p>'
						$('bpas12').disable()
						break
					case 'No existe url':
						$('mensajeurl').innerHTML='<p>No se pudo conectar con la URL o no existe. Si esta bien escrita int&eacute;ntelo nuevamente m&aacute;s tarde.</p>'
						$('bpas12').disable()
						break
					case 'robots denegados':
						$('mensajeurl').innerHTML='<p>La URL ingresada tiene prohibida la entrada de robots, imposible continuar hasta que cambie dicho par&aacute;metro</p>'	
						$('bpas12').disable()
						break
					case 'ya existe':
						$('mensajeurl').innerHTML='<p>La URL ingresada ya ha sido agregada al directorio previamente</p>'	
						$('bpas12').disable()
						break
					/*
					default:
						$('mensajeurl').innerHTML='<p>'+response+'</p'
						*/
					default:
						var json = response.evalJSON();			
						$('datosurl').titulo.value=(typeof(json.title)=='undefined'?'':json.title)
						$('datosurl').descripcion.value=(typeof(json.description)=='undefined'?'':json.description)
						var keys=(typeof(json.keywords)=='undefined'?'':json.keywords)
						arr=keys.split(',')
						if(keys!='')
						{
							for(i=0;i<arr.length;i++)
							{
								if(IsAlphaNum(arr[i]))
								{
									if(!'el la los las a para por de en con sin un una unas unos'.include(arr[i]))
									{
										cad=arr[i]
										arr[i]='<span class="tagg"><strong>'+cad.toLowerCase()+'</strong><span>[x]</span></span>'
									}
									else
										arr[i]=''
								}
								else
								{
									arr[i]=''
								}		
							}
							$('keys').innerHTML=arr.join(' ')
						}
						else
						{
							$('keys').innerHTML=''
						}
						$('mensajeurl').innerHTML='<p>URL<a id="urladded" href="'+url+'" target="_blank"> '+url+' </a>verificada.<br/>Por favor compruebe que la URL es la que realmente quiere agregar haciendo click en el enlace.</p>'
						$('bpas12').enable()
						tagspendientes=true
						
				}
				t.enable()
				t.value="Verificar"
				
			}
		});
	},
	addtags: function(event,prop,directo) {  
	
		if(directo!=null)
			var t=$(directo)
		else
			var t = Event.element(event)
		var newtags=$('datosurl').newtag.value	
		$('datosurl').newtag.select()
		if(!IsAlphaNum(newtags))
		{
			$('datosurl').newtag.select()
			return false			
		}
		if(!newtags.blank())
		{
			var arr=newtags.split(' ')
			newtags=''
			$A(arr).each(function(tag,s)
			{
				if(!tag.blank())
					if(!'el la los las a para por de en con sin un una unas unos'.include(tag))
					{
						arr[s]='<span class="tagg"><strong>'+tag.toLowerCase()+'</strong><span>[x]</span></span>'
					}
					else
						arr[s]=''
			})	
			$('keys').innerHTML+=arr.join(' ')
			cargareventos(['.tagg span'],'keys',['click'],['Urlgf..quitar..null'])	
		}

	},
	pasar: function(event,prop,directo) {  
	
		if(prop!='null')
		{
			var props= prop.split(':')
			var origen=props[0]
			var destino=props[1]		
		}
		if(directo!=null)
			var t=$(directo)
		else
			var t = Event.element(event)
		
		if(destino=='paso2' && tagspendientes)
		{	
			cargareventos(['.tagg span'],'keys',['click'],['Urlgf..quitar..null'])
			tagspendientes=false
		}
		if(destino=='paso3')
		{
			if(!IsAlphaNum($('datosurl').titulo.value)||($('datosurl').titulo.value.blank())||$('datosurl').titulo.value.length>100)
			{
				$('datosurl').titulo.select()
				return false
			}
			if(!IsAlphaNum2($('datosurl').descripcion.value)||($('datosurl').descripcion.value.blank())||$('datosurl').descripcion.value.length>255)
			{
				$('datosurl').descripcion.select()
				return false
			}
			if($('keys').innerHTML.blank())
			{
				$('datosurl').newtag.select()
				return false
			}
				
			$('datosfinal').codigo.value='<a target="_blank" href="http://directorio.tensaiweb.net/?site='+escape($('urladded').innerHTML)+'">Directorio TensaiWeb</a>'
		}
		new Effect.Fade(origen, {duration:1});
		new Effect.Appear(destino, {queue:'end',duration:1});

	},
	quitar: function(event,prop,directo) {  
		
		if(directo!=null)
			var t=$(directo)
		else
			var t = Event.element(event)
		
		var p=t.parentNode
		p.parentNode.removeChild(p)
		
	}
	,
	sel: function(event,prop,directo) {  
		
		if(directo!=null)
			var t=$(directo)
		else
			var t = Event.element(event)
		
		t.select()
		
	},
	comprobar: function(event,prop,directo) {  
		
		if(directo!=null)
			var t=$(directo)
		else
			var t = Event.element(event)
		
		t.disable()
		$('bpas32').disable()
		var cadena=$('datosfinal').OWNER_EMAIL.value
		var plant = /[^\w^@^\.^-]+/gi
		$('mensajecol').innerHTML=''
		if (plant.test(cadena))
		{	
			$('mensajecol').innerHTML="Email contiene caracteres extra&ntilde;os"
			t.enable()	
			$('bpas32').enable()
			return false
		}	
		else
		{
			plant =/(^\w+)(@{1})([\w\.-]+$)/i
			if (!plant.test(cadena))
			{
				$('mensajecol').innerHTML="Email no v&aacute;lido"	
				t.enable()	
				$('bpas32').enable()				
				return false
			}	
		}
		var urlajax = 'compruebaurl.php'
		
		var site=$('urladded').href
		var url=site
	
		var a=site.split('/')
		var b=a[2].split('.')
	
		var dominio=''
		if(b.length>1)
			dominio=b[b.length-2]+'.'+b[b.length-1]
		
		if(!url.include(dominio))
		{
			$('mensajecol').innerHTML='La Url rec&iacute;proca debe pertenecer al mismo dominio que la p&aacute;gina que se desea agregar'	
			t.enable()	
			$('bpas32').enable()
			return false
		}
		var site=escape(site)
		var ptitulo=$('datosurl').titulo.value
		var pdescripcion=$('datosurl').descripcion.value
		var ptags=$('keys').innerHTML
		var pemail=$('datosfinal').OWNER_EMAIL.value
		var purlre=$('datosfinal').urlre.value
		if($('datosfinal').reci.checked)
			var tiporeci='1'
		else
			var tiporeci='0'
		
		new Ajax.Request(urlajax, 
			{
			method: 'get',
			parameters: $H({'url':url,'site':site,'titulo':ptitulo,'descripcion':pdescripcion,'tags':ptags,'email':pemail,'urlre':purlre,'tiporeci':tiporeci}),
			onSuccess: function(transport) 
				{
					var response = transport.responseText || "no response text";
					
					switch(response)
					{
						case 'no response text':
							$('mensajecol').innerHTML='No se pudo conectar con el Servicio, por favor int&eacute;ntelo m&aacute;s tarde'
							t.enable()	
							$('bpas32').enable()	
							break
						case 'No existe url':
							$('mensajecol').innerHTML='No se pudo conectar con la URL <a href="'+purlre+
							'" target="_blank">'+url+'</a> o no existe. Si esta bien escrita int&eacute;ntelo nuevamente m&aacute;s tarde.'
							t.enable()	
							$('bpas32').enable()	
							break
						case 'No se encontro enlace':
							$('mensajecol').innerHTML='No se encontr&oacute; el enlace en la url rec&iacute;proca'	
							t.enable()	
							$('bpas32').enable()	
							break
						case 'robots denegados':
							$('mensajecol').innerHTML='La URL ingresada tiene prohibida la entrada de robots, imposible continuar hasta que cambie dicho par&aacute;metro'	
							t.enable()	
							$('bpas32').enable()	
							break
						default:
							/*
							var json = response.evalJSON();			
							$('datosurl').titulo.value=(typeof(json.title)=='undefined'?'':json.title)
							$('datosurl').descripcion.value=(typeof(json.description)=='undefined'?'':json.description)
							var keys=(typeof(json.keywords)=='undefined'?'':json.keywords)
							arr=keys.split(',')
							if(keys!='')
							{
								for(i=0;i<arr.length;i++)
								{
									arr[i]='<span class="tagg"><strong>'+arr[i]+'</strong><span>[x]</span></span>'
								}
								$('keys').innerHTML=arr.join(' ')
							}
							else
							{
								$('keys').innerHTML=''
							}
							*/
							$('mensajecol').innerHTML=response		
							cargareventos(['#check'],'paso3',['go'],['Urlgf..pasar..paso3:enviado'])			
							
					}				
					
				}
			});		
				
		
	}		
};

function cargareventos(selectores,prenodo,eventos,funciones)
{
	var selector=selectores
	var nodo
	if(prenodo!=null)
		{
			nodo=$(prenodo)
			if(!nodo)
				nodo=document
		}
	else
	{
		nodo=document
		
	}
	if(nodo!=document)
		var objelems=$(nodo).getElementsBySelector(selector)
	else
		var objelems=$$(selector)
	objelems.each(function(obj){			
		$A(eventos).each(function(eve,index){		
			var funcion=funciones[index]
			if(funcion)
			{					
				var fs=funcion.split('..')
				var grupofun=fs[0]
				var propfun=fs[2]
				if(eve=='go')
				{
					var strfun=fs[0]+'.'+fs[1]+'(null,"'+propfun+'",obj);'
					eval(strfun)					
				}
				else
				{
					funcion=fs[0]+'.'+fs[1]
					var strfun=funcion+'.bindAsEventListener('+grupofun+",'"+propfun+"',null);"
					Event.observe(obj, eve, eval(strfun));
				}
			}
			
		});		
	});	
}
function asignar()
{
	$('bpas12').disable()
	$('paso1').style.display="none"
	$('paso2').style.display="none"
	$('paso3').style.display="none"
	$('enviado').style.display="none"
	if (typeof(email) != 'undefined')
	{
		enviobot=email[2]
		envioval=email[1]
		enviomail=email[0]
		enviomsg=email[3]
		if(enviomail!="")
		{
			songmail=enviomail.replace(/\./g, "\$")
			cargareventos([enviobot],null,['click'],['Botonesgf..enviar..mail:'+enviomail+':'+envioval+':'+enviomsg])
		}
		else if(typeof(enviomsg != 'undefined'))
			$(enviomsg).innerHTML='Sin Destino'
	}	
	cargareventos(['#vurl'],'checkurl',['click'],['Urlgf..validar..null'])
	cargareventos(['#addtag'],'datosurl',['click'],['Urlgf..addtags..null'])
	cargareventos(['#bpas01'],'instrucciones',['click'],['Urlgf..pasar..instrucciones:paso1'])
	cargareventos(['#bpas10'],'paso1',['click'],['Urlgf..pasar..paso1:instrucciones'])
	cargareventos(['#bpas12'],'paso1',['click'],['Urlgf..pasar..paso1:paso2'])
	cargareventos(['#bpas21'],'paso2',['click'],['Urlgf..pasar..paso2:paso1'])
	cargareventos(['#bpas23'],'paso2',['click'],['Urlgf..pasar..paso2:paso3'])
	cargareventos(['#bpas32'],'paso3',['click'],['Urlgf..pasar..paso3:paso2'])	
	cargareventos(['textarea'],'paso3',['click'],['Urlgf..sel..null'])	
	cargareventos(['#check'],'paso3',['click'],['Urlgf..comprobar..null'])
	
	
}
Event.observe(window, 'load', asignar);