/*
 * Advertise price (select box)
 *
 */

var timer = 0;

Event.observe(window, 'load', function() {
	
	if ($('radio_id')) {
		$$('#selectBoxes .selectbox').each(function(el){
			var id_name = el.readAttribute('id');
			var id = getIdFromString(id_name);
			if(id && $('dropdown-' + id)) {
				var childs = el.childElements();
				
				el.observe('click', function() {
					click = false;
					showDropdown(id);
					$('dropdown-' + id).observe('mouseover', function() { onlyShow(id); });
				});
				
				$('dropdown-' + id).observe('mouseover', function() { onlyShow(id); });
				
				$('dropdown-' + id).observe('mouseout', function() {
					timer = setTimeout("$('dropdown-" + id + "').hide();", 500);
				});
				
			}
		});
		
		$$('#selectBoxes a').each(function(el){
			el.observe('click', function(){
				var parent = el.getOffsetParent();
				var id_name = parent.readAttribute('id');
				var id = getIdFromString(id_name);
				var elem = $('select-' + id);
				var childs = elem.childElements();
				childs[0].innerHTML = el.innerHTML;
				var value = getIdFromString(el.readAttribute('id'));
				setCalculateValues(id, value);
				$('dropdown-' + id).observe('mouseover', function() { onlyHide(id); });
			});
		});
		setCalculateValues();
	}
});

function onlyHide(id) {
	if(timer) {
		clearTimeout(timer);
	}
	$('dropdown-' + id).hide();
}

function onlyShow(id) {
	if(timer) {
		clearTimeout(timer);
	}
	$('dropdown-' + id).show();
}

function showDropdown(id) {
	var el = $('dropdown-' + id);
	if(el.getStyle('display') == 'none') {
		hideDropdown();
		var pos = $('select-' + id).positionedOffset();
		el.setStyle({left: pos[0] + 'px', top: pos[1] + 26 + 'px'});
		el.show();
	} else {
		el.hide();
	}

}

function hideDropdown() {
	if(timer) {
		clearTimeout(timer);
	}
	$$('#selectBoxes .dropdown').each(function(el){
		el.hide();
	});
}

function getIdFromString(name) {
	var a = name.split('-');
	return parseInt(a[1]);
}

function setCalculateValues(id, value) {
	if(id == 1) {
		$('radio_id').value = value;
	} else if(id == 2) {
		$('class_id').value = value;
	} else {
		$('radio_id').value = '';
		$('class_id').value = '';
	}
}

function priceCalculate() {
	var serializedForm = Form.serialize('calculateForm');
	var ajax = new Ajax.Request('/ajax/ajax.php', {
		parameters: serializedForm,
		onSuccess: function(t) {
			var json = t.responseText.evalJSON();
			if(json.result){
				$('calculateResult').update('<span class="success">Kampaania hind: ' + json.sum + ' EEK</span>');
			} else {
				$('calculateResult').update('<span class="error">Andmed arvutamiseks puudulikud!</span>');
			}
		}
	});
}

