// aimsCustom.js 
/* 
* JavaScript template file for ArcIMS HTML Viewer 
* dependent on aimsXML.js, ArcIMSparam.js, aimsCommon.js, aimsMap.js, 
* aimsLayers.js, aimsDHTML.js 
* aimsClick.js, aimsNavigation.js, 
*/ 

// Global variables 
aimsCustomPresent=true; 
// Change these to send XML response to custom function. 
// Use numbers >= 1000 and match in useCustomFunction(). 
// Defaults are defined in aimsXML.js and use standard functions. 

// xml response mode for selection 
selectXMLMode = 6; 
// xml response mode for identify 
identifyXMLMode = 7; 
// xml response mode for query 
queryXMLMode = 8; 
// xml response mode for find 
findXMLMode = 14; 
// xml response mode hyperlink 
hyperlinkXMLMode = 15; 

var extractXMLMode=1111; 
var imsExtractURL = imsURL + '&CustomService=Extract' 

// Custom function for handling clicks 
// flow redirected here when 
// toolMode set to >=1000 
function customMapTool(e) { 
if (toolMode == 1001) { 
// Insert code here. 
return false; 

} 
if (toolMode == 1002) { 
// Insert code here. 

} 

} 

// Send XML response to custom function 
// flow redirected here when 
// XMLMode >=1000 
function useCustomFunction(theReply) { 
if (XMLMode==1001) { 
// Insert code here. 
} else if (XMLMode==1111) { 
parseExtractResponse(theReply); 
} else { 
alert(msgList[55] + XMLMode + msgList[56]); 
} 
hideLayer("LoadData"); 
} 

// Add custom stuff to Map XML request. . . between selection and geocode. 
function addCustomToMap1(){ 
var customString = ""; 
/* 
customString += '<LAYER type="ACETATE" name="theMode">\n'; 
customString += '<OBJECT units="PIXEL">\n<TEXT coord="5 ' + (iHeight-10) + '" label="This is a test">\n'; 
customString += '<TEXTMARKERSYMBOL fontstyle="BOLD" fontsize="12" font="ARIAL" fontcolor="' + modeMapColor + '" '; 
customString += 'threed="TRUE" glowing="' + modeMapGlow + '" />\n</TEXT>\n</OBJECT>'; 
customString += '\n</LAYER>\n'; 
*/ 
return customString; 
} 

// Add custom stuff to Map XML request. . . between clickpoints and copyright. 
function addCustomToMap2(){ 
var customString = ""; 

return customString; 
} 

// Add custom stuff to Map XML request. . . under modeOnMap. 
function addCustomToMap3(){ 
var customString = ""; 
/* 
customString += '<LAYER type="ACETATE" name="theMode">\n'; 
customString += '<OBJECT units="PIXEL">\n<TEXT coord="5 ' + (iHeight-10) + '" label="This is a test">\n'; 
customString += '<TEXTMARKERSYMBOL fontstyle="BOLD" fontsize="12" font="ARIAL" fontcolor="' + modeMapColor + '" '; 
customString += 'threed="TRUE" glowing="' + modeMapGlow + '" />\n</TEXT>\n</OBJECT>'; 
customString += '\n</LAYER>\n'; 
alert(customString); 
*/ 
return customString; 
} 

// Add custom stuff to Map XML request. . . on top of everything. 
function addCustomToMap4(){ 
var customString = ""; 

return customString; 
} 

// Extract layers to download. 
function extractIt() { 
hideLayer("measureBox"); 
//alert(msgList[51]); 

if (checkIfActiveLayerAvailable()) { 
sendExtractRequest(); 
} 

} 


function sendExtractRequest(){ 
var extractAXL=""; 
//extractAXL += '<?xml version="1.0" encoding="UTF-8"?>\n'; 
extractAXL += '<ARCXML version="1.1">\n'; 
extractAXL += '<REQUEST>\n'; 
extractAXL += ' <GET_EXTRACT>\n'; 
extractAXL += ' <PROPERTIES>\n'; 
extractAXL += ' <ENVELOPE minx="' + forceComma(eLeft) + '" miny="' + forceComma(eBottom) + '" maxx="' + forceComma(eRight) + '" maxy="' + forceComma(eTop) + '" />\n'; 
extractAXL += ' <LAYERLIST>\n'; 
extractAXL += ' <LAYERDEF id="' + ActiveLayer + '" visible="true" />\n'; 
extractAXL += ' </LAYERLIST>\n'; 
extractAXL += ' </PROPERTIES>\n'; 
extractAXL += ' </GET_EXTRACT>\n'; 
extractAXL += '</REQUEST>\n'; 
extractAXL += '</ARCXML>\n'; 

sendToServer(imsExtractURL, extractAXL ,extractXMLMode); 
} 


function parseExtractResponse(theResponse){ 

var extractURL = getURL(theResponse); 
//alert(extractURL); 
if(extractURL!="") var Win1 = open(extractURL); 

} 

