/**
 * Default javascript
 */

/**
 * dummy function for imitating email sending
 */
function sendmail(local, remote){
  if(!local || !remote || local.length < 1 || remote.length < 1){ return false; }
  var address = 'mailto:'+local+'@'+remote+'?subject=';
}

/**
 * feedback form
 */
function feedback(data, url){
	if(!url || url.length < 1){ return false; }
	var target = 'p.found-useful';
	var params = 'd='+data;
	jQuery(target).load(url, params);
}

/**
 * clear text field
 */
function clearText(thefield){
	if (thefield.defaultValue == thefield.value){ thefield.value = ""; }
}

/**
 * validate form
 */
var Validate = (function(params){
	var _params = {
		messages: {
			'required':'',
			'email':''
		},
		target: ''
	};
	
	// check for target
	if(!params.target || params.target.length < 1){ return false; }
	
	// extend params
	_params = jQuery.extend(_params, params);
	
	// bind validation function with submit event
	jQuery(_params.target).bind('submit', function(){
		return _validate();
	});
	
	function _notice(element, type){
		if(!element || !type || type.length < 1){ return false; }
		var notice = jQuery('<span></span>').addClass('notice').text(_params.messages[type]);
		jQuery(element).after(notice);
	}
	
	function _validate(){
		var result = true;
		var focus = null;
		
		// remove all notices
		jQuery('.notice', jQuery(_params.target)).remove();
		
		$(':input', jQuery(_params.target)).each(function(key, element){
			var value = jQuery(element).val();
			
			// validate fields
			if(jQuery(element).hasClass('valid-required') && (!value || value.length < 1)){
				_notice(element, 'required');
				result = false;
			}else if(jQuery(element).hasClass('valid-email') && value && /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(value) == false){
				_notice(element, 'email');
				result = false;
			}
			
			// set focus element (if not set, yet)
			if(focus == null){ focus = element; }
		});
		
		// set focus on element
		if(focus != null){ jQuery(focus).get(0).focus(); }
		
		return result;
	}
});