// JavaScript Document

/***********************************************
* Contractible Headers script- © Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for legal use. Last updated Oct 21st, 2003.
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

var enablepersist="off" //Enable saving state of content structure using session cookies? (on/off)
var collapseprevious="yes" //Collapse previously open content when opening present? (yes/no)
var ccollect = null;

if (document.getElementById)
{
	document.write('<style type="text/css">')
	document.write('.switchcontent{display:none;}')
	document.write('</style>')
}

function getElementbyClass(classname){
ccollect=new Array()
var inc=0
var alltags=document.all? document.all : document.getElementsByTagName("*")
for (i=0; i<alltags.length; i++){
if (alltags[i].className==classname)
ccollect[inc++]=alltags[i]
}
}

function contractcontent(omit){
var inc=0
while (ccollect[inc]){
if (ccollect[inc].id!=omit)
ccollect[inc].style.display="none"
inc++
}
}

function expandcontent(cid)
{
	if (ccollect)
	{
		if (collapseprevious=="yes")
			contractcontent(cid);
		document.getElementById(cid).style.display=(document.getElementById(cid).style.display!="block")? "block" : "none";
	}
	else
	{
		do_onload();
	}
}

function revivecontent(){
contractcontent("omitnothing")
selectedItem=getselectedItem()
selectedComponents=selectedItem.split("|")
for (i=0; i<selectedComponents.length-1; i++)
document.getElementById(selectedComponents[i]).style.display="block"
}

function get_cookie(Name) { 
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) { 
offset += search.length
end = document.cookie.indexOf(";", offset);
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}

function getselectedItem(){
if (get_cookie(window.location.pathname) != ""){
selectedItem=get_cookie(window.location.pathname)
return selectedItem
}
else
return ""
}

function saveswitchstate(){
var inc=0, selectedItem=""
while (ccollect[inc]){
if (ccollect[inc].style.display=="block")
selectedItem+=ccollect[inc].id+"|"
inc++
}

document.cookie=window.location.pathname+"="+selectedItem
}

function do_onload()
{
	getElementbyClass("switchcontent")
	if (enablepersist=="on" && typeof ccollect!="undefined")
	revivecontent()
}


if (window.addEventListener)
	window.addEventListener("load", do_onload, false)
else if (window.attachEvent)
	window.attachEvent("onload", do_onload)
else if (document.getElementById)
	window.onload=do_onload

if (enablepersist=="on" && document.getElementById)
window.onunload=saveswitchstate

/*************************************/
/*Metodos de la lista de distribucion*/
function ClickDesplegar(id, idTxt)
{
	obj = Common_GetObj('div' + id);
	if (obj!=null)
	{
		obj.style.display = obj.style.display!="block"? "block" : "none";
		objTxt = Common_GetObj(idTxt);
		oculto = Common_IsVacio(objTxt.value);
		objTxt.value = oculto?'hidden':'';

		objImagen = Common_GetObj('imagen' + id);
		if (objImagen!=null)
		{
			var oldName = oculto?"desplegar.gif":"replegar.gif";
			var newName = oculto?"replegar.gif":"desplegar.gif";
			objImagen.src = objImagen.src.replace(oldName,newName);
			objImagen.alt = (oculto?"Ocultar":"Mostrar") + " grupo";
		}
		location.href='#'+ id;		
	}
}

function ClickParent(id, checkName, idParent, idTxt)
{
	obj = Common_GetObj('div' + id);
	oculto = false;
	if (obj!=null)
	{
		objTxt = Common_GetObj(idTxt);
		oculto = objTxt.value=='';
		objParent = Common_GetObj(idParent);		
		salir = false;
		i=0;
		//Marcamos todos los hijos a lo que esté el padre
		while (!salir && objParent!=null)
		{
			name = checkName + "__ctl" + i + "_checkUser";
			objCheck = Common_GetObj(name);
			if (objCheck!=null && !objCheck.disabled)
			{
				objCheck.checked = objParent.checked;
			}
			salir = i>=2 && objCheck==null;
			i++;
		}
	}
	if (oculto)
	{
		ClickDesplegar(id, idTxt);	
	}
}

function ClickChild(objChild)
{
	idChild = objChild.id;
	obj = Common_GetObj(objChild.value);
	if (obj!=null)
	{
		//objChild = Common_GetObj(obj.value);
		marcar = true;
		if (!objChild.checked)
		{
			marcar = false;
		}
		else
		{
			cadenaInicio = idChild.substring(0,idChild.lastIndexOf("_ctl"))+ "_ctl";
			cadenaFin = idChild.substring(idChild.lastIndexOf("_"),idChild.length);
			salir = false;
			i=0;
			while (!salir)
			{
				name = cadenaInicio + i + cadenaFin;				
				objCheck = Common_GetObj(name);
				if (objCheck!=null)
				{					
					marcar = marcar && objCheck.checked;
					salir = !marcar;
				}
				else
				{
					salir = i>=2;
				}
				i++;
			}
		}
		obj.checked = marcar;
	}
}
/*****************************************/
/*Fin Metodos de la lista de distribucion*/
/*****************************************/

/***********************************************
* Contractible Headers script- © Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for legal use. Last updated Oct 21st, 2003.
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

/*************************Funciones típicas y tópicas de Dreamweaver****************************************/

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

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_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
/*************************Funciones típicas y tópicas de Dreamweaver****************************************/
