// Crea un input (type,name,value)
function createInput(type,name,value)
{
	var i = document.createElement("input");
	i.name = name;
	i.type = type;
	i.value = value;
	i.id = name;
	return i;
}
//==========================================================
// Funcion de prueba.
// Reemplazarla por include en server de produccion
// Recibe datos de campaña desde flash campanas/campanas.swf
// posicion: define lugar dentro de la pantalla
// id: define nombre de la campaña o producto
// archivo: define el nombre del txt
// ruta: define la url a abrir
// doc: define si es archiv
//==========================================================
function open_win(posicion,id,archivo,ruta,doc,pos1,pos2,maxv){
	var wns = Array("_self","_blank");
	var str = "";
	for(var i=0;i<open_win.arguments.length;i++){
		if(open_win.arguments[i] == "")
			str+="vacio\n";
			else
		str += open_win.arguments[i] + "\n";
	}
	//alert(posicion +" * "+ id +" * "+archivo+" * "+doc);
	grabaLog(posicion,id,archivo,"false",pos1,pos2,maxv);//true es asincrónico
	// - - - - - - -  href - - - - - - - -
	if(doc == "document"){
		document.location.href=ruta;
	}
	//return false;
}
// LOG
xmlhttp = null;
function grabaLog(posicion,id,archivo,modo,pos1,pos2,maxv)
{
	 if (xmlhttp != null && xmlhttp.readyState != 0 && xmlhttp.readyState != 4)
	 {
	   xmlhttp.abort();
	 }
	 
	var url = "/createlog/createlog.asp?posicion="+posicion+"&id="+id+"&archivo="+archivo+"&ran="+Math.random()*100+"&lugar="+pos1+"&total="+pos2+"&maxview="+maxv;
	// code for Mozilla, etc.

	if (window.XMLHttpRequest)
	{
		xmlhttp=new XMLHttpRequest();
		if(!xmlhttp)return false;
		//xmlhttp.onreadystatechange=state_Change;
		xmlhttp.open("GET",url,(modo=="true"));
		xmlhttp.send(null);
	}
	// code for IE
	else if (window.ActiveXObject)
	{
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
		if (xmlhttp)
		{
			//xmlhttp.onreadystatechange=state_Change;
			xmlhttp.open("GET",url,(modo=="true"));
			xmlhttp.send();
		}
	}
}
//==============================================
// Cierra UL's abiertos usando style.display
//==============================================
function closeUls(){
	var uls = document.getElementsByTagName("ul");
	var t = uls.length;
	if(t < 1)return false;
	for(i=0;i<t;i++){
		if(uls[i].style.display == "block")
			uls[i].style.display = "none";
	}
}
//==============================================
// Prende o apaga un elemento usando style.display 
// Argumentos: id de elemento
//==============================================
var lastOpened = "";
var lastBotSelected = "";
function showHide(id,botId){
	if(botId != undefined){
		var defClass = getElement(botId).className;
		if(lastBotSelected != "")
			getElement(lastBotSelected).className = "";
		getElement(botId).className = defClass+" selected";
		getElement(botId).blur();
		lastBotSelected = botId;
	}
	if(getElement(id).style.display == "none"){
		// Cierra los abiertos
		//closeUls();
		if(lastOpened != "")
			getElement(lastOpened).style.display = "none";
		getElement(id).style.display = "block";
		lastOpened = id;
	}
	else{
		getElement(id).style.display = "none";
		lastOpened = "";
	}
}



function showHideSimple(id){
	if(getElement(id).style.display == "none"){
		getElement(id).style.display = "block";
	}
	else 
		getElement(id).style.display = "none";
}
//==============================================
// Prende un elemento y apaga el otro usando style.display 
// Argumentos: id de elementos (2)
//==============================================
function switchDivs(id1,id2){
	if(document.getElementById(id1).style.display == "none"){
		document.getElementById(id1).style.display = "block";
		document.getElementById(id2).style.display = "none";
	}
	else {
		document.getElementById(id2).style.display = "block";
		document.getElementById(id1).style.display = "none";
	}
}
//==============================================
// para colorear en rollover los tr de tabla con clase "clase"
// se puede llamar en body.onLoad
//==============================================
function tableruler(clase)
{
 if (document.getElementById && 
  document.createTextNode)
  {
   var tables=document.getElementsByTagName('table');
   for (var i=0;i<tables.length;i++)
   {
    if(tables[i].className==clase)
    {
     var trs=tables[i].getElementsByTagName('tr');
     for(var j=0;j<trs.length;j++)
     {
      if(trs[j].parentNode.nodeName=='TBODY' && trs[j].parentNode.nodeName!='TFOOT')
       {
       trs[j].onmouseover=function(){this.className='colored';return false}
       trs[j].onmouseout=function(){this.className='';return false}
     }
    }
   }
  }
 }
}
//================================================
// Agrega clase addClass a tags strTags clase strClass
// Si linkTag existe, contiene url para aplicar onclick
//================================================
function elementRollOver(strTag,strClass,addClass,linkTag) {
	for (i=0;i<document.getElementsByTagName(strTag).length; i++) {
		if (document.getElementsByTagName(strTag).item(i).className == strClass) {
			var newClass = strClass+" "+addClass;
			document.getElementsByTagName(strTag).item(i).onmouseover=function(){this.className=newClass;this.style.cursor="default";return false}
       		document.getElementsByTagName(strTag).item(i).onmouseout=function(){this.className=strClass;return false}
			if(linkTag != undefined){
			document.getElementsByTagName(strTag).item(i).onclick = function(){
				var t = this.getElementsByTagName(linkTag)[0];
				var a = t.getElementsByTagName("a")[0];
				if(a){
					var href = a.getAttribute("href");
					//document.location.href = href;
				}
			}
			}
		}
	}
}
//======================================================
// Retorna array con elementos con class determinada
// Implementaci{on de getElementsByClassName
//======================================================
document.getElementsByClass = function (needle)
{
  var tag  = "div";
  if(document.getElementsByClass.arguments[1])
  	tag = document.getElementsByClass.arguments[1];
  var         my_array = this.getElementsByTagName(tag);
  var         retvalue = new Array();
  var        i;
  var        j;

  for (i = 0, j = 0; i < my_array.length; i++)
  {
    var c = " " + my_array[i].className + " ";
    if (c.indexOf(" " + needle + " ") != -1)
      retvalue[j++] = my_array[i];
  }
  return retvalue;
}
/*======================================================
Aplica clase colored a tr's por medio de tablas de documento
 (tablas deben tener tbody)
 =======================================================*/
function colorRows(){
	var tabs = false;
	if(W3CDOM)
		tabs = document.getElementsByTagName("table");
	else
		tabs = document.tables;
	if(!tabs)return;
	for(var i=0;i<tabs.length;i++){
		tab = tabs[i];
		tbodies = tab.getElementsByTagName("tbody");
		for(var t = 0;t<tbodies.length;t++){
				tbody = tbodies[t];
				trs = tbody.getElementsByTagName("tr");
				for(var u=0;u<trs.length;u++){
					if(u%2)trs[u].className = "colored";
				}
		}
	}
}
