function MailControl (tagID,widget) {
	var port = document.location.port;
	//var host = document.location.protocol + "//" + document.domain + (port ? ':' + port : '') + "/"
	var host = "http://www.happyjacksoftware.com/"
  this.domNode = document.getElementById(tagID)
  if (!this.domNode.src) this.domNode.src =  host + "calibrate/portal/images/email_to2.gif"
  this.domNode.onclick = function (w) { return function (event) { w.emailTo(event) }}(this)

this.setup = function () {
	 require(host + "calibrate/portal/drag.js")
	 //loadStyleSheet("http://www.happyjacksoftware.com/calibrate/portal/adsrch.css")
	 var ifr = document.createElement("DIV")
	 ifr.id = "_emailto"
	 if (document.all)
		 ifr.style.cssText = "width:490px;height:400px;position:absolute;left:10px;top:10px;display:none;background:white;z-index:1000"
     else ifr.setAttribute("style","width:490px;height:400px;position:absolute;left:10px;top:10px;display:none;background:white;z-index:1000")
	 //ifr.onmousedown = function (event) {dragger.allowDrag(this, event)}
	 //ifr.ondragstart = function () {return false} 
	 //ifr.ondrag = function () {return false}
	 //ifr.ondragend = function (){return false}
     var body = window.document.getElementsByTagName('body').item(0)
	 body.insertBefore(ifr,body.firstChild)
  ifr.innerHTML = '<table id="maintable" width="490" cellspacing="0" cellpadding="0" style="border:1px #aaaaaa solid;">	<tr>		<td>' +
				   '<table width="490" border="0" cellspacing="0" cellpadding="0">	<tr>	<td nowrap="nowrap" align="left"  valign="bottom" width="80%"><div id="content"><div class="navback title"><h1>Email Events <span style="padding-left:325px; color:#FFFFFF; font-size: 10px;">close <input type="image" value="Cancel" src="http://www.happyjacksoftware.com/images/popup_close_button.gif" onclick="document.getElementById(\'_emailto\').style.display = \'none\'"></span></h1></div></div></td></td>' +
				  '</tr> 			</table><tr><td align="center" style="background-color:#EEEEEE"><table border="0" width=446 cellspacing="0" cellpadding="0">	</td>	</tr><tr><td height="20" style="background-color:#EEEEEE"></td></tr>' +	   
				  '<tr><td colspan="2" align="center" style="font-family:Arial, Helvetica, sans-serif; font-size:11pt; color:#660000; border-bottom:1px #000099 solid; border-top:1px #000099 solid; background-color:#DDDDDD"><b>Enter your name and email address</b></td></tr>' +
				  '<tr><td width="7"></td></tr>' +
				  '<td >' +
	    		  '<form action="' + host + 'calibrate/emailTo.do" method="post" id="email_form" enctype="multipart/form-data">	    <input id="instanceIDs" type="hidden" name="instanceIDs" value=""><input id="returnaddr" type="hidden" name="returnaddr">' +
			      '<table width="100%" cellspacing="0" cellpadding="2"><tr id="emailRow1"><td colspan="2">&nbsp;</td></tr><tr id="emailRow2"><td nowrap="nowrap" style="font-family:Arial, Helvetica, sans-serif; font-size:10pt;"><b>Your email</b></td><td><input id="from" type="text" size="40" name="from"></td></tr> 		<tr><td colspan="2">&nbsp;</td></tr>' +
				  '<tr><td colspan="2" align="center" style="font-family:Arial, Helvetica, sans-serif; font-size:11pt; color:#660000; border-bottom:1px #000099 solid; border-top:1px #000099 solid; background-color:#DDDDDD"><b>Enter your friends\' email adresses</b></td></tr>' +
				  ' <tr><td height="12"></td></tr><tr><td style="font-family:Arial, Helvetica, sans-serif; font-size:10pt;"><b>Email to</b></td><td><input type="text" size="40" name="email"></td></tr>' +
				  '<tr><td>&nbsp;</td><td><input type="text" size="40" name="email"></td></tr>	<tr><td>&nbsp;</td><td><input type="text" size="40" name="email"></td></tr> ' +
				  '<tr><td>&nbsp;</td><td><input type="text" size="40" name="email"></td></tr>		<tr><td>&nbsp;</td><td><input type="text" size="40" name="email"></td></tr>' +
				  '<tr><td colspan="2" align="center" style="font-family:Arial, Helvetica, sans-serif; font-size:11pt; color:#660000; border-bottom:1px #000099 solid; border-top:1px #000099 solid; background-color:#DDDDDD"><b>Enter your comments</b></td></tr>' +
				  '<tr><td height="12"></td></tr>'+ 
				  '<tr><td colspan="3" align="center"><textarea rows="5" cols="40" name="message"></textarea></td></tr>' +
				  '<tr><td style="padding-top:15px;" colspan="2" align="center"><input type="image" src="http://www.happyjacksoftware.com/images/popup_send_button.gif" value="Send" onclick="if (EmailformOK()) { this.form.submit(); document.getElementById(\'_emailto\').style.display = \'none\'}">&nbsp;' +
				  '</td></tr></table></form>  </td>	</tr></table></td></tr></table>'
  document.getElementById("returnaddr").value = document.location
  return ifr
}

  this.emailTo = function(evt)  {
  	if (!widget.selectedEls || widget.selectedEls.length == 0) {
    	alert("Please select one or more events to email.")
	    return
 	}
    var obj = document.getElementById("_emailto")
    if (!obj) obj = this.setup()
	document.getElementById("instanceIDs").value = widget.selectedEls
    obj.style.display = "block"
  }
}

 
  function EmailformOK() {
    var form = document.getElementById("email_form")
    var hasTo = false
    for (var i=0;i<form.elements.length;i++) {
      var el = form.elements[i]
      if (el.name == 'from') {
        if (el.value == '') {
          alert("Your email address must be provided")
          return false
        }
        if (!el.value.match(/^[\w\.]+@[\w\.]+$/)) {
          alert("Error: the from field does not contain a valid email address")
          return false
        }
      } else if (el.name == 'email' && el.value != '') {
        hasTo = true
        if (!el.value.match(/^[\w\.]+@[\w\.]+$/)) {
          alert("Error: '" + el.value + "' is not a valid email address")
          return false
        }
      } else if (el.name == "emaillist" && el.value != '') hasTo = true
    }
    if (!hasTo) {
      alert("You must supply at least one 'email to'")
      return false
    }
    return true
  }  
