// JavaScript Document


        function clickclear(thisfield, defaulttext) {
        if (thisfield.value == defaulttext) {
        thisfield.value = "";
        }
        }
        function clickrecall(thisfield, defaulttext) {
        if (thisfield.value == "") {
        thisfield.value = defaulttext;
        }
        }
        



// prepare the form when the DOM is ready 
$(document).ready(function() { 
    var options = { 
        target:        '#output',   // target element(s) to be updated with server response 
        beforeSubmit:  validateForm,  // pre-submit callback 
		success:       showResponse,  // post-submit callback
 		url: 		   'sendcontact.php',
		type: 		   'post'      
    }; 

    // bind to the form's submit event 
    $('#contactform').submit(function() { 
        $(this).ajaxSubmit(options);		 
        return false; 
    });
	
}); 

// Newsletter
// prepare the form when the DOM is ready 
$(document).ready(function() { 
    var newsletteroptions = { 
        target:        '#output',   // target element(s) to be updated with server response 
        beforeSubmit:  validateNewsletterForm,  // pre-submit callback 
		success:       showResponse,  // post-submit callback
 		url: 		   'sendnewsletter.php',
		type: 		   'post'      
    }; 

    // bind to the form's submit event 
    $('#newsletterform').submit(function() { 
        $(this).ajaxSubmit(newsletteroptions);		 
        return false; 
    });
	
}); 
 
// pre-submit callback 
function validateForm(formData, jqForm, options) {      
	var errors=0;
	var form = jqForm[0]; 
    
	if (!form.mname.value || !form.mphone.value)
		errors++;
		
	if (!isValidEmail(form.memail.value))
        errors++;
	
	
	if(errors >= 1)
	{
		document.getElementById("output").innerHTML = "Por favor rellene los campos obligatorios";
		return false;
	}
	else
	{
		document.getElementById("output").innerHTML = "Enviando e-mail... Espere";
		return true;
	}
}

// newsletter pre-submit callback 
function validateNewsletterForm(formData, jqForm, options) {      
	var errors=0;
	var form = jqForm[0]; 
    
	if (!form.nname.value || !form.nphone.value)
		errors++;
		
	if (!isValidEmail(form.nemail.value))
        errors++;
	
	
	if(errors >= 1)
	{
		document.getElementById("output").innerHTML = "Por favor rellene los campos obligatorios";
		return false;
	}
	else
	{
		document.getElementById("output").innerHTML = "Enviando e-mail... Espere";
		return true;
	}
}

// post-submit callback 
function showResponse(responseText, statusText)  {  
  if(statusText == "success")
   	 $('#contactform').resetForm();

} 


//validate email address

function isValidEmail(email, required) {
    if (required==undefined) {   // if not specified, assume it's required
        required=true;
    }
    if (email==null) {
        if (required) {
            return false;
        }
        return true;
    }
    if (email.length==0) {  
        if (required) {
            return false;
        }
        return true;
    }
    if (! allValidChars(email)) {  // check to make sure all characters are valid
        return false;
    }
    if (email.indexOf("@") < 1) { //  must contain @, and it must not be the first character
        return false;
    } else if (email.lastIndexOf(".") <= email.indexOf("@")) {  // last dot must be after the @
        return false;
    } else if (email.indexOf("@") == email.length) {  // @ must not be the last character
        return false;
    } else if (email.indexOf("..") >=0) { // two periods in a row is not valid
	return false;
    } else if (email.indexOf(".") == email.length) {  // . must not be the last character
	return false;
    }
    return true;
}

function allValidChars(email) {
  var parsed = true;
  var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
  for (var i=0; i < email.length; i++) {
    var letter = email.charAt(i).toLowerCase();
    if (validchars.indexOf(letter) != -1)
      continue;
    parsed = false;
    break;
  }
  return parsed;
}