
(function($){var PROP_NAME='realPerson';function RealPerson(){this._defaults={length:6,includeNumbers:false,regenerate:'<img src="includes/img/refresh.png" alt="Get A New Code" class="realperson-refresh">',hashName:'{n}Hash'};}var CHARS='ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';var DOTS=[['   *   ','  * *  ','  * *  ',' *   * ',' ***** ','*     *','*     *'],['****** ','*     *','*     *','****** ','*     *','*     *','****** '],[' ***** ','*     *','*      ','*      ','*      ','*     *',' ***** '],['****** ','*     *','*     *','*     *','*     *','*     *','****** '],['*******','*      ','*      ','****   ','*      ','*      ','*******'],['*******','*      ','*      ','****   ','*      ','*      ','*      '],[' ***** ','*     *','*      ','*      ','*   ***','*     *',' ***** '],['*     *','*     *','*     *','*******','*     *','*     *','*     *'],['*******','   *   ','   *   ','   *   ','   *   ','   *   ','*******'],['      *','      *','      *','      *','      *','*     *',' ***** '],['*     *','*   ** ','* **   ','**     ','* **   ','*   ** ','*     *'],['*      ','*      ','*      ','*      ','*      ','*      ','*******'],['*     *','**   **','* * * *','*  *  *','*     *','*     *','*     *'],['*     *','**    *','* *   *','*  *  *','*   * *','*    **','*     *'],[' ***** ','*     *','*     *','*     *','*     *','*     *',' ***** '],['****** ','*     *','*     *','****** ','*      ','*      ','*      '],[' ***** ','*     *','*     *','*     *','*   * *','*    * ',' **** *'],['****** ','*     *','*     *','****** ','*   *  ','*    * ','*     *'],[' ***** ','*     *','*      ',' ***** ','      *','*     *',' ***** '],['*******','   *   ','   *   ','   *   ','   *   ','   *   ','   *   '],['*     *','*     *','*     *','*     *','*     *','*     *',' ***** '],['*     *','*     *',' *   * ',' *   * ','  * *  ','  * *  ','   *   '],['*     *','*     *','*     *','*  *  *','* * * *','**   **','*     *'],['*     *',' *   * ','  * *  ','   *   ','  * *  ',' *   * ','*     *'],['*     *',' *   * ','  * *  ','   *   ','   *   ','   *   ','   *   '],['*******','     * ','    *  ','   *   ','  *    ',' *     ','*******'],['  ***  ',' *   * ','*     *','*     *','*     *',' *   * ','  ***  '],['   *   ','  **   ',' * *   ','   *   ','   *   ','   *   ','*******'],[' ***** ','*     *','      *','     * ','   **  ',' **    ','*******'],[' ***** ','*     *','      *','    ** ','      *','*     *',' ***** '],['    *  ','   **  ','  * *  ',' *  *  ','*******','    *  ','    *  '],['*******','*      ','****** ','      *','      *','*     *',' ***** '],['  **** ',' *     ','*      ','****** ','*     *','*     *',' ***** '],['*******','     * ','    *  ','   *   ','  *    ',' *     ','*      '],[' ***** ','*     *','*     *',' ***** ','*     *','*     *',' ***** '],[' ***** ','*     *','*     *',' ******','      *','     * ',' ****  ']];$.extend(RealPerson.prototype,{markerClassName:'hasRealPerson',setDefaults:function(settings){$.extend(this._defaults,settings||{});return this;},_attachRealPerson:function(target,settings){target=$(target);if(target.hasClass(this.markerClassName)){return;}target.addClass(this.markerClassName);var inst={settings:$.extend({},this._defaults)};$.data(target[0],PROP_NAME,inst);this._changeRealPerson(target,settings);},_changeRealPerson:function(target,settings,value){target=$(target);if(!target.hasClass(this.markerClassName)){return;}settings=settings||{};if(typeof settings=='string'){var name=settings;settings={};settings[name]=value;}var inst=$.data(target[0],PROP_NAME);$.extend(inst.settings,settings);target.prevAll('.realperson-challenge,.realperson-hash').remove().end().before(this._generateHTML(target,inst));},_generateHTML:function(target,inst){var text='';for(var i=0;i<inst.settings.length;i++){text+=CHARS.charAt(Math.floor(Math.random()*(inst.settings.includeNumbers?36:26)));}var html='<div class="realperson-challenge"><div class="realperson-text">';for(var i=0;i<DOTS[0].length;i++){for(var j=0;j<text.length;j++){html+=DOTS[CHARS.indexOf(text.charAt(j))][i].replace(/ /g,'&nbsp;')+'&nbsp;&nbsp;';}html+='<br>';}html+='</div><div class="realperson-regen">'+inst.settings.regenerate+'</div></div><input type="hidden" class="realperson-hash" name="'+inst.settings.hashName.replace(/\{n\}/,target.attr('name'))+'" value="'+this._hash(text)+'">';return html;},_destroyRealPerson:function(target){target=$(target);if(!target.hasClass(this.markerClassName)){return;}target.removeClass(this.markerClassName).prevAll('.realperson-challenge,.realperson-hash').remove();$.removeData(target[0],PROP_NAME);},_hash:function(value){var hash=5381;for(var i=0;i<value.length;i++){hash=((hash<<5)+hash)+value.charCodeAt(i);}return hash;}});$.fn.realperson=function(options){var otherArgs=Array.prototype.slice.call(arguments,1);return this.each(function(){if(typeof options=='string'){$.realperson['_'+options+'RealPerson'].apply($.realperson,[this].concat(otherArgs));}else{$.realperson._attachRealPerson(this,options||{});}});};$.realperson=new RealPerson();$('.realperson-challenge').live('click',function(){$(this).next().next().realperson('change');});})(jQuery);$(function(){$('#defaultReal').realperson();});function GetXmlHttpObject(){if(window.XMLHttpRequest){return new XMLHttpRequest();}if(window.ActiveXObject){return new ActiveXObject("Microsoft.XMLHTTP");}return null;}function submitFormWithAjax(){$("#myContactForm").validationEngine('validate');var myAjaxPostrequest=new GetXmlHttpObject();var defaultReal=document.myContactForm.defaultReal.value;var defaultRealHash=document.myContactForm.defaultRealHash.value;var parameters="defaultReal="+defaultReal+"&defaultRealHash="+defaultRealHash;var formDataSerialized=$("#myContactForm").serialize();myAjaxPostrequest.open("POST","includes/scripts/jquery.realperson.php",true);myAjaxPostrequest.setRequestHeader("Content-type","application/x-www-form-urlencoded");myAjaxPostrequest.send(parameters);myAjaxPostrequest.onreadystatechange=function(){if(myAjaxPostrequest.readyState==4){if(myAjaxPostrequest.status==200){if(myAjaxPostrequest.responseText==2){$('#defaultReal').validationEngine('showPrompt','Security Code Is Incorrect','fail');}else{$("#myContactForm").trigger('submit');}}}}}
