// ===================================================================
// CustomizeLayer.js
// these function supports CustomizationLayer.htm
// ===================================================================
 
var jsDir = appDir+"javascript/";		
// color ramps
var CuestaRenderStartColor = "";
var CuestaRenderEndColor = "";
// marker/line sizes
var CuestaRenderStartSize = 1;
var CuestaRenderEndSize = 1;
// color of polygon outlines. . . "" if none
var CuestaRenderOutlineColor = new Array();
var CuestaRenderTitle = "Legend";

var CuestaRenderLayerIndex = 0;
var CuestaRenderLayerName = "";
// current field for classification
var CuestaRenderLayerField = "";
// number of classes to use in rendering
var CuestaRenderClasses = 0;
// method of classification
//0=equal interval; 1=quantile;
var CuestaRenderMethod = 0;
// type of shape
var CuestaRenderShape = "polygon";

var CuestaRenderRange = 0;
var CuestaRenderBreakIncrement = 0;
var CuestaRenderRecordIncrement = 0;
var CuestaRenderBreakMin = new Array();
var CuestaRenderBreakMax = new Array();
var CuestaRenderBreakColor = new Array();
var CuestaRenderBreakSize = new Array();

var CuestaRenderUnique = new Array();

var CuestaRenderMin=0;
var CuestaRenderMax=9999999999;
var CuestaRenderCount=1;
var CuestaRenderSum=0;

//for track the customization
var CuestaRenderBreakLabel = new Array();
var CuestaRenderBreakType = new Array();
var CuestaRenderBreakSymbol = new Array();

var dataErr=false;

var strCompositeMsg= "<tr><td colspan=4>";	
strCompositeMsg += '<span ID="compositeMessage" style=\'font-size:10.0pt;font-family:Tahoma;color:red\'></span>';
strCompositeMsg += "</td></tr>";
var strDefaultMsg  = "<tr><td colspan=4>";

strDefaultMsg += '<span style=\'font-size:10.0pt;font-family:Tahoma\'><INPUT TYPE="checkbox" ID="DefaultSymbology" checked><b>Keep Existing Symbology</b></span>';
strDefaultMsg += "</td></tr>";

//for one symbol - the default one
function os_point()
{		
	var str= "";
	str += "<table>";
	
	// compositemessage
	str += strCompositeMsg;
	//keep symbology
	str += strDefaultMsg;	
	
	str += "<tr><td colspan=4>&nbsp</td></tr>";

	str += "<tr>";
	str += "<td>";
	// colour
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>Colour:</B>";
	str += "</td>";
	str += "<td id=\"osColorCell\" width=\"15\" height=\"15\">&nbsp;</td>";
	str += "<td colspan=2>";
	str += '<INPUT TYPE="TEXT" ID="pointColor" SIZE=10>';
	str += '<span style="font-size:8.0pt;font-family:Tahoma"><a href="'+jsDir+'#" id="pointPick" ID="pointPick" onclick="pick1(\'pointPick\');return false;"><B> Pick</B></a></span>';
	str += "</td>";
	str += "</tr>";

	// display the point style	
	str += "<tr><td>";
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>Point Style:</B>";	
	str += "</td><td>&nbsp;</td>";
	str += "<td colspan=2>";
	str += "<SELECT ID=\"pointStyle\" SIZE=1 style=\"width:150\">";
	str += "<OPTION VALUE=\"circle\">Circle";
	str += "<OPTION VALUE=\"square\">Square";
	str += "<OPTION VALUE=\"cross\">Cross";
	str += "<OPTION VALUE=\"triangle\">Triangle";
	str += "<OPTION VALUE=\"star\">Star";
	str += "</SELECT></span>";
	str += "</td></tr>";
	

	// display the point size
	str += "<tr>";
	str += "<td>";
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>Enter Point Size:</B></span>";	
	str += "</td><td>&nbsp;</td>";
	str += "<td colspan=2>";
	str += "<B><input type=\'text\' ID=\"pointSize\" value=\"8\" size=\"8\"></B>";
	str += "</td></tr></table>";
	
	return str;
}


function os_line()
{
	var str= "";
	str += "<table>";
	str += strCompositeMsg;
	str += strDefaultMsg;		
	
	str += "<tr><td colspan=4>&nbsp</td></tr>";

	str += "<tr>";
	str += "<td>";
	//the colour
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>Colour:</B>";
	str += "</td>";
	str += "<td id=\"osColorCell\" width=\"15\">&nbsp;";
	str += "</td>";
	str += "<td>";
	str += "<INPUT TYPE=\"TEXT\" ID=\"lineColor\" SIZE=10>";
	//str += "<INPUT TYPE=\"TEXT\" ID=\"lineColor\" SIZE=10 onchange=\"color_OnChange(\'linePick\');return false;\">";
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><a href=\""+jsDir+"#\" id=\"linePick\" onclick=\"pick1(\'linePick\');return false;\"><B>Pick</B></a></span>";

	str += "</td>";
	str += "</tr>";
	// display the line style
	str += "<tr>";
	str += "<td>";
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>Line Style:</B>";
	str += "</td>";
	str += "<td>&nbsp;";
	str += "</td>";
	str += "<td>";
	str += "<B><SELECT ID=\"lineStyle\" SIZE=1 style=\"width:130\">";
	str += "<OPTION VALUE=\"circle\">solid";
	str += "<OPTION VALUE=\"dash-long\">dash";
	str += "<OPTION VALUE=\"dash-short\">dot";
	str += "<OPTION VALUE=\"dotted\">dotted";
	str += "<OPTION VALUE=\"dashdotted\">dash dotted";
	//str += "<OPTION VALUE=\"railway\">railroad line";
	str += "</SELECT>";
	str += "</B>";
	str += "</td>";
	str += "</tr>";
	// display the line size
	str += "<tr>";
	str += "<td>";
	str += "<font style=\"font: 8pt Tahoma\"><B>Enter Line Weight:</B>";
	str += "</td>";
	str += "<td>&nbsp;";
	str += "</td>";
	str += "<td>";
	str += "<B><input type=\'text\' ID=\"lineSize\" value=\"1\" size=\"6\"></B>";
	str += "</td>";
	str += "</tr>";
	str += "</table>";

	return str;
}

