	<!--//--><![CDATA[//><!--
	<?php sajax_show_javascript(); ?>
	
	function intouch_submitcomment() {
		var regexp = new RegExp('[$][#][$]', ['g']);
	
		<?php 
			$prefix = '';
			$params = '';
			
			for($i = 1; $i <= $field_count; $i++) { 
			
			?> 
				
		var var_<?php echo($i); ?> = document.getElementById('field_<?php echo($i); ?>').value.replace(regexp, '$');
			
			<?php 
			
				$params .= $prefix . '\' + var_' . $i . ' + \'';
				$prefix = "$#$";
			} 
		?>
		
		x_intouch_submitcomment('<?php echo($params); ?>', intouch_setsuccessmessage);
	}
		
	function intouch_setsuccessmessage(message) {
		document.getElementById('intouchform').reset();
		doInnerXHTML('usermessage', message);
	}
	
	function intouch_validate() {
		if(doInnerXHTML('usermessage', 'Please wait...')) {
		
			var all_valid = true;
			
			if(document.getElementById('field_1').value == '') {
				document.getElementById('field_1').className = "error";
				all_valid = false;
			}
			else {
				document.getElementById('field_1').className = "default";
			}
			
			var regexp = new RegExp('^[\\w-_\.]+@[\\w-_]+[\.][\\w-_\.]+$');
							
			if(document.getElementById('field_2').value == '' || ! document.getElementById('field_2').value.match(regexp)) {
				document.getElementById('field_2').className = "error";
				all_valid = false;
			}
			else {
				document.getElementById('field_2').className = "default";
			}
			
			<?php 
				for($i = 3; $i <= $field_count; $i++) {
					$field_stat = explode('$#$', get_option('intouch_count_field_' . $i));
					$field_required = $field_stat[2];
					
					if($field_required  == 1) {
			?>
			
			if(document.getElementById('field_<?php echo($i); ?>').value == '') {
				document.getElementById('field_<?php echo($i); ?>').className = "error";
				all_valid = false;
			}
			else {
				document.getElementById('field_<?php echo($i); ?>').className = "default";
			}
			
			<?php 
					}
				}
			?>
			
			if(all_valid) {
				intouch_submitcomment();
			}
			else {
				doInnerXHTML('usermessage', '<?php echo(get_option('intouch_failure')); ?>');
			}
			
			return false;
		}
		else {
			return true;
		}
	}
	
	// fallback if DOMParser and innerHTML are not working
	function doInnerXHTML(elementId, stringXHTML) {
		try {
			var elem = document.getElementById(elementId);
			var children =  elem.childNodes;
		
			for (var i = 0; i < children.length; i++) {
				elem.removeChild(children[i]);
			}
		
			var nodes = new DOMParser().parseFromString('<span>' + stringXHTML + '</span>', 'text/xml');
			var range = document.createRange();
			range.selectNodeContents(document.getElementById(elementId));
			range.deleteContents();
			
			for (var i = 0; i < nodes.childNodes.length; i++) {
				document.getElementById(elementId).appendChild(nodes.childNodes[i]);
			}
			return true;
		} catch (e) {
			try {
				document.getElementById(elementId).innerHTML = stringXHTML;
				return true;
			}
			catch(ee) {
				return false;
			}
		}
	}
	
	//--><!]]>