aimsClassRenderPresent=true;
var ClassRenderStartColor = new Array();
var ClassRenderEndColor = new Array();
var ClassRenderStartSize = new Array();
var ClassRenderEndSize = new Array();
var useBoundary = true;
var ClassRenderOutlineColor = new Array();
var ClassRenderStringPrefix = new Array();
var ClassRenderStringSuffix = new Array();
var ClassRenderStyle = new Array();
var disees = null;
var ClassRenderTitle = "";
var OnlyValues = false;
var ClassRenderLayerIndex = 1;
var ClassRenderLayerName = ClassRenderLayer[ClassRenderLayerIndex];
var ClassRenderLayerField = "";
var ClassRenderClasses = 0;
var ClassRenderMethod = 0;
var ClassRenderShape = "point";
var ClassRenderRange = 0;
var ClassRenderBreakIncrement = 0;
var ClassRenderRecordIncrement = 0;
var ClassRenderBreakMin = new Array();
var ClassRenderBreakMax = new Array();
var ClassRenderBreakColor = new Array();
var ClassRenderBreakSize = new Array();
var ClassRenderMin=0;
var ClassRenderMax=9999999999;
var ClassRenderCount=1;
var ClassRenderSum=0;
var theValues = new Array();

function addSpecialClassificationToMap(i) {
var renderString = "";
//alert("-----ClassRenderString------"+ClassRenderString);
if (ClassRenderLayer.length>0) {
var j=-1;
for (var k=0;k<ClassRenderLayer.length;k++) {
if (ClassRenderLayer[k]==LayerName[i]) j=k;
}
if (j!=-1) {
if (ClassRenderString[j]!="") {
renderString +=  "" + ClassRenderString[j] + '\n';//</LAYERDEF>\n';
////</LAYERDEF>\n';
} else {
renderString += '';
}
} else {
renderString += '';
}
} else {
renderString += '';
}
return renderString;
}


function classifyLayer() {
if (ClassRenderLayer.length>0) {
ClassRenderShape = LayerType[ActiveLayerIndex];
var j = -1;
for (var i=0;i<LayerName.length;i++) {
if (ClassRenderLayer[ClassRenderLayerIndex] == LayerName[i]) j = i;
}
if (j>-1) {
setLayerFields(j);
fieldIndex=0;
selectCount=0;
showBuffer=false;
ActiveLayer=LayerID[j];
ActiveLayerType=LayerType[j];
ClassRenderShape = ActiveLayerType;
ActiveLayerIndex=j;
} else {

}
} else {

}
}
function clearAllClasses() {
clearClassesAll()
}
function clearClassesAll() {
for (var i=0;i<ClassRenderLayer.length;i++) {
clearClasses(i);
legTitle = defaultLegTitle;
}
}
function clearClasses(theIndex) {

ClassRenderString[theIndex] = "";
}

function setupClasses(theField, numClasses, methodIndex,layerIndex,filltype,Region) {

ClassRenderLayerName = LayerName[layerIndex];
ClassRenderShape = LayerType[layerIndex];
ClassRenderStyle[ClassRenderLayerIndex] = filltype;
ClassRenderLayerIndex = layerIndex;
clearClassesAll();
ClassRenderLayerField = theField;
ClassRenderMethod = methodIndex;
ClassRenderClasses = numClasses;
ClassRenderBreakMin = new Array();
ClassRenderBreakMin.length=1;
ClassRenderBreakMax = new Array();
ClassRenderBreakMax.length=1;
ClassRenderBreakColor = new Array();
ClassRenderBreakColor.length=1;
ClassRenderBreakSize = new Array();
ClassRenderBreakSize.length=1;
for (var m=0;m<ClassRenderLayer.length;m++) {

//for (var n=0;n<layerCount;n++) {
//if (ClassRenderLayer[m]==LayerName[n]) LayerVisible[n]=0;
//}

}
ClassRenderLayerIndex =  layerIndex;
var theLayer = LayerName[ClassRenderLayerIndex];
var j=-1;

for (var k=0;k<LayerName.length;k++) {
if (LayerName[k]==theLayer) j=k;
}
var shapeType = LayerType[j];
var theLayerID = LayerID[j]

//LayerVisible[j]=1;

if (numClasses>0) {
showRetrieveData();
var theString = "";

if (Region){
theString = writeGetAllRegionValues(theLayerID, shapeType, theField);
sendGetRegionValuesRequest(theString, 2001);
}
else{

theString = writeGetAllValues(theLayerID, shapeType, theField);
//alert(theString);   //newalert
sendGetValuesRequest(theString, 2001);
}

} else {
clearAllClasses();
}
}