function os_polygon()
{
	var str= "";
	str += "<table>";
	str += strCompositeMsg;
	str += strDefaultMsg;	
	
	str += "<tr><td colspan=4>&nbsp</td></tr>";

	str += "<tr>";
	str += "<td>";
	// display the fill type
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>Fill Type:</B>";
	str += "</td>";
	str += "<td>&nbsp;";
	str += "</td>";
	str += "<td>";
	str += "<B><SELECT ID=\"fillStyle\" SIZE=1 style=\"width:170\">";
	str += "<OPTION VALUE=\"screen\">screen";
	//str += "<OPTION VALUE=\"transparent\">transparent";
	str += "<OPTION VALUE=\"horizontalfill\">horizontal";
	str += "<OPTION VALUE=\"verticalfill\">vertical";
	str += "<OPTION VALUE=\"upwarddiagonalfill\">upward diagonal";
	str += "<OPTION VALUE=\"downwarddiagonalfill\">downward diagonal";
	//str += "<OPTION VALUE=\"cross\">cross";
	//str += "<OPTION VALUE=\"diagcross\">diagonal cross";
	//str += "<OPTION VALUE=\"lightgray\">light screen";
	//str += "<OPTION VALUE=\"gray\">screen";
	//str += "<OPTION VALUE=\"darkgray\">dark screen";
	str += "</SELECT><BR>";
	str += "</td>";
	str += "</tr>";

  	//transparency
	str += "<tr>";
	str += "<td>";
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>Opacity:</B>";
	str += "</td>";
	str += "<td>&nbsp;";
	str += "</td>";
	str += "<td>";
	str += "<B><input type=\"text\" ID=\"transparency\" value=\"100\" size=\"4\"></B>(%)";
	str += "</td>";
	str += "</tr>";

	// fill colour			
	str += "<tr>";
	str += "<td>";
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>Fill Colour:</B><BR>";
	str += "</td>";
	str += "<td id=\"osColorCell\" width=\"15\">&nbsp;";
	str += "</td>";
	str += "<td>";
	str += "<INPUT TYPE=\"TEXT\" ID=\"fillColor\" SIZE=18>";
	//str += "<INPUT TYPE=\"TEXT\" ID=\"fillColor\" SIZE=18 onchange=\"color_OnChange(\'fillPick\');return false;\">";
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><a href=\""+jsDir+"#\" id=\"fillPick\" onclick=\"pick1(\'fillPick\');return false;\"><B> Pick</B></a></span>";	
	str += "</td>";
	str += "</tr>";

	// display the outline line style
	str += "<tr>";
	str += "<td>";
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>Outline Style:</B>";
	str += "</td>";
	str += "<td>&nbsp;";
	str += "</td>";
	str += "<td>";
	str += "<B><SELECT ID=\"outlineStyle\" SIZE=1 style=\"width:170\">";
	str += "<OPTION VALUE=\"none\">no outline";
	str += "<OPTION VALUE=\"circle\">solid";
	str += "<OPTION VALUE=\"dash-long\">dash";
	str += "<OPTION VALUE=\"dash-short\">dot";
	str += "<OPTION VALUE=\"dotted\">dotted";
	str += "<OPTION VALUE=\"dashdotted\">dash dotted";
	//str += "<OPTION VALUE=\"railway\">railroad line";
	str += "</SELECT></B>";
	str += "</td>";
	str += "</tr>";

	//display the outline line size
	str += "<tr>";
	str += "<td>";
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>Outline Weight:</B>";
	str += "</td>";
	str += "<td>&nbsp;";
	str += "</td>";
	str += "<td>";
	str += "<B><input type=\'text\' ID=\"outlineSize\" value=\"1\" size=\"4\"></B>";
	str += "</td>";
	str += "</tr>";

	//outline colour			
	str += "<tr>";
	str += "<td>";
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>Outline Colour:&nbsp</B><BR>";
	str += "</td>";
	str += "<td id=\"osColorCell1\" width=\"15\">&nbsp;";
	str += "</td>";
	str += "<td>";
	str += "<INPUT TYPE=\"TEXT\" ID=\"outlineColor\" SIZE=18>";
	//str += "<INPUT TYPE=\"TEXT\" ID=\"outlineColor\" SIZE=18 onchange=\"color_OnChange(\'outlinePick\');return false;\">";
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><a href=\""+jsDir+"#\" id=\"outlinePick\" onclick=\"pick1(\'outlinePick\');return false;\"><B> Pick</B></a></span>";
	str += "</td>";
	str += "</tr>";
	str += "</table>";
			
	return str;
}

//for graduated symbols
function gs_point()
{
	var str= "";
	str += "<table>";
	
	str += strCompositeMsg;
	str += strDefaultMsg;	
	
	str += "<tr><td colspan=4>&nbsp</td></tr>";

	//display the fields
	str += "<tr>";
	str += "<td>";
	str += "<font style=\"font: 8pt Tahoma\"><B>Field:</B>";
	str += "</td>";
	str += "<td>&nbsp;";
	str += "</td>";
	str += "<td>";
	str += '<select ID="classField" SIZE=1 style="width:170" onChange=splitRanges();>';
	str += "<OPTION VALUE=\"none\">None";

//THIS HAS TO BE RESTRICTIONED TO DISPLAY ONLY NUMERIC FIELDS  
	//AD Jan 19, 2005, created new function csy_setAllFieldsOptionsStr()
	//var s = t.csy_setAllFieldsOptionsStr("NUMERIC_ONLY");
	var s = t.csy_setAllFieldsOptionsStr("NUMERIC_VISIBLE");//AD June 2007, added field visibility
	
	if (s.length>0)
		str += s;

	str += "</SELECT>";
	str += "</td>";
	str += "</tr>";

	str += "<tr>";
	str += "<td>";
	// start colour
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>Start Colour:</B>";
	str += "</td>";
	str += "<td id=\"sColorCell\" WIDTH=\"20\">&nbsp;";
	str += "</td>";
	str += "<td>";
	str += '<INPUT TYPE="TEXT" ID="pointColorStart" SIZE=10>';
	//str += '<INPUT TYPE="TEXT" ID="pointColorStart" SIZE=10 onchange=\"color_OnChange(\'pointPickStart\');return false;\">';
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><a href=\""+jsDir+"#\" id=\"pointPickStart\" onclick=\"pick1('pointPickStart');return false;\"><B> Pick</B></a></span>";
	str += "</td>";
	str += "</tr>";

	str += "<tr>";
	str += "<td>";
	// end colour
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>End Colour:</B>";
	str += "</td>";
	str += "<td id=\"eColorCell\" WIDTH=\"20\">&nbsp;";
	str += "</td>";
	str += "<td>";
	str += '<INPUT TYPE="TEXT" ID="pointColorEnd" SIZE=10>';
	str += '<span style=\'font-size:8.0pt;font-family:Tahoma\'><a href="'+jsDir+'#" id="pointPickEnd" ID=pointPickEnd onclick="pick1(\'pointPickEnd\');return false;"><B> Pick</B></a></span>';
	str += "</td>";
	str += "</tr>";

	// display the point style
	str += "<tr>";
	str += "<td>";
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>Point Style:</B>";
	str += "</td>";
	str += "<td>&nbsp;</td>";
	str += "<td colspan=2>";
	str += "<SELECT ID=\"pointStyle\" SIZE=1 style=\"width:150\">";
	str += "<OPTION VALUE=\"circle\">Circle";
	str += "<OPTION VALUE=\"square\">Square";
	str += "<OPTION VALUE=\"cross\">Cross";
	str += "<OPTION VALUE=\"triangle\">Triangle";
	str += "<OPTION VALUE=\"star\">Star";
	str += "</SELECT></span>";
	str += "</td>";
	str += "</tr>";

	str += "<tr>";
	str += "<td>";
	// display the start point size
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>Enter Start Point Size:</B></span>";
	str += "</td>";
	str += "<td>&nbsp;";
	str += "</td>";
	str += "<td>";
	str += "<B><input type=\'text\' ID=\"pointSizeStart\" value=\"5\" size=\"8\"></B>";
	str += "</td>";
	str += "</tr>";

	str += "<tr>";
	str += "<td>";
	// display the end point size
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>Enter End Point Size:</B></span>";
	str += "</td>";
	str += "<td>&nbsp;";
	str += "</td>";
	str += "<td>";
	str += "<B><input type=\'text\' ID=\"pointSizeEnd\" value=\"10\" size=\"8\"></B>";
	str += "</td>";
	str += "</tr>";

	//display the number of classes
	str += "<tr>";
	str += "<td>";
	str += "<font style=\"font: 8pt Tahoma\"><B>Classes:</B>";
	str += "</td>";
	str += "<td>&nbsp;";
	str += "</td>";
	str += "<td>";
	str += "<select ID=\"numClasses\">";
	//str += "<option value=\"0\">None";//AD May 17, 2005, remove from option list
	//str += "<option value=\"1\">1";//AD May 17, 2005, remove from option list
	str += "<option value=\"2\">2";
	str += "<option value=\"3\">3";
	str += "<option value=\"4\">4";
	str += "<option value=\"5\" selected>5";
	str += "<option value=\"6\">6";
	str += "<option value=\"7\">7";
	str += "<option value=\"8\">8";
	str += "<option value=\"9\">9";
	str += "<option value=\"10\">10";
	str += "</select>";
	str += "</td>";
	str += "</tr>";
	str += "<tr>";
	str += "<td>";
	str += "<input  type=\"image\" ID=\"Refresh\" src=\"NTGO_images/refresh.gif\" alt=\"Refresh\"  value=\"Refresh\" onclick=splitRanges();  onMouseOver=\"this.src='NTGO_images/refresh-over.gif'\" onMouseOut=\"this.src='NTGO_images/refresh.gif'\" />";//AD June 17, 2005 - applied style
	str += "</td>";
	str += "<td colspan=2>&nbsp;</td>";
	str += "</tr>";
	str += "</table>";

	return str;
}

