1 var isBookinPageLoaded = false; 2 var filePath = "https://my.setmore.com/"; 3 var initalFrameLoad = function() 4 { 5 jQuery('.iframe_loader').hide(); 6 jQuery('#iframeContent').show(); 7 8 var fancyBoxHeight = $("#setmore-fancy-box").height(); 9 var iframewindowHeight = jQuery(window).height(); 10 11 if(iframewindowHeight > fancyBoxHeight) 12 { 13 $('#setmore-fancy-box-content').css('height', '635px'); 14 } 15 else 16 { 17 $('#setmore-fancy-box-content').css('height', iframewindowHeight-50); 18 } 19 20 } 21 var setmorePopup = function(k,isReschedule,isbookAppointmentResource,e, bookingPageLink) 22 { 23 if( e ) 24 { 25 e.preventDefault(); 26 e.stopPropagation(); 27 e.stopImmediatePropagation(); 28 } 29 30 var windowWidth = jQuery(window).width(); 31 if( windowWidth < 600 ) 32 { 33 window.open( bookingPageLink , '_blank' ); 34 return; 35 } 36 37 var bookingPageInfo = bookingPageLink.split("/"); 38 var isServicePage = bookingPageInfo.indexOf("services")!= -1; 39 var isClassPage = bookingPageInfo.indexOf("class")!= -1; 40 var isClassBooking = bookingPageInfo.indexOf("bookclass")!= -1; 41 var isServiceBooking = bookingPageInfo.indexOf("bookappointment")!= -1; 42 var isStaffPage = bookingPageInfo.indexOf("resourcebookingpage")!= -1; 43 44 45 46 var templ = {}; 47 templ.overlay = '<div id="setmore-overlay"></div>'; 48 templ.popup = 49 '<div id="setmore-fancy-box" style= " background-color: #FFFFFF;height: auto;left: 50%;position: absolute;top: 0;width: 545px;z-index: 9999;">' + 50 '<div id="setmore-fancy-box-close-icon"></div>' + 51 '<div id="setmore-fancy-box-content">' + 52 '<div class="iframe_loader" style="position: absolute; left: 50%;top: 50%; -ms-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%)"><img src="https://storage.googleapis.com/setmore-assets/2.0/Images/Logos/setmore-loader.gif" width="48" height="48" ></div>' + 53 '<div id="iframeContent" style="height:100%;width:100%" ">' + 54 '</div>' + 55 '</div>'; 56 var init = function(ck) 57 { 58 if( !isBookinPageLoaded ) 59 { 60 isBookinPageLoaded = true; 61 renderTempl(); 62 } 63 else 64 { 65 loadIframe(); 66 positionPopup(); 67 showPopup(); 68 } 69 }; 70 var renderTempl = function() 71 { 72 jQuery("body").append( templ.overlay ).append( templ.popup ); 73 positionPopup(); 74 loadIframe(); 75 bindEvents(); 76 }; 77 var loadIframe = function() 78 { 79 if(isReschedule) 80 { 81 if(isbookAppointmentResource=="true") 82 { 83 jQuery(".iframe_loader").show(); 84 jQuery("#iframeContent").hide(); 85 jQuery("#iframeContent").html('<iframe id="setmore-fancy-box-iframe" frameborder="0" hspace="0" scrolling="auto" src="'+filePath+'rescheduleAppointment.do?cancellationKey='+k+'&isStaffBookingPage=true"></iframe>'); 86 } 87 else 88 { 89 jQuery(".iframe_loader").show(); 90 jQuery("#iframeContent").hide(); 91 jQuery("#iframeContent").html('<iframe id="setmore-fancy-box-iframe" frameborder="0" hspace="0" scrolling="auto" src="'+filePath+'rescheduleAppointment.do?cancellationKey='+k+'"></iframe>'); 92 } 93 } 94 else 95 { 96 jQuery(".iframe_loader").show(); 97 jQuery("#iframeContent").hide(); 98 99 if(isStaffPage){ 100 var staffIndex = bookingPageInfo.indexOf("resourcebookingpage"); 101 var staffKey = bookingPageInfo[staffIndex+1]; 102 jQuery("#iframeContent").html('<iframe id="setmore-fancy-box-iframe" frameborder="0" hspace="0" scrolling="auto" src="https://booking.setmore.com/scheduleappointment/'+staffKey+'"></iframe>'); 103 } 104 else if(isServicePage){ 105 var serviceIndex = bookingPageInfo.indexOf("services"); 106 var serviceKey = bookingPageInfo[serviceIndex+1]; 107 if(serviceKey) 108 jQuery("#iframeContent").html('<iframe id="setmore-fancy-box-iframe" frameborder="0" hspace="0" scrolling="auto" src="https://booking.setmore.com/scheduleappointment/'+k+'/services/'+serviceKey+'"></iframe>'); 109 else 110 jQuery("#iframeContent").html('<iframe id="setmore-fancy-box-iframe" frameborder="0" hspace="0" scrolling="auto" src="https://booking.setmore.com/scheduleappointment/'+k+'/services"></iframe>'); 111 } 112 else if(isClassPage){ 113 var classIndex = bookingPageInfo.indexOf("class"); 114 var classKey = bookingPageInfo[classIndex+1];
115 if(classKey) 116 jQuery("#iframeContent").html('<iframe id="setmore-fancy-box-iframe" frameborder="0" hspace="0" scrolling="auto" src="https://booking.setmore.com/scheduleappointment/'+k+'/class/'+classKey+'"></iframe>'); 117 else 118 jQuery("#iframeContent").html('<iframe id="setmore-fancy-box-iframe" frameborder="0" hspace="0" scrolling="auto" src="https://booking.setmore.com/scheduleappointment/'+k+'/class"></iframe>'); 119 } 120 else if(isClassBooking){ 121 jQuery("#iframeContent").html('<iframe id="setmore-fancy-box-iframe" frameborder="0" hspace="0" scrolling="auto" src="https://booking.setmore.com/scheduleappointment/'+k+'/bookclass"></iframe>'); 122 } 123 else if(isServiceBooking){ 124 jQuery("#iframeContent").html('<iframe id="setmore-fancy-box-iframe" frameborder="0" hspace="0" scrolling="auto" src="https://booking.setmore.com/scheduleappointment/'+k+'/bookappointment"></iframe>'); 125 } 126 else{ 127 jQuery("#iframeContent").html('<iframe id="setmore-fancy-box-iframe" frameborder="0" hspace="0" scrolling="auto" src="https://booking.setmore.com/scheduleappointment/'+k+'"></iframe>'); 128 } 129 130 } 131 document.getElementById("setmore-fancy-box-iframe").onload = function(){ 132 return initalFrameLoad(); 133 134 }; 135 }; 136 var bindEvents = function() 137 { 138 // var self = this; 139 jQuery("#setmore-overlay , #setmore-fancy-box-close-icon").bind("click",function(){ 140 hidePopup(); 141 });
142 }; 143 var positionPopup = function() 144 { 145 var windowHeight = jQuery(window).height(); 146 var windowScrollHeight = jQuery(document).height(); 147 var windowScrollTop = jQuery(document).scrollTop(); 148 var popupWidth = jQuery("#setmore-fancy-box").width(); 149 var popupHeight = windowHeight - 100; 150 151 jQuery("#setmore-overlay").height( windowScrollHeight+"px" ); 152 jQuery("#setmore-fancy-box").css( { 'margin-left' : "-"+(popupWidth/2)+"px" , 'margin-top' : ( ( ( windowHeight - popupHeight ) / 2 ) + windowScrollTop ) +"px" } ); 153 jQuery('html').css('overflow','hidden'); 154 }; 155 var hidePopup = function() 156 { 157 jQuery("#setmore-overlay,#setmore-fancy-box").hide(); 158 jQuery('html').css('overflow','auto'); 159 }; 160 var showPopup = function() 161 { 162 jQuery("#setmore-overlay,#setmore-fancy-box").show(); 163 } 164 init(k); 165 } 166 167 // include required css file 168 var loadCss = function() 169 { 170 var cssFilePath = '<link href="'+filePath+'css/setmorePopup.css" rel="stylesheet" type="text/css" />'; 171 172 var appendCssFiles = function() 173 { 174 jQuery("head").append( cssFilePath ); 175 setTimeout( function(){ 176 loadSetmoreFancyBox(); 177 }, 600); 178 179 }; 180 181 // Binding click event to the "a" tag. Added this to override the 182 // FancyBox plugin 183 var loadSetmoreFancyBox = function() 184 { 185 jQuery("[id=Setmore_button_iframe]").on('click', function( e ) 186 { 187 e.preventDefault(); 188 e.stopPropagation(); 189 e.stopImmediatePropagation(); 190 191 var bookingPageLink = jQuery(this).attr("href"); 192 var companyKey = ""; 193 194 var bookingPageInfo = bookingPageLink.split("/"); 195 var isServicePage = bookingPageInfo.indexOf("services")!= -1; 196 var isClassPage = bookingPageInfo.indexOf("class")!= -1; 197 var isClassBooking = bookingPageInfo.indexOf("bookclass")!= -1; 198 var isServiceBooking = bookingPageInfo.indexOf("bookappointment")!= -1; 199 var isStaffPage = bookingPageInfo.indexOf("resourcebookingpage")!= -1; 200 201 if(isStaffPage) 202 companyKey = bookingPageInfo[bookingPageInfo.indexOf("resourcebookingpage")-1]; 203 else if(isServicePage) 204 companyKey = bookingPageInfo[bookingPageInfo.indexOf("services")-1]; 205 else if(isClassPage) 206 companyKey = bookingPageInfo[bookingPageInfo.indexOf("class")-1]; 207 else if(isClassBooking) 208 companyKey = bookingPageInfo[bookingPageInfo.indexOf("bookclass")-1]; 209 else if(isServiceBooking) 210 companyKey = bookingPageInfo[bookingPageInfo.indexOf("bookappointment")-1]; 211 else 212 companyKey = bookingPageInfo[ bookingPageInfo.length - 1 ]; 213 214 215 if(companyKey.indexOf("?") != -1) 216 { 217 companyKey = companyKey.split("?")[0]; 218 } 219 220 setmorePopup( companyKey ,false, false,e, bookingPageLink); 221 }); 222 }; 223 224 if( typeof jQuery !== "undefined" ) 225 { 226 appendCssFiles(); 227 } 228 else 229 { 230 var script = document.createElement("SCRIPT"); 231 script.src = 'https://ajax.googleapis.com/ajax/libs/jquery/3.5.0/jquery.min.js'; 232 script.type = 'text/javascript'; 233 document.getElementsByTagName("head")[0].appendChild(script); 234 235 var checkReady = function(callback) 236 { 237 if (window.jQuery) 238 { 239 callback(jQuery); 240 } 241 else 242 { 243 window.setTimeout(function() { checkReady(callback); }, 100); 244 } 245 }; 246 247 checkReady( function(jQuery) 248 { 249 appendCssFiles(); 250 windowHeight = window.innerHeight; 251 }); 252 } 253 } 254 loadCss();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.