// Script que genera el codigo HTML que representa la tabla de peering

var index = 0;	     // TOTAL NUMBER OF GRAPHIC OBJECTS CREATED
var miembros = new Array();   // ARRAY OF IMAGE OBJECTS

function miembro (name, asn , peers) {
	this.nombre = name;
	this.as = asn;
	this.peering = peers;
}

function creaMiembro (name, asn, peers) {
	miembros[index++] = new miembro (name, asn, peers);
}


function datos_miembros () {
//                                                          000000000111111111122222222223333333333444444
//                                                          123456789012345678901234567890123456789012345
creaMiembro ( "Acens","AS 16371",                          "xY?yynn?ynYynyy?y?nyy?ny??nyny???yyyynnnnynny"); //01
creaMiembro ( "Adamo","AS 35699",                          "YxYYnnnnnnYnnynnnnYnYYnYYnnnnnYYnYnYYnnYYnnnn"); //02
creaMiembro ( "Akamai","AS 20940",                         "?Yx???????Y?n??Y?????????????????????n?n?????"); //03
creaMiembro ( "Arsys","AS 20718",                          "yy?xynn?nyYynyy?y?nyy?ny??yyyyy??ynyyyynnynny"); //04
creaMiembro ( "AT&amp;T GNS","AS 2686",                    "yn?yxyn?yy?nnyy?y?nyy?yy??nyyy???nyyyynnnnnnn"); //05
creaMiembro ( "BT Global Services","AS 8903 - AS 5400",    "nn?nyxyyyy?ynyn?y?nyn?yy??yyyy???yyynynnnnynn"); //06
creaMiembro ( "BT IGS","AS 12541",                         "nn?nnyx?yn?nnnn?y?nyn?yy??nyyy???nnynynnnnnnn"); //07
creaMiembro ( "Cable &amp; Wireless","AS 1273",            "?n???y?x????n????????????????????????y?n?????"); //08
creaMiembro ( "COLT Telecom","AS 8220",                    "yn?nyyy?xy?nnyyYy?nyy?yy??yyyyy??yyyyynnnnnnn"); //09
creaMiembro ( "Cogent Communications","AS 174",            "nn?yyyn?yx?ynyy?y?nnn?yy??ynyy???yyyynnnnnnnn"); //10
creaMiembro ( "Comvive","AS 39020",                        "YYYY??????x?n???Y?YYYYnYY???YYYYYY?YYn?YYY??Y"); //11
creaMiembro ( "Datagrama","AS 9019",                       "yn?ynyn?ny?xnyy?y?nyy?yn??ynnn???yyyyynnnynnn"); //12
creaMiembro ( "Dinahosting","AS 42612",			   "nnnnnnnnnnnnxnnnnnnnynnnnnnnnnnnnnnynnnnnnnnn"); //13
creaMiembro ( "Easynet","AS 4589",                         "yy?yyyn?yy?ynxy?y?nyy?yy??yyyyy??yyyyynnnynny"); //14
creaMiembro ( "Euskaltel","AS 12338",                      "yn?yynn?yy?ynyx?y?nnn?ny??yyny???nyyyynnnnnny"); //15
creaMiembro ( "Flag Telecom","AS 15412",                   "?nY?????Y???n??x??????Y??????????????n?n?????"); //16
creaMiembro ( "Fujitsu","AS 3324",                         "yn?yyyy?yyYynyy?x?nyy?ny??nyyyy??yyyyynnnynnn"); //17
creaMiembro ( "Gas Natural","AS 42325",                    "?n??????????n????x???????????????????n?n?Y???"); //18
creaMiembro ( "Genetsis","AS 16168",                       "nY?nnnn?nnYnnnn?n?xny?nn??nnnn???nnnnnnnnynny"); //19
creaMiembro ( "GRN Serveis Telematics","AS 20815",         "yn?yyyy?ynyynyn?y?nxy?nyy?nyyyy??nyyynnnnnnnn"); //20
creaMiembro ( "Ibercom","AS 15915",                        "yy?yynn?ynYyyyn?y?yyx?ny??yyyyy??yyyynnnnynny"); //21
creaMiembro ( "Init7","AS 13030",                          "?Y????????Y?n????????x????????y??????n?n?????"); //22
creaMiembro ( "Interoute","AS 8928",                       "nn?nyyy?yynynynYn?nnn?xn??ynnny??yyynynnynnnn"); //23
creaMiembro ( "Jazztel","AS 12715",                        "yy?yyyy?yyYnnyy?y?nyy?nx??nnyny??yyyynnnnynyy"); //24
creaMiembro ( "Leaseweb","AS 16265",                       "?Y????????y?n??????y????x????????????n?n?????"); //25
creaMiembro ( "Level 3","AS 3356",                         "?n??????????n????????????x???????????n?n?????"); //26
creaMiembro ( "NTT Communications","AS 2914",              "nn?ynyn?yy?ynyy?n?nny?yn??xynn???yyyynnnnnnnn"); //27
creaMiembro ( "Ono","AS 12457",                            "yn?yyyy?yn?nnyy?y?nyy?nn??yxyy???yyyyynnnnnnn"); //28
creaMiembro ( "Ono (Auna)","AS 16338",                     "nn?yyyy?yyYnnyn?y?nyy?ny??nyxy???yyyyynnnnynn"); //29
creaMiembro ( "Orange","AS 12479",                         "yn?yyyy?yyYnnyy?y?nyy?nn??nyyx???Yyyynnnnnnny"); //30
creaMiembro ( "OVH","AS 16276",                            "?Y?y????y?y?ny??y??yyyyy??????x????yy??y?????"); //31
creaMiembro ( "Panther Express","AS 36408",                "?Y????????Y?n??????????????????x???????n?????"); //32
creaMiembro ( "Produban","AS 2134",                        "?n????????Y?n???????????????????x????Y?n?????"); //33
creaMiembro ( "RedIRIS","AS 766",                          "yy?ynyn?yyYynyn?y?nny?yy??yyyY???xyyyyynnynyy"); //34
creaMiembro ( "Relco","AS 12359",                          "yn?nyyn?yy?ynyy?y?nyy?yy??yyyy???yxyyyynyyyyy"); //35
creaMiembro ( "SAREnet","AS 3262",                         "yy?yyyy?yyYyyyy?y?nyy?yy??yyyyy??yyxyynnnynyy"); //36
creaMiembro ( "Servicom2000","AS 9165",                    "yynyynn?yyYynyy?y?nyy?ny??yyyyy??yyyxYnnnynny"); //37
creaMiembro ( "Telef&oacute;nica","AS 3352",               "nnnyyyyyynnynyynynnnnnynnnnyyn??YyyyYxnnnnnnn"); //38
creaMiembro ( "Teleglobe","AS 6453",                       "nn?ynnn?nn?nnnn?n?nnn?nn??nnnn???yynnnxnnnnnn"); //39
creaMiembro ( "Teremark","AS 23148",                       "?Y????????Y?n?????????????????y????????x?????"); //40
creaMiembro ( "T-Systems Espa&ntilde;a","AS 3257",         "ny?nnnn?nnYnnnn?n?nnn?yn??nnnn???nynnnnnxnnnn"); //41
creaMiembro ( "Veloxia","AS 28842",                        "yn?ynnn?nnYynyn?yYyny?ny??nnnn???yyyynnnnxnny"); //42
creaMiembro ( "Verizon","AS 702",                          "nn?nnyn?nn?nnnn?n?nnn?nn??nnyn???nynnnnnnnxnn"); //43
creaMiembro ( "Vodafone","AS 12430",                       "nn?nnnn?nn?nnnn?n?nnn?ny??nnnn???yyynnnnnnnxn"); //44
creaMiembro ( "Ya.com Internet Factory","AS 20838",        "yn?ynnn?nnYnnyy?n?yny?ny??nnny???yyyynnnnynnx"); //45
}