function gs_line()
{
	var str= "";
	str += "<table>";

	str += strCompositeMsg;
	str += strDefaultMsg;	
	
	str += "<tr><td colspan=4>&nbsp</td></tr>";

	//display the fields
	str += "<tr>";
	str += "<td>";
	str += "<font style=\"font: 8pt Tahoma\"><B>Field:</B>";
	str += "</td>";
	str += "<td>&nbsp;";
	str += "</td>";
	str += "<td>";
	str += '<select ID="classField" SIZE=1 style="width:150" onChange=splitRanges();>';
	str += "<OPTION VALUE=\"none\">None";
//THIS HAS TO BE RESTRICTIONED TO DISPLAY ONLY NUMERIC FIELDS
	//AD Jan 19, 2005, created new function csy_setAllFieldsOptionsStr()
	//var s = t.csy_setAllFieldsOptionsStr("NUMERIC_ONLY");
	var s = t.csy_setAllFieldsOptionsStr("NUMERIC_VISIBLE");//AD June 2007, added field visibility
	
	if (s.length>0)
		str += s;
	
	str += "</SELECT>";
	str += "</td>";
	str += "</tr>";

	// start colour	
	str += "<tr>";
	str += "<td>";
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>Start Colour:</B>";
	str += "</td>";
	str += "<td id=\"sColorCell\" WIDTH=\"20\">&nbsp;";
	str += "</td>";
	str += "<td>";
	str += "<INPUT TYPE=\"TEXT\" ID=\"lineColorStart\" SIZE=10>";
	//str += "<INPUT TYPE=\"TEXT\" ID=\"lineColorStart\" SIZE=10 onchange=\"color_OnChange(\'linePickStart\');return false;\">";
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><a href=\""+jsDir+"#\" id=\"linePickStart\" onclick=\"pick1(\'linePickStart\');return false;\"><B> Pick</B></a></span>";
	str += "</td>";
	str += "</tr>";
	// end colour			
	str += "<tr>";
	str += "<td>";
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>End Colour:</B>";
	str += "</td>";
	str += "<td id=\"eColorCell\" WIDTH=\"20\">&nbsp;";
	str += "</td>";
	str += "<td>";
	str += "<INPUT TYPE=\"TEXT\" ID=\"lineColorEnd\" SIZE=10>";
	//str += "<INPUT TYPE=\"TEXT\" ID=\"lineColorEnd\" SIZE=10 onchange=\"color_OnChange(\'linePickEnd\');return false;\">";
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><a href=\""+jsDir+"#\" id=\"linePickEnd\" onclick=\"pick1(\'linePickEnd\');return false;\"><B> Pick</B></a></span>";
	str += "</td>";
	str += "</tr>";
	// display the line style
	str += "<tr>";
	str += "<td>";
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>Line Style:</B>";
	str += "</td>";
	str += "<td>&nbsp;";
	str += "</td>";
	str += "<td>";
	str += "<B><SELECT ID=\"lineStyle\" SIZE=1 style=\"width:150\">";
	str += "<OPTION VALUE=\"circle\">solid";
	str += "<OPTION VALUE=\"dash-long\">dash";
	str += "<OPTION VALUE=\"dash-short\">dot";
	str += "<OPTION VALUE=\"dotted\">dotted";
	str += "<OPTION VALUE=\"dashdotted\">dash dotted";
	//str += "<OPTION VALUE=\"railway\">railroad line";
	str += "</SELECT>";
	str += "</B>";
	str += "</td>";
	str += "</tr>";
	// display the line size
	str += "<tr>";
	str += "<td>";
	str += "<font style=\"font: 8pt Tahoma\"><B>Enter Line Start Weight:</B>";
	str += "</td>";
	str += "<td>&nbsp;";
	str += "</td>";
	str += "<td>";
	str += "<B><input type=\'text\' ID=\"lineSizeStart\" value=\"1\" size=\"6\"></B>";
	str += "</td>";
	str += "</tr>";
	str += "<tr>";
	str += "<td>";
	str += "<font style=\"font: 8pt Tahoma\"><B>Enter Line End Weight:</B>";
	str += "</td>";
	str += "<td>&nbsp;";
	str += "</td>";
	str += "<td>";
	str += "<B><input type=\'text\' ID=\"lineSizeEnd\" value=\"5\" size=\"6\"></B>";
	str += "</td>";
	str += "</tr>";

	//display the number of classes
	str += "<tr>";
	str += "<td>";
	str += "<font style=\"font: 8pt Tahoma\"><B>Classes:</B>";
	str += "</td>";
	str += "<td>&nbsp;";
	str += "</td>";
	str += "<td>";
	str += "<select ID=\"numClasses\">";
	//str += "<option value=\"0\">None";//AD May 17, 2005, remove from option list
	//str += "<option value=\"1\">1";//AD May 17, 2005, remove from option list
	str += "<option value=\"2\">2";
	str += "<option value=\"3\">3";
	str += "<option value=\"4\">4";
	str += "<option value=\"5\" selected>5";
	str += "<option value=\"6\">6";
	str += "<option value=\"7\">7";
	str += "<option value=\"8\">8";
	str += "<option value=\"9\">9";
	str += "<option value=\"10\">10";
	str += "</select>";
	str += "</td>";
	str += "</tr>";
	str += "<tr>";
	str += "<td>";
	str += "<input type=\"image\" ID=\"Refresh\" src=\"NTGO_images/refresh.gif\" value=\"Refresh\" onclick=splitRanges();  onMouseOver=\"this.src='NTGO_images/refresh-over.gif'\" onMouseOut=\"this.src='NTGO_images/refresh.gif'\" />";//AD June 17, 2005 - applied style
	str += "</td>";
	str += "<td colspan=2>&nbsp;</td>";
	str += "</tr>";

	str += "</table>";

	return str;
}

