AmsColor_mod = {};
AmsColor_mod.currentPicker = null;
AmsColor_mod.currentInstance = null;
AmsColor_mod.destination = null;
AmsColor_mod.destinationPreview = null;

AmsColor_mod.showPicker = function(destination) {
	AmsColor_mod.destination = dojo.byId(destination);
	AmsColor_mod.destinationPreview = dojo.byId('amscolor_preview_' + destination);

	if (!AmsColor_mod.destination || !AmsColor_mod.destinationPreview) {
		return false;
	}
	
	AmsColor_mod.setupPicker();
	
	if (AmsColor_mod.currentPicker) {
		AmsColor_mod.currentPicker.show();
	}
}

AmsColor_mod.hidePicker = function() {
	if (AmsColor_mod.currentPicker) {
		AmsColor_mod.currentPicker.hide();
	}
}

AmsColor_mod.setupPicker = function() {
	if (!AmsColor_mod.currentPicker) {
		AmsColor_mod.currentInstance = new dijit.ColorPalette({id: 'opencrm_color_picker_dojo'});
		AmsColor_mod.currentInstance.onChange = AmsColor_mod.pickDone;
		AmsColor_mod.currentPicker = new dijit.Dialog({id: "opencrm_color_picker_dialog_dojo", duration: 1});
		AmsColor_mod.currentPicker.domNode.appendChild(AmsColor_mod.currentInstance.domNode);
		AmsColor_mod.currentPicker.domNode.style.width='210px';
		AmsColor_mod.currentPicker.domNode.style.height='190px';
		AmsColor_mod.currentInstance.startup();
	}
}

AmsColor_mod.pickDone = function(colorCode) {
	var newValue = colorCode.replace('#', '');
	AmsColor_mod.destinationPreview.style.backgroundColor = colorCode;
	AmsColor_mod.destination.value = newValue;
	
	AmsColor_mod.hidePicker();
}
