// JavaScript Document

//*************************************************************
// Defime IService properties and Mathods
//*************************************************************
function IService() {
	
	//properties (write)
	this.server;
	this.service;
	
	this.fields = true;
	this.envelope = false;
	this.renderer = false;
	this.extensions = true;
	

	
	
	//Methods
	this.url;
	this.getServiceAXL = getServiceAXL;
	this.sendService = sendService;
	this.getService = getService;
	
}


//public variables;
var esriBlurb = "/servlet/com.esri.esrimap.Esrimap?ServiceName=";


//*************************************************************
// Build getService XML
//*************************************************************
function getServiceAXL() {
	var serviceAXL = '';	
	serviceAXL += '<?xml version="1.0" encoding="UTF-8"?>\n';
	serviceAXL += '<ARCXML version="1.1">\n';
	serviceAXL += '<REQUEST>\n';
	serviceAXL += '<GET_SERVICE_INFO fields="'+ this.fields +'" envelope="'+ this.envelope +'" renderer="'+ this.renderer +'" extensions="'+ this.extensions +'" />\n';
	serviceAXL += '</REQUEST>\n';
	serviceAXL += '</ARCXML>\n';
	return serviceAXL;

}


//*************************************************************
//send, recieve and parse XML and create Objects
//*************************************************************
function sendService(axl) {
	this.url = this.server + esriBlurb + this.service  
	
	
		var xml = new JKL.ParseXML(this.url,axl);
		var data = xml.parse();
		
		RESPONSE = data.ARCXML.RESPONSE.SERVICEINFO;
		RESPONSE.LAYER = RESPONSE.LAYERINFO;
		//RESPONSE.ENVELOPE = RESPONSE.ENVELOPE;
		//alert(RESPONSE.LAYER[2].FCLASS.FIELD[2].name) // WILL NOT work when layer FCLASS is an image
		RESPONSE.MAPUNITS = RESPONSE.PROPERTIES.MAPUNITS.units.toUpperCase()
	
	

}

//*************************************************************
// Combine all methods to get the service info.
//*************************************************************
function getService(IUrl) {
	axl =this.getServiceAXL();
	doDebug(axl,null)
	this.sendService(axl);
}







