/* CREDITS
 * ----------------------------------------------------------
 * Title:		Give quotation to articles, news, etc..
 * Author:		Dirk Bonhomme <dirk@inventis.be>
 * Date:		17/09/2009
 * Last Edit:	21/12/2009 [Dirk Bonhomme]
 * ----------------------------------------------------------
 * Inventis - Web Architects - We design the Web!
 * www.inventis.be
*/
window.addEvent('domready', function(){

	var quotationButton = $$('div.action.quotation').pop();
	if(quotationButton){
	
		// Show edit field
		var editLink	= quotationButton.getElement('a');
		var editField	= quotationButton.getElement('div.set');
		if(editField){
			editLink.addEvent('click', function(e){
				editLink.setStyle('display', 'none');
				editField.setStyle('display', 'block');
			});
		}
		
		// Handle hover on stars
		var stars = quotationButton.getElements('img');
		stars.addEvent('mouseenter', function(e){
			var star = e.target;
			stars.each(function(currentStar){
				currentStar.src = (parseInt(currentStar.alt) <= parseInt(star.alt))? '/design/images/layout/icons/star_full.png' : '/design/images/layout/icons/star.png';
			});
		});
		
		// Clear all stars
		quotationButton.addEvent('mouseleave', function(e){
			stars.each(function(currentStar){
				currentStar.src = '/design/images/layout/icons/star.png';
			});
		});
		
		// Submit (new) quotation
		stars.addEvent('click', function(e){
			var relatedTable	= quotationButton.getElement('input[name=related_table]').value;
			var relatedId		= quotationButton.getElement('input[name=related_id]').value;
			var value			= parseInt(e.target.alt) * 2;
			new Request.JSON({
				url: '/quotations/set',
				data: {
					related_table:	relatedTable,
					related_id:		relatedId,
					value:			value
				},
				onSuccess: function(result){
					if(result.error){
						switch(result.error){
							case 'NOT_LOGGED_IN': 
								alert('Je bent niet ingelogd'); 
								location = location;
								break;
							case 'INVALID_POST_DATA':
							case 'INVALID_VALUE':
								alert('Ongeldige gegevens'); break;
						}
					}else{
						editField.setStyle('display', 'none');
						editLink.setStyle('display', 'block');
						editLink.getElement('span').set('html', 'je quotering: ' + parseInt(e.target.alt) + '/5');
					}
				}
			}).post();
		});
		
	}
});
