/* ---------- js/siteGlobal.js ---------- */

var siteGlobal=function(){function validateForm(f){this.isEmpty=function(val){var testExp=/^\w+/i;return(testExp.test(val))?false:true;}
var errors=[];f.select('.req').each(function(el,i){var lblEL=el.up('label')||el.previous('label')||false;var field=(lblEL!==false)?lblEL.innerHTML:'';switch(el.tagName){case'INPUT':switch(el.type){case'text':if(this.isEmpty(el.value)){errors.push(field+' was left empty.');}else{if(el.hasClassName('email')){var format=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;if(!format.test(el.value)){errors.push(field+' is formatted wrong.');}}}
break;case'radio':break;case'checkbox':break;}
break;case'SELECT':if(el.value==''){errors.push(field+' was left empty.');}
break;case'TEXTAREA':if(this.isEmpty(el.value)){errors.push(field+' was left empty.');}
break;}});return errors;}
function alertErrors(errEL,errs,type){if(errs.length>0){var errStr='';errs.each(function(err){errStr+='<li>'+err+'</li>';});errStr='<h2>The following errors have been detected:</h2><ol>'+errStr+'</ol>';alertMsg(errEL,errStr);}}
function alertMsg(el,msg){if(msg!=''){var alertStr='<div class="errContent">\
   <div class="close" onclick="javascript:siteGlobal.closeFormMsg(this);"></div>\
   \<div class="jjBox jjBBox boxC jjTL jjTR">\
    <div class="jjT"><span></span><div></div></div>\
    <div class="jjM">\
     '+msg+'\
    </div>\
    <div class="jjB"><span></span><div></div></div>\
   </div>\
   </div>';var errMsgEL=el.next('div.errMsg');if(errMsgEL===undefined){var newEL=new Element('div',{'class':'errMsg','style':'display:none;'});el.insert({'after':newEL});errMsgEL=el.next('div.errMsg');}
errMsgEL.update(alertStr).blindDown({'duration':.5});}}
var pub=function(){return{SITE:{},PAGE:{},sendForm:function(f){f=($(f).tagName=='FORM')?$(f):$(f).down('form');var errors=validateForm(f);if(errors.length>0){alertErrors(f,errors);}else{var ajaxFile='ajax/sendForm.php';var ajaxParams=f.serialize(true);var ajaxOpts={method:'post',parameters:ajaxParams,onSuccess:function(resp){resp=resp.responseText.strip().evalJSON();alertMsg(f,resp.msg);f.reset();}}
new Ajax.Request(ajaxFile,ajaxOpts);}
return false;},closeFormMsg:function(btnEL){$(btnEL).up('.errMsg').blindUp({'duration':.5});}}}();return pub;}();