function gs_polygon()
{
	var str= "";
	str += "<table>";
	
	str += strCompositeMsg;
	str += strDefaultMsg;	
	
	str += "<tr><td colspan=4>&nbsp</td></tr>";

	//display the fields
	str += "<tr>";
	str += "<td>";
	str += "<font style=\"font: 8pt Tahoma\"><B>Field:</B>";
	str += "</td>";
	str += "<td>&nbsp;";
	str += "</td>";
	str += "<td>";
	str += '<select ID="classField" SIZE=1 style="width:150" onChange=splitRanges();>';
	str += "<OPTION VALUE=\"none\">None";
//THIS HAS TO BE RESTRICTIONED TO DISPLAY ONLY NUMERIC FIELDS 
	//AD Jan 19, 2005, created new function csy_setAllFieldsOptionsStr()
	//var s = t.csy_setAllFieldsOptionsStr("NUMERIC_ONLY");
	var s = t.csy_setAllFieldsOptionsStr("NUMERIC_VISIBLE");//AD June 2007, added field visibility
	
	if (s.length>0)
		str += s;
	
	str += "</SELECT>";
	str += "</td>";
	str += "</tr>";

	str += "<tr>";
	str += "<td>";
	// display the fill type
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>Fill Type:</B>";
	str += "</td>";
	str += "<td>&nbsp;";
	str += "</td>";
	str += "<td>";
	str += "<B><SELECT ID=\"fillStyle\" SIZE=1 style=\"width:150\">";
	str += "<OPTION VALUE=\"screen\">screen";
	str += "<OPTION VALUE=\"horizontalfill\">horizontal";
	str += "<OPTION VALUE=\"verticalfill\">vertical";
	str += "<OPTION VALUE=\"upwarddiagonalfill\">upward diagonal";
	str += "<OPTION VALUE=\"downwarddiagonalfill\">downward diagonal";
	//str += "<OPTION VALUE=\"cross\">cross";
	//str += "<OPTION VALUE=\"diagcross\">diagonal cross";
	//str += "<OPTION VALUE=\"lightgray\">light screen";
	//str += "<OPTION VALUE=\"gray\">screen";
	//str += "<OPTION VALUE=\"darkgray\">dark screen";
	str += "</SELECT><BR>";
	str += "</td>";
	str += "</tr>";

 	//transparency
	str += "<tr>";
	str += "<td>";
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>Opacity:</B>";
	str += "</td>";
	str += "<td>&nbsp;";
	str += "</td>";
	str += "<td>";
	str += "<B><input type=\'text\' ID=\"transparency\" value=\"100\" size=\"4\"></B>(%)";
	str += "</td>";
	str += "</tr>";

	// fill colour start
	str += "<tr>";
	str += "<td>";
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>Start Fill Colour:</B><BR>";
	str += "</td>";
	str += "<td id=\"sColorCell\" WIDTH=\"20\">&nbsp;";
	str += "</td>";
	str += "<td>";
	str += "<INPUT TYPE=\"TEXT\" ID=\"fillColorStart\" SIZE=18 >";
	//str += "<INPUT TYPE=\"TEXT\" ID=\"fillColorStart\" SIZE=18 onchange=\"color_OnChange(\'fillPickStart\');return false;\">";
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><a href=\""+jsDir+"#\" ID=\"fillPickStart\" onclick=\"pick1(\'fillPickStart\');return false;\"><B> Pick</B></a></span>";	
	str += "</td>";
	str += "</tr>";

	str += "<tr>";
	str += "<td>";
	// fill colour end
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>End Fill Colour:</B><BR>";
	str += "</td>";
	str += "<td id=\"eColorCell\" WIDTH=\"20\">&nbsp;";
	str += "</td>";
	str += "<td>";
	str += "<INPUT TYPE=\"TEXT\" ID=\"fillColorEnd\" SIZE=18>";
	//str += "<INPUT TYPE=\"TEXT\" ID=\"fillColorEnd\" SIZE=18 onchange=\"color_OnChange(\'fillPickEnd\');return false;\">";
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><a href=\""+jsDir+"#\" ID=\"fillPickEnd\" onclick=\"pick1(\'fillPickEnd\');return false;\"><B> Pick</B></a></span>";	
	str += "</td>";
	str += "</tr>";

	str += "<tr>";
	str += "<td>";
	// display the outline line style
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>Outline Style:</B>";
	str += "</td>";
	str += "<td>&nbsp;";
	str += "</td>";
	str += "<td>";
	str += "<B><SELECT ID=\"outlineStyle\" SIZE=1 style=\"width:150\">";
	str += "<OPTION VALUE=\"none\">no outline";
	str += "<OPTION VALUE=\"circle\">solid";
	str += "<OPTION VALUE=\"dash-long\">dash";
	str += "<OPTION VALUE=\"dash-short\">dot";
	str += "<OPTION VALUE=\"dotted\">dotted";
	str += "<OPTION VALUE=\"dashdotted\">dash dotted";
	//str += "<OPTION VALUE=\"railway\">railroad line";
	str += "</SELECT></B>";
	str += "</td>";
	str += "</tr>";

	str += "<tr>";
	str += "<td>";
	//display the outline line size
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>Outline Weight:</B>";
	str += "</td>";
	str += "<td>&nbsp;";
	str += "</td>";
	str += "<td>";
	str += "<B><input type=\'text\' ID=\"outlineSize\" value=\"1\" size=\"4\"></B><BR>";
	str += "</td>";
	str += "</tr>";

	str += "<tr>";
	str += "<td>";
	// line colour			
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>Outline Colour:&nbsp</B><BR>";
	str += "</td>";
	str += "<td id=\"oCell\" width=\"15\">&nbsp;";
	str += "</td>";
	str += "<td>";
	//str += "<INPUT TYPE=\"TEXT\" ID=\"outlineColor\" SIZE=18 onchange=\"color_OnChange(\'outlinePick\');return false;\">";
	str += "<INPUT TYPE=\"TEXT\" ID=\"outlineColor\" SIZE=18>"; 
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><a href=\""+jsDir+"#\" ID=\"outlinePick\" onclick=\"pick1(\'outlinePick\');return false;\"><B> Pick</B></a></span>";
	str += "</td>";
	str += "</tr>";

	//display the number of classes
	str += "<tr>";
	str += "<td>";
	str += "<font style=\"font: 8pt Tahoma\"><B>Classes:</B>";
	str += "</td>";
	str += "<td>&nbsp;";
	str += "</td>";
	str += "<td>";
	str += "<select ID=\"numClasses\">";
	//str += "<option value=\"0\">None";//AD May 17, 2005, remove from option list
	//str += "<option value=\"1\">1";//AD May 17, 2005, remove from option list
	str += "<option value=\"2\">2";
	str += "<option value=\"3\">3";
	str += "<option value=\"4\">4";
	str += "<option value=\"5\" selected>5";
	str += "<option value=\"6\">6";
	str += "<option value=\"7\">7";
	str += "<option value=\"8\">8";
	str += "<option value=\"9\">9";
	str += "<option value=\"10\">10";
	str += "</select>";
	str += "</td>";
	str += "</tr>";

	str += "<tr>";
	str += "<td>";
	str += "<input  type=\"image\" ID=\"Refresh\" src=\"NTGO_images/refresh.gif\" value=\"Refresh\" onclick=splitRanges(); onMouseOver=\"this.src='NTGO_images/refresh-over.gif'\" onMouseOut=\"this.src='NTGO_images/refresh.gif'\" />";//AD June 17, 2005 - applied style
	str += "</td>";
	str += "<td colspan=2>&nbsp;</td>";
	str += "</tr>";

	str += "</table>";

	return str;
}

//for unique symbols
function us_point()
{
	var str= "";
	str += "<table>";
	
	str += strCompositeMsg;
	str += strDefaultMsg;	
	
	
	str += "<tr><td colspan=4>&nbsp</td></tr>";

	//display the fields
	str += "<tr>";
	str += "<td>";
	str += "<font style=\"font: 8pt Tahoma\"><B>Field:</B>";
	str += "</td>";
	str += "<td>&nbsp;</td>";
	str += "<td>";
	str += '<select ID="classField" SIZE=1 style="width:170" onChange=splitUniques();>';
	str += "<OPTION VALUE=\"none\">None";
/*
	var idx = -1;
  for (var j=0; j<LayerID.length; j++)
	{	
			if (LayerID[j]==ActiveLayerID)
			{
          idx = j;
          j = LayerID.length;
      }
  }
				
  if (LayerFieldAliasList[idx].length >0 )
  {
  	var tmpFields = LayerFieldAliasList[idx].split(",");
  	for (var i=0;i< tmpFields.length;i++) {
  		var tempPair = tmpFields[i].split(":");
  		str+='<option value="' + Trim(tempPair[0]) + '">'+Trim(tempPair[1]);
  	}
  } 
  */
	//AD Jan 19, 2005, created new function csy_setAllFieldsOptionsStr()
	//var s = t.csy_setAllFieldsOptionsStr("ALL");
	var s = t.csy_setAllFieldsOptionsStr("ALL_VISIBLE");//AD June 2007, added field visibility
	
	if (s.length>0)
		str += s;
	
	str += "</SELECT>";
	str += "</td>";
	str += "</tr>";

	// start colour
	str += "<tr><td>";
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>Start Colour:</B>";
	str += "</td>";
	str += "<td id=\"sColorCell\" WIDTH=\"20\">&nbsp;";
	str += "</td>";
	str += "<td>";
	str += '<INPUT TYPE="TEXT" ID="pointColorStart" SIZE=10>';
	//str += '<INPUT TYPE="TEXT" ID="pointColorStart" SIZE=10 onchange=\"color_OnChange(\'pointPickStart\');return false;\">';
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><a href=\""+jsDir+"#\" ID=\"pointPickStart\" onclick=\"pick1('pointPickStart');return false;\"><B> Pick</B></a></span>";
	str += "</td>";
	str += "</tr>";

	str += "<tr>";
	str += "<td>";
	// end colour
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>End Colour:</B>";
	str += "</td>";
	str += "<td id=\"eColorCell\" WIDTH=\"20\">&nbsp;";
	str += "</td>";
	str += "<td>";
	str += '<INPUT TYPE="TEXT" ID="pointColorEnd" SIZE=10>';
	//str += '<INPUT TYPE="TEXT" ID="pointColorEnd" SIZE=10 onchange=\"color_OnChange(\'pointPickEnd\');return false;\">';
	str += '<span style=\'font-size:8.0pt;font-family:Tahoma\'><a href="'+jsDir+'#" ID="pointPickEnd" onclick="pick1(\'pointPickEnd\');return false;"><B> Pick</B></a></span>';
	str += "</td>";
	str += "</tr>";

	// display the point style
	str += "<tr>";
	str += "<td>";
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>Point Style:</B>";
	str += "</td>";
	str += "<td>&nbsp;</td>";
	str += "<td colspan=2>";
	str += "<SELECT ID=\"pointStyle\" SIZE=1 style=\"width:150\">";
	str += "<OPTION VALUE=\"circle\">Circle";
	str += "<OPTION VALUE=\"square\">Square";
	str += "<OPTION VALUE=\"cross\">Cross";
	str += "<OPTION VALUE=\"triangle\">Triangle";
	str += "<OPTION VALUE=\"star\">Star";
	str += "</SELECT></span>";
	str += "</td>";
	str += "</tr>";

	str += "<tr>";
	str += "<td>";
	// display the point size
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>Enter Point Size:</B></span>";
	str += "</td>";
	str += "<td>&nbsp;</td>";
	str += "<td>";
	str += "<B><input type=\'text\' ID=\"pointSize\" value=\"8\" size=\"8\"></B>";
	str += "</td>";
	str += "</tr>";

	str += "<tr>";
	str += "<td>";
	str += "<input type=\"image\" ID=\"Refresh\" src=\"NTGO_images/refresh.gif\" value=\"Refresh\" onclick=splitUniques(); onMouseOver=\"this.src='NTGO_images/refresh-over.gif'\" onMouseOut=\"this.src='NTGO_images/refresh.gif'\" />";//AD June 17, 2005 - applied style
	str += "</td>";
	str += "<td>&nbsp;</td>";
	str += "<td>&nbsp;</td>";
	str += "</tr>";

	str += "</table>";

	return str;
}

