/*
 * FrontendLite Library
 * Copyright(c) 2009 Exxact Sarl
 */
FrontendLite={submitSearchDoctorForm:function(b,a){b.preventDefault();Ext.fly("search-doctor-wrap").addClass("loading");Ext.Ajax.request({url:BASE_LANG_URL+"search-doctor",form:"form-search-doctor",params:{format:"json"},success:function(c,d){Ext.fly("search-doctor-wrap").removeClass("loading");var e=Ext.decode(c.responseText);FrontendLite.displayDoctorSearchResults(e)},failure:function(c,d){Ext.fly("search-doctor-wrap").removeClass("loading")}})},displayDoctorSearchResults:function(b){Ext.fly("patient-step1-wrap").addClass("view-doctor-search-results");if(!FrontendLite.doctorSearchGrid){FrontendLite.doctorSearchGrid=new FrontendLite.Grid_DoctorSearch({renderTo:"search-doctor-results"})}var a=Ext.get("button-create-appointment").findParent("table",7,true);a.setVisibilityMode(Ext.Element.DISPLAY);if(!b.success||!b.rows||(b.rows.length==0)){a.hide()}else{a.show()}var c=FrontendLite.doctorSearchGrid;try{c.update(b)}catch(d){console.log(d)}Ext.util.Cookies.set("make-appointment","search-result",null,BASE_URL+"/")},backToSearchDoctorForm:function(){Ext.fly("patient-step1-wrap").removeClass("view-doctor-search-results");Ext.util.Cookies.set("make-appointment","",new Date(0),BASE_URL+"/")},createAppointment:function(){},checkRadioOnRowClick:function(d,b){if(b.nodeName!="INPUT"||b.type!="radio"){var c=Ext.fly(b).findParent("tr",4);if(!c){return}var a=Ext.fly(c).child('input[type="radio"]',true);if(a){a.checked=true}}},updateCreateAppointmentButtonText:function(d,b){var c=Ext.fly(b).findParent("tr",4);if(c){var f;if(Ext.fly(c).hasClass("doctor-external")){f=_("INVITE_DOCTOR")}else{f=_("CREATE_APPOINTMENT")}var a=Ext.fly("button-create-appointment");a.dom.innerHTML=f}},onMyDoctorsListClick:function(d,b){if(Ext.fly(b).hasClass("actioncolumn-item")){var c=Ext.fly(b).findParent("tr",4,true);if(c){var a=Ext.fly(c).child('input[type="radio"]',true);if(a){Ext.Ajax.request({url:BASE_LANG_URL+"user/delete",params:{id:a.value},method:"post",success:function(f,g){var e=Ext.decode(f.responseText);if(e.success){c.remove()}else{}},failure:function(e,f){}})}}}},validateCreateAppointmentForm:function(b,a){if(!Ext.get(a).child('input[type="radio"]:checked')){b.preventDefault();Ext.ux.Toast.msg(_("SELECT_DOC_TO_PROCEED"),"")}},validateCreateAppointmentForm2:function(b,a){if(!Ext.get(a).child('input[type="radio"]:checked')){b.preventDefault();Ext.ux.Toast.msg(_("SELECT_DOC_TO_PROCEED"),"")}},validateCreateAppointmentForm3:function(b,a){if(!Ext.get(a).child('input[type="radio"]:checked')){b.preventDefault();alert(_("SELECT_DOC_TO_PROCEED"))}}};FrontendLite.Accordion=function(a,b){if(null!=b){Ext.apply(this,b)}this.el=Ext.get(a);this.el.on("click",this.onClick,this,{delegate:"div.accordion-header"})};FrontendLite.Accordion.prototype={activeItemCls:"accordion-item-active",onClick:function(c,b){var a=b.parentNode;if(!Ext.fly(a).hasClass(this.activeItemCls)){Ext.get(a).radioClass(this.activeItemCls)}else{Ext.fly(a).removeClass(this.activeItemCls)}}};FrontendLite.Grid=function(a){if(a){Ext.apply(this,a)}this.initComponent();if(this.renderTo){this.render(this.renderTo);delete this.renderTo}};FrontendLite.Grid.prototype={initComponent:function(){},render:function(a){this.el=Ext.DomHelper.append(a,{tag:"div",cls:"search-doctor-results-inner"},true)},getRowClass:function(b,c){var a=this.rowClass[c%this.rowClass.length];return a},update:function(h){var a=this.el;if(null==h){a.dom.innerHTML=this.errorText||"";return}if(!h.success){a.dom.innerHTML=this.errorText||"";return}var g=h.rows,t=g.length,p,o;if(t==0){a.dom.innerHTML=this.emptyText||"";return}var k=[],c=this.columns,e=c.length,r,f,d,m,s,n;k.push('<table cellspacing="0" class="doctor-search-results"><thead>');for(p=0;p<e;p++){d=c[p];var q=[],b="<th";if(d.align){q.push("text-align:"+d.align)}if(q.length>0){b+=' style="'+q.join(";")+'"'}k.push(b+">"+d.header+"</th>")}k.push("</thead><tbody>");for(p=0;p<t;p++){f=g[p];k.push("<tr");r=this.getRowClass(f,p);if(r!=""){k.push(' class="'+r+'"')}k.push(">");for(o=0;o<e;o++){d=c[o];s=d.dataIndex;m=s&&f[s]?f[s]:null;var l={},q=[];if(d.renderer){m=d.renderer(m,l,f)}k.push("<td");if(l.css){k.push(' class="'+l.css+'"')}if(null!=d.width){k.push(' width="'+d.width+'"')}if(d.align){q.push("text-align:"+d.align)}if(q.length>0){k.push(' style="'+q.join(";")+'"')}if(null==m){m=""}k.push(">"+m+"</td>")}k.push("</tr>")}k.push("</tbody></table>");a.dom.innerHTML=k.join("")}};FrontendLite.Grid_DoctorSearch=Ext.extend(FrontendLite.Grid,{getRowClass:function(a,b){if(!a.active){return"doctor-external"}else{return"doctor-internal"}},initComponent:function(){Ext.apply(this,{emptyText:_("NO_DOCTORS_FOUND"),errorText:_("APPLICATION_ERROR_BODY"),rowClass:["odd",""],columns:[{header:"",renderer:function(b,c,a){return'<input type="radio" name="doctor[doctorId]" value="'+a.id+'" />'},width:20},{header:_("FIRST_NAME"),dataIndex:"firstName"},{header:_("LAST_NAME"),dataIndex:"lastName"},{header:_("SPECIALITY"),dataIndex:"educations",renderer:function(h,k,e){var f=[],a=LANG;for(var d=0,g=h.length;d<g;d++){var b=h[d],c=b.specialty||{},l=c.Translation||{};if(null!=l[a]){var j=l[a];f.push(j.name)}}return f.join(", ")}},{header:_("CITY"),dataIndex:"city"},{header:_("ZIP"),dataIndex:"zip"},{header:_("CALENDAR"),dataIndex:"active",width:55,align:"center",renderer:function(e,f,a){var d=BASE_URL+"/images/famfam_silk/",c,g,b;if(!e){c="delete.png";g=_("CALENDAR_UNAVAILABLE");b="UNAVAILABLE";f.css="doctor-external"}else{c="calendar.png";g=_("CALENDAR_AVAILABLE");b="AVAILABLE";f.css="doctor-internal"}return'<img width="16" height="16" src="'+d+c+'" title="'+g+'" />';return b}},{header:_("VIEW_PROFILE"),dataIndex:"externalId",width:40,align:"center",renderer:function(b,c,a){url="",baseImageUrl=BASE_URL+"/images/famfam_silk/";url=BASE_LANG_URL+"profile/"+a.id;if(url){return'<a href="'+url+'"><img width="16" height="16" src="'+baseImageUrl+'vcard.png" title="'+this.header+'" /></a>'}return""}}]})}});
