ODonnell Family Dentistry

Dental Clinics

Address

1081 Dove Run Rd, # 105
Lexington, KY 40502
+1 (18-5) 926 - 94613
claim listing contact

Additional Info

About: ODonnell Family Dentistry is a(n) Dental Clinics in Lexington, KY

Description

ODonnell Family Dentistry provides high-quality, comprehensive dental care in Lexington, Kentucky, and the surrounding areas of central Kentucky to patients of all ages./
Are you missing teeth? Our dentists can provide you with dental implants to restore your smile! Call our office and schedule your consultation today!Cosmetic dentistry in Lexington, Kentucky, can help you achieve the smile of your dreams! Contact ODonnell Family Dentistry today to make your appointment! Replace your CPAP machine with an oral sleep appliance! Call today to learn more about our appliances and make your appointment with our dentists!ODonnell Family Dentistry provides pediatric dentistry to help your child begin achieving a healthy smile! Contact our office and make your child’s appointment today! Our friendly and experienced dentists in Lexington, Kentucky, are here to help you! Contact us today to make your appointment with Drs. David O’Donnell, and William Galbreath! Tel: 859-269-4613 | 1081 Dove Run Rd # 105, Lexington, KY 40502 Are you a current patient?To pay ONLINE please click the button below and register. Once registered please enter office location statement code PXTTN1 and make your payment. Thank you!!!=0||this.target!==document.body,s=0;n&&(s=15);var a=t.height-parseFloat(i.borderTopWidth)-parseFloat(i.borderBottomWidth)-s,e={width:15,height:.975*a*(a/o.scrollHeight),left:t.left+t.width-parseFloat(i.borderLeftWidth)-15},f=0;408>a&&this.target===document.body&&(f=-11e-5*Math.pow(a,2)-.00727*a+22.58),this.target!==document.body&&(e.height=Math.max(e.height,24));var h=this.target.scrollTop/(o.scrollHeight-a);return e.top=h*(a-e.height-f)+t.top+parseFloat(i.borderTopWidth),this.target===document.body&&(e.height=Math.max(e.height,24)),e}}},{key:"clearCache",value:function(){this._cache={}}},{key:"cache",value:function(t,e){return"undefined"==typeof this._cache&&(this._cache={}),"undefined"==typeof this._cache[t]&&(this._cache[t]=e.call(this)),this._cache[t]}},{key:"enable",value:function(){var t=arguments.length=o.top+a.top&&x.page.bottom>=o.bottom&&x.page.left>=o.left+a.left&&x.page.right>=o.right){var f=e.scrollTop,h=e.scrollLeft;x.offset={top:x.page.top-o.top+f-a.top,left:x.page.left-o.left+h-a.left}}}(),this.move(x),this.history.unshift(x),this.history.length>3&&this.history.pop(),e&&S(),!0}}},{key:"move",value:function(t){var e=this;if("undefined"!=typeof this.element.parentNode){var o={};for(var i in t){o[i]={};for(var n in t[i]){for(var r=!1,a=0;a=0&&(b=parseFloat(b),y=parseFloat(y)),b!==y&&(v=!0,m[n]=y)}v&&T(function(){f(e.element.style,m)})}}}]),t}();N.modules=[],C.position=_;var R=f(N,C),M=function(){function t(t,e){var o=[],i=!0,n=!1,r=void 0;try{for(var s,a=t[Symbol.iterator]();!(i=(s=a.next()).done)&&(o.push(s.value),!e||o.length!==e);i=!0);}catch(f){n=!0,r=f}finally{try{!i&&a["return"]&&a["return"]()}finally{if(n)throw r}}return o}return function(e,o){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,o);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),P=C.Utils,r=P.getBounds,f=P.extend,c=P.updateClasses,T=P.defer,U=["left","top","right","bottom"];C.modules.push({position:function(t){var e=this,o=t.top,i=t.left,n=t.targetAttachment;if(!this.options.constraints)return!0;var s=this.cache("element-bounds",function(){return r(e.element)}),a=s.height,h=s.width;if(0===h&&0===a&&"undefined"!=typeof this.lastSize){var l=this.lastSize;h=l.width,a=l.height}var d=this.cache("target-bounds",function(){return e.getTargetBounds()}),u=d.height,p=d.width,g=[this.getClass("pinned"),this.getClass("out-of-bounds")];this.options.constraints.forEach(function(t){var e=t.outOfBoundsClass,o=t.pinnedClass;e&&g.push(e),o&&g.push(o)}),g.forEach(function(t){["left","top","right","bottom"].forEach(function(e){g.push(t+"-"+e)})});var m=[],v=f({},n),y=f({},this.attachment);return this.options.constraints.forEach(function(t){var r=t.to,s=t.attachment,f=t.pin;"undefined"==typeof s&&(s="");var l=void 0,d=void 0;if(s.indexOf(" ")>=0){var c=s.split(" "),g=M(c,2);d=g[0],l=g[1]}else l=d=s;var w=b(e,r);("target"===d||"both"===d)&&(ow[3]&&"bottom"===v.top&&(o-=u,v.top="top")),"together"===d&&(ow[3]&&"bottom"===v.top&&("top"===y.top?(o-=u,v.top="top",o-=a,y.top="bottom"):"bottom"===y.top&&(o-=u,v.top="top",o+=a,y.top="top")),"middle"===v.top&&(o+a>w[3]&&"top"===y.top?(o-=a,y.top="bottom"):ow[2]&&"left"===y.left?(i-=h,y.left="right"):iw[3]&&(f.indexOf("bottom")>=0?(o=w[3]-a,C.push("bottom")):O.push("bottom")),i=0?(i=w[0],C.push("left")):O.push("left")),i+h>w[2]&&(f.indexOf("right")>=0?(i=w[2]-h,C.push("right")):O.push("right")),C.length&&!function(){var t=void 0;t="undefined"!=typeof e.options.pinnedClass?e.options.pinnedClass:e.getClass("pinned"),m.push(t),C.forEach(function(e){m.push(t+"-"+e)})}(),O.length&&!function(){var t=void 0;t="undefined"!=typeof e.options.outOfBoundsClass?e.options.outOfBoundsClass:e.getClass("out-of-bounds"),m.push(t),O.forEach(function(e){m.push(t+"-"+e)})}(),(C.indexOf("left")>=0||C.indexOf("right")>=0)&&(y.left=v.left=!1),(C.indexOf("top")>=0||C.indexOf("bottom")>=0)&&(y.top=v.top=!1),(v.top!==n.top||v.left!==n.left||y.top!==e.attachment.top||y.left!==e.attachment.left)&&e.updateAttachClasses(y,v)}),T(function(){e.options.addTargetClasses!==!1&&c(e.target,m,g),c(e.element,m,g)}),{top:o,left:i}}});var P=C.Utils,r=P.getBounds,c=P.updateClasses,T=P.defer;C.modules.push({position:function(t){var e=this,o=t.top,i=t.left,n=this.cache("element-bounds",function(){return r(e.element)}),s=n.height,a=n.width,f=this.getTargetBounds(),h=o+s,l=i+a,d=[];o=f.top&&["left","right"].forEach(function(t){var e=f[t];(e===i||e===l)&&d.push(t)}),i=f.left&&["top","bottom"].forEach(function(t){var e=f[t];(e===o||e===h)&&d.push(t)});var u=[],p=[],g=["left","top","right","bottom"];return u.push(this.getClass("abutted")),g.forEach(function(t){u.push(e.getClass("abutted")+"-"+t)}),d.length&&p.push(this.getClass("abutted")),d.forEach(function(t){p.push(e.getClass("abutted")+"-"+t)}),T(function(){e.options.addTargetClasses!==!1&&c(e.target,p,u),c(e.element,p,u)}),!0}});var M=function(){function t(t,e){var o=[],i=!0,n=!1,r=void 0;try{for(var s,a=t[Symbol.iterator]();!(i=(s=a.next()).done)&&(o.push(s.value),!e||o.length!==e);i=!0);}catch(f){n=!0,r=f}finally{try{!i&&a["return"]&&a["return"]()}finally{if(n)throw r}}return o}return function(e,o){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,o);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();return C.modules.push({position:function(t){var e=t.top,o=t.left;if(this.options.shift){var i=this.options.shift;"function"==typeof this.options.shift&&(i=this.options.shift.call(this,{top:e,left:o}));var n=void 0,r=void 0;if("string"==typeof i){i=i.split(" "),i[1]=i[1]||i[0];var s=i,a=M(s,2);n=a[0],r=a[1],n=parseFloat(n,10),r=parseFloat(r,10)}else n=i.top,r=i.left;return e+=n,o+=r,{top:e,left:o}}}}),R});if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]',h="",f.each(a.swf,function(a,b){e+='';h+=" "+a+'="'+b+'"'}),e+=' ul > li'); var option = { element: element, number: this.optionNumber++, selected: 'no', pages: childOptions.length }; var childSelected = false; if(childOptions.length) { var data = this.createGroup(childOptions, (level + 1), group); childSelected = data.selected; group.options = childOptions; } option.child = (data)? data.group : null; var li = this.addOption(option, group.list, childSelected); if(selected !== true && option.selected === 'yes') { selected = true; } } } } return { group: group, selected: selected }; }, setup: function(optionsArray) { this.createPanel(); this.createGroup(optionsArray); }, createCallBack: function(group) { return bpApp.createCallBack(this, this.selectGroup, [group]); }, selectGroup: function(group) { if(group && typeof group === 'object') { if(group.selected === false) { group.selected = true; this.selectGroupPanel(group); this.updateBackButton(group); this.lastSelectedGroup = group; } } }, selectPrimaryGroup: function() { var groups = this.options; if(groups.length) { this.selectGroup(groups[0]); } }, getAnimationClass: function(lastNum, currentNum) { var animation = { selecting: 'pullRightIn', removing: 'pullLeft' }; if(lastNum === null) { animation.removing = 'no-change'; animation.selecting = 'no-change'; } else if(currentNum > lastNum) { animation.removing = 'pullLeft'; animation.selecting = 'pullRightIn'; } else if(currentNum < lastNum) { animation.removing = 'pullRight'; animation.selecting = 'pullLeftIn'; } return animation; }, selectGroupPanel: function(group) { var groups = this.options; var groupNumber = group.level; var lastOption = this.lastSelectedGroup, lastGroupNumber = (lastOption && typeof lastOption !== 'undefined')? lastOption.level: null, animations = this.getAnimationClass(lastGroupNumber, groupNumber); for(var i = 0, maxLength = groups.length; i < maxLength; i++) { var option = groups[i], panel = option.element; if(panel && group.element) { if(panel === group.element) { panel.style.zIndex = 5; var animationClass = animations.selecting; bpApp.animate.show(panel, animationClass, 800); } else { if(option === lastOption) { panel.style.zIndex = 4; var animationClass = animations.removing; bpApp.animate.hide(panel, animationClass, 1000); } else { panel.style.zIndex = 2; bpApp.animate.hide(panel, 'none', 0); } option.selected = false; } } } }, updateBackButton: function(group) { var button = document.getElementById(self.id + '_button_back'); if(group && typeof group.parent !== 'undefined') { button.onclick = bpApp.createCallBack(this, this.selectGroup, [group.parent]); button.style.visibility = 'visible'; } else { button.style.visibility = 'hidden'; } }, optionNumber: 0, addOption: function(option, container, childSelected) { container.appendChild(option.element); option.selected = (childSelected === true)? 'yes' : self.checkSelection(option); return this.addNavOption(option, container); }, addNavOption: function(option, container) { var element = option.element; if(option.selected === 'yes') { jQuery(element).addClass('selected'); } if(option.pages && option.child) { var a = element.querySelector('a'); if(a) { var callBack = this.createCallBack(option.child); a.onclick = function(e) { e.preventDefault(); callBack(); }; } } return option; } }; this.groups.setup(optionsArray); }, setupNav: function() { var currentPage = this.getCurrentPage(); var options = document.querySelectorAll('#' + this.scrollContainer + ' nav > ul > li'); this.setupGroups(options); }, checkSelection: function(option) { var currentPage = this.currentPage; currentPage = currentPage.split('&')[0]; var url = (typeof option.url === 'string')? option.url.replace('/', '') : null; if(url) { if(currentPage === url) { return 'yes'; } else if(!currentPage && url == '') { return 'yes'; } else if(currentPage === 'blog-post' && url === 'blog') { return 'yes'; } else { return 'no'; } } }, getCurrentPage: function() { var path = window.location.pathname; var pattern = /\//g; var pageSlashCount = path.match(pattern); if(pageSlashCount.length > 1) { var start = path.indexOf("/") + 1; var length = path.indexOf("/", 2) + 1; var end = length - start; var tmpLocation = path.substring(start, end); } else { var tmpLocation = path.substring(path.lastIndexOf("/") + 1); } return tmpLocation.replace("/", ""); }, setupCurrentPage: function() { this.currentPage = this.getCurrentPage(); }, getOptionStyle: function(tmpOption) { var optionStyle = (tmpOption.selected === 'yes')? 'nav-option selected' : 'nav-option'; return optionStyle; }, resetContainer: function() { var container = document.getElementById(this.container); if(container) { container.innerHTML = ''; } }});bpApp.slideShow = function(container, defaultPathUrl, setAsBg, onNumber) { this.number = (typeof bpApp.slideShow.number === 'undefined')? bpApp.slideShow.number = 0 : (++bpApp.slideShow.number); this.id = 'bp_spotlight_' + this.number; this.defaultPathUrl = (defaultPathUrl)? defaultPathUrl : '/slideshow/'; this.setAsBg = (setAsBg)? setAsBg : false; this.animationMode = 'fade'; this.lastSelectedOption = null; this.onNumber = typeof onNumber !== 'undefined' ? onNumber: null; this.optionsArray = []; this.timer = null; this.container = container; }; bpApp.slideShow.prototype = bpApp.extendClass(bpApp.htmlBuilder, { constructor: bpApp.slideShow, addKeyboardSupport: function() { var self = this; jQuery(document).on('keydown', function(e){ self.keyPress(e); }); }, keyPress: function(e) { var keyCode = e.keyCode; switch(keyCode) { case 37: this.selectPreviousOption(); break; case 39: this.selectNextOption(); break; } }, addOption: function(option) { var number = this.optionsArray.length; option.optionNumber = number; option.nameId = this.id + '_option_number_' + number; option.crumbId = this.id + '_crumb_number_' + number; option.selected = 'no'; this.optionsArray.push(option); this.createCrumb(option); var panel = this.createOptionPanel(option,this.container); }, resetContainer: function() { var container = document.getElementById(this.container); container.innerHTML = ''; }, setup: function(optionsArray) { this.resetContainer(); this.setupControlPanel(); this.setupOptions(optionsArray); this.addKeyboardSupport(); }, setupControlPanel: function() { var self = this; var button = this.createButton('a', '', 'arrow arrow_left', '', function(){ self.selectPreviousOption(); }, this.container); button = this.createButton('a', '', 'arrow arrow_right', '', function(){ self.selectNextOption(); }, this.container); var numberContainer = this.createObject('div', this.id + '_crumb_container', 'number_crumb_container', '', this.container); var slideTab = this.createObject('div', this.id + '_slide_tab', 'slideTab', '', numberContainer); }, selectPrimaryOption: function() { if(typeof this.onNumber !== 'undefined') { this.selectOptionByNumber(this.onNumber); } else { this.selectNewPanel(); } }, setupOptions: function(optionsArray) { var maxLength = optionsArray.length; if(maxLength > 0) { var tmpNumber = 0; for(var i = 0; i < maxLength; i++) { var tmpOption = optionsArray[i]; this.addOption(tmpOption); } } this.selectPrimaryOption(); }, createOptionPanel: function(tmpOption, container) { if(tmpOption && tmpOption.url) { container = this.createLink('a','','','',tmpOption.url,container); } var spotlightContainer = this.createObject('div', tmpOption.nameId, 'splash_container', '', container); spotlightContainer.onmouseover = bpApp.createCallBack(this, this.stopTimer); spotlightContainer.onmouseout = bpApp.createCallBack(this, this.startTimer); spotlightContainer.style.display = 'none'; var imageURL = tmpOption.image; if(this.setAsBg == true) { if(imageURL) { spotlightContainer.style.backgroundImage = 'url(' + wpThemeUrl + this.defaultPathUrl + imageURL + ')'; } } else { if(imageURL) { var imageContainer = this.createObject('div','','image_container','',spotlightContainer); var image = this.createImage('','',wpThemeUrl + this.defaultPathUrl + imageURL,tmpOption.alt,imageContainer); } } var articleContainer = this.createObject('article', '', 'content_container ' + tmpOption.className, '', spotlightContainer); var animation = this.getAnimation(); var sectionContainer = this.createObject('section', '', 'spotlight dark ' + animation, '', articleContainer); var h2 = this.createObject('h2', '', 'title_text blue', tmpOption.title, sectionContainer); var text = this.createObject('div', '', 'light', tmpOption.content, sectionContainer); }, getAnimation: function() { var animations = ['pullLeftIn', 'pullRightIn']; var animationNumber = Math.round(Math.random() * (animations.length - 1)); return animations[animationNumber]; }, createCrumb: function(tmpOption) { var self = this; var crumbContainer = this.id + '_crumb_container'; var optionClass = this.getCrumbClass(tmpOption); var option = this.createButton('div', tmpOption.crumbId, optionClass, tmpOption.crumbContent, function(){ self.selectOption(tmpOption); }, crumbContainer); }, getCrumbClass: function(tmpOption) { return (tmpOption.selected === 'yes')? 'option selected' : 'option'; }, selectNewPanel: function() { if(this.onNumber < (this.optionsArray.length - 1) && this.onNumber != null) { this.onNumber++; } else { this.onNumber = 0; } this.selectOptionByNumber(this.onNumber); }, getPanelClass: function(lastNum, currentNum) { var animation = { selecting: 'same', removing: '' }; var mode = this.animationMode || 'fade'; if(mode === 'left_right') { if(currentNum > lastNum) { animation.removing = 'pullLeft'; animation.selecting = 'pullRightIn'; } else if(currentNum < lastNum) { animation.removing = 'pullRight'; animation.selecting = 'pullLeftIn'; } } else { animation.removing = 'fadeOut'; animation.selecting = 'fadeIn'; } return animation; }, getPanelAnimations: function() { var selection = this.getSelectedOption(); var panelNumber = selection.optionNumber; var lastPanelNumber = (typeof this.lastSelectedOption !== 'undefined')? jQuery.inArray(this.lastSelectedOption, this.optionsArray): 0; return this.getPanelClass(lastPanelNumber, panelNumber); }, selectPanel: function(tmpOption) { var animations = this.getPanelAnimations(); for(var i = 0, maxLength = this.optionsArray.length; i < maxLength; i++) { var option = this.optionsArray[i], nameId = option.nameId, panel = document.getElementById(nameId); if(panel) { if(tmpOption.nameId === nameId) { panel.style.zIndex = 2; panel.style.position = (this.setAsBg === true)? 'absolute' : 'relative'; bpApp.animate.show(panel, animations.selecting, 1000); } else { if(this.lastSelectedOption && this.lastSelectedOption.nameId === nameId) { panel.style.zIndex = 1; panel.style.position = 'absolute'; panel.style.top = '0px'; bpApp.animate.hide(panel, animations.removing, 1000); } } } var crumbId = option.crumbId; if(typeof crumbId !== 'undefined') { var crumbClass = this.getCrumbClass(option), crumb = document.getElementById(crumbId); if(crumb) { crumb.className = crumbClass; } } } }, getNextOption: function() { var lastSelectedOption = (this.lastSelectedOption !== null)? this.lastSelectedOption.optionNumber : 0; var nextOptionNumber = ++lastSelectedOption; var index = (nextOptionNumber < this.optionsArray.length)? nextOptionNumber : 0; return this.optionsArray[index]; }, selectNextOption: function() { var nextOption = this.getNextOption(); if(nextOption) { this.selectOption(nextOption); } }, getPreviousOption: function() { var lastSelectedOption = (this.lastSelectedOption !== null)? this.lastSelectedOption.optionNumber : 0; var previousOptionNumber = --lastSelectedOption; var index = (previousOptionNumber >= 0)? previousOptionNumber : (this.optionsArray.length - 1); return this.optionsArray[index]; }, selectPreviousOption: function() { var previousOption = this.getPreviousOption(); if(previousOption) { this.selectOption(previousOption); } }, setLastSelectedOption: function(option) { this.lastSelectedOption = option; }, unselectOption: function(tmpOption) { for(var j = 0, maxLength = this.optionsArray.length; j < maxLength; j++) { var option = this.optionsArray[j]; if(option !== tmpOption) { if(option.selected === 'yes') { option.selected = 'no'; } } } }, moveSlideTab: function(e) { var offset = jQuery(e).position(); var slideTab = jQuery('#' + this.id + '_slide_tab').css('left', offset.left + 'px'); }, selectOption: function(tmpOption) { this.stopTimer(); var object = document.getElementById(tmpOption.nameId); var slideTab = document.getElementById(tmpOption.crumbId); if(slideTab) { this.moveSlideTab(slideTab); } if(tmpOption.selected === 'no') { tmpOption.selected = 'yes'; this.onNumber = jQuery.inArray(tmpOption, this.optionsArray); } else { tmpOption.selected = 'no'; } this.unselectOption(tmpOption); this.selectPanel(tmpOption); this.setLastSelectedOption(tmpOption); this.startTimer(); }, selectOptionByNumber: function(index) { var option = this.optionsArray[index]; if(option) { this.selectOption(option); } }, getSelectedOption: function() { for(var j = 0, maxLength = this.optionsArray.length; j < maxLength; j++) { var option = this.optionsArray[j]; if(option.selected === 'yes') { return option; } } return false; }, duration: 7000, startTimer: function() { var self = this; this.stopTimer(); this.timer = window.setTimeout(function(){ self.selectNewPanel(); }, this.duration); }, stopTimer: function() { window.clearTimeout(this.timer); }}); var spotlightPanel = bpApp.slideShow; bpApp.lazyAnimator = function(attrName, cacheElements) { this.attrName = (typeof attrName === 'string')? attrName : 'data-animate'; this.cacheElements = cacheElements === true? true : false; this.elements = []; this.setup(); }; bpApp.lazyAnimator.prototype = { constructor: bpApp.lazyAnimator, setup: function() { this.setupEvents(); this.update(); return this; }, update: function() { this.elements = this.getElements(); this.checkScroll(); return this; }, removeElement: function(element) { var index = jQuery.inArray(element, this.elements); if(index > -1) { this.elements.splice(index, 1); } return this; }, getElements: function() { var elements; try { elements = document.querySelectorAll('[' + this.attrName + ']:not(.animated)'); } catch(e) {} if(elements) { return Array.prototype.slice.call(elements); } return []; }, checkScroll: function() { var optionsArray = (this.cacheElements === true)? this.elements : this.getElements(); if(optionsArray.length) { var viewPortTop = jQuery(document).scrollTop(); var viewPortBottom = jQuery(window).height() + viewPortTop; for(var i = 0, maxLength = optionsArray.length; i < maxLength; i++) { var element = optionsArray[i]; if(element) { var ele = jQuery(element); var optionDelay = ele.data('delay'); var delay = optionDelay !== null? optionDelay : 20; var position = ele.offset(); var optionTop = position.top + delay; var optionBottom = position.top + ele.height(); if(optionTop < viewPortBottom && optionTop >= viewPortTop) { this.animate(element); } else if(optionBottom >= viewPortTop && optionBottom = this.distance) { if(this.headerMinified === false) { jQuery(this.header).addClass(this.miniClassName); this.headerMinified = true; } } else { if(this.headerMinified === true) { this.headerMinified = false; jQuery(this.header).removeClass(this.miniClassName); } } }, scrollToTop: function() { window.scrollTo(window.scrollX, 0); }}; bpApp.videoPanel = function(video, callbackFunction, container){ this.number = (typeof bpApp.videoPanel.number === 'undefined')? bpApp.videoPanel.number = 0 : (++bpApp.videoPanel.number); this.id = 'video_panel_' + this.number; this.video = video; this.callbackFunction = callbackFunction; this.container = container; }; bpApp.videoPanel.prototype = bpApp.extendClass( bpApp.htmlBuilder, { constructor: bpApp.videoPanel, remove: function() { var panel = document.getElementById(this.id); if(panel) { panel.parentNode.removeChild(panel); } panel = document.getElementById(this.id + '_shadow'); if(panel) { panel.parentNode.removeChild(panel); } }, createPanel: function() { var panel = this.createObject('div', this.id, 'panel video-panel slideIn', '', this.container); var title = this.createObject('div', this.id + '_title_container', 'title-container', '', this.id); var titleLabel = this.createObject('h1', '', 'title title-text left dark', this.video.title, title); var container = this.createObject('div', '', 'body-container', '', this.id); var self = this; window.setTimeout(function(){ self.createIframe(self.id + '_iframe', '', self.video.source, container); }, 500); var buttons = this.createObject('div', this.id + '_button_container', 'button-container', '', this.id); var button1 = this.createButton('button', this.id + '_button_1', 'bttn bttn-decline', 'Close', function(){ self.decline(); }, buttons); }, setup: function() { this.createPanel(); }, decline: function() { this.display(); }, display: function() { this.toggleDisplay(); }, createShadow: function() { var self = this; var backdrop = this.createButton('div', this.id + '_shadow','panel-shadow video-shadow fadeIn','', function(){ self.decline(); }, document.body); this.createButton('button', '', 'bttn top close', '', '', backdrop); }, toggleMode: null, toggleDisplay: function() { var obj = document.getElementById(this.id); var display = obj.style.display; if(!display || display === 'none') { obj.style.display = 'block'; this.toggleMode = 'block'; this.createShadow(); } else { obj.style.display = 'none'; this.toggleMode = 'none'; this.remove(); } } }); bpApp.localData = { storage: null, setup: function() { this.supported = this.checkSupport(); if(this.supported === true) { this.storage = window.localStorage; } }, supported: false, checkSupport: function() { if(typeof window.Storage !== "undefined" && window.localStorage) { return true; } return false; }, get: function(key) { if(this.supported === true) { var value = this.storage.getItem(key); if(typeof value !== 'undefined') { return JSON.parse(value); } } return null; }, set: function(key, value) { if(this.supported === true) { value = JSON.stringify(value); this.storage.setItem(key, value); } }, clear: function() { if(this.supported === true) { this.storage.clear(); } }}; bpApp.formValidator = { errorClass: 'error_val', acceptedClass: 'success_val', isValidEmail: function(email) { var regExp = /^(([^()[\]\\.,;:\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,}))$/; return regExp.test(email); }, isValidPhone: function(phone) { var pattern = /[^0-9]/g; phone = phone.toString().replace(pattern, ''); if(!isNaN(phone)) { if(phone.substr(0, 1) === '1') { phone = phone.substring(1); } if(phone.length == 10 && phone.substr(0, 3) !== '555') { return true; } } return false; }, isValidDate: function(date) { if(typeof date !== 'undefined') { var result = new Date(date).toDateString(); if(result != 'Invalid Date') { return true; } } return false; }, isRadioChecked: function(groupName) { if(typeof groupName !== 'undefined') { var radios = document.getElementsByName(groupName); if(radios && radios.length) { for(var i = 0, maxLength = radios.length; i < maxLength; i++) { var radio = radios[i]; if(radio.type === 'radio' && radio.checked) { return true; } } } } return false; }, isValidField: function(val) { if(typeof val !== 'undefined' && val != '') { return true; } return false; }, validateForm: function(form) { var self = this; var errors = { number: 0, message: '' }; var updateError = function(field) { var upperCaseWords = function(str) { var pattern = /\w\S*/g; return str.replace(pattern, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();}); }; var fieldName = field.attr('name') || field.attr('id'); if(fieldName) { var pattern = /[^a-zA-Z1-9]/g; fieldName = fieldName.replace(pattern, ' '); fieldName = upperCaseWords(fieldName); } errors.number++; errors.message += fieldName + " is empty or invalid. "; }; if(typeof form == 'object') { var previousRadios = []; jQuery(form).find('input.val, select.val, textarea.val').each(function(i) { var field = jQuery(this); var node = field[0]; var nodeName = node.nodeName.toLowerCase(); if(nodeName === 'input' && field.attr('type') === 'radio') { var groupName = field[0].name; if(jQuery.inArray(groupName, previousRadios) == '-1') { previousRadios.push(groupName); var validField = self.isRadioChecked(groupName); if(validField == false) { updateError(field); } } } else { var validField = self.validateField(field); if(validField == false) { updateError(field); } } }); } return errors; }, validateField: function(field) { var self = this; var showValidateStyle = function(field, isValid) { if(isValid == true) { field.removeClass(self.errorClass); field.addClass(self.acceptedClass); return true; } else { field.addClass(self.errorClass); field.removeClass(self.acceptedClass); return false; } }; var returnValue = false; var field = jQuery(field); if(field) { var val = field.val(); var placeholder = field.attr('placeholder') || field.attr('alt'), type = field.attr('type'); if(field.attr('type') === 'checkbox') { var validField = field.is(':checked'); returnValue = showValidateStyle(field, validField); } else if(!self.isValidField(val) || val == placeholder) { returnValue = showValidateStyle(field, false); } else if(field.hasClass('field_email') || type === 'email') { var validField = self.isValidEmail(val); returnValue = showValidateStyle(field, validField); } else if(field.hasClass('field_phone') || type === 'tel') { var validField = self.isValidPhone(val); returnValue = showValidateStyle(field, validField); } else if(field.hasClass('field_date') || type === 'date') { var validField = self.isValidDate(val); returnValue = showValidateStyle(field, validField); } else { returnValue = showValidateStyle(field, true); } } return returnValue; }, resetForm: function(form) { if(form && typeof form === 'object') { var elements = form.elements; if(elements) { for(var i = 0, maxLength = elements.length; i < maxLength; i++) { var element = elements[i]; this.removeStyles(element); } } } }, removeStyles: function(field) { var field = jQuery(field); if(field) { field.removeClass(this.errorClass); field.removeClass(this.acceptedClass); } } }; var bpMain = { setupAppDefault: function() { this.setupMinifyNavigation(); this.setupFancyBox(); this.setupServicesIframe(); this.setupAutoScroll(); this.addVideoPanels(); this.newStickyFooter(); this.setupNavEvents(); this.setupGoogleMaps(); this.modalFormReset(); this.formCheckBoxYes(); this.setupPeekThrough(); }, enableSlideShow: function(type) { type = type || 'modern'; switch(type) { case 'nivo': this.setupNivoSlider(); break; case 'modern': this.setupSlideshow1(); break; case 'inner': this.setupSlideshow2(); break; case 'reviews': this.setupSlideshow3(); break; } }, setupSlideshow1: function() { var optionsArray = [ { title: '', content: '', className: '', image: '1.jpg', alt: '', url: '', crumbContent: '' }, { title: '', content: '', className: '', image: '2.jpg', alt: '', url: '', crumbContent: '' }, { title: '', content: '', className: '', image: '3.jpg', alt: '', url: '', crumbContent: '' }, { title: '', content: '', className: '', image: '4.jpg', alt: '', url: '', crumbContent: '' } ]; var startNumber = Math.round(Math.random() * (optionsArray.length - 1)); var spotlight = new bpApp.slideShow('slides', '/images/', true, startNumber); spotlight.duration = 7000; spotlight.setup(optionsArray); }, setupSlideshow2: function() { var optionsArray = [ { title: '', content: '', className: '', image: 'internal1.jpg', alt: '', url: '', crumbContent: '' }, { title: '', content: '', className: '', image: 'internal2.jpg', alt: '', url: '', crumbContent: '' }, { title: '', content: '', className: '', image: 'internal3.jpg', alt: '', url: '', crumbContent: '' }, { title: '', content: '', className: '', image: 'internal4.jpg', alt: '', url: '', crumbContent: '' } ]; var startNumber = Math.round(Math.random() * (optionsArray.length - 1)); var spotlight = new bpApp.slideShow('slides', '/images/', true, startNumber); spotlight.duration = 7000; spotlight.setup(optionsArray); }, setupSlideshow3: function() { var optionsArray = [ { title: '', content: ' I am terrified of only two things in this world and they are Dentists and Spiders! However, Dr. O\'Donnell and his staff at O\'Donnell Family Dentistry has made this practice a great place to visit! He and his staff are extremely helpful, professional and very courteous. For someone, like me, who hates to go to the dentist, I actually don\'t mind going to see them! I know they will put me at ease and provide phenomenal service! Thanks Dr. O\'Donnell and staff, you all are awesome! ” - Nancy BJust went for a routine cleaning. Excellent experience. Great staff. Dr. o\'Donnell is the best. I have been going for years along with my entire family since my kids were young. They are always professional and willing to accommodate my specific needs. Friendly, Highly Trained, Clean, and Professional. Definitely recommend for anyone wanting a relaxed dental experience.” - Jonathan BThank you guys so much for getting me at the last minute as a new patient. That was one of the best experiences I\'ve had at a dentist. You guys are fabulous!” - Mary A I was driving through Lexington from South Carolina and they were able to get me in the same day for a teeth cleaning. Everyone in the office was so friendly and I really liked how I got to watch tv while I got my teeth cleaned” - Alicia VI have been going to Dr. O\'Donnell\'s office my whole life. It is always good to see Dr. O\'Donnell, who knows my dental history. I have a painless record thanks to him and his team!” - Miranda B Fantastic experience. I\'ve never felt more comfortable going to the Dentist. Thanks for making my visit so easy.” - Rob B

Tags: dentist in lexington ky, dentist in lexington kentucky, lexington ky dentist, dentists in lexington ky, dentists in lexington kentucky, lexington ky dentists, dental care in Lexington ky, family dentist in lexington ky, lexington kentucky family dentists, dentist 40502, dentist near me, family dentist 40502, bilingual dentist in lexington ky, Spanish speaking dentist lexington ky, dental implants in lexington ky, cosmetic dentist in lexington ky, oral sleep appliance lexington ky, childrens dentist in lexington ky, dentist for kids in lexington ky, lexington ky pediatric dentist, childrens dentist 40502, invisalign provider in lexington ky, invisalign lexington ky, pediatric dentist in lexington ky, implant dentist 40502, implant supported dentures lexington ky/

Write a review

To write a review, you must login first.