function us_line()
{
	var str= "";
	str += "<table>";

	str += strCompositeMsg;
	str += strDefaultMsg;	
	str += "<tr><td colspan=4>&nbsp</td></tr>";

	//display the fields
	str += "<tr>";
	str += "<td>";
	str += "<font style=\"font: 8pt Tahoma\"><B>Field:</B>";
	str += "</td>";
	str += "<td>&nbsp;</td>";
	str += "<td>";
	str += '<select ID="classField" SIZE=1 style="width:170" onChange=splitUniques();>';
	str += "<OPTION VALUE=\"none\">None";
/*	var idx = -1;
  for (var j=0; j<LayerID.length; j++){	
	if (LayerID[j]==ActiveLayerID)
	{
          idx = j;
          j = LayerID.length;
	}
  }
				
  if (LayerFieldAliasList[idx].length >0 )
  {
  	var tmpFields = LayerFieldAliasList[idx].split(",");
  	for (var i=0;i< tmpFields.length;i++) {
  		var tempPair = tmpFields[i].split(":");
  		str+='<option value="' + Trim(tempPair[0]) + '">'+Trim(tempPair[1]);
  	}
  } */ 

	//AD Jan 19, 2005, created new function csy_setAllFieldsOptionsStr()
	//var s = t.csy_setAllFieldsOptionsStr("ALL");
	var s = t.csy_setAllFieldsOptionsStr("ALL_VISIBLE");//AD June 2007, added field visibility
	
	if (s.length>0)
		str += s;
	
	str += "</SELECT>";
	str += "</td>";
	str += "</tr>";

	// start colour	
	str += "<tr>";
	str += "<td>";
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>Start Colour:</B>";
	str += "</td>";
	str += "<td id=\"sColorCell\" WIDTH=\"20\">&nbsp;";
	str += "</td>";
	str += "<td>";
	str += "<INPUT TYPE=\"TEXT\" ID=\"lineColorStart\" SIZE=10>";
	//str += "<INPUT TYPE=\"TEXT\" ID=\"lineColorStart\" SIZE=10 onchange=\"color_OnChange(\'linePickStart\');return false;\">";
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><a href=\""+jsDir+"#\" ID=\"linePickStart\" onclick=\"pick1(\'linePickStart\');return false;\"><B> Pick</B></a></span>";
	str += "</td>";
	str += "</tr>";
	// end colour			
	str += "<tr>";
	str += "<td>";
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>End Colour:</B>";
	str += "</td>";
	str += "<td id=\"eColorCell\" WIDTH=\"20\">&nbsp;";
	str += "</td>";
	str += "<td>";
	str += "<INPUT TYPE=\"TEXT\" ID=\"lineColorEnd\" SIZE=10>";
	//str += "<INPUT TYPE=\"TEXT\" ID=\"lineColorEnd\" SIZE=10 onchange=\"color_OnChange(\'linePickEnd\');return false;\">";
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><a href=\""+jsDir+"#\" ID=\"linePickEnd\" onclick=\"pick1(\'linePickEnd\');return false;\"><B> Pick</B></a></span>";
	str += "</td>";
	str += "</tr>";

	// display the line style
	str += "<tr>";
	str += "<td>";
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>Line Style:</B>";
	str += "</td>";
	str += "<td>&nbsp;</td>";
	str += "<td>";
	str += "<B><SELECT ID=\"lineStyle\" SIZE=1 style=\"width:170\">";
	str += "<OPTION VALUE=\"circle\">solid";
	str += "<OPTION VALUE=\"dash-long\">dash";
	str += "<OPTION VALUE=\"dash-short\">dot";
	str += "<OPTION VALUE=\"dotted\">dotted";
	str += "<OPTION VALUE=\"dashdotted\">dash dotted";
	//str += "<OPTION VALUE=\"railway\">railroad line";
	str += "</SELECT>";
	str += "</B>";
	str += "</td>";
	str += "</tr>";

	// display the line size
	str += "<tr>";
	str += "<td>";
	str += "<font style=\"font: 8pt Tahoma\"><B>Enter Line Weight:</B>";
	str += "</td>";
	str += "<td>&nbsp;</td>";
	str += "<td>";
	str += "<B><input type=\'text\' ID=\"lineSize\" value=\"1\" size=\"6\"></B>";
	str += "</td>";
	str += "</tr>";
	str += "<tr>";
	str += "<td>";
	str += "<input type=\"image\" ID=\"Refresh\" src=\"NTGO_images/refresh.gif\" value=\"Refresh\" onclick=splitUniques(); onMouseOver=\"this.src='NTGO_images/refresh-over.gif'\" onMouseOut=\"this.src='NTGO_images/refresh.gif'\" />";//AD June 17, 2005 - applied style
	str += "</td>";
	str += "<td>&nbsp;</td>";
	str += "</tr>";

	str += "</table>";
	return str;
}

