// JavaScript Document

function fnGetDomain(url) {
return (url.match(/:\/\/(.[^/]+)/)[1]).replace('www.','');
}

$(document).ready(function(){


 $('#desc').keyup(function(){
var text = $("#desc").val(); 
var textlength = text.length;
var limit= 186; 

if(textlength > limit)

 {
     $('#info').html('<div class="error">You cannot write more then '+limit+' characters!</div>');

    $('#desc').val(text.substr(0,limit));

    hasError = true;

   }

  else

  {
    $('#info').html('You have '+ (limit - textlength) +'characters left.');
  }

 });

	$("#submit").click(function(){					   				   
		$(".error").hide();
		var hasError = false;
		var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
		 var urlReg = /((http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?)/;  

		var emailFromVal = $("#email").val();
		if(emailFromVal == '') {
			$("#email").after('<div class="error">Please enter your email address.</div>');
			hasError = true;
		} else if(!emailReg.test(emailFromVal)) {	
			$("#email").after('<div class="error">Please enter a valid email address..</div>');
			hasError = true;
      }
		
		var titleVal = $("#title").val();
		if(titleVal == '') {
			$("#title").after('<div class="error">Please enter the website link title.</div>');
			hasError = true;
		}
		
		
		 //var urlReg= /http:\/\/[A-Za-z0-9\.-]{3,}\.[A-Za-z]{3}/;
		 var urlVal = $("#url").val();
		if(urlVal == '') {
			$("#url").after('<div class="error">Please enter your website address.</div>');
			hasError = true;
		} else if(!urlReg.test(urlVal)) {	
			$("#url").after('<div class="error">Please enter a valid website address..</div>');
			hasError = true;
		}
    
				
		var categoryVal = $("#category").val();
		if(categoryVal == '') {
			$("#category").after('<div class="error">Please select one category.</div>');
			hasError = true;
		}
		
				
	   var rpurlVal = $("#resiurl").val();

       	if(rpurlVal == '') {
			$("#resiurl").after('<div class="error">Please enter the reciprocal address.</div>');
			hasError = true;
		} 
        else if(!urlReg.test(rpurlVal)) {	
		       
			$("#resiurl").after('<div class="error">Reciprocal URL must be a valid website address...</div>');
			hasError = true;
        }
		else if (rpurlVal != ''){
		var rdomain = fnGetDomain(rpurlVal);
         var wdomain = fnGetDomain(urlVal);
		
		if(rdomain != wdomain) {
            $("#resiurl").after('<div class="error">Website URL and Reciprocal must be same...</div>');
			hasError = true;
        }
	   }
	   
		var recaptchaVal = $("#recaptcha_response_field").val();
		if(recaptchaVal == '') {
			$("#captcha").html('Please enter the Captcha text');
			hasError = true;
			
		}	
		
		if(recaptchaVal != '')  {
				
			var challengeField = $("#recaptcha_challenge_field").val();
    		var responseField = $("#recaptcha_response_field").val();

   			 var html = $.ajax({
   			 type: "POST",
   			 url: "inc/ajax.recaptcha.php",
   			 data: "recaptcha_challenge_field=" + challengeField + "&recaptcha_response_field=" + responseField,
   			 async: false
   			 }).responseText;
			 
			 var result = html.replace(/^\s+|\s+$/, '');
          if (result == "success")
               { 
				$("form").attr("action", "inc/sendemail.php");
				alert('Thank you. Your submission has been sent successfully. Please allow up to 72 hours for your link to be added.');
				//$("#captcha").html('<div  class="thankyou">Thank you. Your submission has been sent successfully. <br>Please allow up to 72 hours for your link to be added.</div>');				
            	return true;
				}
   			else {
				
      		 $("#captcha").html('CAPTHCA Validation error.  Please try again.');
      		  Recaptcha.reload();
              hasError = true;
  			 }
		}
		
		
		if(hasError == false) {
			$(this).hide();
			 
		}
		
		return false;
	});						   
});