function getItemIndex() {
 var res='<table width=100% border=0 cellspacing=0 cellpadding=5><tr><td class=usefulinfo>';
 var n=0;
 for (var i in Categs) n++;
 n=Math.round(n/2+0.1);
 for (var i in Categs) {
 	var obj=Categs[i];
 	var name=obj.name;
 	if (obj.dest>0) name='<b>'+name+'</b>';
 	res+='<a href="?cat='+i+'" onclick="return swItem('+i+')">' + name + '</a><br>';
 	if (--n==0) res+='<td class=usefulinfo width=50% valign=top>';
 }
 res+='</table>';
 return res;
}

function getItemContents(n) {
 var Cat=Categs[n];
 if (!Cat) return '';
 var res='<table class=std width=544 border=0 cellspacing=0 cellpadding=5><caption class=mustard>'+Cat.name+'</caption>';
 
 var preIndex='', pIndexLength=0;
 
 var intro;
 if (intro=Strings[n]) intro='<p>'+intro+'<br>'; else intro='&nbsp;';

 switch(n) { // Stage 0: preface & main layout setup
 	case 53: // Magazines
 	case 58: // Trade Shows
 	case 81: // Assiciations
 	case 96: // Marketing Agencies
 		res+='<tr><td colspan=3 align=center style="padding: 10px 0">'+intro+'<br><!--PREINDEX--><br>';
 		break;
 	case 48: // Airlines
 	case 56: // Tourism Officess
 		res+='<tr><td colspan=3 align=center style="padding: 10px 0">&nbsp;<!--PREINDEX-->' + intro;
		break;
 	default:
 		res+='<tr><td colspan=2 align=center>&nbsp;<!--PREINDEX-->' + intro;
 }

// res+=intro;
 
 var cArea, cSection, cSectionName;
 var N=0;
 for (var i in Items) {
 	var obj=Items[i];
 	if (obj.url.indexOf('www.')==0) obj.url='http://' +obj.url;
 	if (obj.cat==n) {
 		var image=obj.images;
 		var web=obj.url;
// 		if (QueryString.test) image0=image;
		if (image.search(/^[0-9]+\.(jpg|gif)$/)==0) image='usefulinfo-'+obj.id+'_'+image;
//		if (QueryString.test) alert(image0+'\n'+image);

		switch(n) { // Stage 1: section/group
			case 53: // Magazines (MICE)
			case 58: // Trade Shows
			case 82: // Associations
			case 96: // Marketing Agencies
 				if (cSection!=obj.country) {
 					cSection=obj.country;
 					cSectionName=obj.countryName;
 					preIndex+='<a href="#53/'+cSection+'">'+cSectionName+'</a> &nbsp;';
 					res+='<tr><td valign=top><a name="53/'+cSection+'"></a>'+
 						'<b class="px12 mustard2">'+cSectionName.toUpperCase()+'</b>';
 					if (obj.city) res+='<b class="px11 mustard2"> - '+obj.city+'</b>';
 				}
 				break;

		}
 		

 		if ((Platform.MSIE) && (!obj.done)) {
 			if (QueryString.test==1) alert(obj.data);
 			obj.data=obj.data.replace(/\n/g,'<br>');
 			obj.done=1;
 		}

 		switch(n) { // Stage 2: object details
 			case 47: // Airports
 				res+='<tr><td valign=top>'+obj.countryName+'<td><b>'+obj.name+'</b><br>'+txtMakeup(obj.data);
 				break;
 				
 			case 81: // MICE Web Sites
 			case 82: // Associations
 			case 53: // Magazines (MICE)
 			case 96: // Marketing Agencies
				res+='<tr><td valign=top>'+
 					'<b class=px14><u>'+obj.name+'</u></b><br><br>'+txtMakeup(obj.data);
 				if (obj.url) res+='<br><a target=_blank href="'+obj.url+'">'+obj.url+'</a>';
 				res+='<td valign=top align=right>';
 				if (image) res+='<img border=0 src="/files/usefulinfo/'+image+'" width=140>';
 				res+='<tr><td colspan=2>&nbsp;';
				break;

			case 48: // Airlines 		
 			case 56: // Tourism Offices
 				if (cArea!=obj.area) {
 					cArea=obj.area;
 					areaName=obj.Area?obj.Area.n:'???';
 					if (pIndexLength>=60) { preIndex+='<br>'; pIndexLength=0 }
 					pIndexLength+=areaName.length;
 					preIndex+='&nbsp;<a href="#area'+cArea+'">' + areaName + '</a>&nbsp;';
// 					alert(areaName+' '+pIndexLength);
 					if (N) res+='<tr><td colspan=3>&nbsp;';
 					res+='<tr><td colspan=3 class="tabBoxtrans" style="padding: 2px 5px">' + 
 						'<a name="area'+cArea+'"></a>' +
 						areaName.toUpperCase().bold();
 				}
 				res+='<tr><td>'+obj.countryName+'<td><b>'+obj.name+'</b><td class=usefulinfo valign=top>'+txtMakeup(obj.data); 
 				break;
 				
 			case 58: // Trade Shows
 				if (image) {
 					image='<img border=0 align=right width=128 vspace=5 hspace=8 src="/files/usefulinfo/'+image+'">';
 					if (web) image='<a target=_blank href="'+web+'">' + image + '</a>';
 				}
 				var objName=obj.name;
 				if (web) objName='<a target=_blank href="'+web+'">' + objName + '</a>';
// 				if (QueryString.test==1) alert(obj.data=obj.data.replace(/\n/g,'<br>'));
 				res+='<tr><td colspan=2><b><u>'+objName+'</u></b><p>'+ image + txtMakeup(obj.data)+
 					'<tr><td colspan=2 align=right><a href="hotels.html?country='+obj.country + (obj.city?'&city='+obj.city:'') + '">Find a Hotel to this Show</a>'+
 					'<tr><td colspan=2>&nbsp;';
 				break;

 			default: res+='<tr><td>'+obj.name+'<td class=usefulinfo valign=top>'+txtMakeup(obj.data);
 		}
 		N++;
 	}
 }
  res+='</table>';
 if (preIndex) res=res.replace('<!--PREINDEX-->',preIndex);
 return res;
}

function swItem(n) {
// setObjContent('itemIntro',Strings[n]);
 setObjContent('itemContents',getItemContents(n));
 return false;
}

function initialize() {
 if (!window.Categs) window.Categs=Categs=new TObjArrayFromTable('CATEGS');
 if (!window.Items) window.Items=Items=new TObjArrayFromTable('ITEMS');
 if (!window.Strings) window.Strings=Strings=[ ];
 var country, area;
 for (var i in Items) {
 	var obj=Items[i];
 	if ((obj.country) && (country=CTYS[obj.country])) { 
 		obj.countryName=country.n;
 		obj.area=country.z;
 		obj.Area=CTYS[obj.area];
 	}
 }
 setObjContent('itemIndex',getItemIndex());
 var cat;
 if ((cat=QueryString.cat) && (cat.search(/[^0-9]/)==-1)) swItem(1*cat);
}

chainOnload(initialize);

