// JavaScript Document
/*
Funciones comunes a todas las p{aginas
06/05/05 Ismael Celis
*/
/*===========================================================
 Constante para verificar compatibilidad de browser
============================================================*/
var W3CDOM = (document.createElement && document.getElementById);
// funcion universal para obtener elemento
function getElement(id){
	return W3CDOM?document.getElementById(id):document.all[id];
}
//===========================================================
// BUSCADOR
// 27 de Abril de 2005 Ismael Celis
// Adaptado de www.panic.com
//===========================================================
buscador = function(){
	var b = document.getElementById("global_buscador");
	if (navigator.userAgent.indexOf("Firefox") != -1) {
      setOpacity(99.999, "global_buscador");
    }
	if(b.style.visibility == "visible"){
		fadeElementSetup("global_buscador", 100, 0, 10);
	}
	else {
		b.style.visibility = "visible";
	}
}
/*
buscador
---------------------*/
function doSearch(id)
{
	var v = getElement(id).value;
	if(v != "")
		document.location.href= "/buscador/index.asp?s="+v;
}
function fadeElementSetup(theID, fdStart, fdEnd, fdSteps) {
  fadeSteps = fdSteps;
  fadeCurrent = 0;
  fadeAmount = (fdStart - fdEnd) / fadeSteps;
  fadeTimer = setInterval("fadeElement('"+theID+"')", 50);
}

function fadeElement(theID) {
  fadeCurrent++;
  // Set the opacity depending on if we're adding or subtracting (pos or neg)
  if (fadeAmount < 0) {
    setOpacity(Math.abs(fadeCurrent * fadeAmount), theID);
  } else {
    setOpacity(100 - (fadeCurrent * fadeAmount), theID);
  }
  if (fadeCurrent == fadeSteps) {
    // We're done, so clear
    clearInterval(fadeTimer);
    document.getElementById(theID).style.visibility = "hidden";
    setOpacity(100, theID);
  }
}

function setOpacity(opacity, theID) {

  // Multi-browser opacity setting
  var object = document.getElementById(theID).style;
  object.filter = "alpha(opacity=" + opacity + ")"; // IE/Win
  object.KhtmlOpacity = (opacity / 100);            // Safari 1.1 or lower, Konqueror
  object.MozOpacity = (opacity / 100);              // Older Mozilla+Firefox
  object.opacity = (opacity / 100);                 // Safari 1.2, Firefox+Mozilla
}
//======================================================
// FORMULARIOS
// Entrada común para llamadas a formularios
// @void formulario(nombre formulario [,argsrray])
// argsarray es array de arrays [nombre,valor] para parametros opcionales
//======================================================
function formulario(formid,argsarray){
	//llamar formularios aquí, pasar argumentos
	var str = ""; // para GET
	var hiddens = []; // para POST
	if(argsarray){
		var argc = argsarray.length;
		for (var i = 0; i < argc; i++) {
			str += "&" + argsarray[i][0] + "=" + argsarray[i][1];
			h = document.createElement("input");
			h.type = "hidden";
			h.name = argsarray[i][0];
			h.value = escape(argsarray[i][1]);
			hiddens.push(h);
		}
	}
	var urlpars = "?idform="+formid+str
	var url = "/formularios/formulario.asp";
	
	if(!W3CDOM)
		document.location.href=url+urlpars;
	// Crea form con parametros en hiddens
	else{
		var form = document.createElement("form");
		for(var cc = 0;cc < hiddens.length;cc++){
			form.appendChild(hiddens[cc]);
		}	
		var iform = document.createElement("input");
		iform.type = "hidden";iform.name = "idform";iform.value = formid;
		form.appendChild(iform);
		form.action = url;
		form.method = "post";
		document.getElementsByTagName("body")[0].appendChild(form);
		form.submit();
	}
	
}

function imprimir(){
	brVersion = parseInt(navigator.appVersion);
	if (brVersion >= 4 || window.print) window.print();
	else alert("No es posible Imprimir. Esto se debe probablemente a que el navegador es muy antiguo");
}
function $() {
  var elements = new Array();

  for (var i = 0; i < arguments.length; i++) {
    var element = arguments[i];
    if (typeof element == 'string')
      element = document.getElementById(element);

    if (arguments.length == 1)
      return element;

    elements.push(element);
  }

  return elements;
}



/******* Funcionalidades para trabajar con Media Flash ********/
function getFlashMovieObject(movieName)
{
  if (window.document[movieName]) 
  {
    return window.document[movieName];
  }
  if (navigator.appName.indexOf("Microsoft Internet")==-1)
  {
    if (document.embeds && document.embeds[movieName])
      return document.embeds[movieName]; 
  }
  else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
  {
    return document.getElementById(movieName);
  }
}

function StopFlashMovie(movieName)
{
	var flashMovie=getFlashMovieObject(movieName);
	flashMovie.StopPlay();
}

function PlayFlashMovie(movieName)
{
	var flashMovie=getFlashMovieObject(movieName);
	flashMovie.Play();
	//embed.nativeProperty.anotherNativeMethod();
}

function RewindFlashMovie(movieName)
{
	var flashMovie=getFlashMovieObject(movieName);
	flashMovie.Rewind();
}

function NextFrameFlashMovie(movieName)
{
	var flashMovie=getFlashMovieObject(movieName);
	// 4 is the index of the property for _currentFrame
	var currentFrame=flashMovie.TGetProperty("/", 4);
	var nextFrame=parseInt(currentFrame);
	if (nextFrame>=10)
		nextFrame=0;
	flashMovie.GotoFrame(nextFrame);		
}


function ZoominFlashMovie(movieName)
{
	var flashMovie=getFlashMovieObject(movieName);
	flashMovie.Zoom(90);
}

function ZoomoutFlashMovie(movieName)
{
	var flashMovie=getFlashMovieObject(movieName);
	flashMovie.Zoom(110);
}


function SendDataToFlashMovie(movieName)
{
	var flashMovie=getFlashMovieObject(movieName);
	flashMovie.SetVariable("/:message", document.controller.Data.value);
}

function ReceiveDataFromFlashMovie(movieName)
{
	var flashMovie=getFlashMovieObject(movieName);
	var message=flashMovie.GetVariable("/:message");
	document.controller.Data.value=message;
}