function setupClassesGOV(theField, numClasses, methodIndex,layerIndex,filltype,Region) {

ClassRenderLayerName = LayerName[layerIndex];
ClassRenderShape = LayerType[layerIndex];
ClassRenderStyle[ClassRenderLayerIndex] = filltype;
ClassRenderLayerIndex = layerIndex;
clearClassesAll();
ClassRenderLayerField = theField;
ClassRenderMethod = methodIndex;
ClassRenderClasses = numClasses;
ClassRenderBreakMin = new Array();
ClassRenderBreakMin.length=1;
ClassRenderBreakMax = new Array();
ClassRenderBreakMax.length=1;
ClassRenderBreakColor = new Array();
ClassRenderBreakColor.length=1;
ClassRenderBreakSize = new Array();
ClassRenderBreakSize.length=1;
for (var m=0;m<ClassRenderLayer.length;m++) {

//for (var n=0;n<layerCount;n++) {
//if (ClassRenderLayer[m]==LayerName[n]) LayerVisible[n]=0;
//}


}
ClassRenderLayerIndex =  layerIndex;
var theLayer = LayerName[ClassRenderLayerIndex];
var j=-1;
for (var k=0;k<LayerName.length;k++) {
if (LayerName[k]==theLayer) j=k;
}
var shapeType = LayerType[j];
var theLayerID = LayerID[j]

//LayerVisible[j]=1;

if (numClasses>0) {
showRetrieveData();
var theString = "";


theString = writeGetAllValuesGOV(theLayerID, shapeType, theField);
//alert(theString);   //newalert
sendGetValuesRequestGOV(theString, 2001);


} else {
clearAllClasses();
}
}




function writeGetAllValuesGOV(theLayerID, shapeType, theField) {

//alert("writeGetAllValuesGOV");
var theString = "";

theString = '<ARCXML VERSION="1.1">\n';
theString += '<REQUEST>\n';
theString += '	<GET_FEATURES outputmode="xml" geometry="false" envelope="false" compact="true">\n';
theString += '		<LAYER id="' + theLayerID + '" />\n';
//theString += '<QUERY subfields="'+ theField +'" where="#ID# > -1 " jointables="'+parent.ParametersFrame.JoinTables[parent.ParametersFrame.JoGovLayerIndex]+'" joinexpression="To=['+parent.ParametersFrame.JoinSHPTable[parent.ParametersFrame.JoGovLayerIndex]+'.IC_CODE],From=['+parent.ParametersFrame.JoinTables[parent.ParametersFrame.HDirLayerIndex]+'.GOV_ID],Type=[scan]"/>\n';//habash
theString += '<QUERY subfields="'+ theField +'" where="'+parent.ParametersFrame.JoinSHPTable[parent.ParametersFrame.JoGovLayerIndex]+'.IC_CODE='+parent.ParametersFrame.JoinTables[parent.ParametersFrame.JoGovLayerIndex]+'.GOV_ID" jointables="'+parent.ParametersFrame.JoinTables[parent.ParametersFrame.JoGovLayerIndex]+'" />\n';//habash
theString += '	</GET_FEATURES>\n';
theString += '</REQUEST>\n';
theString += '</ARCXML>\n';
return theString;
}

