if(typeof(X2O.X2OBaseItem)=="undefined"){throw ("Cannot use this file unless you have included Base.js");}if(typeof(X2O.X2ORequest)=="undefined"){throw ("Cannot use this email file unless you have included Base.js");}X2O.Email=function(){};X2O.Email.Inherits(X2O.X2OBaseItem);X2O.Email=function(){this.Inherits(X2O.X2OBaseItem,"X2O.Email","sendemail",null);var e="";var g="";var c="";var f="";var a="";var b="";var h="";var d="";var j=false;function i(k){if(k.match(/[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/ig)){return true;}else{return false;}}this.getReplyToAddress=function(){return e;};this.setReplyToAddress=function(k){if(typeof k==="string"&&i(k)){e=k;}else{throw ("Cannot set ReplyToAddress. Email address passed is invalid.");}};this.getReplyToName=function(){return g;};this.setReplyToName=function(k){if(typeof k==="string"){g=k;}else{throw ("Cannot set ReplyToName. String expected.");}};this.getSendToAddress=function(){return c;};this.setSendToAddress=function(k){if(typeof k==="string"&&i(k)){c=k;}else{throw ("Cannot set SendToAddress. Email address passed is invalid.");}};this.getSendToName=function(){return f;};this.setSendToName=function(k){if(typeof k==="string"){f=k;}else{throw ("Cannot set SendToName.");}};this.getFromAddress=function(){return a;};this.setFromAddress=function(k){if(typeof k==="string"&&i(k)){a=k;}else{throw ("Cannot set FromAddress. Email address passed is invalid.");}};this.getFromName=function(){return b;};this.setFromName=function(k){if(typeof k==="string"){b=k;}else{throw ("Cannot set FromName.");}};this.getSubject=function(){return h;};this.setSubject=function(k){if(typeof k==="string"){h=k;}else{throw ("Cannot set Subject.");}};this.getBody=function(){return d;};this.setBody=function(k){if(typeof k==="string"){d=k;}else{throw ("Cannot set Body.");}};this.getIsHTMLMessage=function(){return j;};this.setIsHTMLMessage=function(k){if(typeof k==="boolean"){j=k;}else{throw ("Cannot set IsHTMLMessage.");}};this.sendEmail=function(){if(c==null||c==""||a==null||a==""||h==null||h==""||d==null||d==""){throw ("Sending an email requires that the following parameters are set: FromAddress, SendToAddress, Subject, and Body.");}var s="";if(e!=null&&e!=""){if(!i(e)){s=" ReplyToAddress is not a valid email address.";}}if(!i(c)){s+=" SendToAddress is not a valid email address.";}if(!i(a)){s+=" FromAddress is not a valid email address.";}if(s!=""){throw (s);}var o=X2O.X2OManager.hostURL+this.serviceName+".x2o?jsid="+this.getUID();var l=X2O.X2ORequest.encrypt(c);var t=X2O.X2ORequest.encrypt(a);var q=X2O.X2ORequest.encrypt(h);var n=X2O.X2ORequest.encrypt(d);var k=X2O.X2ORequest.encrypt(j);var m=X2O.X2ORequest.getEncryptedRequestToken();var r="&to_address="+l;r+="&from_address="+t;r+="&subject="+q;r+="&body="+n;r+="&is_html="+k;r+="&x2o_token="+m;if(e!=null&&e!=""){r+="&reply_to_address="+X2O.X2ORequest.encrypt(e);}if(g!=null&&g!=""){r+="&reply_to_name="+X2O.X2ORequest.encrypt(g);}if(f!=null&&f!=""){r+="&to_name="+X2O.X2ORequest.encrypt(f);}if(b!=null&&b!=""){r+="&from_name="+X2O.X2ORequest.encrypt(b);}o+=r;try{this.jsonRequester=new JSONscriptRequest(o);this.jsonRequester.buildScriptTag();this.jsonRequester.addScriptTag();}catch(p){this.callFaultHandler("There was a problem sending this email. Details are: "+p);}};};