function tabla_miembros () {



var position;

//var cadena = "<CENTER>\n<FONT face=\"Verdana\"><TABLE>\n";
var cadena="";
for (index = 1; index <= 10; index++)
	{
	cadena += "\n<TR valign=top>";
	if (miembros.length > 0) { 
		var unidades = miembros.length - 10;
		var decenas = 0;
		if (index == 10) position = decenas+1+"0";
		else position = decenas+""+(index);
		if (index <= unidades) 
		cadena += "\n<TD class=num>"+position+"</TD><TD>"+miembros[index-1].nombre+"<SPAN class=asn>&nbsp;"+miembros[index-1].as+"</SPAN></TD>";
	}
	if (miembros.length > 10) { 
		var unidades = miembros.length - 10;
		var decenas = 1;
		if (index == 10) position = decenas+1+"0";
		else position = decenas+""+(index);
		if (index <= unidades) 
			cadena += "\n<TD class=num>"+position+"</TD><TD>"+miembros[index+9].nombre+"<SPAN class=asn>&nbsp;"+miembros[index+9].as+"</SPAN></TD>";
	}
	if (miembros.length > 20) { 
		var unidades = miembros.length - 20;
		var decenas = 2;
		if (index == 10) position = decenas+1+"0";
		else position = decenas+""+(index);
		if (index <= unidades) 
		cadena += "\n<TD class=num>"+position+"</TD><TD>"+miembros[index+19].nombre+"<SPAN class=asn>&nbsp;"+miembros[index+19].as+"</SPAN></TD>";
	}
	if (miembros.length > 30) { 
		var unidades = miembros.length - 30;
		var decenas = 3;
		if (index == 10) position = decenas+1+"0";
		else position = decenas+""+(index);
		if (index <= unidades) 
		cadena += "\n<TD class=num>"+position+"</TD><TD>"+miembros[index+29].nombre+"<SPAN class=asn>&nbsp;"+miembros[index+29].as+"</SPAN></TD>";
	}
	if (miembros.length > 40) { 
		var unidades = miembros.length - 40;
		var decenas = 4;
		if (index == 10) position = decenas+1+"0";
		else position = decenas+""+(index);
		if (index <= unidades) 
		cadena += "\n<TD class=num>"+position+"</TD><TD>"+miembros[index+39].nombre+"<SPAN class=asn>&nbsp;"+miembros[index+39].as+"</SPAN></TD>";
	}
	cadena += "\n</TR>\n";
}

document.write (cadena);				
}

