
function qs_graphics_image(img, alt, width, height)
{
   wd("<center>"); 
   wd("<img src='" + qs_path + "/img/trans.gif' height=18>"); 
   wd("<table bgcolor='" + qs_page_color + "' width='" + (width + 6) +  "' " + 
      "       height='" + (height + 6) + "'> "); 
   wd("   <tr><td align=center valign=middle>"); 
   wd("       <img src='" + img + "' alt='" + alt + "' " + 
      "            width='" + width + "' height='" + height + "'>");
   wd("   </td></tr>"); 
   wd("</table>"); 
   wd("</center>"); 
   html();
}

function qs_prev_next(prev, next, index)
{
   if (index == undefined) {
      middleText = ""; 
   } else {
      middleText = "<a href='" + index + "'> Index </a>"; 
   }

   wd('<table border="0" cellspacing="0" cellpadding="0" width=100%>');
   wd('<tr>');
   wd('   <td width=25%>' + 
		   '<img src="' + qs_path + '/img/trans.gif" height=7px></td>');
   wd('   <td width=50%>' + 
		   '<img src="' + qs_path + '/img/trans.gif" height=7px></td>');
   wd('   <td width=25%>' + 
		   '<img src="' + qs_path + '/img/trans.gif" height=7px></td>');
   wd('</tr>');
   wd('<tr>');
   wd('   <td width=100% colspan=3 height=2px bgcolor=green>');
   wd('         <img src="' + qs_path + '/img/trans.gif"><td>');
   wd('</tr>');
   wd('<tr>');
   wd('   <td width=100% colspan=3>' + 
		   '<img src="' + qs_path + '/img/trans.gif" height=7px><td>');
   wd('</tr>');
   wd('<tr width=100%>');
   if (prev != undefined) {
      wd('   <td align=left><a href="' + prev + '">Prev</a></td>');
   } else {
      wd('   <td align=left>&nbsp;</td>');
   }
   wd('<td align=center>' + middleText + '</td>');
   if (next != undefined) {
      wd('   <td align=right><a href="' + next + '"> Next</a></td>');
   } else {
      wd('   <td align=left>&nbsp;</td>');
   }
   wd('</tr>');
   wd('</table> ');
   html();
}

function qs_next(next) 
{
   qs_prev_next(undefined, next, undefined); 
}


function qs_titled_prev_next(prev, next, index, title) 
{
   qs_prev_next(prev, next, index); 
   wd("<p><b><center> " + title + "</center></b></p>"); 
   html();
}


function qs_data_set_jpg(name, file, prev, next, width, height) 
{
   qs_data_set(name, file, prev, next, width, height, file + ".jpg") 
}

function qs_data_set(name, file, prev, next, width, height, img_file) 
{
   if (img_file == undefined) {
      img_file = file + ".gif"; 
   }
   qs_path="..";
   qs_doc_start('Data Sets', name, true); // don't do <HEAD> section
   qs_doc_headline('Data Sets');
   qs_body_start(false); // underline == true

   qs_titled_prev_next(prev, next, 'index.html', name + " Data Set");
   wd("<p>"); 
   wd("<center>"); 
   wd("<table width='" + (width + 6) +  "'> "); 
   wd('<table border="0" cellspacing="0" cellpadding="0" ' +  
      '       width=' + (width+6) + '>');
   wd('<tr>'); 
   wd('<td align=left width=50%>' + 
      '    <a href=../iptours/' + file + '.html> Solid Curve  </a>' + 
      '</td>'); 
   wd('<td align=right width=50%>' + 
      '    <a href=../itours/' + file + '.html> Optimal Tour  </a>' + 
      '</td>'); 
   wd('</tr>'); 
   wd('</table>'); 
   wd("</center>"); 
   qs_graphics_image(img_file, name + " Data Set", width, height); 
   wd("</p>");

   qs_doc_finish("Mar 2005", 25); // 25px space at bottom 
   html(); 
}

function qs_solid_curve_jpg(name, file, prev, next, width, height)
{
    qs_solid_curve(name, file, prev, next, width, height, file + ".jpg"); 
}

function qs_solid_curve(name, file, prev, next, width, height, img_file) 
{
   if (img_file == undefined) {
      img_file = file + ".gif"; 
   }
   qs_path="..";
   qs_doc_start('Solid Curves', name, true); // don't do <HEAD> section
   qs_doc_headline('TSP Tour as Solid Curves');
   qs_body_start(false); // underline == true

   qs_titled_prev_next(prev, next, 'index.html', 'Optimal ' + name + " Tour");
   wd("<p>"); 
   wd("<center>"); 
   wd("<table width='" + (width + 6) +  "'> "); 
   wd('<table border="0" cellspacing="0" cellpadding="0" ' +  
      '       width=' + (width+6) + '>');
   wd('<tr>'); 
   wd('<td align=left width=50%>' + 
      '    <a href=../itours/' + file + '.html> Optimal Tour  </a>' + 
      '</td>'); 
   wd('<td align=right width=50%>' + 
      '    <a href=../idata/' + file + '.html> Data Set </a>' + 
      '</td>'); 
   wd('</tr>'); 
   wd('</table>'); 
   wd("</center>"); 
   qs_graphics_image(img_file, name + " Solid Curve", width, height); 
   wd("</p>");
   qs_doc_finish("Mar 2005", 25); // 25px space at bottom 
   html(); 
}


function qs_optimal_tours(name, file, prev, next, width, height) 
{
   qs_path="..";
   qs_doc_start('Optimal Tours', name, true); // don't do <HEAD> section
   qs_doc_headline('Optimal Tours');
   qs_body_start(false); // underline == true

   qs_titled_prev_next(prev, next, 'index.html', 'Optimal ' + name + " Tour");
   wd("<p>"); 
   wd("<center>"); 
   wd("<table width='" + (width + 6) +  "'> "); 
   wd('<table border="0" cellspacing="0" cellpadding="0" ' +  
      '       width=' + (width+6) + '>');
   wd('<tr>'); 
   wd('<td align=left width=50%>' + 
      '    <a href=../idata/' + file + '.html> Data Set </a>' + 
      '</td>'); 
   wd('<td align=right width=50%>' + 
      '    <a href=../iptours/' + file + '.html> Solid Curve  </a>' + 
      '</td>'); 
   wd('</tr>'); 
   wd('</table>'); 
   wd("</center>"); 
   qs_graphics_image(file + "t.gif", name + " Optimal Tour", width, height); 
   wd("<p>"); 

   qs_doc_finish("Mar 2005", 25); // 25px space at bottom 
   html(); 
}

function qs_graphics_body_start(title, prev, next) 
{
	var h = qs_table_start(0, "100%") + "<TR>"; 
	if (prev != undefined) { 
	    h += "<TD align='left'><a href='" + prev +  "'>Prev</a></TD>"; 
	} else {
		h += "<TD align='left'>" + qs_font_color(undefined, qs_background_color) + "Prev</font></TD>"; 
	}
	h += qs_col_spacer(6);
    h += "<TD align=center>" + title + "</TD>"; 
    h += qs_col_spacer(6);
    if (next != undefined) { 
	    h += "<TD align='right'><a href='" + next +  "'>Next</a></TD>"; 
	} else {
	    h += "<TD align='right'>" + qs_font_color(undefined, qs_background_color) + "Next</TD>"; 
	}
    h += "</TR>" + qs_table_finish(); 
	qs_doc_headline(h);
	qs_body_start(true); // underline == true
	// qs_next('index2.html');
}