function us_polygon()
{
	var str= "";
	str += "<table>";
	
	str += strCompositeMsg;
	str += strDefaultMsg;	
	str += "<tr><td colspan=4>&nbsp</td></tr>";

	//display the fields
	str += "<tr>";
	str += "<td>";
	str += "<font style=\"font: 8pt Tahoma\"><B>Field:</B>";
	str += "</td>";
	str += "<td>&nbsp;</td>";
	str += "<td>";
	str += '<select ID="classField" SIZE=1 style="width:150" onChange=splitUniques();>';
	str += "<OPTION VALUE=\"none\">None";
/*	var idx = -1;
  for (var j=0; j<LayerID.length; j++)
	{	
			if (LayerID[j]==ActiveLayerID)
			{
          idx = j;
          j = LayerID.length;
      }
  }
				
  if (LayerFieldAliasList[idx].length >0 )
  {
  	var tmpFields = LayerFieldAliasList[idx].split(",");
  	for (var i=0;i< tmpFields.length;i++) {
  		var tempPair = tmpFields[i].split(":");
  		str+='<option value="' + Trim(tempPair[0]) + '">'+Trim(tempPair[1]);
  	}
  } 
  */

	var s = t.csy_setAllFieldsOptionsStr("ALL_VISIBLE");//AD June 2007, added field visibility
	
	if (s.length>0)
		str += s;
	
  	str += "</SELECT>";
	str += "</td>";
	str += "</tr>";

	str += "<tr>";
	str += "<td>";
	// display the fill type
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>Fill Type:</B>";
	str += "</td>";
	str += "<td>&nbsp;</td>";
	str += "<td>";
	str += "<B><SELECT ID=\"fillStyle\" SIZE=1 style=\"width:150\">";
	str += "<OPTION VALUE=\"screen\">screen";
	str += "<OPTION VALUE=\"horizontalfill\">horizontal";
	str += "<OPTION VALUE=\"verticalfill\">vertical";
	str += "<OPTION VALUE=\"upwarddiagonalfill\">upward diagonal";
	str += "<OPTION VALUE=\"downwarddiagonalfill\">downward diagonal";
	//str += "<OPTION VALUE=\"cross\">cross";
	//str += "<OPTION VALUE=\"diagcross\">diagonal cross";
	//str += "<OPTION VALUE=\"lightgray\">light screen";
	//str += "<OPTION VALUE=\"gray\">screen";
	//str += "<OPTION VALUE=\"darkgray\">dark screen";
	str += "</SELECT><BR>";
	str += "</td>";
	str += "</tr>";

  	//transparency
	str += "<tr>";
	str += "<td>";
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>Opacity:</B>";
	str += "</td>";
	str += "<td>&nbsp;";
	str += "</td>";
	str += "<td>";
	str += "<B><input type=\'text\' ID=\"transparency\" value=\"100\" size=\"4\"></B>(%)";
	str += "</td>";
	str += "</tr>";

	// fill colour start
	str += "<tr>";
	str += "<td>";
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>Start Fill Colour:</B><BR>";
	str += "</td>";
	str += "<td id=\"sColorCell\" WIDTH=\"20\">&nbsp;";
	str += "</td>";
	str += "<td>";
	str += "<INPUT TYPE=\"TEXT\" ID=\"fillColorStart\" SIZE=18>";
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><a href=\""+jsDir+"#\" ID=\"fillPickStart\" onclick=\"pick1(\'fillPickStart\');return false;\"><B> Pick</B></a></span>";	
	str += "</td>";
	str += "</tr>";

	str += "<tr>";
	str += "<td>";
	// fill colour end
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>End Fill Colour:</B><BR>";
	str += "</td>";
	str += "<td id=\"eColorCell\" WIDTH=\"20\">&nbsp;";
	str += "</td>";
	str += "<td>";
	str += "<INPUT TYPE=\"TEXT\" ID=\"fillColorEnd\" SIZE=18>";
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><a href=\""+jsDir+"#\" ID=\"fillPickEnd\" onclick=\"pick1(\'fillPickEnd\');return false;\"><B> Pick</B></a></span>";	
	str += "</td>";
	str += "</tr>";

	// display the outline line style
	str += "<tr>";
	str += "<td>";  
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>Outline Style:</B>";
	str += "</td>";
	str += "<td>&nbsp;</td>";
	str += "<td>";
	str += "<B><SELECT ID=\"outlineStyle\" SIZE=1 style=\"width:150\">";
	str += "<OPTION VALUE=\"none\">no outline";
	str += "<OPTION VALUE=\"circle\">solid";
	str += "<OPTION VALUE=\"dash-long\">dash";
	str += "<OPTION VALUE=\"dash-short\">dot";
	str += "<OPTION VALUE=\"dotted\">dotted";
	str += "<OPTION VALUE=\"dashdotted\">dash dotted";
	//str += "<OPTION VALUE=\"railway\">railroad line";
	str += "</SELECT></B>";
	str += "</td>";
	str += "</tr>";

	//display the outline line size
	str += "<tr>";
	str += "<td>";
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>Outline Weight:</B>";
	str += "</td>";
	str += "<td>&nbsp;</td>";
	str += "<td>";
	str += "<B><input type=\'text\' ID=\"outlineSize\" value=\"1\" size=\"4\"></B>";
	str += "</td>";
	str += "</tr>";

	str += "<tr>";
	str += "<td>";
	// line colour			
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><B>Outline Colour:&nbsp</B><BR>";
	str += "</td>";
	str += "<td id=\"oCell\" width=\"15\">&nbsp;";
	str += "</td>";
	str += "<td>";
	str += "<INPUT TYPE=\"TEXT\" ID=\"outlineColor\" SIZE=18>";
	//str += "<INPUT TYPE=\"TEXT\" ID=\"outlineColor\" SIZE=18 onchange=\"color_OnChange(\'outlinePick\');return false;\">";
	str += "<span style='font-size:8.0pt;font-family:Tahoma'><a href=\""+jsDir+"#\" ID=\"outlinePick\" onclick=\"pick1(\'outlinePick\');return false;\"><B> Pick</B></a></span>";
	str += "</td>";
	str += "</tr>";

	str += "<tr>";
	str += "<td>";
	str += "<input type=\"image\" ID=\"Refresh\" src=\"NTGO_images/refresh.gif\" value=\"Refresh\" onclick=splitUniques(); onMouseOver=\"this.src='NTGO_images/refresh-over.gif'\" onMouseOut=\"this.src='NTGO_images/refresh.gif'\" />";//AD June 17, 2005 - applied style
	str += "</td>";
	str += "<td colspan=2>&nbsp;</td>";
	str += "</tr>";
	str += "</table>";

	return str;
}


function csy_setClassRenderBreaksCuesta(rsp) {

	CuestaRenderBreakMin.length = 0;
	CuestaRenderBreakMax.length = 0;
	//AD June 21, 2005, rsp for gs is in format [minValue,maxValue,countValues]
	//CuestaRenderCount = rsp.length;
	CuestaRenderCount = parseFloat(rsp[rsp.length-1]);
	 
	if (CuestaRenderCount>0) {
  		if (CuestaRenderCount < CuestaRenderClasses) 
          		CuestaRenderClasses = CuestaRenderCount;
          
  		//AD June 21, 2005, rsp for gs is in format [minValue,maxValue,countValues]
  		//no need to sort
  		//rsp.sort(numberorder);
  		CuestaRenderMin = parseFloat(rsp[0]);
  		
  		//AD June 21, 2005, rsp for gs is in format [minValue,maxValue,countValues]
  		//CuestaRenderMax = parseFloat(rsp[CuestaRenderCount-1]);
  		CuestaRenderMax = parseFloat(rsp[1]);
  		if (CuestaRenderMin == CuestaRenderMax) CuestaRenderClasses = 1;
  		 
  		
  		CuestaRenderRange = CuestaRenderMax - CuestaRenderMin;
  		CuestaRenderBreakIncrement = CuestaRenderRange / CuestaRenderClasses;
  		CuestaRenderRecordIncrement = Math.round(CuestaRenderCount / CuestaRenderClasses);

  		var msg = "Breaks:\n";
		
  		if (CuestaRenderMethod==0) {
  			// equal interval
  			var u = Math.pow(10,numDecimals);
  			var theIncre = CuestaRenderMin;
  			var theIncre2 = theIncre;
  			if (theIncre!=0) theIncre2 = parseInt(theIncre * u + (5/10)) / u;
  			for (var i=0;i<CuestaRenderClasses;i++) {
  				CuestaRenderBreakMin[i] = theIncre2;
  				theIncre = theIncre + CuestaRenderBreakIncrement;
  				if (theIncre!=0) {
  					theIncre2 = parseInt(theIncre * u + (5/10)) / u;
  				} else {
  					theIncre2 = theIncre;
  				}
  				CuestaRenderBreakMax[i] = theIncre2;
  				msg +=theIncre + "\n";
  			}
  		} else {
  			// quantile
  			var theRecord = 0;
  			
  			for (var i=0;i<CuestaRenderClasses;i++) {
  				CuestaRenderBreakMin[i] = theValues[theRecord];
  				theRecord = theRecord + CuestaRenderRecordIncrement;
  				if (theRecord>=CuestaRenderCount) theRecord = CuestaRenderCount-1;
  				CuestaRenderBreakMax[i] = rsp[theRecord];
  				msg +=rsp[theRecord] + "\n";
  			}
  		}
  		CuestaRenderBreakMax[CuestaRenderClasses-1] = CuestaRenderMax;
  		csy_setBreakColors();
  		csy_setBreakSizesCuesta();
  //		legTitle = CuestaRenderTitle;
  		CuestaRenderBreakLabel.length = 0;
			CuestaRenderBreakLabel[0] = "Less than " + CuestaRenderBreakMax[0];
			for (var i=1;i<CuestaRenderClasses;i++) {
					CuestaRenderBreakLabel[i] = CuestaRenderBreakMin[i] + ' - ' + CuestaRenderBreakMax[i];	
			}
  		rsp=null;
  	}	
}