function tabla_peerings () {

var xind;
var yind;

var alttext;
var clase;

var imgPeer = "esp/graf/ok.gif";
var imgNoPeer = "esp/graf/nok.gif";
var imgUnknown = "esp/graf/desc.gif";
var imgNull = "esp/graf/black.gif";
var img;
var imgOptions = "border=0 width=12 height=12";

//var cadena = "<CENTER><TABLE border=1 bordercolor=\"#3B5C6E\" cellspacing=\"0\" cellpadding=\"1\">";
var cadena="";
//primera fila
for (yind = 0; yind <= miembros.length ; yind++) {
	cadena += "\n<TR>";
	for (xind = 0; xind <= miembros.length; xind++) {
		// Primera columna
		if (xind == 0) {
			if (yind == 0) {cadena += "\n<TH align=right>&nbsp;</TH>";}
			else {
				if (yind < 10) { //cadena +=  "\n<TH align=right><FONT color=#CCCCCC>"+miembros[yind-1].nombre+"</FONT> 0"+yind+"</TH>"; }
				cadena +=  "\n<TH align=right>0"+yind+"</TH>"; }
				else { //cadena +=  "\n<TH align=right><FONT color=#CCCCCC>"+miembros[yind-1].nombre+"</FONT> "+yind+"</TH>"; }
				cadena +=  "\n<TH align=right>"+yind+"</TH>"; }
			}
		}
		// Resto de columnas
		// Primera fila
		else {
			if (yind == 0) {
				if ((xind != 0)&&(xind < 10)) { cadena +=  "<TH>0"+xind+"</TH>"; }
				if (xind >= 10) { cadena += "<TH>"+xind+"</TH>"; }
			}
			// Resto de filas
			else {
				//if ((xind==1)&&(yind==1)) {alert(miembros[yind-1].peering.charAt(xind-1));}
				switch (miembros[yind-1].peering.charAt(xind-1))	{ 
					case 'n': img = imgNoPeer;
						clase = "peer";;
						alttext = miembros[yind-1].nombre+" ["+miembros[yind-1].as+"] - "+miembros[xind-1].nombre+" ["+miembros[xind-1].as+"]";
						break;
					case 'y': img = imgPeer;
						clase = "peer";;
						alttext = miembros[yind-1].nombre+" ["+miembros[yind-1].as+"] - "+miembros[xind-1].nombre+" ["+miembros[xind-1].as+"]";
						break;
					case 'x': img = imgNull;
						clase = "peer";;
						alttext = miembros[yind-1].nombre+" ["+miembros[yind-1].as+"]";
						break;
					case '?': img = imgUnknown;
						clase = "peer";;
						alttext = miembros[yind-1].nombre+" ["+miembros[yind-1].as+"] - "+miembros[xind-1].nombre+" ["+miembros[xind-1].as+"]";
						break;
					case 'N': img = imgNoPeer;
						clase = "new";;
						alttext = miembros[yind-1].nombre+" ["+miembros[yind-1].as+"] - "+miembros[xind-1].nombre+" ["+miembros[xind-1].as+"]";
						break;
					case 'Y': img = imgPeer;
						clase = "new";;
						alttext = miembros[yind-1].nombre+" ["+miembros[yind-1].as+"] - "+miembros[xind-1].nombre+" ["+miembros[xind-1].as+"]";
						break;
					case '�': img = imgUnknown;
						clase = "new";;
						alttext = miembros[yind-1].nombre+" ["+miembros[yind-1].as+"] - "+miembros[xind-1].nombre+" ["+miembros[xind-1].as+"]";
						break;
					default: img = imgUnknown;
						clase = "new";
						alttext = miembros[yind-1].nombre+" ["+miembros[yind-1].as+"] - "+miembros[xind-1].nombre+" ["+miembros[xind-1].as+"]";
						break;
				}
				cadena += "\n<TD class=\""+clase+"\"><IMG src=\"/"+img+"\" "+imgOptions+" ALT=\""+alttext+"\" onmouseout=\"window.status=texto;return true\" onmouseover=\"window.status='"+alttext+"';return true\"></TD>"; 
			}
		}
	}
	cadena += "\n</TR>";
}
document.write (cadena);			
}//Fin script
