function Measurement(){
	
    this.init = function() {
    }
    
    this.addDisplay = function() {
    	// check if Form is valid
		dijit.byId('displaySoftproofForm').validate();
		if(dijit.byId('displaySoftproofForm').isValid())
		{
			dijit.byId('calculatingDialog').show();
			
	        dojo.xhrPost({
	            url: "measurement-display/add",
	            form: "displaySoftproofForm",
	            load: function(response, ioArgs){
	        		errorHandler.show();
	        		//alert(response);
	        		
        			file.deselectFile();
        			metaDisplay.refreshTabs(0);
	        		dijit.byId('calculatingDialog').hide();
	                return response;
	            },
	            error: function(response, ioArgs){
	            	dijit.byId('calculatingDialog').hide();
	                return response;
	            },
	            handleAs: "text"
	        });
		}
		else {
			//errorHandler.addWarning(translation.translate('formValidationError'));
			errorHandler.show();
		}
    }
    
    this.removeMeasurementDisplay = function(measurementDisplay_id) {
    	dojo.byId('removeMeasurementDisplayId').value = measurementDisplay_id;
    	dijit.byId('removeMeasurementDisplayDialog').show();
    }
    
    this.doRemoveMeasurementDisplay = function(measurementDisplay_id) {
        dojo.xhrPost({
            url: "/measurement-display/delete",
            postData: "measurementDisplay_id=" + measurementDisplay_id,
            load: function(response, ioArgs){
    			errorHandler.show();
    			dijit.byId('jobListWrapper').refresh();
    			job.updateDisplayChart();
    			
                return response;
            },
            error: function(response, ioArgs){
            	errorHandler.show();
                return response;
            },
            handleAs: "text"
        });	
    }

    this.removeMeasurement = function(measurement_id) {
    	dojo.byId('removeMeasurementId').value = measurement_id;
    	dijit.byId('removeMeasurementDialog').show();
    }
    
    this.doRemoveMeasurement = function(measurement_id) {
        dojo.xhrPost({
            url: "/measurement/delete",
            postData: "measurement_id=" + measurement_id,
            load: function(response, ioArgs){
    			errorHandler.show();
    			dijit.byId('jobListWrapper').refresh();
    			job.updateChart();
    			
                return response;
            },
            error: function(response, ioArgs){
            	errorHandler.show();
                return response;
            },
            handleAs: "text"
        });	
    }
    
    
    this.add = function() {
        dojo.xhrPost({
            url: "/measurement/check-if-exists",
            load: function(response, ioArgs){
        		if(response == "measurementExists")
        			dijit.byId('overwriteMeasurementDialog').show();
        		else {
        			measurement.doAdd();
        		}
    			errorHandler.show();
                return response;
            },
            error: function(response, ioArgs){
            	errorHandler.show();
                return response;
            },
            handleAs: "text"
        });
    }
    
    this.registerAdd = function() {
        dojo.xhrPost({
            url: "/measurement-register/check-if-exists",
            load: function(response, ioArgs){
        		if(response == "measurementExists")
        			dijit.byId('overwriteRegisterMeasurementDialog').show();
        		else {
        			measurement.registerDoAdd();
        		}
    			errorHandler.show();
                return response;
            },
            error: function(response, ioArgs){
            	errorHandler.show();
                return response;
            },
            handleAs: "text"
        });
    }
    
    this.registerDoAdd = function() {
    	dijit.byId('calculatingDialog').show();
        dojo.xhrPost({
            url: "/measurement-register/add",
            load: function(response, ioArgs){
        		if(response == "addMeasurementSuccess") {
        			//measurement.getIqipStatus();
        			dijit.byId('calculatingDialog').hide();
        			meta.refreshTabs(0);
        			file.deselectFile();
        		}
        		else
        			dijit.byId('calculatingDialog').hide();

    			errorHandler.show();
                return response;
            },
            error: function(response, ioArgs){
            	dijit.byId('calculatingDialog').hide();
            	errorHandler.show();
                return response;
            },
            handleAs: "text"
        });
    }
    
    this.cicolorAdd = function() {
        dojo.xhrPost({
            url: "/measurement-cicolor/check-if-exists",
            load: function(response, ioArgs){
        		if(response == "measurementExists")
        			dijit.byId('overwriteCicolorMeasurementDialog').show();
        		else {
        			measurement.cicolorDoAdd();
        		}
    			errorHandler.show();
                return response;
            },
            error: function(response, ioArgs){
            	errorHandler.show();
                return response;
            },
            handleAs: "text"
        });
    }
    
    this.cicolorDoAdd = function() {
    	dijit.byId('calculatingDialog').show();
        dojo.xhrPost({
            url: "/measurement-cicolor/add",
            load: function(response, ioArgs){
        		if(response == "addMeasurementSuccess") {
        			//measurement.getIqipStatus();
        			dijit.byId('calculatingDialog').hide();
        			meta.refreshTabs(0);
        			file.deselectFile();
        		}
        		else
        			dijit.byId('calculatingDialog').hide();

    			errorHandler.show();
                return response;
            },
            error: function(response, ioArgs){
            	dijit.byId('calculatingDialog').hide();
            	errorHandler.show();
                return response;
            },
            handleAs: "text"
        });
    }
    
    this.doAdd = function() {
    	dijit.byId('calculatingDialog').show();
        dojo.xhrPost({
            url: "/measurement/add",
            load: function(response, ioArgs){
        		if(response == "addMeasurementSuccess") {
        			dijit.byId('calculatingDialog').hide();
        			measurement.getIqipStatus();
        			meta.refreshTabs(0);
        			file.deselectFile();
        		}
        		else
        			dijit.byId('calculatingDialog').hide();

    			errorHandler.show();
                return response;
            },
            error: function(response, ioArgs){
            	dijit.byId('calculatingDialog').hide();
            	errorHandler.show();
                return response;
            },
            handleAs: "text"
        });
    }
    
    this.getIqipStatus = function() {
    	dijit.byId('signalLightWrapper').attr('href', '/upload/index/get-measurement-signal-light-color');
    	dijit.byId('showSignalLightDialog').show();
    }
    
    
    var self = this;
}

var measurement = new Measurement();

dojo.addOnLoad(
  function(){
    measurement.init();
  }
);