function writeGetAllValues(theLayerID, shapeType, theField) {

//alert("writeGetAllValues");
var theString = "";

theString = '<ARCXML VERSION="1.1">\n';
theString += '<REQUEST>\n';
theString += '	<GET_FEATURES outputmode="xml" geometry="false" envelope="false" compact="true">\n';
theString += '		<LAYER id="' + theLayerID + '" />\n';
//theString += '<QUERY subfields="'+ theField +'" where="#ID# > -1 " jointables="'+parent.ParametersFrame.JoinTables[parent.ParametersFrame.HDirLayerIndex]+'" joinexpression="To=['+parent.ParametersFrame.JoinSHPTable[parent.ParametersFrame.HDirLayerIndex]+'.HEALTHDIR],From=['+parent.ParametersFrame.JoinTables[parent.ParametersFrame.HDirLayerIndex]+'.HEALTHDIR],Type=[scan]"/>\n';//habash
theString += '<QUERY subfields="'+ theField +'" where="'+parent.ParametersFrame.JoinSHPTable[parent.ParametersFrame.HDirLayerIndex]+'.HEALTHDIR='+parent.ParametersFrame.JoinTables[parent.ParametersFrame.HDirLayerIndex]+'.HEALTHDIR" jointables="'+parent.ParametersFrame.JoinTables[parent.ParametersFrame.HDirLayerIndex]+'" />\n';//habash
theString += '	</GET_FEATURES>\n';
theString += '</REQUEST>\n';
theString += '</ARCXML>\n';
return theString;
}
function writeGetAllRegionValues(theLayerID, shapeType, theField) {
var theString = "";
theString = '<ARCXML VERSION="1.1">\n';
theString += '<REQUEST>\n';
theString += '	<GET_FEATURES outputmode="xml" geometry="false" envelope="false" compact="true">\n';
theString += '		<LAYER id="' + theLayerID + '" />\n';
theString += '<QUERY subfields="'+ theField +'" where="#ID# > -1" jointables="'+parent.ParametersFrame.JoinTables[parent.ParametersFrame.RegionLayerIndex]+'" joinexpression="To=['+parent.ParametersFrame.JoinSHPTable[parent.ParametersFrame.RegionLayerIndex]+'.CODE],From=['+parent.ParametersFrame.JoinTables[parent.ParametersFrame.RegionLayerIndex]+'.CODE],Type=[scan]"/>\n';
//theString += '<QUERY subfields="'+ theField +'" where="'+parent.ParametersFrame.JoinSHPTable[parent.ParametersFrame.RegionLayerIndex]+'.CODE = '+parent.ParametersFrame.JoinTables[parent.ParametersFrame.RegionLayerIndex]+'.CODE" jointables="'+parent.ParametersFrame.JoinTables[parent.ParametersFrame.RegionLayerIndex]+'" />\n';
theString += '	</GET_FEATURES>\n';
theString += '</REQUEST>\n';
theString += '</ARCXML>\n';
return theString;
}
function sendGetValuesRequest(XMLRequest, theType) {
var theFunction = "parent.MapFrame.processClassRenderXML";
sendCustomToServer(XMLRequest,theFunction, theType)
}

function sendGetValuesRequestGOV(XMLRequest, theType) {
var theFunction = "parent.MapFrame.processClassRenderXMLGOV";
sendCustomToServer(XMLRequest,theFunction, theType)
}


function sendGetRegionValuesRequest(XMLRequest, theType) {
var theFunction = "parent.MapFrame.processRegionClassRenderXML";
sendCustomToServer(XMLRequest,theFunction, theType)
}

function processClassRenderXML(theReplyIn) {

theReplyIn = replacePlus(theReplyIn);
var theReply = unescape(theReplyIn);
okToSend = true;
if (debugOn>2) alert(msgList[13] + theReply);
getValues(theReply);
setClassRenderBreaks();
}

function processClassRenderXMLGOV(theReplyIn) {

theReplyIn = replacePlus(theReplyIn);
var theReply = unescape(theReplyIn);
okToSend = true;
if (debugOn>2) alert(msgList[13] + theReply);
getValuesGOV(theReply);
setClassRenderBreaksGOV();
}


function processRegionClassRenderXML(theReplyIn) {

theReplyIn = replacePlus(theReplyIn);
var theReply = unescape(theReplyIn);
okToSend = true;
if (debugOn>2) alert(msgList[13] + theReply);
getValues(theReply);
setRegionClassRenderBreaks();
}

