function showETOF(e,pageType) {
    
    if (!e) e = window.event;

    if (!pageType) type = 'article' ; 
    
    if (e.pageX || e.pageY) {
	clickedAtX = e.pageX ;
	clickedAtY = e.pageY ;
	
    } else if (e.clientX || e.clientY) {
	clickedAtX = e.clientX + document.body.scrollLeft +  document.documentElement.scrollLeft;
	clickedAtY = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;   
	
    }
     
    theETOF = document.getElementById("bdc_emailWidget");
    viewportHeight = document.body.clientHeight;
    availAbove = clickedAtY - document.body.scrollTop - document.documentElement.scrollTop ;
    availBelow = viewportHeight - availAbove;
    
    if (pageType == 'blog' ) { 
		
	
		document.getElementById("pointer_bottom").style.display = 'none'; 
		document.getElementById("pointer_top").style.display = 'block';
		if ($.browser.mozilla) { 
			document.getElementById("pointer_top").style.left = 240 + 'px';
			theETOF.style.top  = clickedAtY - 210  + 'px' ;
			theETOF.style.left  = clickedAtX - 364 + 'px' ;

		} else if  ($.browser.safari) { 
			document.getElementById("pointer_top").style.left = 270 + 'px';
			theETOF.style.top  = clickedAtY - 210  + 'px' ;
			theETOF.style.left  = clickedAtX - 300  + 'px' ;
			
		} else { 
			document.getElementById("pointer_top").style.left = 270 + 'px';
			theETOF.style.top  = clickedAtY - 200  + 'px' ;
			theETOF.style.left  = clickedAtX - 364 + 'px' ;
		}	
		
    } else { 
	theETOF.style.top  = clickedAtY + 'px' ; 
	document.getElementById("pointer_bottom").style.display = 'none'; 
	document.getElementById("pointer_top").style.display = 'block';
    }
    document.getElementById("message").value = '';
    document.getElementById("theEMTOFForm").style.display = 'block';
    document.getElementById("bdc_EMTOF_sent").style.display = 'none';
    document.getElementById("recipient_email").value = 'Separate multiple addresses with a comma';
    theETOF.style.display = 'block';
}

function validateEMTOF() { 
    
    var emailRegexStr = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
    var semail = document.getElementById("sender_email");
    var remail = document.getElementById("recipient_email");
    var validatedOK = true;
    var date = new Date();
    var curDate = null;
    var remailList = remail.value.split(/ *, */); 
    for(var i = 0; i < remailList.length; ++i) {
	
	if ( emailRegexStr.test(remailList[i]) == false ){
	    remail.className = 'error'; validatedOK = false;
	    break;
	} else { 
	    remail.className = 'noerr';
	} 
    } 
    
    if ( emailRegexStr.test(semail.value) == false ){
	semail.className = 'error'; validatedOK = false;
    } else { 
	semail.className = 'noerr';
    } 
    
    return validatedOK;
}

// will do this via bonzai but for testing 
function writeStoryURL() { 
    document.write("<input type=\"hidden\" id=\"story_url\" name=\"story_url\" value=\"" + location.href +"\"  />") ; 
} 

// Init JQuery event listener, form submit etc 
$(function() {
	
	// listen for onclick - article pages .etaf 
	$(".etaf").click(function(e){
		showETOF(e);
	    })
	    
	    // Blog pages - target using 2nd class, pass in pagetype param  
	    $(".etaf.blog").click(function(e){
		    showETOF(e,'blog');
		    
		})
	    
	    // submit form 
	    $(".form-button").click(function() {
		    valid = validateEMTOF() ; 
		    if(valid ) { 
			var dataString = 'sender_name='+ $("#sender_name").val() + '&sender_email=' + $("#sender_email").val() + '&recipient_email=' + $("#recipient_email").val() + '&message=' + $("#message").val() + '&story_url=' + encodeURIComponent($("#story_url").val())   ;
			$.ajax({
				type: "POST",
				    url: "/emtaf/",
				    data: dataString,
				    success: function(){
				    $('#theEMTOFForm').hide();
				    $('#bdc_EMTOF_sending').show();
				    $('#bdc_EMTOF_sending').fadeOut(3000, function(){ 
					    $('#bdc_emailWidget').fadeOut(3000);
					    $('#bdc_EMTOF_sent').show();
					} );
				}
			    }); 
		    } 
		    return false;
		});
    });



