/*** Asset: asset/scripts/c4c/click4call.js ***/

var Click4Call=new Class({Implements:[Options,Events],options:{baseURL:false,imageURL:false,cookieExpire:7,slide:false},initialize:function(links,options){this.active=false;this.storeHide=false;this.setOptions(options);this.site=(location.href.indexOf('#')!=-1?location.href.substring(0,location.href.lastIndexOf('#')):location.href);if(links)
this.links=$$('a[rel='+links+']');else this.links=$$('a[rel=click4call]');if(!this.options.baseURL)
this.options.baseURL=$baseurl('click4call.js');new Request({url:'/ajax/c4c-config/',method:'get',onSuccess:function(text){if(text!=''){this.config=JSON.decode(text);this.start();}}.bind(this)}).send();new Request({url:'/ajax/c4c-view/',method:'get',onSuccess:function(response){if(response!='')
this.big_template=response;}.bind(this)}).send();},start:function(){this.links.each(function(el){el.addEvent('click',function(e){e.stop();if(!this.active)this.display();$('show-c4c').addEvent('click',function(){$('c4c-teacher-student').setStyle('display','none');$$('.c4c-text').setStyle('display','block');$('c4c-l-content').setStyle('display','block');});}.bindWithEvent(this));}.bind(this));this.ieFixed=false;if(Browser.Engine.trident4){new Request({url:this.options.baseURL+'/ie-fixed.js',method:'get',onSuccess:function(response){this.ieFixed=response;}.bind(this)}).send();}
this.shown=Cookie.read(this.config.cookie_name+'_shown');if(!$chk(this.shown)){this.shown='false';this.setCookie(this.config.cookie_name+'_shown',this.shown,{duration:this.options.cookieExpire});}
this.cookie=Cookie.read(this.config.cookie_name);if(!this.cookie)
this.cookie=new Hash(this.config);else this.cookie=new Hash(JSON.decode(this.cookie));this.cookie.set('time',this.config.time);if(!this.cookie.get('time_start'))this.cookie.set('time_start',this.config.time);if(this.shown=='false'){this.saveLink=true;if($chk(this.config.exclude))
this.config.exclude.each(function(e){e=e.toLowerCase();if(this.site.indexOf(e)!=-1)this.saveLink=false;}.bind(this));if(this.saveLink){if(!this.cookie.get('links'))
this.cookie.set('links',[this.site]);else if(this.cookie.get('links').indexOf(this.site)==-1)
this.cookie.get('links').push(this.site);}}
this.setCookie(this.config.cookie_name,this.cookie);this.enewsactive=Cookie.read('enewsactive');if(this.shown=='true')return;if($chk(this.cookie.get('links'))&&$type(this.cookie.get('links'))=='array')
if(this.cookie.get('max_clicks')!=0&&this.cookie.get('links').length>=this.cookie.get('max_clicks')){this.storeHide=true;if(this.options.slide==true){if(!$chk(this.enewsactive)){this.display_slide();}}else{this.display();}}
if(this.cookie.get('max_wait')!=0&&this.cookie.get('max_wait')<=(this.cookie.get('time')-this.cookie.get('time_start'))){this.storeHide=true;if(this.options.slide==true){if(!$chk(this.enewsactive)){this.display_slide();}}else{this.display();}}},display:function(){this.active=true;this.background=new Element('div',{'id':'overlay'}).inject(document.body);this.wrapper=new Element('div',{'id':'c4c-large','class':'dialog-box'}).set('html',this.big_template).inject(document.body);$('c4c-close').set('events',{'click':(function(e){e.stop();this.hide();}).bindWithEvent(this)});$('call-info').getElement('.call-me').set('events',{'click':(function(e){e.stop();this.callMe()}).bindWithEvent(this)});this.first_name=$('c4c_fn').set('events',{'click':(function(){if(this.first_name.value=='First Name'){this.first_name.value='';}}).bindWithEvent(this),'blur':(function(){if(this.first_name.value==''){this.first_name.value='First Name';}}).bindWithEvent(this)});if(this.config.first_name!=''){this.first_name.value=this.config.first_name;}
this.last_name=$('c4c_ln').set('events',{'click':(function(){if(this.last_name.value=='Last Name'){this.last_name.value='';}}).bindWithEvent(this),'blur':(function(){if(this.last_name.value==''){this.last_name.value='Last Name';}}).bindWithEvent(this)});if(this.config.last_name!=''){this.last_name.value=this.config.last_name;}
new Request({url:'/ajax/c4c-message',method:'get',onSuccess:function(response){if(response==''){alert('Error 110: Unable to load');this.hide();return;}
response=JSON.decode(response);this.msg_id=response.msg_id;this.wrapper.getElement('.c4c-text').set('html',response.message);if(this.config.first_name=='')$('c4c_fn').focus();else if(this.config.last_name=='')$('c4c_ln').focus();}.bind(this)}).send();},display_slide:function(){if(this.config.first_name=='')this.config.first_name='First Name';if(this.config.last_name=='')this.config.last_name='Last Name';this.active=true;if(this.config.afterhours=='true'){this.content=new Element('div',{'id':'c4c-small','class':'slideup-box','styles':{'right':'113px','bottom':0,'opacity':'1','position':'fixed','z-index':'9999'}});this.content.height=433;}else{this.content=new Element('div',{'id':'c4c-small','class':'slideup-box','styles':{'right':113,'bottom':-285,'opacity':1,'position':'fixed','z-index':9999}});this.content.height=285;}
if(this.ieFixed)eval(this.ieFixed);this.header=new Element('div',{'id':'slideup-head'}).injectInside(this.content);new Element('a',{'href':'','title':'Close Window','events':{'click':(function(e){e=new Event(e).stop();this.hide_slide();}).bindWithEvent(this)}}).injectInside(this.header);new Element('h1').set('html','Speak with an ODYSSEYWARE<sup>&reg;</sup> <br />Education Specialist Now!').injectInside(this.header);this.message_container=new Element('div',{'id':'c4c-s-content'}).injectInside(this.content);if(this.config.afterhours=='true')
this.message=new Element('p').set('html','Our offices are currently closed. Please, provide your name and phone number below, and an education specialist will call you during the next business day to discuss ODYSSEYWARE<sup>&copy;</sup> e-learning solutions designed to engage your students.').injectInside(this.message_container);this.error=new Element('span',{'class':'c-error'}).injectInside(this.message_container);this.form_container=new Element('div',{'id':'slideup-info'}).injectInside(this.message_container);this.form=new Element('form').injectInside(this.form_container);this.first_name=new Element('input',{'type':'text','class':'first-name c-field','value':this.config.first_name,'events':{'click':(function(){if(this.first_name.value=='First Name'){this.first_name.value='';}}).bindWithEvent(this),'blur':(function(){if(this.first_name.value==''){this.first_name.value='First Name';}}).bindWithEvent(this)}}).injectInside(this.form);this.last_name=new Element('input',{'type':'text','class':'last-name c-field','value':this.config.last_name,'events':{'click':(function(){if(this.last_name.value=='Last Name'){this.last_name.value='';}}).bindWithEvent(this),'blur':(function(){if(this.last_name.value==''){this.last_name.value='Last Name';}}).bindWithEvent(this)}}).injectInside(this.form);this.number_container=new Element('span',{'class':'number'}).injectInside(this.form);new Element('label').set('html','Your number').injectInside(this.number_container);this.area_code=new Element('input',{'class':'phone c-field','id':'c4c-area_code','type':'text','name':'area_code'}).injectInside(this.number_container);new Element('span').set('html','&nbsp;').injectInside(this.number_container);this.first3=new Element('input',{'class':'phone c-field','id':'c4c-first3','type':'text','name':'first3'}).injectInside(this.number_container);this.last4=new Element('input',{'class':'phone-big c-field','id':'c4c-last4','type':'text','name':'last4'}).injectInside(this.number_container);this.ext_container=new Element('span',{'class':'ext'}).injectInside(this.form);new Element('label').set('html','Ext.').injectInside(this.ext_container);new Element('input',{'id':'c4c-ext','class':'phone-big ext-number c-field','type':'text','name':'extension'}).injectInside(this.ext_container);new Element('input',{'class':'call-me','type':'image','src':'http://glnimages.s3.amazonaws.com/odw/call-me-button.gif','alt':'Call Me','events':{'click':(function(e){e.stop();this.callMe2();}).bindWithEvent(this)}}).injectInside(this.form);new Request({url:'/ajax/c4c-message/',method:'get',onSuccess:function(response){if(response==''){alert('Error 110: Unable to load');this.hide_slide();return;}
response=JSON.decode(response);this.msg_id=response.msg_id;if(this.config.afterhours=='true')this.message.set('html','Requests made before or after regular hours will be contacted the following business day.<div style="padding-top:4px">Business Hours:<br /> Mon - Fri, 8-4:30 pm (CT) </div>');this.content.injectInside(document.body);}.bind(this)}).send();if(this.config.afterhours=='true'){this.fx=new Fx.Tween(this.content,{duration:2500});this.fx.start('bottom',-this.content.height,0);}else{this.fx=new Fx.Tween(this.content,{duration:2000});this.fx.start('bottom',-this.content.height,0);}},callMe:function(){if(!this.validateForm())return;var phone_number=this.area_code.value+this.first3.value+this.last4.value;var ext=$('c4c-ext').value;var thankyou=$('call-info').getElement('div#c4c-thankyou');if(thankyou){this.wrapper.getElement('.c4c-text').set('html','&nbsp;<br>&nbsp;');thankyou.setStyle('display','block');$('call-info').getElement('form').setStyle('display','none');}
new Request({url:'/ajax/c4c-send/',method:'post',data:'first_name='+this.first_name.value
+'&last_name='+this.last_name.value
+'&phone='+phone_number
+'&ext='+ext}).send()},callMe2:function(){if(!this.validate2())return;var phone_number=this.area_code.value+this.first3.value+this.last4.value;var ext=$('c4c-ext').value;new Request({url:'/ajax/c4c-send/',method:'post',data:'first_name='+this.first_name.value
+'&last_name='+this.last_name.value
+'&phone='+phone_number
+'&ext='+ext}).send();new Element('div',{'html':'Thank you for your interest in<br />ODYSSEYWARE! We have<br />received your request to be<br />called and will be in touch with<br />you soon.'}).inject(this.form,'after');this.form.destroy();},close2:function(){this.setCookie(this.config.cookie_name,this.cookie);this.setCookie(this.config.cookie_name+'_shown',true,{duration:this.options.cookieExpire});this.tyfx=new Fx.Tween(this.content,{duration:2500});this.tyfx.start('opacity',1,0).chain(function(){this.first_name.dispose();this.last_name.dispose();this.buttonSave.dispose();this.content.setProperty('id','c2cty');this.content.height=162;if(this.config.afterhours=='true'){this.message.set('html',this.thankyou);this.tyfx.start('opacity',0.0,1.0);}else{this.message=new Element('div',{'class':'message'}).injectInside(this.content);this.message.set('html',this.thankyou);this.tyfx.start('opacity',0.0,1.0);}}.bind(this));},validate2:function(){var v=true;this.first_name.set('class','first-name c-field');this.last_name.set('class','last-name c-field');this.area_code.set('class','phone c-field');this.first3.set('class','phone c-field');this.last4.set('class','phone-big c-field');this.error.set('html','');this.first_name.value=this.first_name.value.replace(/^\s+|\s+$/g,"");this.last_name.value=this.last_name.value.replace(/^\s+|\s+$/g,"");this.area_code.value=this.area_code.value.replace(/^\s+|\s+$/g,"");this.first3.value=this.first3.value.replace(/^\s+|\s+$/g,"");this.last4.value=this.last4.value.replace(/^\s+|\s+$/g,"");var numeric_area_code=this.area_code.value.replace(/[^0-9]/g,"");var numeric_first3=this.first3.value.replace(/[^0-9]/g,"");var numeric_last4=this.last4.value.replace(/[^0-9]/g,"");if(this.first_name.value=='First Name'){v=false;this.first_name.set('class','cfield-error first-name c-field');}
if(this.last_name.value=='Last Name'){v=false;this.last_name.set('class','cfield-error last-name c-field');}
if(numeric_area_code.length<3){v=false;this.area_code.set('class','cfield-error phone c-field');}
if(numeric_first3.length<3){v=false;this.first3.set('class','cfield-error phone c-field');}
if(numeric_last4.length<4){v=false;this.last4.set('class','cfield-error phone-big c-field');}
if(v==false){this.error.set('html','The required fields marked in orange below are missing or invalid.')}
return v;},validateForm:function(){var r=true;this.first_name.set('class','first-name c-field');this.last_name.set('class','last-name c-field');this.area_code=$('c4c-area_code').set('class','phone c-field');this.first3=$('c4c-first3').set('class','phone c-field');this.last4=$('c4c-last4').set('class','phone-big c-field');var error=$('c4c-error').set('html','');this.first_name.value=this.first_name.value.replace(/^\s+|\s+$/g,"");this.last_name.value=this.last_name.value.replace(/^\s+|\s+$/g,"");this.area_code.value=this.area_code.value.replace(/^\s+|\s+$/g,"");this.first3.value=this.first3.value.replace(/^\s+|\s+$/g,"");this.last4.value=this.last4.value.replace(/^\s+|\s+$/g,"");var num_area_code=this.area_code.value.replace(/[^0-9]/g,"");var num_first3=this.first3.value.replace(/[^0-9]/g,"");var num_last4=this.last4.value.replace(/[^0-9]/g,"");if(this.first_name.value==''||this.first_name.value=='First Name'){r=false;this.first_name.set('class','cfield-error first-name c-field');}
if(this.last_name.value==''||this.last_name.value=='Last Name'){r=false;this.last_name.set('class','cfield-error first-name c-field');}
if(num_area_code.length<3){r=false;this.area_code.set('class','cfield-error phone c-field');}
if(num_first3.length<3){r=false;this.first3.set('class','cfield-error phone c-field');}
if(num_last4.length<4){r=false;this.last4.set('class','cfield-error phone-big c-field');}
if(r==false)
error.set('html','The required fields marked in orange below are missing or invalid.');return r;},showError:function(el,txt){new Element('span',{'class':'error'}).set('html',txt).injectAfter(el);},hide:function(){this.setCookie(this.config.cookie_name,this.cookie);this.setCookie(this.config.cookie_name+'_shown',true,{duration:this.options.cookieExpire});this.active=false;this.wrapper.dispose();this.background.dispose();},hide_slide:function(){this.setCookie(this.config.cookie_name,this.cookie);this.setCookie(this.config.cookie_name+'_shown',true,{duration:this.options.cookieExpire});this.fx.start('bottom',0,-this.content.height).chain(function(){this.active=false;this.content.dispose();}.bind(this));},setCookie:function(name,value,options){options=options||{};if(!options.path)options.path='/';switch($type(value)){case'object':case'hash':value=JSON.encode(value);break;}
Cookie.dispose(name);if(value.length==0)return;if(value.length>4096)return;Cookie.write(name,value,options);}});