function getValues(theReply)
{

ClassRenderCount = justGetFeatureCount(theReply);
theValues = getAllFieldValues(theReply,ClassRenderLayerField,ClassRenderCount);

}


function getValuesGOV(theReply)
{

ClassRenderCount = justGetFeatureCount(theReply);
theValues = getAllFieldValues(theReply,ClassRenderLayerField,ClassRenderCount);

}


function setClassRenderBreaks() {
if (ClassRenderCount>0) {
if (ClassRenderCount<ClassRenderClasses) ClassRenderClasses = ClassRenderCount;
theValues.sort(numberorder);
ClassRenderMin = theValues[0];
ClassRenderMax = theValues[ClassRenderCount-1];
ClassRenderRange = ClassRenderMax - ClassRenderMin;
ClassRenderBreakIncrement = ClassRenderRange / ClassRenderClasses;
ClassRenderRecordIncrement = Math.round(ClassRenderCount / ClassRenderClasses);
var msg = "";
if (ClassRenderMethod==0) { // equal interval
var u = Math.pow(10,numDecimals);
var theIncre = ClassRenderMin;
var theIncre2 = theIncre;
if (theIncre!=0) theIncre2 = parseInt(theIncre * u + (5/10)) / u;
for (var i=0;i<ClassRenderClasses;i++) {
ClassRenderBreakMin[i] = theIncre2;
theIncre = theIncre + ClassRenderBreakIncrement;
if (theIncre!=0) {
theIncre2 = parseInt(theIncre * u + (5/10)) / u;
} else {
theIncre2 = theIncre;
}
ClassRenderBreakMax[i] = theIncre2;
msg +=theIncre + "\n";
}
} else {
var theRecord = 0;
for (var i=0;i<ClassRenderClasses;i++) {
ClassRenderBreakMin[i] = theValues[theRecord];
theRecord = theRecord + ClassRenderRecordIncrement;
if (theRecord>=ClassRenderCount) theRecord = ClassRenderCount-1;
ClassRenderBreakMax[i] = theValues[theRecord];
msg +=theValues[theRecord] + "\n";
}
}
ClassRenderBreakMax[ClassRenderClasses-1] = ClassRenderMax+1;
setBreakColors();
setBreakSizes();
setLayerRendrerString();
legTitle = ClassRenderTitle;
}
hideRetrieveData();
if (aimsLayersPresent) {
if ((hasTOC) && (!legendVisible)) parent.TOCFrame.document.location = appDir + "toc.htm";

}
if (!OnlyValues){
Diseases(parent.ParametersFrame.HDirLayerIndex,ClassRenderLayerField);	//sendMapXML();

}
else
{
disees.colors();
}
}


function setClassRenderBreaksGOV() {
if (ClassRenderCount>0) {
if (ClassRenderCount<ClassRenderClasses) ClassRenderClasses = ClassRenderCount;
theValues.sort(numberorder);
ClassRenderMin = theValues[0];
ClassRenderMax = theValues[ClassRenderCount-1];
ClassRenderRange = ClassRenderMax - ClassRenderMin;
ClassRenderBreakIncrement = ClassRenderRange / ClassRenderClasses;
ClassRenderRecordIncrement = Math.round(ClassRenderCount / ClassRenderClasses);
var msg = "";
if (ClassRenderMethod==0) { // equal interval
var u = Math.pow(10,numDecimals);
var theIncre = ClassRenderMin;
var theIncre2 = theIncre;
if (theIncre!=0) theIncre2 = parseInt(theIncre * u + (5/10)) / u;
for (var i=0;i<ClassRenderClasses;i++) {
ClassRenderBreakMin[i] = theIncre2;
theIncre = theIncre + ClassRenderBreakIncrement;
if (theIncre!=0) {
theIncre2 = parseInt(theIncre * u + (5/10)) / u;
} else {
theIncre2 = theIncre;
}
ClassRenderBreakMax[i] = theIncre2;
msg +=theIncre + "\n";
}
} else {
var theRecord = 0;
for (var i=0;i<ClassRenderClasses;i++) {
ClassRenderBreakMin[i] = theValues[theRecord];
theRecord = theRecord + ClassRenderRecordIncrement;
if (theRecord>=ClassRenderCount) theRecord = ClassRenderCount-1;
ClassRenderBreakMax[i] = theValues[theRecord];
msg +=theValues[theRecord] + "\n";
}
}
ClassRenderBreakMax[ClassRenderClasses-1] = ClassRenderMax+1;
setBreakColors();
setBreakSizes();
setLayerRendrerStringGOV();
legTitle = ClassRenderTitle;
}
hideRetrieveData();
if (aimsLayersPresent) {
if ((hasTOC) && (!legendVisible)) parent.TOCFrame.document.location = appDir + "toc.htm";

}
if (!OnlyValues){
//////////////////Diseases(parent.ParametersFrame.HDirLayerIndex,ClassRenderLayerField);	//sendMapXML();
DiseasesGOV(parent.ParametersFrame.JoGovLayerIndex,ClassRenderLayerField);
}
else
{
disees.colors();
}
}