// ramp out colors
function csy_setBreakColors() {
	CuestaRenderBreakColor.length = 1;
	if (CuestaRenderStartColor==CuestaRenderEndColor) {
		// starting and ending colors are the same
		for (var i=0;i<CuestaRenderClasses;i++) {
			CuestaRenderBreakColor[i] = CuestaRenderStartColor;
		}
	} else {	
		var sColors = CuestaRenderStartColor.split("~");
		var eColors = CuestaRenderEndColor.split("~");
		var sRed = parseInt(sColors[0]);
		var sGreen = parseInt(sColors[1]);
		var sBlue = parseInt(sColors[2]);
		var eRed = parseInt(eColors[0]);
		var eGreen = parseInt(eColors[1]);
		var eBlue = parseInt(eColors[2]);
		var rRange = eRed - sRed;
		var gRange = eGreen - sGreen;
		var bRange = eBlue - sBlue;
		var rIncre = parseInt(rRange / CuestaRenderClasses);
		var gIncre = parseInt(gRange / CuestaRenderClasses);
		var bIncre = parseInt(bRange / CuestaRenderClasses);
		var theRed = sRed + rIncre;
		var theGreen = sGreen + gIncre;
		var theBlue = sBlue + bIncre;
		CuestaRenderBreakColor[0] = CuestaRenderStartColor.replace(/~/g,",");	
		CuestaRenderBreakColor[CuestaRenderClasses-1] = CuestaRenderEndColor.replace(/~/g,",");
		for (var i=1;i<(CuestaRenderClasses-1);i++) {
			CuestaRenderBreakColor[i] = theRed + "," + theGreen + "," + theBlue;
			theRed = theRed + rIncre;
			theGreen = theGreen + gIncre;
			theBlue = theBlue + bIncre;
		}
		sColors=null;
		eColors=null;		
	}
}

// ramp out sizes
function csy_setBreakSizesCuesta() {
	CuestaRenderBreakSize.length = 1;
	if (CuestaRenderShape == "polygon")
	{
	       CuestaRenderStartSize = CuestaRenderMin;
	       CuestaRenderEndSize = CuestaRenderMax;
	}

	if (CuestaRenderStartSize==CuestaRenderEndSize) {
		// starting and ending sizes are the same
		for (var i=0;i<CuestaRenderClasses;i++) {
			CuestaRenderBreakSize[i] = CuestaRenderStartSize;
		}
	} else {
		CuestaRenderBreakSize[0] = parseInt(CuestaRenderStartSize);
		CuestaRenderBreakSize[CuestaRenderClasses-1] = parseInt(CuestaRenderEndSize);
		var sRange = parseInt(CuestaRenderEndSize) - parseInt(CuestaRenderStartSize) + 1;
		var sIncre = parseFloat(sRange / CuestaRenderClasses);
		var theSize = parseFloat(CuestaRenderStartSize) + parseFloat(sIncre);
		for (var i=1;i<(CuestaRenderClasses-1);i++) {
			CuestaRenderBreakSize[i] = parseFloat(theSize); 
			theSize = parseFloat(theSize) + parseFloat(sIncre); 
			if ((CuestaRenderBreakSize[i] - parseInt(CuestaRenderBreakSize[i])) >= 0.5)
			{	CuestaRenderBreakSize[i] = parseInt(CuestaRenderBreakSize[i]) +1; }
			else
			{ 	CuestaRenderBreakSize[i] = parseInt(CuestaRenderBreakSize[i]); }
		}
	}
}



// function used for unique symbols customization
 
function setupUniqueCuesta(theField)
{

	CuestaRenderLayerField = theField;

	CuestaRenderUnique.length=0;
	CuestaRenderBreakColor.length=0;
     var layerIdx = -1;
   for (var i=0;i<t.LayerID.length;i++) {
  	if (t.LayerID[i] == t.ActiveLayerID) {layerIdx = i; i = t.LayerID.length;}
   }
  var connList=csy_ConnDriverList();
  var connTable = t.LayerConnectionTable[layerIdx];
 //SP Jun 2007
  if (t.LayerID[layerIdx].toUpperCase() == RefLayerName.toUpperCase() && refSourceData!="")
  {	 connTable= "(" + refSourceData + ")";  }
   if (t.LayerID[layerIdx].toUpperCase() == GmetaLayerName.toUpperCase() && GmetaSourceData!="")
  {	 connTable="(" + GmetaSourceData + ")";	}
  if (t.LayerID[layerIdx].toUpperCase() == ShowingLayerName.toUpperCase() && ShowingSourceData!="")
  {	 connTable="(" + ShowingSourceData + ")";}
  
  
  strSqlList = "SELECT distinct " + theField + " FROM " + connTable + "  ORDER BY " + theField;
//where  " + theField + " is not null
  if(connList!=""){
	  rsp = GetDataForList (strSqlList,connList) ;
	  if( rsp=="") 
	     {   dataErr=true;}	     
	  else
	    {
		    rspArr = rsp.split("~");
		
		    csy_processClassRender(rspArr, "us");
	    
	    }
   }
   else
   { alert("Not enough connection Information to extract data!");}
}

function csy_processClassRender(rsp, mode) {
	if (mode == "gs") {

		csy_setClassRenderBreaksCuesta(rsp);
	}
	if (mode == "us") {

		//  check  if MAX RECORDS is reached
		if (rsp.length>150)
		{
	 
			//var maxLimit = rsp[rsp.length-1].substring(12,rsp[rsp.length-1].length);
			 
			customizeLayerWin.myAlert("Too many unique values, only 150 records will be displayed on the map!");

			rsp = rsp.splice(0,150) //SP Feb 2007
		}


		csy_calcFieldUnique(rsp);
	}
}


function  setupRangesCuesta(theField, numClasses, methodIndex)
{
	CuestaRenderLayerField = theField;
	CuestaRenderBreakMin.length=1;
	CuestaRenderBreakMax.length=1;
	CuestaRenderBreakColor.length=1;
	CuestaRenderBreakSize.length=1;

	if (numClasses>0)
	{
	   CuestaRenderMethod = methodIndex;
	   CuestaRenderClasses = numClasses;
  	}
  var layerIdx = -1;
  for (var i=0;i<t.LayerID.length;i++) {
	if (t.LayerID[i] == t.ActiveLayerID) {layerIdx = i; i = t.LayerID.length;}
  }
  var connList=csy_ConnDriverList();
  var connTable = t.LayerConnectionTable[layerIdx];
 //SP Jun 2007
  if (t.LayerID[layerIdx].toUpperCase() == RefLayerName.toUpperCase() && refSourceData!="")
  {	 connTable= "(" + refSourceData + ")";  }
   if (t.LayerID[layerIdx].toUpperCase() == GmetaLayerName.toUpperCase()  && GmetaSourceData!="")
  {	 connTable="(" + GmetaSourceData + ")";	}
  if (t.LayerID[layerIdx].toUpperCase() == ShowingLayerName.toUpperCase()  && ShowingSourceData!="")
  {	 connTable="(" + ShowingSourceData + ")";}
 //SP Jun 2007
  
  var sql1 = "SELECT min(" + theField + ") FROM " + connTable + " where (" + theField + " is not null)";

  var sql2 = "SELECT max(" + theField + ") FROM " + connTable + " where (" + theField + " is not null)";

  var sql3 = "SELECT count(" + theField + ") FROM " + connTable + " where (" + theField + " is not null)";
  rspArr = new Array();

  if(connList!="")
  {
	var rsp1 = GetDataForList(sql1,connList,"min") ;
	var rsp2 = GetDataForList(sql2,connList,"max") ;
	var rsp3 = GetDataForList(sql3,connList,"count") ;

	if( rsp1=="" || rsp2=="" || rsp3=="")
	{
		dataErr=true;
	}
	else
	{
		rspArr[0] = rsp1;
		rspArr[1] = rsp2;
		rspArr[2] = rsp3;
	if(rsp3=="1")
	{
	  	CuestaRenderClasses=1;
	  	CuestaRenderBreakColor.length=1
		return;
	}


		csy_processClassRender(rspArr, "gs");
	}
   }
   else
   { alert("Not enough connection Information to extract data!");}
}



function csy_ConnDriverList()
{
var layerIdx = -1;
  for (var i=0;i<t.LayerID.length;i++) {
	if (t.LayerID[i] == t.ActiveLayerID) {layerIdx = i; i = t.LayerID.length;}
  }
  var connType = t.getXMLValue("config/connections.xml","type", t.LayerConnectionName[layerIdx]);
  var connUser = t.getXMLValue("config/connections.xml","user", t.LayerConnectionName[layerIdx]);
  var connPassword = t.getXMLValue("config/connections.xml","password", t.LayerConnectionName[layerIdx]);
  var connDriver = t.getXMLValue("config/connections.xml","driver", t.LayerConnectionName[layerIdx]);
  
 
  
  var connReturn= connType + "~" + connUser + "~" + connPassword + "~" + connDriver;
  
  return connReturn;
  
}

