function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_nbGroup(event, grpName) { //v6.0
  var i,img,nbArr,args=MM_nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
        if (!img.MM_up) img.MM_up = img.src;
        img.src = img.MM_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) {
      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
  } else if (event == "down") {
    nbArr = document[grpName];
    if (nbArr)
      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
      nbArr[nbArr.length] = img;
  } }
}

//FUNCION PARA MOSTRAR O OCULTAR OBJETOS MEDIANTE SU ID EN CSS
function toggleElement(i) {
	var e = document.getElementById(i);
	if (e) {
	//e.style.visibility = 'visible';
		if (e.style.display =='block'){
			e.style.display='none';
		}
		else
		{
			e.style.display='block';
		}
	}
}

//FUNCION PARA MOSTRAR O OCULTAR OBJETOS MEDIANTE SU ID EN CSS
function toggle5Elements(i,j,k,l,m) {
	var a = document.getElementById(i);
	var b = document.getElementById(j);
	var c = document.getElementById(k);
	var d = document.getElementById(l);
	var e = document.getElementById(m);
	if (a) {
	//a.style.visibility = 'visible';
		a.style.display='block';
		b.style.display='none';
		c.style.display='none';
		d.style.display='none';
		e.style.display='none';
	}
}

function toggle6ElementsOp(milliseconds,i,j,k,l,m,n) {
	var a = document.getElementById(i);
	var b = document.getElementById(j);
	var c = document.getElementById(k);
	var d = document.getElementById(l);
	var e = document.getElementById(m);
	var f = document.getElementById(n);
	if (a) {
	//a.style.visibility = 'visible';
		changeOpac(0, i);
		a.style.display='block';
		shiftOpacity(i, milliseconds);
		b.style.display='none';
		c.style.display='none';
		d.style.display='none';
		e.style.display='none';
		f.style.display='none';
	}
}

//Funciones extras para transiciones de opacidad **************************************************

//http://brainerror.net/scripts/javascript/blendtrans/ ********************************************
//http://brainerror.net/scripts/javascript/blendtrans/ ********************************************
function opacity(id, opacStart, opacEnd, millisec) {
	//speed for each frame
	var speed = Math.round(millisec / 100);
	var timer = 0;

	//determine the direction for the blending, if start and end are the same nothing happens
	if(opacStart > opacEnd) {
		for(i = opacStart; i >= opacEnd; i--) {
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	} else if(opacStart < opacEnd) {
		for(i = opacStart; i <= opacEnd; i++)
			{
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	}
}

//change the opacity for different browsers
function changeOpac(opacity, id) {
	var object = document.getElementById(id).style; 
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
}

function shiftOpacity(id, millisec) {
	//if an element is invisible, make it visible, else make it ivisible
	if(document.getElementById(id).style.opacity == 0) {
		opacity(id, 0, 100, millisec);
	} else {
		opacity(id, 100, 0, millisec);
	}
}

function blendimage(divid, imageid, imagefile, millisec) {
	var speed = Math.round(millisec / 100);
	var timer = 0;
	
	//set the current image as background
	document.getElementById(divid).style.backgroundImage = "url(" + document.getElementById(imageid).src + ")";
	
	//make image transparent
	changeOpac(0, imageid);
	
	//make new image
	document.getElementById(imageid).src = imagefile;

	//fade in image
	for(i = 0; i <= 100; i++) {
		setTimeout("changeOpac(" + i + ",'" + imageid + "')",(timer * speed));
		timer++;
	}
}

function currentOpac(id, opacEnd, millisec) {
	//standard opacity is 100
	var currentOpac = 100;
	
	//if the element has an opacity set, get it
	if(document.getElementById(id).style.opacity < 100) {
		currentOpac = document.getElementById(id).style.opacity * 100;
	}

	//call for the function that changes the opacity
	opacity(id, currentOpac, opacEnd, millisec)
}


//FUNCION PARA CONTAR CARACTERES DE UN TEXTAREA
function countAreaChars(areaName,counter,limit){
	if (areaName.value.length>limit)
		areaName.value=areaName.value.substring(0,limit);
	else{
		/*if (areaName.value.length == 0){
			counter.style.backgroundColor='#444444';
		}
		else
			counter.style.backgroundColor='#A96748';
		{
		}*/
		counter.value = limit - areaName.value.length;
	}
}

//function printHistory(){
//document.writeln("<B>history is</B> " + history)
//}

//function goBack1() {
//   history.go(-2);
    //setTimeout=('goBack2()',1000); // go back 2nd time after a seconds delay
//}

//function goBack2() {
//    history.go(-1);
//		setTimeout=('goBack3()',1000); // go back 2nd time after a seconds delay
//}

//function goBack3() {
//    history.go(-1);
//}
//function showMe() {
	//var myArray = history.slice(0);
//	for (var i = 0; i < history.length; i++)
//	{
//		document.write(history[i] + "<BR>");
//	}
//}
