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

var siteGlobal=function(){function validateForm(id){function isEmpty(val){var testExp=/^\w+/i;return(testExp.test(val))?false:true;}
var errors=[];var formEl=($(id).tagName=='FORM')?$(id):$(id).down('form');formEl.select('.req').each(function(el,i){if(el.hasClassName('req')){var elLbl=$(el.id+'_label').innerHTML;switch(el.tagName){case'INPUT':switch(el.type){case'text':if(isEmpty(el.value)){errors.push(elLbl+' 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(elLbl+' is formatted wrong.');}}}
break;case'radio':break;case'checkbox':break;}
break;case'SELECT':if(el.value==''){errors.push(elLbl+' was left empty.');}
break;case'TEXTAREA':if(isEmpty(el.value)){errors.push(elLbl+' 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='<div class="errContent"><h2>The following errors have been detected:</h2><ol>'+errStr+'</ol><div class="close" onclick="javascript:siteGlobal.closeFormMsg(this);"></div></div>';var errMsgEL=errEL.next('div.errMsg');if(errMsgEL===undefined){var newEL=new Element('div',{'class':'errMsg','style':'display:none;'});errEL.insert({'after':newEL});errMsgEL=errEL.next('div.errMsg');}
errMsgEL.update(errStr).blindDown({'duration':.5});}}
var pub=function(){return{emailFriendPop:function(siteID,contentID){if(!$('eFriendPopUp')){var newEL=new Element('div',{'id':'eFriendPopUp','style':'display:none'});$('tWrapper').insert({'bottom':newEL});}
var eForm='<div class="wrapper">\
    <div class="form">\
    <h2>E-mail this page to a colleague.</h2>\
    <form id="eFriendForm" action="#" method="post" onsubmit="return siteGlobal.emailFriendSend();">\
    <fieldset>\
    <legend>To:</legend>\
    <div class="cols">\
     <div class="col">\
      <label id="ToName_label" for="ToName">Name</label>\
      <input type="text" class="text req" id="ToName" name="ToName" value="" />\
     </div>\
     <div class="col">\
      <label id="ToEmail_label" for="ToEmail">Email</label>\
      <input type="text" class="text req email" id="ToEmail" name="ToEmail" value="" />\
     </div>\
    </div>\
    </fieldset>\
    <fieldset>\
    <legend>From:</legend>\
    <div class="cols">\
     <div class="col">\
      <label id="FromName_label" for="FromName">Name</label>\
      <input type="text" class="text req" id="FromName" name="FromName" value="" />\
     </div>\
     <div class="col">\
      <label id="FromEmail_label" for="FromEmail">Email</label>\
      <input type="text" class="text req email" id="FromEmail" name="FromEmail" value="" />\
     </div>\
    </div>\
    </fieldset>\
    <fieldset class="formButtons">\
     <input type="submit" class="formButton fSubmit" value="" />\
     <input type="button" class="formButton fCancel" onclick="siteGlobal.emailFriendClose();" />\
    </fieldset>\
    <input type="hidden" name="siteID" value="'+siteID+'" />\
    <input type="hidden" name="contentID" value="'+contentID+'" />\
    </form>\
    </div>\
    </div>';var formEL=$('eFriendPopUp').update(eForm).appear({'durtion':.5});},emailFriendSend:function(){var formEL=$('eFriendForm');var errors=validateForm(formEL);if(errors.length>0){alertErrors(formEL,errors);}else{var ajaxFile='ajax/emailFriend.php';var ajaxParams=formEL.serialize(true);ajaxParams.cmd='send';var ajaxOpts={method:'post',parameters:ajaxParams,onSuccess:function(resp){resp=resp.responseText.strip().evalJSON();var thanksMSG='<fieldset>'+resp.msg+'</fieldset><fieldset class="formButtons"><input type="button" class="formButton fClose" onclick="siteGlobal.emailFriendClose();" /></fieldset>';formEL.onsubmit=null;formEL.update(thanksMSG);}}
new Ajax.Request(ajaxFile,ajaxOpts);}
return false;},emailFriendClose:function(){var fEL=$('eFriendPopUp');fEL.fade({'durtion':.5});},printFriendly:function(contentID,siteID){var siteID=siteID||1;var pURL=this.baseHTML+'printFriendly.php';var pCSS='printFriendly/site_'+siteID+'/site_'+siteID+'.css';Dynalicious.printFriendly({'el':'.printFriendly','url':pURL,'css':pCSS});},siteLogin:function(){var formEL=$('loginForm');var errors=validateForm(formEL);if(errors.length<1){var ajaxFile='ajax/front_login.php';var ajaxParams=formEL.serialize(true);ajaxParams.cmd='login';var ajaxOpts={method:'post',parameters:ajaxParams,onSuccess:function(resp){resp=resp.responseText.strip().evalJSON();if(resp.errors.length>0){alertErrors(formEL,resp.errors);}else{window.location=resp.redir;}}}
new Ajax.Request(ajaxFile,ajaxOpts);}else{alertErrors(formEL,errors);}
return false;},closeFormMsg:function(btnEL){$(btnEL).up('.errMsg').blindUp({'duration':.5});},popUpImg:function(img){var newEL=new Element('div',{'id':'imgPopUp','class':'imgPopUp','style':'visibility:hidden;position:absolute;top:0;z-index:999999;left:50%;'}).update('<img src="'+img+'" /><div class="close" onclick="javascript:siteGlobal.closePopUpImg(this);"></div>');$('tWrapper').insert({'bottom':newEL});var popEL=$('imgPopUp');var popImg=popEL.down('img');new PeriodicalExecuter(function(pe){var imgDims=popImg.getDimensions();if(imgDims.width>0){var divWidth=imgDims.width;var divHeight=imgDims.height;var divMar=0-(divWidth/2);popEL.setStyle({'display':'none','visibility':'visible','marginLeft':divMar+'px','width':divWidth+'px','height':divHeight+'px'});popEL.blindDown({'duration':.5});pe.stop();}},.1);},closePopUpImg:function(btnEL){$(btnEL).up('.imgPopUp').blindUp({'duration':.5,'afterFinish':function(){$(btnEL).up('.imgPopUp').remove();}});}}}();return pub;}();function send_msg(){var errors=new Array();var error_msg="The following errors have been detected:\n----------------------------------------\n";if($('name').value==''||$('name').value==' '){errors.push('Please fill in your name!');}
if($('email').value==''||$('email').value==' '){errors.push('Please fill in your email!');}
if($('message').value==''||$('message').value==' '){errors.push('Please send me a message!');}
if(errors.length>0){for(var i=0;i<errors.length;i++){error_msg+=(i+1)+". "+errors[i]+"\n";}
error_msg+="----------------------------------------\nPlease fix and re-submit.";alert(error_msg);}else{var ajax_script='http://www.dalyvisions.com/ajax/send_msg.php';var params='email='+encodeURIComponent($('email').value)+'&name='+encodeURIComponent($('name').value)+'&message='+encodeURIComponent($('message').value)+'&doit=y';var opts={method:'post',parameters:params,onSuccess:function(resp){alert(resp.responseText);$('contact_form').innerHTML='<p class="msg">Thanks for your inquiry into dalyVisions!</p>';},onFailure:function(){alert('Something went wrong...');}};new Ajax.Request(ajax_script,opts);}}
var curr_picts=null;function showPicts(picts){if(curr_picts!=null){new Effect.BlindUp(curr_picts);}
new Effect.BlindDown(picts);curr_picts=picts;}
function hidePicts(picts){new Effect.BlindUp(picts);curr_picts=null;}
function focusField(id,str){var val=$(id).value;if(val==str){$(id).value='';}}
function blurField(id,str){var val=$(id).value;if(val==''){$(id).value=str;}}
function FAQToggleAnswer(question){var answers=question.getElementsByTagName('ul');if(answers[0]){if(answers[0].style.display!='block'){answers[0].style.display='block';}else{answers[0].style.display='none';}}}
function siteSearch(on_submit){var errors=[];var error_srting='';var form_el=$('siteSearch_form');var search_phrase=$('siteSearch_phrase').value;if(search_phrase==''||search_phrase=='-search-'){errors.push('Search phrase was left empty.');}
if(errors.length>0){error_srting='The following errors have been detected:'+"\n\n";for(var i=0;i<errors.length;i++){error_srting+=(i+1)+'. '+errors[i]+"\n";}
error_srting+="\n"+'Please fix these errors and re-submit the form.';alert(error_srting);if(on_submit){return false;}}else{if(on_submit){return true;}else{form_el.submit();}}}
function joinEmail(on_submit){var errors=[];var error_srting='';var form_el=$('joinEmail_form');if($('join_email').value==''){errors.push('Please enter your email address.');}
if(errors.length>0){error_srting='The following errors have been detected:'+"\n\n";for(var i=0;i<errors.length;i++){error_srting+=(i+1)+'. '+errors[i]+"\n";}
error_srting+="\n"+'Please fix these errors and re-submit the form.';alert(error_srting);if(on_submit){return false;}}else{if(on_submit){return true;}else{form_el.submit();}}}
function featured(id,state,url){switch(state){case'over':$(id).addClassName('featuredItem_hover');break;case'out':$(id).removeClassName('featuredItem_hover');break;case'click':window.location=url;break;}}

