/**
 * Set of main JavaScript functions for meeuwenoverlast.nl
 * 
 * @author R.J.T. de Vries <rdevries@thirdwave.nl>
 * @version 1.00, 09/11/2006
 * @package Meeuwenoverlast
 */
 
	/**
	 * Initialize the website.
	 * 
	 * @return void
	 * @author R.J.T. de Vries <rdevries@thirdwave.nl>
	 */
	function init() {
	
	} // init()

	/**
	 * Function to add event listeners to the <input> and <label> tags in the
	 * poll form. These event listeners take care of submitting the form when 
	 * one of the poll options is clicked.
	 * 
	 * @author R.J.T. de Vries <rdevries@thirdwave.nl>
	 * @return 	boolean		true on success, false on failure
	 * @access public
	 */
	function initpoll() {
	
		var f = document.getElementById('pollform');
		
		if ( typeof(f) == 'undefined' || f == 'null' || f == null ) return false;
		
		var inputs = f.getElementsByTagName('input');
		
		if ( typeof inputs == 'undefined' || !inputs.length ) return false;
		
		for ( var i = 0; i < inputs.length; i++ ) {
		
			if ( inputs[i].type == 'radio' ) {
			
				inputs[i].onfocus = function() {
				
					this.checked = true;
					
					f.submit();
					
					return false;
					
				}
			
			}
		
		} // for()

	} // initpoll()	
	
	/**
	 * A function to check the input in the reg. forms.
	 * 
	 * We check all form-fields in the given form (f) that have comp=1
	 * (compulsory) for some value.
	 * 
	 * @author R.J.T. de Vries <rdevries@thirdwave.nl>
	 * @param object	f		the form to check
	 * @return boolean		true if all fields have been filled out, false if not.
	 */
	function checkFields(f) {
	
		for ( var i = 0; i < f.elements.length; i++ ) {
		
			var el = f.elements[i];
			
			// Is this a compulsory element?
			
			if ( el.getAttribute('comp') ) {
			
				switch ( el.tagName.toUpperCase() ) {
			
					case 'INPUT': default: {
					
						if ( el.getAttribute('type') && el.getAttribute('type').toUpperCase() == 'RADIO' ) {
						
							if ( !getRadioValue(f, el.name) ) {
							
								alert ("Vul a.u.b. alle velden in."); el.focus(); return false;
							
							}
						
						} else {
						
							// The value of the input has no length! Field was not filled out,
							// return false!
						
							if ( !el.value.length ) { 
							
								alert ("Vul a.u.b. alle velden in."); el.focus(); return false;
								
							}
							
						}
					
						break;
				
					} // INPUT : default
					
					case 'SELECT': {
					
						var val = el.options[el.selectedIndex].value;
						
						if ( val.toUpperCase == 'NULL' || !val ) {
						
							alert ("Vul a.u.b. alle velden in."); el.focus(); return false;
						
						}
					
						break;
					
					}
			
				} // switch()
				
			}
		
		} // for()
			
		return true;
	
	} // checkFields()
	
	/**
	 * Select the contents of the input given.
	 * 
	 * @author R.J.T. de Vries <rdevries@thirdwave.nl>
	 * @param 	object		input		input DOM object to select contents of
	 * @return 	boolean						true on success, false on failure.
	 */
	function selectInput(input) {
	
		if ( !is_object(input) ) return false;
		
		input.select();
	
	} // selectInput()

/* end of file main.js */	