function collection() {
	this.keys = new Array();
	this.values = new Array();
	this.add = _add;
	this.get = _get;
	this.item = _item;
	this.s = 0;
	this.size = _size;
	this.remove = _remove;
	this.getLast = _getLast;
	this.getFirst = _getFirst;
	this.getIndex = _getIndex;
	this.clear = _removeAll;
	this.addAll = _addAll;
	this.test = function() {alert(this.s);}
}

function _add(key,val) {
	if(val==null) return;
	if(this.getIndex(key)==-1) {
		this.keys[this.s] = key;
		this.values[this.s] = val;
		this.s++;
	}
}

function _addAll(coll) {
	for(var i=0;i<coll.size();i++)
		this.add(coll.keys[i],coll.values[i]);
}

function _remove(key) {
	if(key==null) return;
	var ind = this.getIndex(key);
	var size = this.size();
	if(ind<size-1) {
		for(var i=ind;i<size-1;i++) {
			this.keys[i] = this.keys[i+1];
			this.values[i] = this.values[i+1];
		}
	}
	this.keys[size] = null;
	this.values[size] = null;
	this.s--;
}

function _removeAll() {
	this.keys = new Array();
	this.values = new Array();
	this.s = 0;
}

function _get(key) {
	if(key==null) return;
	return this.values[this.getIndex(key)];
}

function _item(i) {
	if(i>=this.s) return;
	return this.values[i];
}

function _size() {
	return this.s;
}

function _getLast() {
	if(this.size()>0)
		return this.values[this.size()-1];
	return null;
}

function _getFirst() {
	if(this.size()>0)
		return this.values[0];
	return null;
}

function _getIndex(key) {
	if(key==null) return -1;
	for(var i=0;i<this.s;i++)
		if(this.keys[i]==key)
			return i;
	return -1;
}

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];}
}

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

function clearOpc() {
	MM_swapImage('opc01','','img/menu_sup/operaciones01.gif',1);
	MM_swapImage('opc02','','img/menu_sup/agenda01.gif',1);
	MM_swapImage('opc03','','img/menu_sup/expedientes01.gif',1);
	MM_swapImage('opc04','','img/menu_sup/documentos01.gif',1);
	MM_swapImage('opc05','','img/menu_sup/consultas01.gif',1);
	MM_swapImage('opc06','','img/menu_sup/directorio01.gif',1);
	MM_swapImage('opc07','','img/menu_sup/cuadro_mando01.gif',1);
}

function getRandomClass(i, n) {
	var elem = document.getElementById("myTD_"+i+"_"+n);
	var r = (i+n)%2;
	switch (r) {
		case 0: elem.className="frontpage-a";
				break;
		case 1: elem.className="frontpage-b";
				break;
	};
}
function getRandomClassLat(i, n) {
	var elem = document.getElementById("myLT_"+i+"_"+n);
	var r = (i+n)%2;
	switch (r) {
		case 0: elem.className="lateral-title2";
				break;
		case 1: elem.className="lateral-title1";
				break;
	};
}
function getColorBackGround(num) {
	var elem = document.getElementById("MyTR_"+num);
	var r = (num)%2;
	switch (r) {
		case 0: elem.className="pijama01";
				break;
		case 1: elem.className="pijama02";
				break;
	};
}

function getFileSize(filesize) {
	var res = "";
	try {
		if(filesize>1024*1024) {
			var mbSize = (filesize)/(1024*1024);
			var mbSize1 = (Math.round(mbSize*100))/100;
			res = mbSize1+" Mb";
		} else if(filesize>1024) {
			var mbSize = (filesize)/(1024);
			var mbSize1 = (Math.round(mbSize*100))/100;
			res = mbSize1+" Kb";
		} else {
			res = filesize+" bytes";
		}
	} catch(ups) {}
	return res;
}

function getColorAnchor(num) {
	var elem = document.getElementById("texta"+num);
	var r = (num)%2;
	switch (r) {
		case 0: elem.className="pijama02";
				break;
		case 1: elem.className="pijama01";
				break;
	};
}

var estilo = '';

function anchorOver(num) {
	estilo = document.getElementById('texta'+num).className;
	document.getElementById('texta'+num).className = 'pijama-over';
}

function anchorOut(num) {
	document.getElementById('texta'+num).className = estilo;
}

function makeHTML(theForm,resp,subj) {
	var strBody = '';
    strBody+='<style>\n.td {font-family:Verdana; font-size:12px; color:#333333;}\n</style>\n';
    strBody+='<BODY>\n';
    strBody+='<span class="td">Los datos enviados desde el formulario:</span><br><br>\n';
    strBody+='<table width="80%" cellspacing="1" cellpadding="3">\n';

	var act = "";
	var j=0;

	for(i=0;i<theForm.elements.length;i++) {
		var elem = theForm.elements[i];
		if((elem.type!="checkbox" && elem.type!="radio") || elem.checked==true) {
			if (elem.name.indexOf('frm')==-1) strBody += '<tr'+(j%2==0 ? ' bgcolor="#EEEEEE"':'')+'><td class="td" width="150"><b>' + (elem.name!=act ? elem.name+':' : '') + '</b></td><td class="td">' + elem.value + '<br/></td>';
			act = elem.name;
			j++;
		}
	}

	strBody += "\n</table></BODY>";

	var frmBody = theForm.frmBody;
	frmBody.value = strBody;
	if(resp) theForm.frmTo.value = resp;		
	if(subj) {
		theForm.frmSubj.value = subj;
	} else {
		theForm.frmSubj.value = 'Formulario enviado desde la web del Grupo CHAHER';
	}
	theForm.submit();
}

function checkForm(resp,subj) {
	 if ((document.forms.contact.eMail.value.indexOf('@') == -1)||(document.forms.contact.eMail.value=='')||(document.forms.contact.Nombre.value == '')||(document.forms.contact.Apellidos.value == '')) {
	 	alert ('Debe rellenar los campos obligatorios');
	 } else {
		 if(subj) {
				document.forms.contact.frmSubj.value = subj;
			} else {
				document.forms.contact.frmSubj.value = 'Formulario enviado desde la web del Grupo CHAHER';
			}
	 	makeHTML(document.forms.contact,resp,subj);
	 }
}

function checkClassOver(elem) {
	if (document.getElementById(elem) != null) {
		if (document.getElementById(elem).className != 'box-secuencial-act') {
			document.getElementById(elem).className = 'box-secuencial-over';
		}
	}
}

function checkClassOut(elem) {
	if (document.getElementById(elem) != null) {
		if (document.getElementById(elem).className != 'box-secuencial-act') {
			document.getElementById(elem).className = 'box-secuencial';
		}
	}
}
function selection(control, id) {
	for (var q=0; q<control.options.length;q++) {
		if (control.options[q].value == id) {
			control.options[q].selected = "selected";
			break;
		}
	}
}

function cutTitle(control) {
	for (var q=0; q<control.options.length;q++) {
		control.options[q].innerText = control.options[q].innerText.substring(0,100)+'...';
	}
}