function setRegionClassRenderBreaks() {
if (ClassRenderCount>0) {
if (ClassRenderCount<ClassRenderClasses) ClassRenderClasses = ClassRenderCount;
theValues.sort(numberorder);
ClassRenderMin = theValues[0];
ClassRenderMax = theValues[ClassRenderCount-1];
ClassRenderRange = ClassRenderMax - ClassRenderMin;
ClassRenderBreakIncrement = ClassRenderRange / ClassRenderClasses;
ClassRenderRecordIncrement = Math.round(ClassRenderCount / ClassRenderClasses);
var msg = "";
if (ClassRenderMethod==0) { // equal interval

var u = Math.pow(10,numDecimals);
var theIncre = ClassRenderMin;
var theIncre2 = theIncre;
if (theIncre!=0) theIncre2 = parseInt(theIncre * u + (5/10)) / u;
for (var i=0;i<ClassRenderClasses;i++) {
ClassRenderBreakMin[i] = theIncre2;
theIncre = theIncre + ClassRenderBreakIncrement;
if (theIncre!=0) {
theIncre2 = parseInt(theIncre * u + (5/10)) / u;
} else {
theIncre2 = theIncre;
}
ClassRenderBreakMax[i] = theIncre2;
msg +=theIncre + "\n";
}
} else {
var theRecord = 0;
for (var i=0;i<ClassRenderClasses;i++) {
ClassRenderBreakMin[i] = theValues[theRecord];
theRecord = theRecord + ClassRenderRecordIncrement;
if (theRecord>=ClassRenderCount) theRecord = ClassRenderCount-1;
ClassRenderBreakMax[i] = theValues[theRecord];
msg +=theValues[theRecord] + "\n";
}
}
ClassRenderBreakMax[ClassRenderClasses-1] = ClassRenderMax+1;
setBreakColors();
setBreakSizes();
setRegionLayerRendrerString();

legTitle = ClassRenderTitle;
//theValues=null;
}
hideRetrieveData();
if (aimsLayersPresent) {
if ((hasTOC) && (!legendVisible)) parent.TOCFrame.document.location = appDir + "toc.htm";

}
if (!OnlyValues){


JPFHS(parent.ParametersFrame.RegionLayerIndex,ClassRenderLayerField);	//sendMapXML();
}
else
{
disees.colors();
}
}


