/* this is where the magic happens.. */
$(document).ready(function(){

    var email = $("#emailx");
    var allFields = $([]).add(email);
    var tips = $("#validateTips");
    var newsletterEmail = $('#newsletterEmailx');

    $("#newsletterEmailx").keypress(function (e) {
          if (e.which == 13) {
              $("#newsletter_btn").trigger('click');
              return false;
          }
    });

	if (typeof(disableEmailGrabber) != 'undefined') {
	    if (disableEmailGrabber == 1) {
	        trackConvX(3);
			$('.newsletter').hide();
			$('#TB_overlay').hide();
			$('#TB_window').hide();
		}
	}
	
    if ($.cookie('PrintableVouchers') == '1') {
	    trackConvX(3);
        $('.newsletter').hide();
        $('#TB_overlay').hide();
        $('#TB_window').hide();

		$.getScript("http://www.discountvouchers.co.uk/wp-content/themes/New-DV2/scripts/script.js"); 
    }

    function updateTips(t) {
        tips.text(t).effect("highlight", {}, 1500);
    }

    function checkLength(o,n,min,max) {

        if ( o.val().length > max || o.val().length < min ) {
            o.addClass('ui-state-error');
            updateTips("Length of " + n + " must be between "+min+" and "+max+".");
            return false;
        } else {
            return true;
        }
    }

    function checkRegexp(o,regexp,n) {
        if (! regexp.test(o.val()) ) {
            o.addClass('ui-state-error');
            updateTips(n);
            return false;
        } else {
            return true;
        }
    }

    $("#invalid").dialog({
        bgiframe: true,
        autoOpen: false,
        height: 140,
        modal: true, 					
		buttons: {
			"OK": function() { 
				$(this).dialog("close"); 
			}
		}
    });

    $("#waitingConfirmation").dialog({
        bgiframe: true,
        autoOpen: false,
        height: 170,
        modal: true
    });

    $('#newsletter_btn').click(
        function() {
            var formEmail = $('#newsletterEmailx').val();
            var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

			// Invalid e-mail
            if (!filter.test(formEmail)) {
                $("#invalid").dialog('open');
			// Valid e-mail, so show confirmation dialog box
            } else {
			    /* google conversion: user has given a valid e-mail */
				trackConvX(1);
				
				/* show waiting for confirmation dialog */
				$("#waitingConfirmation").dialog('open');

				/* get rid of the ajax loading icon after 10 seconds */
				setTimeout("activateButton()", 10000);

				/* add e-mail to database */
				var dataString = 'emailiFrame='+ $('#newsletterEmailx').val(); 
				$.ajax({  
					type: "POST",  
					url: "http://www.discountvouchers.co.uk/wp-content/themes/New-DV2/signup.php",  
					data: dataString
				});
				
				var dataString = 'http://www.discountvouchers.co.uk/wp-content/themes/New-DV2/signup.php?' + 'emailiFrame=' + $('#newsletterEmailx').val(); 

				 $.ajax({
				   type: "GET",
				   url: dataString,
				   success: function(data){

					/* e-mail has not been confirmed, LIARS! */
					if (data == 1) {
		               $.getScript("http://www.discountvouchers.co.uk/wp-content/themes/New-DV2/scripts/script.js");
					
					   /* track this as a confirmation, for Doug */
					   trackConvX(3);
					   
					   /* drop a cookie so they don't get this prompt for 20 days */
					   $.cookie("PrintableVouchers", "1", { expires: 20 });

					   /* SHOW PAGE :) */
					   $('.newsletter').hide();
					   $('#TB_overlay').hide();
					   $('#TB_window').hide();
					   $("#waitingConfirmation").dialog('close');
					}
				 }});
            }

            return(false);
        }
    );
	
	/* how many times has the user clicked the confirm button? */
	var buttonClickCount = 0;
	
	$('#confirmationButton').click(function(){
	    /* if they've clicked the button unsuccessfully more than 10 times, forget doing another ajax call */
	    if (buttonClickCount > 10) {
		    return false;
		}
	
		var dataString = 'http://www.discountvouchers.co.uk/wp-content/themes/New-DV2/signup.php?' + 'emailiFrame=' + $('#newsletterEmailx').val(); 

		 $.ajax({
		   type: "GET",
		   url: dataString,
		   success: function(data){
			/* e-mail has not been confirmed, LIARS! */
			if (data != 1) {
				alert("E-mail address not confirmed, please check your inbox and spam folders again.");
				buttonClickCount++;
			/* e-mail was confirmed */
			} else {
		       $.getScript("http://www.discountvouchers.co.uk/wp-content/themes/New-DV2/scripts/script.js");
			
			   /* track this as a confirmation, for Doug :) */
			   trackConvX(3);
			   
			   /* drop a cookie so they don't get this prompt for 20 days */
			   $.cookie("PrintableVouchers", "1", { expires: 20 });

			   /* SHOW PAGE :) */
			   $('.newsletter').hide();
			   $('#TB_overlay').hide();
			   $('#TB_window').hide();
			   $("#waitingConfirmation").dialog('close');
			}
		 }});

	     return false;
	});
});

function blank(a) { if(a.value == a.defaultValue) a.value = ""; }
function unblank(a) { if(a.value == "") a.value = a.defaultValue; }
function activateButton() {$('#loadingIcon').hide();$('#confirmationButton').show();}

function trackConvX(conversionAction) {
    var google_conversion_id = 1041045776;
    var google_conversion_language = "en_GB";
    var google_conversion_format = "3";
    var google_conversion_color = "ffffff";

	switch (conversionAction) {
	    /* email given */
	    case 1:
            var google_conversion_label = "xZd3CKThmQEQkLK08AM";
		    break;
		/* landed on confirmation page */
		case 2:
            var google_conversion_label = "WyR9CKCHmgEQkLK08AM";
		    break;
		/* confirmation button clicked, confirmed */
		case 3:
            var google_conversion_label = "DarkCP7hmQEQkLK08AM";
		    break;
		/* confirmed and saved personal details */
		case 4:
            var google_conversion_label = "8jnQCNjimQEQkLK08AM";
		    break;
		/* test for GraphicMail tracking */
		case 666:
		    var google_conversion_label = "FElcCMrBmwEQkLK08AM";
		    break;
	}

    var iframeURL = "http://www.discountvouchers.co.uk/AdWordsTracker.php?conversionID=" + google_conversion_id + "&conversionLabel=" + google_conversion_label;
	$('#adwordsTracking').attr('src', iframeURL);
    return;
}