function setupUniqueCuesta_old(theField) 
{//check vss 
}


function csy_calcFieldUnique(rsp) {
	inCount = rsp.length;
	if (inCount>0)
	{
		 
		CuestaRenderUnique = rsp;		
		CuestaRenderBreakLabel = rsp;
		
		CuestaRenderClasses = CuestaRenderUnique.length;
		if (CuestaRenderClasses > 0)
			csy_setBreakColors();
	}
	rsp=null;
}


function removeDuplicates(theArray){
	var unduped = new Array();
	for (var i=0;i<theArray.length;i++) {
		unduped[theArray[i]] = theArray[i];
	}
	
	var uniques = new Array();
	var count =0
	//uniques.length = unduped.length;//AD Sept 9, 2005 - removed line, incorrect array length returned.
	for (var k in unduped){
		//alert(unduped[k]);
		uniques[count]=unduped[k];
		count++;
	}
	//alert("uniques:"+uniques.length);
	return uniques;
}



/* ***********************************************************************
** This function fills in the arrays for default customization
*/
function csy_getDefaultCustomization(rendString)
{ //this function loads the default customization when the app is loaded
	for (var i=0; i<rendString.length; i++)
	{
		var tmp = rendString[i].split('*');		
		for (var j=0; j<LayerID.length; j++)
		{	
			if (tmp[0] == LayerID[j])
			{
				if (tmp[1] == "NONE")
				{//not feature layer; cannot be customized
					KTCustomType[j] = "Null";
					KTDefaultType[j] = "Null";
					KTDefaultLayerString[j] = "Null";
					KTDefaultLabelString[j] = "NOLABELS";
					KTCustomLayerString[j] = "Null";
					KTCustomLabelString[j] = "NOLABELS";					
				}
				else
				{
					KTCustomType[j] = tmp[1];
					KTDefaultType[j] = tmp[1];
					if (tmp[2] == 1)
					{//one class					
						
						if (tmp[3].toString().toLowerCase() == "composite")
						{
								KTType[j] = "composite";
								KTTypeDef[j] = "composite";
								KTDefaultLayerString[j] = "";
								KTCustomLayerString[j] = "";
								KTDefaultLabelString[j] = "NOLABELS";								
								KTCustomLabelString[j] = "NOLABELS";								
						}
						else
						{
								var symtmp = tmp[3].split("|");
								KTType[j] = "simple";
								KTTypeDef[j] = "simple";
								if (LayerType[j] == "point" || LayerType[j]=="line")
								{
									KTDefaultLayerString[j] = symtmp[0] + "|" + symtmp[1] +"|" +symtmp[2];
									
									KTDefaultLabelString[j] = tmp[4];
									KTCustomLayerString[j] = symtmp[0] + "|" + symtmp[1] +"|" +symtmp[2];
									 
									KTCustomLabelString[j] = tmp[4];
									
								}
								else
								{//poly								
									
									KTDefaultLayerString[j] = symtmp[0] + "|" + symtmp[1] +"|" +symtmp[2] +"|" +symtmp[3]+"|" +symtmp[4]+"|" +symtmp[5];
									 
									KTDefaultLabelString[j] = tmp[4];
									KTCustomLayerString[j] = KTDefaultLayerString[j];
									 
									KTCustomLabelString[j] = tmp[4];
								}
						}//else from composite
					}//one class
					else
					{//multiple classes
								
								if (tmp[4] == "composite") {//composite
									KTType[j] = "composite";
									KTTypeDef[j] = "composite";
									KTDefaultLayerString[j] = "";
									KTCustomLayerString[j] = "";
									KTDefaultLabelString[j] = "NOLABELS";	
									KTCustomLabelString[j] = "NOLABELS";	
									} 
								else
								{
									//var labtmp = tmp[5].split("|");
									KTType[j] = "composite";
									KTTypeDef[j] = "composite";
									KTDefaultLayerString[j] = "";
									KTCustomLayerString[j] = "";
									KTDefaultLabelString[j] = tmp[5];
									KTCustomLabelString[j] = tmp[5];			
								}
								
					}
				}//if layer is a feature layer
			}//end if layerid is found
		}//for layer list
	}//for each in rendString
}
//************************************************************************
// ** functions for converting colors from DEC to HEX

var HexCharacters="0123456789ABCDEF";
function HexValue(decimal)
{
    return HexCharacters.charAt((decimal>>4)&0xf)+HexCharacters.charAt(decimal&0xf);
}
function toHex(str)
{

	var res = "#";
	var arr = str.split("~");

	for (var i=0;i<arr.length;i++)
	{
	    res += HexValue(arr[i]);
	}
	return res;
}

/****************************************************************************
** This function used to populate all option fields in an OPTION SELECT object
** Parameters: constraintType="ALL": for all SPATIAL fields only,
** 		or constraintType="NUMERIC_ONLY": for numeric fields only.
*/
function csy_setAllFieldsOptionsStr(constraintType)
{//AD May 2007, added constraintType="ALL_VISIBLE" and "NUMERIC_VISIBLE"
	var res = "";
	//get layer index in LayerName array
	var layerIdx = -1;
	for (var i=0;i< LayerID.length;i++) {
		if (LayerID[i] == ActiveLayerID) {
			layerIdx = i; 
			i=LayerID.length;
		}
	}
	//create Layer field pulldownlist
	if (layerIdx>-1) 
	{
		//get all field list
		var fieldList = LayerFieldList[layerIdx];
		if (fieldList.toLowerCase() == "#all#") {//AD Aug 2, 2005 - added check on toLowerCase()
			fieldList = csy_getallFields(layerIdx);
		}

		if (fieldList != "") {
		var item = fieldList.split(",");
//alert(t.LayerFieldVisibleList+"\n"+item);
		
		  for (var i=0;i<item.length;i++) {
			//item[i] = item[i];//AD Aout 2, 2005 - line not needed!
			var itemAlias = csy_getfieldAliasName(layerIdx,item[i]);
			var isFloat = csy_isFloat(layerIdx,item[i]); //SP Apr 2006
			var fieldType = csy_getfieldType(layerIdx,item[i]);		  
			if (constraintType == "NUMERIC_ONLY")
			{
				if (fieldType == "N" || fieldType == "F") 
				{				
					res += "<option value='" + item[i] + "'>" + itemAlias;
				}
			}
			//AD June 2007
			else if (constraintType == "NUMERIC_VISIBLE")
			{
				if (csy_getfieldVisible(layerIdx,item[i])=="1" && (fieldType == "N" || fieldType == "F")) 
				{				
					res += "<option value='" + item[i] + "'>" + itemAlias;
				}
			}
			else if (constraintType == "ALL_VISIBLE")
			{
				if (csy_getfieldVisible(layerIdx,item[i])=="1") 
				{				
					res += "<option value='" + item[i] + "'>" + itemAlias;
				}				
			}
			//
			else
			{//ALL by default
				if (!isFloat ) res += "<option value='" + item[i] + "'>" + itemAlias;				
			}
		  }//for
		} //end fieldList
		
	}//end layerIdx
	
	return res;
}
function GetDataForList(strSQL,strConnection,Aggreg)
{

	var strReturn="";
	var oXMLHTTP = null;
	if(window.ActiveXObject) oXMLHTTP = new ActiveXObject( "Microsoft.XMLHTTP" );
	if(window.XMLHttpRequest) oXMLHTTP = new XMLHttpRequest();
	var sURL =  t.cuestaJspURL+"getSearchField_customize.jsp" ;

	oXMLHTTP.open( "POST", sURL, false );
	oXMLHTTP.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

	oXMLHTTP.send("sqlScript="+strSQL+"&connection="+strConnection);

	strReturn = oXMLHTTP.responseText;
	strReturn=t.Trim(strReturn)
//alert(strSQL)
	if(arguments.length==2)	
	{
		if(strReturn.length > 0)
		{	//strReturn = "~" + strReturn.replace(/&nbsp/g," ");
			strReturn = strReturn.replace(/&nbsp/g," ");
		}
		else
			strReturn = "";		
	}
//alert(strReturn	)
	oXMLHTTP = null;
	arrReturn= new Array();
	if( strReturn.substring(0,5).toUpperCase()=="ERROR") strReturn="";	
	return strReturn
}
