/**
 * @author Frukt Kuubis, www.frukt.ee
 * @version 0.1
 * 
 * YouHaveMail.eu Easy Opting In Form Creator/Manager Class
 * 
 */

function Integration(params){

	/***** PARAMS AND VARIABLES *****/
	
	// instance our class
	var _this = this
	
	// main params
	this.params = {
		formId: '',
		postTo: ''
	}

	// extend default params with the ones passed
	jQuery.extend(_this.params, params)

	/**
	 * Form Event Handler
	 */
	jQuery(_this.params.formId).bind('submit', function(event){
		jQuery.post(_this.params.postTo, jQuery(this).serialize(), function(response){
			_this.handleResponse(response)
		})
		return false
	})

	/**
	 * Feedback Message Handler
	 */
	this.handleMessage = function(params){
		jQuery('#message').remove()
		jQuery('<p id="message" class="'+params.type+'"></p>')
			.append('<span>'+params.message+'</span>')
			.prependTo(_this.params.formId)
	}
	
	/**
	 * Form Response Handler
	 */
	this.handleResponse = function(response){
		var _responseJSON = jQuery.evalJSON(response)
		switch(_responseJSON.code){
			// success
			case 101:
				_this.handleMessage({message: 'Uudiskirjaga liitumine edukas!', type: 'success'})
				break;
			// invalid e-mail
			case 204:
				_this.handleMessage({message: 'Viga e-posti aadressi sisestamisel.', type: 'error'})
				break;
			// all other options
			default:
				_this.handleMessage({message: 'Viga andmete saatmisel.', type: 'error'})
		}
	}

}