function OpeningHoursForDay(){var D="";
var F="";
this.expandStartTime=function(A){if(""===A||A===null){return 
}if(""===D||E(A,D)<0){D=A
}};
this.expandEndTime=function(A){if(""===A||A===null){return 
}if(""===F||E(A,F)>0){F=A
}};
this.isOpen=function(){return(D!==""&&F!=="")
};
this.is24Hours=function(){return(D.toLowerCase()==="12:00am"&&F.toLowerCase()==="11:59pm")
};
this.hasOpeningHours=function(){return(D!==""&&F!=="")
};
this.getStart=function(){return D
};
this.getEnd=function(){return F
};
function E(K,B){var C=(K.length==6)?"0"+K:K;
var J=(B.length==6)?"0"+B:B;
var L=C.substring(5);
var A=J.substring(5);
if(L!==A){return(L<A)?-1:1
}if(L==="am"){C=C.replace(/^12:/,"00:")
}if(A==="am"){J=J.replace(/^12:/,"00:")
}return(C<J)?-1:((C>J)?1:0)
}}function OpeningHoursForWeek(){this.monday=new OpeningHoursForDay();
this.tuesday=new OpeningHoursForDay();
this.wednesday=new OpeningHoursForDay();
this.thursday=new OpeningHoursForDay();
this.friday=new OpeningHoursForDay();
this.saturday=new OpeningHoursForDay();
this.sunday=new OpeningHoursForDay();
this.isOpen24Hours7Days=function(){return this.monday.is24Hours()&&this.tuesday.is24Hours()&&this.wednesday.is24Hours()&&this.thursday.is24Hours()&&this.friday.is24Hours()&&this.saturday.is24Hours()&&this.sunday.is24Hours()
};
this.hasOpeningHours=function(){return this.monday.hasOpeningHours()||this.tuesday.hasOpeningHours()||this.wednesday.hasOpeningHours()||this.thursday.hasOpeningHours()||this.friday.hasOpeningHours()||this.saturday.hasOpeningHours()||this.sunday.hasOpeningHours()
}
}function LocationDetails(){this.createServicesHTML=function(S){var A="";
var R=[];
var V=new OpeningHoursForWeek();
var P=[];
for(var C=0;
C<S.services.length;
C++){var O=S.services[C];
var B=O.type;
var T=O.services;
if(typeof T!=="undefined"&&T!==null){T.sort(D)
}if(B!=="ATM"){var U=E(T);
A+="<hr/>";
A+='<div id="branchServices"><h4>'+B+" services</h4><p>"+U+"</p></div>";
A+='<div id="openTimes"><h4>'+B+" trading hours</h4>";
A+="<p>";
if(O.mondayOpenTime!==null&&O.mondayOpenTime!==""){A+="Mon "+O.mondayOpenTime+" - "+O.mondayCloseTime+"<br/>"
}if(O.tuesdayOpenTime!==null&&O.tuesdayOpenTime!==""){A+="Tue "+O.tuesdayOpenTime+" - "+O.tuesdayCloseTime+"<br/>"
}if(O.wednesdayOpenTime!==null&&O.wednesdayOpenTime!==""){A+="Wed "+O.wednesdayOpenTime+" - "+O.wednesdayCloseTime+"<br/>"
}if(O.thursdayOpenTime!==null&&O.thursdayOpenTime!==""){A+="Thu "+O.thursdayOpenTime+" - "+O.thursdayCloseTime+"<br/>"
}if(O.fridayOpenTime!==null&&O.fridayOpenTime!==""){A+="Fri "+O.fridayOpenTime+" - "+O.fridayCloseTime+"<br/>"
}if(O.saturdayOpenTime!==null&&O.saturdayOpenTime!==""){A+="Sat "+O.saturdayOpenTime+" - "+O.saturdayCloseTime+"<br/>"
}if(O.sundayOpenTime!==null&&O.sundayOpenTime!==""){A+="Sun "+O.sundayOpenTime+" - "+O.sundayCloseTime+"<br/>"
}if(typeof O.operatingHoursComment!=="undefined"&&O.operatingHoursComment!==""&&O.operatingHoursComment!==null&&O.operatingHoursComment!==""){A+="<br/>"+O.operatingHoursComment+"<br/>"
}A+='</p></div><div style="clear:both"></div>'
}else{if((T!==undefined&&T!==null)){$.merge(R,T)
}V.monday.expandStartTime(O.mondayOpenTime);
V.monday.expandEndTime(O.mondayCloseTime);
V.tuesday.expandStartTime(O.tuesdayOpenTime);
V.tuesday.expandEndTime(O.tuesdayCloseTime);
V.wednesday.expandStartTime(O.wednesdayOpenTime);
V.wednesday.expandEndTime(O.wednesdayCloseTime);
V.thursday.expandStartTime(O.thursdayOpenTime);
V.thursday.expandEndTime(O.thursdayCloseTime);
V.friday.expandStartTime(O.fridayOpenTime);
V.friday.expandEndTime(O.fridayCloseTime);
V.saturday.expandStartTime(O.saturdayOpenTime);
V.saturday.expandEndTime(O.saturdayCloseTime);
V.sunday.expandStartTime(O.sundayOpenTime);
V.sunday.expandEndTime(O.sundayCloseTime);
if(O.operatingHoursComment!==undefined&&O.operatingHoursComment!==null){P.push(O.operatingHoursComment)
}}}if(S.brandCode!="wbc"){R[R.length]={serviceName:'<a href="/personal-banking/services/banking-services/st-george-banksa-atms/">Deposit service not available</a> at St.George/BankSA ATM\'s'}
}if(R.length>0){R.sort(D);
R=F(R);
var Q=E(R);
A+="<hr/>";
A+='<div id="atmServices"><h4>ATM services</h4><p>'+Q+"</p></div>";
A+='<div id="openTimes"><h4>ATM trading hours</h4><p>';
if(V.isOpen24Hours7Days()){A+="Available 24 hours a day, 7 days a week <br/>"
}else{if(!V.hasOpeningHours()){A+="Not available <br/>"
}else{if(V.monday.isOpen()){A+="Mon "+V.monday.getStart()+" - "+V.monday.getEnd()+"<br/>"
}if(V.tuesday.isOpen()){A+="Tue "+V.tuesday.getStart()+" - "+V.tuesday.getEnd()+"<br/>"
}if(V.wednesday.isOpen()){A+="Wed "+V.wednesday.getStart()+" - "+V.wednesday.getEnd()+"<br/>"
}if(V.thursday.isOpen()){A+="Thu "+V.thursday.getStart()+" - "+V.thursday.getEnd()+"<br/>"
}if(V.friday.isOpen()){A+="Fri "+V.friday.getStart()+" - "+V.friday.getEnd()+"<br/>"
}if(V.saturday.isOpen()){A+="Sat "+V.saturday.getStart()+" - "+V.saturday.getEnd()+"<br/>"
}if(V.sunday.isOpen()){A+="Sun "+V.sunday.getStart()+" - "+V.sunday.getEnd()+"<br/>"
}}}if(P.length>0){P.sort();
A+="<br/>"+P.join("<br/>")
}A+='</p></div><div style="clear: both;"/>';
A+="<hr/>"
}return A
};
function D(A,B){if(A.serviceName===B.serviceName){return 0
}else{if(A.serviceName>B.serviceName){return 1
}else{return -1
}}}function E(A){var B=jQuery.map(A,function(J,C){var I;
if(J.serviceUrl===undefined){I=J.serviceName
}else{I='<a rel="forms" href="'+J.serviceUrl+'">'+J.serviceName+"</a>"
}return I
});
return B.join("<br/>")
}function F(J){var C=[];
for(var A=0;
A<J.length;
A++){var I=C.length;
var B=J[A];
if(A===0||C[I-1].serviceName!==B.serviceName){C[I]=B
}}return C
}}function LocationSummary(){this.name="";
this.serviceTypesHTML="";
this.addressHTML="";
this.directionText="";
this.bsb="";
this.brandCode="";
this.brandName="";
this.generateSummary=function(F,A,B){this.name=F.name;
this.serviceTypesHTML=C(F.services);
this.addressHTML=D(F.streetAddress,F.suburb,F.state,F.postcode);
this.bsb=(typeof F.bsb!=="undefined"&&F.bsb!==null)?F.bsb:"Not available";
this.brandCode=A;
this.brandName=B;
if(A==B){if(A=="stg"){A="St.George"
}if(A=="bsa"){A="BankSA"
}if(A=="wbc"){A="Westpac"
}}if(typeof F.directionText!=="undefined"&&F.directionText!==null){this.directionText=F.directionText
}};
function D(J,B,I,A){var H=J+"<br/>"+B+" "+I+" "+A;
return H
}function C(M){var P=0;
var N=0;
var O=0;
var T=0;
var B=0;
for(var R=0;
R<M.length;
R++){var A=M[R];
var Q=A.type;
if("ATM"===Q){T++
}else{if("Branch"===Q){P++
}else{if("Advisory Centre"===Q){N++
}else{if("In Store"===Q){O++
}else{if("Business Banking Centre"===Q){B++
}}}}}}var S="";
if(P>0){S+="Branch"
}if(N>0){if(S.length>0){S+=", "
}S+="Advisory Centre"
}if(O>0){if(S.length>0){S+=", "
}S+="Instore"
}if(B>0){if(S.length>0){S+=", "
}S+="Business Banking Centre"
}if(T>0){if(S.length>0){S+=", "
}S+="ATM("+T+")"
}return S
}};