var TelangoForm = {

	init: function() {
		if ( $('zon_id') ) {
			$('zon_id').addEvent('change', TelangoForm.fillDepartementList);
			TelangoForm.fillDepartementList();
		}
		if ( $('end_zon_id') ) {
			$('end_zon_id').addEvent('change', TelangoForm.fillDepartementList);
			TelangoForm.fillDepartementList();
		}

		if ($$('.newsTypeLink')) {
			$$('.newsTypeLink').each ( function(el) {
				el.addEvent('click',function() {
					var value = el.getProperty('id');
					value = value.substr(9, value.length - 9);
	
					for (i=0; i < document.forms['search'].elements['nty_id'].length; i++) {
						if ( document.forms['search'].elements['nty_id'].options[i].value == value ) {
							document.forms['search'].elements['nty_id'].options[i].selected = true;
							$('search').submit();
						}
					}
				});
			});
		}
		
		// Stores checked results to an hidden field
		if ($$('.cbResult')) {
			$$('.cbResult').each ( function(cbResult) {
				cbResult.addEvent('click', function() {
					TelangoForm.manageCheckedResult(cbResult.getProperty('value'), cbResult.checked)
				});
			});
		}
		if ($('ede_release_date_begin') && $('ede_release_date_end')) {
			$('ede_release_date_begin').addEvent('change', function() {
				TelangoForm.compareDates('ede_release_date_begin', 'ede_release_date_end', true);
			});
			$('ede_release_date_end').addEvent('change', function() {
				TelangoForm.compareDates('ede_release_date_begin','ede_release_date_end', false);
			});
		}
		if ($('bpe_date_begin') && $('bpe_date_end')) {
			$('bpe_date_begin').addEvent('change', function() {
				TelangoForm.compareDates('bpe_date_begin', 'bpe_date_end', true);
			});
			$('bpe_date_end').addEvent('change', function() {
				TelangoForm.compareDates('bpe_date_begin','bpe_date_end', false);
			});
		}
		if ($('mpr_begin_date_begin') && $('mpr_begin_date_end')) {
			$('mpr_begin_date_begin').addEvent('change', function() {
				TelangoForm.compareDates('mpr_begin_date_begin', 'mpr_begin_date_end', true);
			});
			$('mpr_begin_date_end').addEvent('change', function() {
				TelangoForm.compareDates('mpr_begin_date_begin','mpr_begin_date_end', false);
			});
		}
		if ($('mpr_end_date_begin') && $('mpr_end_date_end')) {
			$('mpr_end_date_begin').addEvent('change', function() {
				TelangoForm.compareDates('mpr_end_date_begin', 'mpr_end_date_end', true);
			});
			$('mpr_end_date_end').addEvent('change', function() {
				TelangoForm.compareDates('mpr_end_date_begin','mpr_end_date_end', false);
			});
		}
	},

	fillDepartementList: function () {

		var zones = new Array();
		zones[0]  = new Array ('zon_id', 'dep_id', 'izo_id');
		zones[1]  = new Array ('end_zon_id', 'end_dep_id', 'end_izo_id');

		for (i = 0; i < zones.length; i++) {
			if ( $(zones[i][0]) ) {
				zone        = $(zones[i][0]).getValue();
				departement = $(zones[i][1]).getValue();
				idfZoneId   = $(zones[i][2]);
				
				if ($(idfZoneId)) {
					if (zone != 13) {
						$(idfZoneId).setStyle('visibility','hidden');
					}
					else {
						$(idfZoneId).setStyle('visibility','visible');
					}
				}
				var ajax = new Ajax(urlDepartement, { 
					method: 'get',
					onComplete: function (response) { eval(response)},
					data: 'zone='+zone+'&departement='+departement+'&elementid='+zones[i][1]
				}).request();
			}
		}
	},

	manageCheckedResult: function (p_iValue, p_bAddMode) {

		var oldValue = $('checkedResults').getValue();
		var newValue = '';

		if (p_bAddMode) {
			if ( ! oldValue.contains(p_iValue, ',')) {
				newValue = oldValue;
				if (oldValue.length > 0 ) {
					newValue += ',';
				}
				newValue += p_iValue;
				$('checkedResults').setProperty('value', newValue);
			}
		}
		else {
			if (oldValue.contains(p_iValue, ',')) {
				var aOldValues = oldValue.split(',');
				aOldValues.remove(p_iValue);
				newValue = aOldValues.join(',');
				$('checkedResults').setProperty('value', newValue);
			}
		}
	},
	
	compareDates: function (p_sBeginId, p_sEndId, p_bBegin) {
		var sBeginDate = $(p_sBeginId).getValue();
		var sEndDate = $(p_sEndId).getValue();

		if (sBeginDate.length > 0 && sBeginDate != '__/__/____' && sEndDate.length > 0 && sEndDate != '__/__/____') {
			var sDay   = sBeginDate.substring(0,2);
			var sMonth = sBeginDate.substring(3,5);
			var sYear  = sBeginDate.substring(6,10);
			
			var tBeginDate  = new Date;
			tBeginDate.setDate (sDay);
			tBeginDate.setMonth(sMonth);
			tBeginDate.setYear (sYear);
			
			sDay   = sEndDate.substring(0,2);
			sMonth = sEndDate.substring(3,5);
			sYear  = sEndDate.substring(6,10);

			var tEndDate  = new Date;
			tEndDate.setDate (sDay);
			tEndDate.setMonth(sMonth);
			tEndDate.setYear (sYear);
			
			diff = tBeginDate.getTime() - tEndDate.getTime();
			diff == 0 ? diff : diff / Math.abs(diff);

			if (diff >  0) {
				
				if (p_bBegin) {
					$(p_sBeginId).setProperty('value', sEndDate);
				}
				else {
					$(p_sEndId).setProperty('value', sBeginDate);
				}
				alert('La date de début doit être inférieure à la date de fin');
				
			}
		}
	}
}

window.addEvent('domready', TelangoForm.init);

function goPage(page) {
	$('page').setProperty('value', page);
	$('search').submit();
}
