/**
 *
 * Bij bepaalde methodes wil je graag meer resultaten terug sturen.
 * Met deze classe kun je de resultaat (bool), message (string) en
 * eventuele data(array) terug geven. 
 * 
 * PS: Deze classe werkt samen met de resultaten model aan de server side 
 * @author "Elvin Fortes | efortes@fGwNetworks.nl"
 *
 * @constructor
 */
var ResultModel = function() {
	var result;
	var message;
	var errorMessagesArr;
	var data;	

	/**
	 * Voer hier de data van de php resultaten model in ( Op dit moment is dit de resultModel->returnResultArr() functie)
	 */
	this.init = function(phpResultModelData) {
		this.result = phpResultModelData.result;
		this.message = phpResultModelData.message;
		this.errorMessagesArr = phpResultModelData.errorMessages;
		this.data = phpResultModelData.data;
	};

	/**
	 * Kan best zijn dat je deze classe wilt gebruiken zonder de php resultaten model te gebruiken.
	 * Je kunt ook handmatig de waardes zetten. 
	 * Wees er wel op bedacht dat de var errorMessagesArr hetzelfde structuur moet bevatten als php.
	 * Op dit moment is dit: 
	 * [errorMessages] => 
	 * 	Array ( 
	 * 			[0] => Array ( 
	 * 				[fieldName] => test 
	 * 				[errorMessage] => foutmelding. 
	 * 			) 
	 * )
	 */
	this.manualInit = function(result, message, errorMessagesArr, data) {
		this.result = result;
		this.message = message;
		this.errorMessagesArr = errorMessagesArr;
		this.data = data;
	};

	this.getResult = function() {
		return this.result;
	};
	
	/**
	 * Haal de bericht op
	 */
	this.getMessage = function() {
		return this.message;
	};
	
	/**
	 * Get data. Dit kan zowel een array zijn of een single value.
	 */
	this.getData = function() {
		return this.data;
	};
	
	this.hasErrors = function(){
		return  this.errorMessagesArr.length > 0;
	};
	
	this.getErrorMessagesArr = function(){
		return  this.errorMessagesArr;
	};

	this.getAllErrorMessages = function(){	
		var arr = new Array();
		for (var i = 0; i < this.errorMessagesArr.length; i++) 
		     arr.push(this.errorMessagesArr[i].errorMessage);
		return  arr;
	};

	/**
	 * Om snel alle errors weer te geven kun je deze methode aanroepen.
	 * De berichten worden in een popup weer gegeven.
	 */
	this.displayErrorPopup = function() {
		var errorStr = "<ul>";
		for ( var i = 0; i < this.errorMessagesArr.length; i++) {
			errorStr += "<li>" + this.errorMessagesArr[i].errorMessage + "</li>";
		}
		errorStr += "</ul>";
		customAlert(globalvar_lang.algemeen_lang_foutmelding, errorStr);
	};

};

var resultModel = new ResultModel(); 

