// The Class MessageBlock contains a set of Messages that are returned by a REST Service.

// example for a messageBlock for checking if an operator already exists.
// http://localhost:8080/sat-recommender-remote/operator/exists?operatorId=easyRec
// returns an XML DOM:
//
// <checkOperator>
//	 <success code="23" message="Operator already exists!"/>
// <checkOperator>
//



// This function returns true if the messageBlock
// contains a message with the given id
function containsMessage(xml, messageCode){
	if(isIE()){
		return containsMessageIE(xml, messageCode);
	}else{
		return containsMessageNormal(xml, messageCode);
	}
}

function containsMessageNormal(xml, messageCode){
	for(i=0;i<xml.firstChild.childNodes.length;i++){
		try{
			if (xml.childNodes[0].childNodes[i].getAttribute('code') == messageCode ) {
				return true;
			}
		}catch(err){}
	}
	
	return false;
}
function containsMessageIE(xml, messageCode){
	for(i=0;i<=xml.childNodes[1].childNodes.length;i++){
		try{
			if (xml.childNodes[1].childNodes[i].getAttribute('code') == messageCode ) {
				return true;
			}
		}catch(err){}
	}
	
	return false;
	
}

// This function returns the message string
// for a given message id (if exists).
function getMessage(xml, messageCode){
		if(isIE()){
		return getMessageIE(xml, messageCode);
	}else{
		return getMessageNormal(xml, messageCode);
	}
}

function getMessageNormal(xml, messageCode){
	for(i=0;i<xml.firstChild.childNodes.length;i++){
		try{
			if (xml.childNodes[0].childNodes[i].getAttribute('code') == messageCode ) {
				return xml.childNodes[0].childNodes[i].getAttribute('message');
			}
		}catch(err){}
	}
	
	return ''; // message not found;
}
function getMessageIE(xml, messageCode){
	for(i=0;i<=xml.childNodes[1].childNodes.length;i++){
		try{
			if (xml.childNodes[1].childNodes[i].getAttribute('code') == messageCode ) {
				return xml.childNodes[1].childNodes[i].getAttribute('message');
			}
		}catch(err){}
	}
	
	return ''; // message not found;
}


function isIE(){return (navigator.appName == "Microsoft Internet Explorer");}
