
			function switch_display(id1,id2)
			{
				
				var el1 = document.getElementById(id1);
				var el2 = document.getElementById(id2);
			
				if ( el1.style.display != 'none' )
				{
					el1.style.display = 'none';
					el2.style.display = '';
				}
				else 
				{
					el1.style.display = '';
					el2.style.display = 'none';
				}
				
			}
			
			
			function tvgs_typing_assistant(field_element,correction_type)
{	
	
	// validation types that are not known to this function will simply be ignored
	
	
	// date
	// allows typing of numbers and hyphen, max 10 chars
	if (correction_type == 'date')
	{
		
		// truncate
		if (field_element.value.length > 10)
		{
																																			
		  field_element.value = field_element.value.substring(0,10);
			
		}
		
		// replace
		if (field_element.value.match(/[^-0-9]+/) != null || field_element.value.match(/-{2,}/) != null)
		{
																																			
		  field_element.value = field_element.value.replace(/[^-0-9]+/g, '-').replace(/-{2,}/g, '-');
			
		}

	}	
	
	
	// phone
	// allows typing of numbers, spaces, hyphen, plus-sign, parentheses, max 20 chars
	if (correction_type == 'phone')
	{
		
		// truncate
		if (field_element.value.length > 20)
		{
																																			
		  field_element.value = field_element.value.substring(0,20);
			
		}
		
		// replace
		if (field_element.value.match(/[^-+()0-9]+/) != null)
		{
																																			
		  field_element.value = field_element.value.replace(/[^-+()0-9]+/g, '');
			
		}

	}	
	
	
	// email
	// allows typing of alphanumeric, hyphens, underscores, dots and at
	if (correction_type == 'email')
	{
		
	
		
		// replace
		while (field_element.value.match(/[^-._@0-9a-zA-Z]+/) != null)
		{
																																			
		  field_element.value = field_element.value.replace(/[^-._@0-9a-zA-Z]+/g, '');
			
		}
		
	

	}
	
	
	// text-tags
	// allows typing of alphanumeric, hyphens, underscores, dots and at
	if (correction_type == 'text_tags')
	{
		
	
			
		// replace <> tags
		while (field_element.value.match(/<.+?>/) != null)
		{
																																			
		  field_element.value = field_element.value.replace(/<.+?>/g, '');
			
		}
		
		
		// replace [] tags
		while (field_element.value.match(/\[.+?\]/) != null)
		{
																																			
		  field_element.value = field_element.value.replace(/\[.+?\]/g, '');
			
		}
		
			
		
	

	}	


}

		
			/*
		
		var list = [
		'tab0', // hello
		'tab1', // intro / basics
		'tab2', // usage
		'tab3', // technical
		'tab4', // faq
		'tab5'  // about version / contact
		];
		
		function showElement(el_id, list)
		{
		
			for (var i in list)
			{
				
				// show the content associated with a tab
				if ( list[i] == el_id )
				{
					document.getElementById(list[i]).style.display = '';
					
					highlightCurrentTab(i, list)
				}
				else 
				{
					document.getElementById(list[i]).style.display = 'none';
				}
				
			}
			
		}
		
		function highlightCurrentTab(tab_number, list)
		{
		
			for (var i in list)
			{
				
				// highlight tab flag
				if ( i == tab_number)
				{
					document.getElementById(list[i] + '_flag').className = 'headertab_over';
				}
				else 
				{
					document.getElementById(list[i] + '_flag').className = 'headertab';
				}
				
				// show tab join, skip first
				if ( i > 0)
				{
				
					if ( i == tab_number)
					{
						
						document.getElementById(list[i] + '_join').className = 'currenttab';
					}
					else 
					{
				
						document.getElementById(list[i] + '_join').className = '';
					}
					
				}
			
			}
			
		}
		
	
		
		
		
		
		
		
		
		
		// insert the resulting code block in the specified html element
		function display_query_result(query_result_code, query_display_id)
		{
			
			// check if output element exists
			if(document.getElementById(query_display_id))
			{
				
				// set output element
				var output_element = document.getElementById(query_display_id);
				
				
				// clean it out
				//output_element.innerHTML = '';
				
				
				// display result
				output_element.innerHTML = query_result_code;
		
			}
			
		}

		
		// main query routine
		function get_backend_code_block(url, output_id)
		{

			var code_block = initiate_backend_query(url);

			if (code_block)
			{
				
				display_query_result(code_block, output_id);
				
			}
			else
			{
				
				code_block = ['No backend reply!'];
				
				display_query_result(code_block, output_id);
			
			}
		
		}
		
		
		// make query to backend script
		function initiate_backend_query(url)
		{
		
			// create empty query variable
			var backend_query = null;
			
			
			// setup request, alert on fail
			try
			{
			
				// firefox, opera 8+, safari, ie7
				backend_query = new XMLHttpRequest();
				
			}
			catch(e)
			{
				
				// old ie
				try
				{
				
					backend_query = new ActiveXObject('Microsoft.XMLHTTP');
				
				}
				catch(e)
				{
				
					alert ('This webbrowser does not support XMLHTTP!');
					return;  
				
				}
			
			}
			
			
			// send query, wait for response
			backend_query.open('GET',url,false);
			
			backend_query.send(null);
			
			
			// get result
			return backend_query.responseText;
		
		}
		
		*/





function is_numeric( mixed_var ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: David
    // +   improved by: taith
    // *     example 1: is_numeric(186.31);
    // *     returns 1: true
    // *     example 2: is_numeric('Kevin van Zonneveld');
    // *     returns 2: false
    // *     example 3: is_numeric('+186.31e2');
    // *     returns 3: true
 
    return !isNaN(mixed_var * 1);
}


// prototyped trim
String.prototype.trim = function() {  return this.replace(/^\s+|\s+$/g, '');  }



