﻿
 // AJAX handler class
var emailAJAX = new Class(
{
    initialize: function() 
    {                
        //$('emailBox').makeDraggable();
        
        this.boxVisible = false;
        
        $('name1').onclick = function(){$('name1').focus();}
        $('name2').onclick = function(){$('name2').focus();}
        $('email1').onclick = function(){$('email1').focus();}
        $('email2').onclick = function(){$('email2').focus();}
        
        $('emailBox').style.top = "200px";
        $('emailBox').style.left = "500px"; 
        
        this.coverFade = new Fx.Style('emailCover', 'opacity', {duration:500});
        this.coverFade.set(0);                       
        
        this.boxFade = new Fx.Style('emailBox', 'opacity', {duration:700, onComplete: this.fadeComplete});
        this.boxFade.set(0);
    },

    showEmailBox: function()
    {
        //$('name1').focus();
        
        $('name2').value = "";
        $('email2').value = ""; 
        
        $('emailCover').setStyle('display', 'block');       
        $('emailBox').setStyle('display', 'block');
        
        this.boxFade.start(1);	        
        this.coverFade.start(.6);
    },

    hideEmailBox: function()
    {                      	
        this.boxFade.start(0);
        this.coverFade.start(0);
    },
    
    fadeComplete: function()
    {
        if (_email.boxVisible)
        {            
            $('emailBox').setStyle('display', 'none');
            $('emailCover').setStyle('display', 'none');
            _email.boxVisible = false;
        }
        else
        {
            $('name1').focus();
            _email.boxVisible = true;
        }
    },

    sendEmail: function()
    {
		var me = this;
        Anthem_InvokePageMethod('sendEmail', 
                                [$('name1').value, 
                                $('email1').value, 
                                $('name2').value,
                                $('email2').value],
								function(result){
									me.hideEmailBox();
								});
    },

	isNotValid: function()
	{
		this.validEmail = /^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$/;

		if ($('name1').value != "") 
			return "Your name is missing";

		if ($('name2').value != "")
			return "The recepient's name is missing";

		if ($('email1').value != "")
			return "Your email address is missing";

		if ($('email2').value != "") 
			return "The recepient's email address is missing";

		if (this.validEmail.match($('name1').value)) 
			return "Your email address is invalid";

		if (this.validEmail.match($('name2').value)) 
			return "The recepient's email address is invalid";

		return false;
	}
});

var _email = new emailAJAX();
