$.ajaxSetup
({
	async: true,
	type: 'POST',
	dataType: 'html',
	contentType: 'application/x-www-form-urlencoded',
	timeout: 20000,
	beforeSend: cargando
	//error: errores,
});

var comportamientosEnlaces = function(enlace)
{
	rel = $(enlace).attr('rel');
	$('a[@rel='+rel+']').click(function()
	{
		var solicitud = this.href;
		solicitud = solicitud.replace(/^.*#!/, '');
		$.historyLoad(solicitud);
		return false;
	});	
}

var comportamientosBotones = function(boton)
{
	accion = $(boton).attr('id');
	switch (accion)
	{
		case 'buscar' :
			$(boton).click(function()
			{
				accionBuscar(boton);
			});
		break;
		case 'guardar' :
			$(boton).click(function()
			{
				//accionGuardar('');
			});
		break;
	}
}

var comportamientosPestanas = function(pestana)
{
	$(pestana).click(function()
	{
		accionesPestaneros(this);
	});
}



function precarga()
{
	if (!document.images) return;
	var ar = new Array();
	var arguments = precarga.arguments;
	for (var i = 0; i < arguments.length; i++)
	{
		ar[i] = new Image();
		ar[i].src = arguments[i];
	}
}



function browser ()
{
	var b='';
	$.each($.browser, function(i, val)
	{
		if (i=='safari' && val==true){b='safari';}
		if (i=='opera' && val==true){b='opera';}
		if (i=='msie' && val==true){b='msie';}
		if (i=='mozilla' && val==true){b='mozilla';}
	});
	return b;
}


function urlSerializador (campos, valores)
{
	c_datos = campos.length;
	datos = '';
	for (d = 0; d < c_datos; d ++)
	{
		s = d + 1;
		if (s != c_datos)
		{
			separador = '&';
		}
		else
		{
			separador = '';
		}
		datos_crudos = datos+campos[d]+'='+valores[d]+separador;
		datos = String(datos_crudos);
	}
	return datos;
}

function cargando ()
{
	elobjetoactivo = $('#objetoactivo').val();
	if (elobjetoactivo != 'comentario')
	{
		ancho = $('#'+elobjetoactivo).width();
		alto = $('#'+elobjetoactivo).height();
		solicitud_activa = $('#solicitudactiva').val();
		$('#'+elobjetoactivo).html('<div class="cargando" id="'+solicitud_activa+'">Cargando...</div>');
		//setTimeout('recargando();', 3000);
		$('.cargando').css('min-height', alto);
		$('.recargando').css('min-height', alto);
		$('.manual').css('min-height', alto);
	}
}



function recargando ()
{
	elobjetoactivo = $('#objetoactivo').val();
	if (elobjetoactivo != 'comentario')
	{
		claseobjeto = $('#'+elobjetoactivo+' div').attr('class');
		switch (claseobjeto)
		{
			case 'cargando' :
				solicitudobjeto = $('#'+elobjetoactivo+' div').attr('id');
				if (solicitudobjeto !== undefined)
				{
					$('#'+elobjetoactivo).html('<div class="recargando" id="'+solicitudobjeto+'">Esperando...</div>');
					clearTimeout();
					setTimeout('recargando();', 6000);
				}
			break;
			case 'recargando' :
				solicitudobjeto = $('#'+elobjetoactivo+' div').attr('id');
				if (solicitudobjeto !== undefined)
				{
					$('#'+elobjetoactivo).html('<div class="manual" id="'+solicitudobjeto+'">Todav&iacute;a...</div>');
					clearTimeout();
					setTimeout('recargando();', 9000);
				}
			break;
			case 'manual' :
				numerorel = alazar();
				laestacion = estacion('ruta');
				solicitudobjeto = $('#'+elobjetoactivo+' div').attr('id');
				if (solicitudobjeto !== undefined)
				{
					$('#'+elobjetoactivo).html('<div class="manual">Algo sucede con la conexi&oacute;n. Intenta nuevamente en <a class="enlace" rel="'+numerorel+'" href="http://'+laestacion+'/#!'+solicitudobjeto+'">esta zona</a></div>');
					comportamientos();
				}
			break;
		}
	}
}

function alazar()
{
	numero = Math.floor(Math.random()*1000);
}

//clearTimeout(Id);




function guardarIdentificacion (solicitud)
{
	laestacion = estacion('ruta');
	$.ajax
	({
	 	async: true,
		type: 'POST',
		dataType: 'html',
		contentType: 'application/x-www-form-urlencoded',
		//url: 'http://'+laurl+'/magicafm.com/mantarraya/entrada/guardar.php',
		url: 'http://'+laestacion+'/mantarraya/salida/distribuir.php',
		data: solicitud,
		//beforeSend: antesEnviar,
		timeout: 20000,
		//error: errores,
		success: function (datos)
		{
			accionGuardar(datos);
		}
	 });
}

function asignarPadre (idformulario, idobjeto)
{
	c = 0;
	campos = [];
	valores = [];
	idformulario_s = idformulario.split('_');
	tipoformulario = idformulario_s[0];
	switch (tipoformulario)
	{
		default :
			$('#'+idformulario+' .input').each(function()
			{
				campo = $(this).attr('name');
				if (campo != undefined)
				{
					campo_s = campo.split('_');
					if (campo_s[0] == 'idID')
					{
						$('#'+campo).val(idobjeto);
					}
				}
			});
		break;
	}
	return true;
}


function prepararFormulario (idformulario)
{
	c = 0;
	campos = [];
	valores = [];
	idformulario_s = idformulario.split('_');
	tipoformulario = idformulario_s[0];
	switch (tipoformulario)
	{
		case 'manipulacion' :
			estado = $('#'+idformulario+' input[type=checkbox]').attr('checked');
			if (estado === true)
			{
				$('#'+idformulario+' input[type=checkbox]').val('visible');
			}
			else
			{
				$('#'+idformulario+' input[type=checkbox]').val('oculto');
			}
		break;
	}
	$('#'+idformulario+' .input').each(function()
	{
		campo = $(this).attr('name');
		valor = $(this).val();
		campos[c] = campo;
		valores[c] = valor;
		c ++;
	});
	losdatos = urlSerializador (campos, valores);
	return losdatos;
}

function guardarBasededatos (solicitud)
{
	laestacion = estacion('ruta');
	datos = '';
	$.ajax
	({
	 	async: true,
		type: 'POST',
		dataType: 'html',
		contentType: 'application/x-www-form-urlencoded',
		//url: 'http://'+laurl+'/magicafm.com/mantarraya/entrada/guardar.php',
		url: 'http://'+laestacion+'/mantarraya/salida/distribuir.php',
		data: solicitud,
		//beforeSend: antesEnviar,
		timeout: 20000,
		//error: errores,
		success: function (datos)
		{
			return datos;
		}
	 });
	return datos;
}


function accionGuardar (idobjeto)
{
	if (idobjeto == '')
	{
		c = 0;
		campos = [];
		valores = [];
		$('#identificacion .input').each(function()
		{
			campo = $(this).attr('name');
			if (campo != undefined)
			{
				campo_s = campo.split('_');
				if (campo_s[0] == 'idID')
				{
					iddelpadre = $('#idpadre').val();
					$('#'+campo).val(iddelpadre);
				}
			}
			valor = $(this).val();
			campos[c] = campo;
			valores[c] = valor;
			c ++;
		});
		losdatos = urlSerializador (campos, valores);
		guardarIdentificacion (losdatos);
	}
	else
	{
		iddelobjeto = idobjeto;
		formulariospropiedades = ['manipulacion','informacion'];
		c_propiedades = formulariospropiedades.length;
		for (p = 0; p < c_propiedades; p ++)
		{
			idformulario = $('#'+formulariospropiedades[p]).attr('id');
			padresasignados = asignarPadre(idformulario, idobjeto);
			if (padresasignados === true)
			{
				formulariolisto = prepararFormulario(formulariospropiedades[p]);
				formularioguardado = guardarBasededatos (formulariolisto);
			}
		}
		
		if (c_propiedades == p)
		{
			$('#informacion input').each(function()
			{
				$(this).attr('disabled', true);	
			});
			$('#informacion textarea').each(function()
			{
				$(this).attr('disabled', true);	
			});
			$('#guardar').attr('disabled', true);
			/*
			$('.panel input').each(function()
			{
				$(this).attr('disabled', true);	
			});
			*/
			elid = $('#idpadre').val();
			solicitud = 'accion=componer&objeto=comentarios_de_historia&cantidad=3&desde=0&tipo=comentario&id='+elid+'&camposvalores=identificacion|idID_id-tipo_tipo';
			solicitarObjeto(solicitud);
		}
	}
}

function accionBuscar(boton)
{
	accion = $(boton).attr('id');
	lacantidad = 2;
	valor = $('#claves').val();
	filtro = '&filtro='+valor;
	if (filtro !== '')
	{
		$.historyLoad('accion='+accion+'&objeto=*&cantidad='+lacantidad+'&desde='+0+filtro);
	}
	$('#losresultados').show();
}




function accionesCalendas()
{
	$('.calenda').each(function()
	{
		idcalenda = $(this).attr('id');
		switch(idcalenda)
		{
			case 'antesahoradespues' :
				solicitud = 'accion=componer&objeto=programaantes';
				confirmacion = solicitarObjeto (solicitud);
				if (confirmacion !== '')
				{
					solicitud = 'accion=componer&objeto=programaahora';
					confirmacion = solicitarObjeto (solicitud);
					if (confirmacion !== '')
					{
						solicitud = 'accion=componer&objeto=programadespues';
						confirmacion = solicitarObjeto (solicitud);
					}
				}
			break;
		}
	});
}


function activarEnlaces()
{
	$('.enlace').each(function()
	{
		texto = $(this).html();
		enlace = $(this);
		$(this).removeClass('enlace');
		comportamientosEnlaces(enlace);
	});
}



function statusOrganizadores (idorganizador)
{
	statusorganizador = $('#'+idorganizador+'_status').val();
	if (statusorganizador == 0)
	{
		return 0;
	}
	else
	{
		switch (idorganizador)
		{
			case 'detallesycalenda' :
				abiertas = 0;
				$('.lienzo').each(function()
				{
					visible = $(this).css('display');
					if (visible != 'none')
					{
						abiertas ++;
					}
				});
				if (abiertas > 1)
				{
					return 0;	
				}
			break;
			case 'navegador' :
				abiertas = 0;
				$('.destino').each(function()
				{
					visible = $(this).css('display');
					if (visible != 'none')
					{
						abiertas ++;
					}
				});
				if (abiertas > 1)
				{
					return 0;	
				}
			break;
		}
	}
}



function accionesLienzos(lienzo, solicitud)
{
	idlienzos = $('.lienzos').attr('id');
	statuslienzos = statusOrganizadores (idlienzos);
	switch (lienzo)
	{
		case 'confirmar' :
			objeto = lectorSolicitud ('objeto', solicitud);
			if (statuslienzos == 0)
			{
				accionesCalendas();
				contenedor = accionesLienzos('iniciar', '');
				$('#'+idlienzos+'_status').val(1);
			}
		break;
		case 'iniciar' :
			$('.lienzo').hide();
			$('.calenda').show();
			$('#'+idlienzos+'_status').val(1);
			return 'iniciado';
		break;
		default :
			objeto = lectorSolicitud ('objeto', solicitud);
			switch (objeto)
			{
				case 'programaantes' :
				case 'programadespues' :
					contenidoahora = $('#programaahora').children().length;
					if (contenidoahora == 0)
					{
						accionesCalendas();
						accionesPestaneros('confirmar', solicitud);
					}
				break;
			}
			confirmacion = solicitarObjeto(solicitud);
			if (confirmacion !== '')
			{
				$('.lienzo').hide();
				$('.calenda').hide();//
				idlienzo = $('#'+lienzo).parents('.lienzo').attr('id');
				$('#'+idlienzo).show();
				$('#'+idlienzos+'_status').val(1);
				return 'listo';
			}
		break;
	}
}


function accionesPestaneros(pestana, solicitud)
{
	idpestanero = $('.pestanero').attr('id');
	statuspestanero = statusOrganizadores (idpestanero);
	switch (pestana)
	{
		case 'confirmar' :
			objeto = lectorSolicitud ('objeto', solicitud);
			if (statuspestanero == 0)
			{
				switch (objeto)
				{
					case 'detalleprograma' :
						contenido = 'accion=componer&objeto=listadoprogramas';
						contenedor = accionesPestaneros('listadoprogramas', contenido);
						$('#'+idpestanero+'_status').val(1);
					break;
					case 'detalleradio' :
						contenido = 'accion=componer&objeto=laradio';
						contenedor = accionesPestaneros('laradio', contenido);
						$('#'+idpestanero+'_status').val(1);
					break;
					case 'detalleancla' :
						contenido = 'accion=componer&objeto=listadoanclas';
						contenedor = accionesPestaneros('listadoanclas', contenido);
						$('#'+idpestanero+'_status').val(1);
					break;
					case 'detallehistoria' :
						contenido = 'accion=componer&objeto=historiasrecientes';
						contenedor = accionesPestaneros('historiasrecientes', contenido);
						$('#'+idpestanero+'_status').val(1);
					break;
					default :
						accionesPestaneros('iniciar', '');
					break;
				}
			}
		break;
		case 'iniciar' :
			pestanaactiva = 'lashistorias';
			$('.destino').hide();
			$('#'+pestanaactiva).show();
			$('.pestana').removeClass('activa');
			$('.'+pestanaactiva).addClass('activa');
			$('#'+idpestanero+'_status').val(1);
			confirmacion = solicitarObjeto('accion=componer&objeto=historiasrecientes');
			if (confirmacion !== '')
			{
				return 'iniciado';
			}
		break;
		default :
			if (pestana.indexOf('listadoprogramas') != -1)
			{
				pestana_s = pestana.split('_');
				c_pestana_s = pestana_s.length;
				if (c_pestana_s > 1)
				{
					pestana = 'listadoprogramas';
				}
				else
				{
					$('.eldia').removeClass('eldiaactivo');
					$('.hoy').addClass('eldiaactivo');
				}
			}
			confirmacion = solicitarObjeto(solicitud);
			if (confirmacion !== '')
			{
				clasepestana = $('#'+pestana).parents('.destino').attr('id');
				$('.destino').hide();
				$('#'+clasepestana).show();
				$('.pestana').removeClass('activa');
				$('.'+clasepestana).addClass('activa');
				return 'listo';
			}
		break;
	}
}

function comportamientosBuscador ()
{
	$('#buscar').click(function()
	{
		$('#objetoactivo').val('*');
		abuscar = $('#claves').val();
		if (abuscar != '')
		{
			lacantidad = 2;
			filtro = '&filtro='+abuscar;
			accionesPestaneros('*', 'accion=buscar&objeto=*&cantidad='+lacantidad+'&desde='+0+filtro);
			$.historyLoad('accion=buscar&objeto=*&cantidad='+lacantidad+'&desde='+0+filtro);
		}
	});
}

function comportamientosSelectordias ()
{
	$('.eldia a').click(function()
	{
		$('.eldia').removeClass('eldiaactivo');
		$(this).parents('.eldia').addClass('eldiaactivo');
	});
}



function comportamientosAudioenvivo ()
{
	$('.audioenvivo').click(function()
	{
		elbrowser = browser();
		switch (elbrowser)
		{
			case 'msie' :
				ancho = 204;
				alto = 32;
				mensaje = 'Ocultar';
				resultado = '<div class="play"></div>';
			break;
			default :
				ancho = 214;
				alto = 32;
				mensaje = 'Cerrar';
				resultado = '';
			break;
		}
		elplayer = '<object type="video/x-ms-wmv" data="mms://www.radio.net.ve/magicafm" width="'+ancho+'" height="'+alto+'" ><param name="src" value="mms://www.radio.net.ve/magicafm" /><param name="autostart" value="true" /><param name="controller" value="false" /></object>';
		
		$('.audioenvivo').html('<div class="play">'+elplayer+'<span class="cerrarplayer">'+mensaje+'</span></div>');
		
		
		$('.cerrarplayer').click(function()
		{
			$('.audioenvivo').html(resultado);
			
		});
	});
}

function comportamientosSonidos ()
{
	$('.archivodesonido').each(function()
	{
		sonido = $(this);
		$(this).removeClass('archivodesonido');
		accionSonido(sonido);
	});
}

function accionSonido(sonido)
{
	ruta = $(sonido).attr('class');
	$(sonido).media({src:ruta, width:232, height:20});	
}

function comportamientosComentarios ()
{
	$('#guardar').click(function()
	{
		$('#objetoactivo').val('comentario');
		vacio = 'ninguno';
		$('#informacion input').each(function()
		{
			idcampo_s = $(this).attr('id').split('_');
			nombrecampo = idcampo_s[0];
			if (nombrecampo == 'titulo')
			{
				eltitulo = $(this).val();
				if (eltitulo == '')
				{
					vacio = 'titulo';
				}
			}
		});
		$('#informacion textarea').each(function()
		{
			ladescripcion = $(this).val();
			if (ladescripcion == '')
			{
				if (vacio == 'titulo')
				{
					vacio = 'titulodescripcion';
				}
				else
				{
					vacio = 'descripcion';
				}
			}
		});
		if (vacio == 'ninguno')
		{
			accionGuardar('');
		}
	});
}


function receptor (solicitud)
{
	$('#solicitudactiva').val(solicitud);
	laurl = document.URL;
	laurl_s = laurl.split('/');
	$('#url').val(laurl_s[2]);
	$('#dominio').val(laurl_s[3]);
	
	var no_cache = Math.random();
	switch (solicitud)
	{
		case '' :
			accionesCalendas();
			lienzos = accionesLienzos('iniciar', '');
			if (lienzos == 'iniciado')
			{
				pestaneros = accionesPestaneros('iniciar', '');
			}
		break;
		default :
			objeto = lectorSolicitud ('objeto', solicitud);
			$('#objetoactivo').val(objeto);
			accion = lectorSolicitud ('accion', solicitud);
			
			switch (accion)
			{
				case 'mostrar' :
					solicitud = modificarSolicitud('accion', 'componer', solicitud);
					solicitud = modificarSolicitud('objeto', 'detalle'+objeto, solicitud);
					idorganizador = $('#detalle'+objeto).parents('.organizador').attr('id');
					objeto = 'detalle'+objeto;
				break;
				default :
					idorganizador = $('#'+objeto).parents('.organizador').attr('id');
				break;
			}
			if (idorganizador !== undefined)
			{
				tipoorganizador_s = $('#'+idorganizador).attr('class').split(' ');
				tipoorganizador = tipoorganizador_s[0];
				medular (tipoorganizador, solicitud);
			}
			else
			{
				if (objeto.indexOf('_de_') != -1)
				{
					objeto_s = objeto.split('_');
					if (objeto_s[0] == 'comentarios')
					{
						nuevoobjeto = 'detalle'+objeto_s[2];
					}
					else
					{
						nuevoobjeto = objeto_s[2];
					}
					nuevoid = lectorSolicitud ('id', solicitud);
					solicitud = 'accion=componer&objeto='+nuevoobjeto+'&id='+nuevoid;
					receptor(solicitud);
				}
				if (objeto.indexOf('listadoprogramas') != -1)
				{
					idorganizador = $('#listadoprogramas').parents('.organizador').attr('id');
					tipoorganizador_s = $('#'+idorganizador).attr('class').split(' ');
					tipoorganizador = tipoorganizador_s[0];
					medular (tipoorganizador, solicitud);
				}
			}
		break;
	}
}

function medular (organizador, solicitud)
{
	objeto = lectorSolicitud ('objeto', solicitud);
	switch (organizador)
	{
		case 'lienzos' :
			loslienzos = accionesLienzos(objeto, solicitud);
			if (loslienzos == 'listo')
			{
				accionesPestaneros('confirmar', solicitud);
			}
		break;
		case 'pestanero' :
			lospestaneros = accionesPestaneros(objeto, solicitud);
			if (lospestaneros == 'listo')
			{
				accionesLienzos('confirmar', solicitud);
			}
		break;
	}
}




function lectorSolicitud (datosolicitado, solicitud)
{
	pares = solicitud.split('&');
	c_pares = pares.length;
	for (p = 0; p < c_pares; p ++)
	{
		dato_valor = pares[p].split('=');
		dato = dato_valor[0];
		valor = dato_valor[1];
		if (dato == datosolicitado)
		{
			return valor;
		}
	}
}

function modificarSolicitud (datosolicitado, nuevovalor, solicitud)
{
	nuevasolicitud = [];
	pares = solicitud.split('&');
	c_pares = pares.length;
	for (p = 0; p < c_pares; p ++)
	{
		dato_valor = pares[p].split('=');
		dato = dato_valor[0];
		valor = dato_valor[1];
		if (dato == datosolicitado)
		{
			valor = nuevovalor;
		}
		nuevasolicitud[p] = dato+'='+valor;
	}
	lanuevasolicitud = nuevasolicitud.join('&');
	return lanuevasolicitud;
}

function estacion (solicitud)
{
	switch (solicitud)
	{
		case 'ruta' :
			laurl = $('#url').val();
			if (laurl == 'localhost')
			{
				eldominio = $('#dominio').val();
				laestacion = laurl+'/'+eldominio;
			}
			else
			{
				laestacion = laurl;
			}
			return laestacion;
		break;
	}
}


function solicitarObjeto (solicitud)
{
	laestacion = estacion('ruta');
	$.ajax
	({
		//url: 'http://'+laurl+'/magicafm.com/mantarraya/salida/distribuir.php',
		url: 'http://'+laestacion+'/mantarraya/salida/distribuir.php',
		data: solicitud,
		success: function (datos)
		{
			destino = lectorSolicitud ('objeto', solicitud);
			if (destino.indexOf('listadoprogramas') != -1)
			{
				objeto_s = objeto.split('_');
				c_objeto_s = objeto_s.length;
				if (c_objeto_s > 1)
				{
					destino = 'listadoprogramas';
				}
			}
			iddestino = $('#'+destino).attr('id');
			$('#'+iddestino).html(datos);
			clearTimeout();
			activarEnlaces();
			comportamientosComentarios();
			comportamientosSonidos();
		}
	 });
	return false;
}


function comportamientos ()
{
	$('.boton').each(function()
	{
		boton = $(this);
		$(this).removeClass('boton');
		comportamientosBotones(boton);
	});
	$('.pestana').each(function()
	{
		pestana = $(this);
		$(this).removeClass('pestana');
		comportamientosPestanas(pestana);
	});
}