function setRegionClassRenderBreaks2(theField, numClasses, methodIndex,layerIndex,filltype) {
clearClassesAll();
ClassRenderLayerIndex = layerIndex;
ClassRenderLayerName = LayerName[layerIndex];
ClassRenderShape = LayerType[layerIndex];
ClassRenderStyle[ClassRenderLayerIndex] = filltype;
ClassRenderLayerIndex = layerIndex;
ClassRenderLayerField = theField;
ClassRenderMethod = methodIndex;
ClassRenderClasses = numClasses;
ClassRenderBreakMin = new Array();
ClassRenderBreakMin.length=1;
ClassRenderBreakMax = new Array();
ClassRenderBreakMax.length=1;
ClassRenderBreakColor = new Array();
ClassRenderBreakColor.length=1;
ClassRenderBreakSize = new Array();
ClassRenderBreakSize.length=1;
for (var m=0;m<ClassRenderLayer.length;m++) {
for (var n=0;n<layerCount;n++) {
if (ClassRenderLayer[m]==LayerName[n]) LayerVisible[n]=0;
}
}
ClassRenderLayerIndex =  layerIndex;
var theLayer = LayerName[ClassRenderLayerIndex];
var j=-1;
for (var k=0;k<LayerName.length;k++) {
if (LayerName[k]==theLayer) j=k;
}

var shapeType = LayerType[j];
var theLayerID = LayerID[j]
LayerVisible[j]=1;
theString = writeGetAllRegionValues(theLayerID, shapeType, theField);
sendGetRegionValuesRequest(theString, 2001);
}

function setLayerRendrerString()
{
ClassRenderString[ClassRenderLayerIndex] = ClassRenderStringPrefix[ClassRenderLayerIndex] + setRenderString() + ClassRenderStringSuffix[ClassRenderLayerIndex];
}

function setLayerRendrerStringGOV()
{
ClassRenderString[ClassRenderLayerIndex] = ClassRenderStringPrefix[ClassRenderLayerIndex] + setRenderStringGOV() + ClassRenderStringSuffix[ClassRenderLayerIndex];
}

function setRegionLayerRendrerString()
{
ClassRenderString[ClassRenderLayerIndex] = ClassRenderStringPrefix[ClassRenderLayerIndex] + setRegionRenderString() + ClassRenderStringSuffix[ClassRenderLayerIndex];
}


function setRenderString() {	//set render string for health directorate layer

//var rendString = '<QUERY subfields="#ALL#" where="#ID# > -1" jointables="'+parent.ParametersFrame.JoinTables[parent.ParametersFrame.HDirLayerIndex]+'" joinexpression="To=['+parent.ParametersFrame.JoinSHPTable[parent.ParametersFrame.HDirLayerIndex]+'.HEALTHDIR],From=['+parent.ParametersFrame.JoinTables[parent.ParametersFrame.HDirLayerIndex]+'.HEALTHDIR],Type=[scan]"/>\n';
var rendString = '<QUERY subfields="#ALL#" where="#ID# > -1 and '+parent.ParametersFrame.JoinSHPTable[parent.ParametersFrame.HDirLayerIndex]+'.HEALTHDIR='+parent.ParametersFrame.JoinTables[parent.ParametersFrame.HDirLayerIndex]+'.HEALTHDIR" jointables="'+parent.ParametersFrame.JoinTables[parent.ParametersFrame.HDirLayerIndex]+'" />\n';

rendString += '<VALUEMAPRENDERER lookupfield="'+ ClassRenderLayerField + '">\n';
for (var z=0;z<ClassRenderClasses;z++) {
rendString += '<RANGE lower="' + ClassRenderBreakMin[z] + '" upper="' + ClassRenderBreakMax[z] + '">\n';
if (ClassRenderShape=="point") {
rendString += '<SIMPLEMARKERSYMBOL color="' + ClassRenderBreakColor[z] + '" type="' + ClassRenderStyle[ClassRenderLayerIndex] + '" width="' + ClassRenderBreakSize[z] + '" />\n';
} else if (ClassRenderShape=="polygon") {
rendString += '<SIMPLEPOLYGONSYMBOL fillcolor="' + ClassRenderBreakColor[z] + '" filltype="' + ClassRenderStyle[ClassRenderLayerIndex] + '" ';
if (ClassRenderOutlineColor[ClassRenderLayerIndex]!="" && useBoundary) {
rendString += 'boundarycolor="' + ClassRenderOutlineColor[ClassRenderLayerIndex] + '" boundarywidth="' + ClassRenderBreakSize[z] + '" ';
} else {
rendString += 'boundary="false" ';
}
rendString += '/>\n';
} else {
rendString += '<SIMPLELINESYMBOL type="' + ClassRenderStyle[ClassRenderLayerIndex] + '" color="' + ClassRenderBreakColor[z] + '" width="' + ClassRenderBreakSize[z] + '" />\n';
}
rendString += '</RANGE>\n';
}
rendString += '</VALUEMAPRENDERER>';
return rendString
}


