var MessageManager = {
	smsLabelId: 'csms',
	mmsLabelId: 'cmms',
	smsId: 'psms',
	mmsId: 'pmms',
	attachId: 'attachment',
	attachCheckId: 'c_attachment',
	messageType: 'message_type',
	iceBreakers: {},
	
	smsmms: function (show) {
		if(YAHOO.util.Dom.get(MessageManager.attachCheckId).checked) { // Nascosto > Visibile
			YAHOO.util.Dom.setStyle(MessageManager.attachId, 'display', 'inline');	// Mostra input file
			MessageManager.showSMSLabel(false);	// Nasconde sms e mostra mms
		} else { // Visibile > Nascosto
			YAHOO.util.Dom.setStyle(MessageManager.attachId, 'display', 'none');	// Nasconde input file
			MessageManager.showSMSLabel(true);	// Nasconde mms e mostra sms
			YAHOO.util.Dom.get(MessageManager.attachId).value = ''; // Vuota il campo file
		}
	},

	showSMSLabel: function (sms) {
		if(sms) MessageManager.switchType(MessageManager.smsLabelId, MessageManager.mmsLabelId);
		else MessageManager.switchType(MessageManager.mmsLabelId, MessageManager.smsLabelId);
	},
	
	switchType: function (show, hide) {
		YAHOO.util.Dom.setStyle(show, 'display', 'inline');	// Mostra etichetta
		YAHOO.util.Dom.setStyle(hide, 'display', 'none');	// Nasconde etichetta
	},
	
	setType: function (on) {
		YAHOO.util.Dom.get(MessageManager.messageType).value = (on ? 'phone' : 'web');
	},
	
	showHide: function (elId) {
		var el = YAHOO.util.Dom.get(elId);
		if(!YAHOO.util.Dom.removeClass(el, 'hide'))
			YAHOO.util.Dom.addClass(el, 'hide');
	},

	attachmentChange: function () {
		// Check
		if(YAHOO.util.Dom.get('c_attachment').checked) {
			// Mostra input file
			YAHOO.util.Dom.replaceClass('file_uploader', 'hide', 'show');
			// Nasconde sms
			YAHOO.util.Dom.replaceClass('sms', 'show', 'hide');
			// Mostra mms
			YAHOO.util.Dom.replaceClass('mms', 'hide', 'show');
			// Imposta a mms il valore della checkbox per l'invio da telefono
			// YAHOO.util.Dom.get('c_phone').value = 'mms';
		} else {
			// Nasconde input file
			YAHOO.util.Dom.replaceClass('file_uploader', 'show', 'hide');
			// Mostra sms
			YAHOO.util.Dom.replaceClass('sms', 'hide', 'show');
			// Nasconde mms
			YAHOO.util.Dom.replaceClass('mms', 'show', 'hide');
			// Imposta a sms il valore della checkbox per l'invio da telefono
			// YAHOO.util.Dom.get('c_phone').value = 'sms';
		}
	},
	
	setType: function() {
		var type = YAHOO.util.Dom.get('message_type');
		
		type.value = MessageManager.getType();
	},
	
	getType: function () {
		var sms = YAHOO.util.Dom.get('c_sms');
		var mms = YAHOO.util.Dom.get('c_mms');
		var f_sms = YAHOO.util.Dom.get('f_sms');
		var f_mms = YAHOO.util.Dom.get('f_mms');
		var attachment = YAHOO.util.Dom.get('c_attachment');
		
		if(attachment.checked) {
			if(mms && (mms.checked || (f_mms && f_mms.checked))) return 'mms';
			return 'multimedia';
		} else {
			if(sms && (sms.checked || (f_sms && f_sms.checked))) return 'sms';
			return 'plain';
		}
	},
	
	setButton: function (conf) {
		var buttons = {
			plain: YAHOO.util.Dom.get('b_plain'),
			multimedia: YAHOO.util.Dom.get('b_multimedia'),
			sms: YAHOO.util.Dom.get('b_sms'),
			mms: YAHOO.util.Dom.get('b_mms')
		};
		
		var type = MessageManager.getType();
		
		for(var b_name in buttons) {
			if(b_name == type) YAHOO.util.Dom.removeClass(buttons[b_name], 'b_hide');
			else YAHOO.util.Dom.addClass(buttons[b_name], 'b_hide');
		}
		
		if(conf && conf[type] != 0) {
			YAHOO.util.Dom.removeClass('btn', 'disabled');
			MessageManager.submit = true;
		} else {
			YAHOO.util.Dom.addClass('btn', 'disabled');
			MessageManager.submit = false;
		}
	},
	
	setDescriptionText: function (type) {
		if(!YAHOO.util.Dom.removeClass(type + '_desc', 'hide'))
			YAHOO.util.Dom.addClass(type + '_desc', 'hide');
	},
	
	onSubmit: function (overlay, formName, isRomance) {
		if(YAHOO.util.Dom.hasClass('btn', 'disabled')) return;
		
		MessageManager.setType();
		if(isRomance) {
			RomanceManager.sendMessage(formName);
			OverlayConfiguration[overlay].overlay.hide();
		}
		else OverlayConfiguration[overlay].stepTwo(formName);
	},
	
	nextIceBreaker: function (type) {
		MessageManager.iceBreakers[type].index++;
		
		if(MessageManager.iceBreakers[type].sentences.length == MessageManager.iceBreakers[type].index)
			MessageManager.iceBreakers[type].index = 0;
	},
	
	iceBreakersInit: function () {
		var json = YAHOO.util.Dom.get('iceBreakers').innerHTML;
		var iceBreakers = Utilities.jsonParse(json);
		
		for(var key in iceBreakers) {
			MessageManager.iceBreakers[key] = {
				sentences: iceBreakers[key],
				index: 0
			};
		}
	},
	
	setText: function (type) {
		if(Utilities.getAssociativeArrayLength(MessageManager.iceBreakers) == 0)
			MessageManager.iceBreakersInit();
		var index = MessageManager.iceBreakers[type].index;
		MessageManager.nextIceBreaker(type);
		YAHOO.util.Dom.get('mex').value = MessageManager.iceBreakers[type].sentences[index];
	}
};