﻿
$('txtTo').addEvent('keypress', function(event) {  if (event.keyCode == 13) { return false; } });
$('txtTo').addEvent('keyup', function(event) { 
    if(this.value.length > 0) { $('lblovertxtto').removeClass('on'); }
    else { $('lblovertxtto').addClass('on'); }
});
$('txtTo').addEvent('click', function() { $('lblovertxtto').removeClass('on'); });
$('txtTo').addEvent('blur', function() {  
    if(this.value.length == 0) { $('lblovertxtto').addClass('on'); }
});
$('lblovertxtto').addEvent('click', function() { $('lblovertxtto').removeClass('on'); });


$('txtFrom').addEvent('keypress', function(event) { if (event.keyCode == 13) { return false; } });
$('txtSubject').addEvent('keypress', function(event) { if (event.keyCode == 13) { return false; } });
$('txtSubject').store('default', $('txtSubject').value);

$('txtMessage').addEvent('keypress', function(event) { if (event.keyCode == 13) { return false; } });
$('txtMessage').addEvent('keyup', function(event) { 
    if(this.value.length > 0) { $('lblovertxtmessage').removeClass('on'); }
    else { $('lblovertxtmessage').addClass('on'); }
    if(this.value.length > 500) { this.value = this.value.substring(0,500); }
    $('txtChars').value = this.value.length;
});
$('txtMessage').addEvent('click', function() { $('lblovertxtmessage').removeClass('on'); });
$('txtMessage').addEvent('blur', function() {  
    if(this.value.length == 0) { $('lblovertxtmessage').addClass('on'); }
});
$('txtMessage').addEvent('focus', function() { $('lblovertxtmessage').removeClass('on'); });
$('lblovertxtmessage').addEvent('click', function() { $('lblovertxtmessage').removeClass('on'); });

    
$('btnSubmitEmail').addEvent('mouseover', function(){ $('emailformvalidation').innerHTML = ''; });
$('emailformvalidation').addEvent('mouseover', function(){ $('emailformvalidation').innerHTML = ''; });


function closeEmailForm() {
        $$('#titlehead p').setStyles({display:''});
        $('txtTo').value = "";
        $('lblovertxtto').addClass('on');
        $('txtSubject').value = $('txtSubject').retrieve('default');
        $('txtFrom').value = '';
        $('txtMessage').value = "";
        $('lblovertxtmessage').addClass('on');
        $('txtChars').value = '0';
        
		$('emailstatus').setStyles({display:'none'});
		$('emailinputform').setStyles({display:''});
	    
	    $('emailsendmesage').innerHTML = '';
        $('emailsendmesage').setStyles({display:'none'});		    
    }
function setemailformmessage(msg) {
        $$('#titlehead p').setStyles({display:'none'});
        $('emailinputform').setStyles({display:'none'});
	    $('emailsendmesage').setStyles({display:''});
	    $('emailsendmesage').innerHTML = msg;
    }    
    
var sendEmailReq = new Request({
	    url: '/SendFriendEmail.aspx',
    	
    	// REQUEST HANDLER - START LAODING GIF
	    onRequest: function() {
		    $('emailstatus').setStyles({display:''});
	    },
    	
	    // SUCCESS HANDLER
	    onSuccess: function(response) {
	        $('emailstatus').setStyles({display:'none'});
	        var x = eval( "resp = " + response);
	        var msg = x.success ?
	            "<p><a href='javascript:void(0);'>" + x.message + "</a></p>" :
	            "<p><a href='javascript:void(0);'>There was an error submitting your request.</a></p>";
	        
	        setemailformmessage(msg);
	    },

	    // FAIL HANDLER
	    onFailure: function(txt) {
	        $('emailstatus').setStyles({display:'none'});
	        var msg = "<p><a href='javascript:void(0);'>There was an error submitting your request.</a></p>";
	        setemailformmessage(msg);
	    }
    });   
    
    
$('btnSubmitEmail').addEvent('click', function(){

        if ( formValid() ) {
            //$('closeemailform').setStyles({display:'none'});
		    $('emailstatus').setStyles({display:''});  
		    
		    var formdata = '{' +
		        '"emailto":"' +  $('txtTo').value + '",' + 
		        '"emailfrom":"' + $('txtFrom').value + '",' + 
		        '"subject":"' + $('txtSubject').value + '",' +
		        '"message":"' +  $('txtMessage').value + '",' +
		        '"itemId":"' + $('txtEmailItemId').value + '"}';
		    
		    sendEmailReq.send({data: formdata});
        }
    });
    

function formValid() {
    
        var regxp = new RegExp("\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*"); 
        
        if ($('txtTo').value.length == 0 || $('txtFrom').value.length == 0) {
            $('emailformvalidation').innerHTML = 'please specify an email address.';
            $('emailformvalidation').setStyles({float: "left", marginLeft: 140, color:"red", fontWeight: "bold"});
            return false;
        }
        
        var tolist = $('txtTo').value.split(",");
        for (var i = 0; i < tolist.length; i++) {
            if ( !regxp.test(tolist[i]) ) {
                $('emailformvalidation').innerHTML = tolist[i] + ' is not a valid email address.';
                $('emailformvalidation').setStyles({float: "left", marginLeft: 140, color:"red", fontWeight: "bold"});
                return false;
            }
        }
        
        if ( !regxp.test($('txtFrom').value) ) {
            $('emailformvalidation').innerHTML = $('txtFrom').value + ' is not a valid email address.';
            $('emailformvalidation').setStyles({float: "left", marginLeft: 140, color:"red", fontWeight: "bold"});
            return false;
        }
        
        
        
        return true;
    }
    
    function sendtofriend() {
        ModalBox.open($('sendemail'), {onCloseFunction: closeEmailForm});
        // move the TO label to it's spot
        var lbtopl1 = $('txtTo').getPosition().y - $('sendemail').getPosition().y + 3;
        var lbleftl1 = $('txtTo').getPosition().x - $('sendemail').getPosition().x + 3;
        $('lblovertxtto').setStyles({top:lbtopl1, left:lbleftl1});
        
        // move the MESSAGE label to it's spot
        var lbtopl2 = $('txtMessage').getPosition().y - $('sendemail').getPosition().y + 3;
        var lbleftl2 = $('txtMessage').getPosition().x - $('sendemail').getPosition().x + 1;
        $('lblovertxtmessage').setStyles({top:lbtopl2, left:lbleftl2});
    }
    