function setRenderStringGOV() {	//set render string for health directorate layer

//var rendString = '<QUERY subfields="#ALL#" where="#ID# > -1" jointables="'+parent.ParametersFrame.JoinTables[parent.ParametersFrame.HDirLayerIndex]+'" joinexpression="To=['+parent.ParametersFrame.JoinSHPTable[parent.ParametersFrame.HDirLayerIndex]+'.HEALTHDIR],From=['+parent.ParametersFrame.JoinTables[parent.ParametersFrame.HDirLayerIndex]+'.HEALTHDIR],Type=[scan]"/>\n';
var rendString = '<QUERY subfields="#ALL#" where="#ID# > -1 and '+parent.ParametersFrame.JoinSHPTable[parent.ParametersFrame.JoGovLayerIndex]+'.IC_CODE='+parent.ParametersFrame.JoinTables[parent.ParametersFrame.JoGovLayerIndex]+'.GOV_ID" jointables="'+parent.ParametersFrame.JoinTables[parent.ParametersFrame.JoGovLayerIndex]+'" />\n';
    
rendString += '<VALUEMAPRENDERER lookupfield="'+ ClassRenderLayerField + '">\n';
for (var z=0;z<ClassRenderClasses;z++) {
rendString += '<RANGE lower="' + ClassRenderBreakMin[z] + '" upper="' + ClassRenderBreakMax[z] + '">\n';
if (ClassRenderShape=="point") {
rendString += '<SIMPLEMARKERSYMBOL color="' + ClassRenderBreakColor[z] + '" type="' + ClassRenderStyle[ClassRenderLayerIndex] + '" width="' + ClassRenderBreakSize[z] + '" />\n';
} else if (ClassRenderShape=="polygon") {
rendString += '<SIMPLEPOLYGONSYMBOL fillcolor="' + ClassRenderBreakColor[z] + '" filltype="' + ClassRenderStyle[ClassRenderLayerIndex] + '" ';
if (ClassRenderOutlineColor[ClassRenderLayerIndex]!="" && useBoundary) {
rendString += 'boundarycolor="' + ClassRenderOutlineColor[ClassRenderLayerIndex] + '" boundarywidth="' + ClassRenderBreakSize[z] + '" ';
} else {
rendString += 'boundary="false" ';
}
rendString += '/>\n';
} else {
rendString += '<SIMPLELINESYMBOL type="' + ClassRenderStyle[ClassRenderLayerIndex] + '" color="' + ClassRenderBreakColor[z] + '" width="' + ClassRenderBreakSize[z] + '" />\n';
}
rendString += '</RANGE>\n';
}
rendString += '</VALUEMAPRENDERER>';
return rendString
}


