var popupVisible = false;
var fxForm;
var fxPopup;

window.addEvent('domready', function() {

    fxForm = new Fx.Style($E('div#popup form'), 'opacity', {duration: 400});
    fxPopup = new Fx.Style('popup', 'opacity', {duration: 400});
    $E('div#popup input#submit').addEvent('click', function() { subscribe() });

});

function showPopUp() {	

	if(!popupVisible) {
	    fxPopup.set(0);
	    fxPopup.element.setStyle('left', '630px');
	    fxPopup.start(0,1).chain(function() { popupVisible = true });
	}
}

function closePopUp() {

	if(popupVisible) {
	    popupVisible = false;
		fxPopup.set(1);
		fxPopup.start(1,0);
	}
}

function subscribe() {
   
    var form = $E('div#popup form');
    var email = $E('input#email', form).value;
    var url = form.getAttribute('action');
    
    if(!isEmailValid(email))
       return; 
    
    fxForm.start(1,0);
    new XHR({method: 'get', onSuccess: showSuccess, onFailure: showFailure}).send(url, 'email=' + email);
}

function isEmailValid(email)
{
    if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email)) {
        return true;
    }
    else {
        alert("Please enter a valid email address")
        return false;
    }
}

function showFailure()
{
    subscribeResult(false);
}

function showSuccess(result)
{
    subscribeResult((result == "OK"));
}

function subscribeResult(bSuccess)
{
    var form = $E('div#popup form');

    if(bSuccess) {
        fxForm.chain(function() { 
            
            form.setHTML("Thanks for subscribing to the <br />Jeep Newsletter!");  
            form.addClass('status'); 
            fxForm.start(0,1);
        });
    }
    else {
        fxForm.chain(function() { 
            form.setHTML("Sorry, a problem has occured.<br />Please reload the page and try again.");
            form.addClass('status');
            fxForm.start(0,1);
        });   
    }
}

function extremeLinkTracking() {

}

function extremePageTracking() {

}