function emailCheck(email) {
		var emailPat=/^(.+)@(.+)$/;
		var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
		var validChars="\[^\\s" + specialChars + "\]";
		var quotedUser="(\"[^\"]*\")";
		var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
		var atom=validChars + '+';
		var word="(" + atom + "|" + quotedUser + ")";
		var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
		var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
		var matchArray=email.match(emailPat);

		if (matchArray==null) {
			return false;
		}

		var user=matchArray[1];
		var domain=matchArray[2];

		if (user.match(userPat)==null) {
			return false;
		}

		var IPArray=domain.match(ipDomainPat);
		if (IPArray!=null) {
			  for (var i=1;i<=4;i++) {
				if (IPArray[i]>255) {
				return false;
				}
			}
			return true;
		}

		var domainArray=domain.match(domainPat)
		if (domainArray==null) {
			return false;
		}

		var atomPat=new RegExp(atom,"g");
		var domArr=domain.match(atomPat);
		var len=domArr.length;
		if (domArr[domArr.length-1].length<2 ||
			domArr[domArr.length-1].length>3) {
		   return false;
		}

		if (len<2) {
		   return false;
		}
    return true;
}

var $myjQuery = jQuery.noConflict();

(function($) {
$myjQuery.fn.ajaxSubmit = function(e) {
		this.submit(function(){

			$myjQuery("#emailErrors").css("display","none");
			$myjQuery("#emailErrors").html("");

alert("dentro del ajax");			
			
			var params = {};
			var errorflag = false;
            var error_msgs = new Array();

			$myjQuery(this)
			.find("input[checked], input[type='text'], input[type='hidden'], input[type='password'], input[type='submit'], option[selected], textarea")
			.each(function() {
				params[ this.name || this.id || this.parentNode.name || this.parentNode.id ] = this.value;
			});

			$myjQuery("body").addClass("curWait");
			$myjQuery("#loadBar").css("display","block");

alert(params['txtEmail']);						
			
			if (emailCheck(params['txtEmail']) == false) {
				errorflag = true;
				error_msgs.push("&#160;&#160;Email no v&aacute;lido<br />");
			}
alert(params['txtName']);						
			if (params['txtName'] == "" || params['txtName'] == null) {
				errorflag = true;
				error_msgs.push('&#160;Nombre en blanco<br />');
			}

			if (errorflag) {

alert("algo dio error");						
			
				for (i=0;i<error_msgs.length;i++){
					$myjQuery("#emailErrors").append(error_msgs[i]);
				}
                $myjQuery("#emailErrors").show("slow");

    			$myjQuery("body").removeClass("curWait");
    			$myjQuery("#loadBar").css("display","none");

    			return false;

			} else {

				$myjQuery.ajax({
				type: "POST",
				data: params,
				url: this.getAttribute("action"),
				contentType: "application/x-www-form-urlencoded;charset=iso-8859-1",            
				timeout: 2000,
				error: function() {
						$myjQuery("#emailErrors").html("Problemas de conexi&oacute;n al enviar el email. Por favor, volver a intentar m&aacute;s tarde.");
						$myjQuery("#emailErrors").show("slow");
					},
				success: function(r) {
						if (r == "ERR") {
							$myjQuery("#emailErrors").html("Problemas de conexi&oacute;n al enviar el email. Por favor, volver a intentar m&aacute;s tarde.");
							$myjQuery("#emailErrors").show("slow");
						} else {
							$myjQuery("#frmSubscribe").css("display","none");
							$myjQuery("#emailSuccess").show("slow");      		      
						}             
					}
				})

				$myjQuery("#txtName").val("");
				$myjQuery("#txtEmail").val("");
				$myjQuery("body").removeClass("curWait");
				$myjQuery("#loadBar").css("display","none");

				return false;

			}

		});

		return this;
};


$.fn.ajaxSubmitContacto = function(e) {
    this.submit(function(){

	$("#contactErrors").css("display","none");
    $("#contactErrors").html("");
    $("#contactSuccess").css("display","none");

    var params = {};
    var errorflag = false;
    var error_msgs = new Array();

    params['ctxtEmail'] = this.ctxtEmail.value;
    params['ctxtName'] = this.ctxtName.value;
    params['ctxtPhone'] = this.ctxtPhone.value;
    params['ctxtSubject'] = this.ctxtSubject.value;
    params['ctxtMsg'] = this.ctxtMsg.value;
    params['form'] = this.form.value;


    $("body").addClass("curWait");
    $("#contactloadBar").css("display","block");

    if (params['ctxtName'] == "" || params['ctxtName'] == null) {
    	errorflag = true;
    	error_msgs.push('Nombre en blanco<br />');
    }

    if (emailCheck(params['ctxtEmail']) == false) {
    	errorflag = true;
    	error_msgs.push("Email no v&aacute;lido<br />");
    }

    if (params['ctxtSubject'] == "" || params['ctxtSubject'] == null) {
    	errorflag = true;
    	error_msgs.push('Asunto en blanco<br />');
    }

    if (params['ctxtMsg'] == "" || params['ctxtMsg'] == null) {
    	errorflag = true;
    	error_msgs.push('Mensaje en blanco<br />');
    }

    if (errorflag) {

        for (i=0;i<error_msgs.length;i++){
            $("#contactErrors").append(error_msgs[i]);
        }
        $("#contactErrors").css("display","block");

        $("body").removeClass("curWait");
        $("#contactloadBar").css("display","none");

        return false;

    } else {

         $.ajax({
            type: "POST",
            data: params,
            url: this.getAttribute("action"),
            timeout: 2000,
            error: function() {
								$("#contactErrors").html("Problemas de conexi&oacute;n al enviar el email. Por favor, volver a intentar m&aacute;s tarde.");
								$("#contactErrors").css("display","block");
            },
            success: function(r) {
              if (r == "ERR") {
									$("#contactErrors").html("Problemas de conexi&oacute;n al enviar el email. Por favor, volver a intentar m&aacute;s tarde.");
									$("#contactErrors").css("display","block");
              } else {
                  $("#contactSuccess").show("slow");      		      
              }             
            }
          })

	$("#ctxtName").val("");
	$("#ctxtEmail").val("");
	$("#ctxtPhone").val("");
	$("#ctxtSubject").val("");
	$("#ctxtMsg").val("");

	$("body").removeClass("curWait");
	$("#contactloadBar").css("display","none");

	return false;

      }

});

return this;
};

})(jQuery);