function setRegionRenderString() { 		//set render string for region layer
//var rendString = '<QUERY subfields="#ALL#" where="#ID# > -1" jointables="'+parent.ParametersFrame.JoinTables[parent.ParametersFrame.RegionLayerIndex]+'" joinexpression="To=['+parent.ParametersFrame.JoinSHPTable[parent.ParametersFrame.RegionLayerIndex]+'.CODE],From=['+parent.ParametersFrame.JoinTables[parent.ParametersFrame.RegionLayerIndex]+'.CODE],Type=[scan]"/>\n';

var rendString = '<QUERY subfields="#ALL#" where="#ID# > -1 and '+parent.ParametersFrame.JoinSHPTable[parent.ParametersFrame.RegionLayerIndex]+'.CODE='+parent.ParametersFrame.JoinTables[parent.ParametersFrame.RegionLayerIndex]+'.CODE" jointables="'+parent.ParametersFrame.JoinTables[parent.ParametersFrame.RegionLayerIndex]+'" joinexpression="To=[,Type=[scan]"/>\n';

rendString += '<VALUEMAPRENDERER lookupfield="'+ ClassRenderLayerField + '">\n';

for (var z=0;z<ClassRenderClasses;z++) {
rendString += '<RANGE lower="' + ClassRenderBreakMin[z] + '" upper="' + ClassRenderBreakMax[z] + '">\n';
if (ClassRenderShape=="point") {
rendString += '<SIMPLEMARKERSYMBOL color="' + ClassRenderBreakColor[z] + '" type="' + ClassRenderStyle[ClassRenderLayerIndex] + '" width="' + ClassRenderBreakSize[z] + '" />\n';
} else if (ClassRenderShape=="polygon") {
rendString += '<SIMPLEPOLYGONSYMBOL fillcolor="' + ClassRenderBreakColor[z] + '"  filltype="' + ClassRenderStyle[ClassRenderLayerIndex] + '" ';
if (ClassRenderOutlineColor[ClassRenderLayerIndex]!="" && useBoundary) {
rendString += 'boundarycolor="' + ClassRenderOutlineColor[ClassRenderLayerIndex] + '" boundarywidth="' + ClassRenderBreakSize[z] + '" ';
} else {
rendString += 'boundary="false" ';
}
rendString += '/>\n';
} else {
rendString += '<SIMPLELINESYMBOL type="' + ClassRenderStyle[ClassRenderLayerIndex] + '" color="' + ClassRenderBreakColor[z] + '" width="' + ClassRenderBreakSize[z] + '" />\n';
}
rendString += '</RANGE>\n';
}
rendString += '</VALUEMAPRENDERER>';
return rendString
}

function setBreakColors() {
if (ClassRenderStartColor[ClassRenderLayerIndex]==ClassRenderEndColor[ClassRenderLayerIndex]) {
for (var i=0;i<ClassRenderClasses;i++) {
ClassRenderBreakColor[i] = ClassRenderStartColor[ClassRenderLayerIndex];
}
} else {
var sColors = ClassRenderStartColor[ClassRenderLayerIndex].split(",");
var eColors = ClassRenderEndColor[ClassRenderLayerIndex].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 / ClassRenderClasses);
var gIncre = parseInt(gRange / ClassRenderClasses);
var bIncre = parseInt(bRange / ClassRenderClasses);
var theRed = sRed + rIncre;
var theGreen = sGreen + gIncre;
var theBlue = sBlue + bIncre;
ClassRenderBreakColor[0] = ClassRenderStartColor[ClassRenderLayerIndex];
ClassRenderBreakColor[ClassRenderClasses-1] = ClassRenderEndColor[ClassRenderLayerIndex];
for (var i=1;i<(ClassRenderClasses-1);i++) {
ClassRenderBreakColor[i] = theRed + "," + theGreen + "," + theBlue;
theRed = theRed + rIncre;
theGreen = theGreen + gIncre;
theBlue = theBlue + bIncre;
}
sColors=null;
eColors=null;

}
}
// ramp out sizes
function setBreakSizes() {
ClassRenderStartSize[ClassRenderLayerIndex] = 0;
ClassRenderEndSize[ClassRenderLayerIndex] = 0;
if (ClassRenderStartSize[ClassRenderLayerIndex]==ClassRenderEndSize[ClassRenderLayerIndex]) {
// starting and ending sizes are the same
for (var i=0;i<ClassRenderClasses;i++) {
ClassRenderBreakSize[i] = ClassRenderStartSize[ClassRenderLayerIndex];
}
} else {
ClassRenderBreakSize[0] = ClassRenderStartSize[ClassRenderLayerIndex];
ClassRenderBreakSize[ClassRenderClasses-1] = ClassRenderEndSize[ClassRenderLayerIndex];
var sRange = ClassRenderEndSize[ClassRenderLayerIndex] - ClassRenderStartSize[ClassRenderLayerIndex];
var sIncre = parseInt(sRange * 10 + (5/10)) / 10;
var theSize = ClassRenderStartSize[ClassRenderLayerIndex] + sIncre;
for (var i=1;i<(ClassRenderClasses-1);i++) {
ClassRenderBreakSize[i] = theSize;
theSize = theSize + sIncre;
}
}
}

