var initPhotoSwipeFromDOM = function(gallerySelector) {
// parse slide data (url, title, size …) from DOM elements
// (children of gallerySelector)
var parseThumbnailElements = function(el) {
var thumbElements = el.childNodes,
numNodes = thumbElements.length,
items = [],
figureEl,
linkEl,
size,
item;
for(var i = 0; i < numNodes; i++) {
figureEl = thumbElements[i]; //
// include only element nodes
if(figureEl.nodeType !== 1) {
continue;
}
linkEl = figureEl.children[0]; // element
size = linkEl.getAttribute(‘data-size’).split(‘x’);
// create slide object
item = {
src: linkEl.getAttribute(‘href’),
w: parseInt(size[0], 10),
h: parseInt(size[1], 10)
};
if(figureEl.children.length > 1) {
//
item.title = figureEl.children[1].innerHTML;
}
if(linkEl.children.length > 0) {
//
item.msrc = linkEl.children[0].getAttribute(‘src’);
}
item.el = figureEl; // save link to element for getThumbBoundsFn
items.push(item);
}
return items;
};
// find nearest parent element
var closest = function closest(el, fn) {
return el && ( fn(el) ? el : closest(el.parentNode, fn) );
};
// triggers when user clicks on thumbnail
var onThumbnailsClick = function(e) {
e = e || window.event;
e.preventDefault ? e.preventDefault() : e.returnValue = false;
var eTarget = e.target || e.srcElement;
// find root element of slide
var clickedListItem = closest(eTarget, function(el) {
return (el.tagName && el.tagName.toUpperCase() === ‘FIGURE’);
});
if(!clickedListItem) {
return;
}
// find index of clicked item by looping through all child nodes
// alternatively, you may define index via data- attribute
var clickedGallery = clickedListItem.parentNode,
childNodes = clickedListItem.parentNode.childNodes,
numChildNodes = childNodes.length,
nodeIndex = 0,
index;
for (var i = 0; i = 0) {
// open PhotoSwipe if valid index found
openPhotoSwipe( index, clickedGallery );
}
return false;
};
// parse picture index and gallery index from URL (#&pid=1&gid=2)
var photoswipeParseHash = function() {
var hash = window.location.hash.substring(1),
params = {};
if(hash.length < 5) {
return params;
}
var vars = hash.split('&');
for (var i = 0; i < vars.length; i++) {
if(!vars[i]) {
continue;
}
var pair = vars[i].split('=');
if(pair.length getThumbBoundsFn section of documentation for more info
var thumbnail = items[index].el.getElementsByTagName(‘img’)[0], // find thumbnail
pageYScroll = window.pageYOffset || document.documentElement.scrollTop,
rect = thumbnail.getBoundingClientRect();
return {x:rect.left, y:rect.top + pageYScroll, w:rect.width};
}
};
// PhotoSwipe opened from URL
if(fromURL) {
if(options.galleryPIDs) {
// parse real index when custom PIDs are used
// http://photoswipe.com/documentation/faq.html#custom-pid-in-url
for(var j = 0; j < items.length; j++) {
if(items[j].pid == index) {
options.index = j;
break;
}
}
} else {
// in URL indexes start from 1
options.index = parseInt(index, 10) – 1;
}
} else {
options.index = parseInt(index, 10);
}
// exit if index not found
if( isNaN(options.index) ) {
return;
}
if(disableAnimation) {
options.showAnimationDuration = 0;
}
// Pass data to PhotoSwipe and initialize it
gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options);
gallery.init();
};
// loop through all gallery elements and bind events
var galleryElements = document.querySelectorAll( gallerySelector );
for(var i = 0, l = galleryElements.length; i < l; i++) {
galleryElements[i].setAttribute('data-pswp-uid', i+1);
galleryElements[i].onclick = onThumbnailsClick;
}
// Parse URL and open gallery if it contains #&pid=3&gid=1
var hashData = photoswipeParseHash();
if(hashData.pid && hashData.gid) {
openPhotoSwipe( hashData.pid , galleryElements[ hashData.gid – 1 ], true, true );
}
};
// execute above function
initPhotoSwipeFromDOM('.photo-gallery');

Phone 0406 335 001
Send an Email
Share Weddings / Business Services / Shop / Venues / Blue Willow WeddingsWe deliver experiences – not just events.
Because that is ideally what your guests crave. They want to feel the energy and ambience that a beautifully curated event conveys. So how do you evoke these emotions for your guests?
This is where an events stylist and planner steps in.
Blue Willow are a wedding planning and event styling business based in Toowoomba, servicing various locations throughout south-east Queensland and northern New South Wales including Brisbane, the Gold Coast, the Sunshine Coast and Byron Bay areas. We relish in design, innovation, thinking outside of the box and impeccable organisational skills. Combining our talents for both aesthetics and structure is where the possibilities lie.Inspired by our clients objectives – small or large, each of our events are specifically curated to their needs. From bespoke weddings, to exciting business launches or a backyard birthday party with flair we design an individualised concept for each occasion.
If you’re looking to pop the question, pop into Larsen Jewellery in Brisbane and discover their range of engagement rings.
We only work with the best.
In order to deliver a premium result for our clients, we only recommend a number of trusted colleagues within the industry that we have worked with previously and understand their capabilities well. Vendors are chosen for their alikeness to an events concept and worked with in a cohesive environment.
Partnering with you every step of the way.
Whether you contact us 18 months before your event, or 2 weeks prior we strive to deliver you as much value during that period as we possibly can. The success of your event lies in the preparation. You can ensure we are your dependable contact, building trust and friendship throughout the planning process.
Blue Willow for event styling, planning and florals.
That’s right – we are able to assist you with every aspect of your events aesthetic from styling, to planning and floral design. We present a holistic approach to event design.
Now, it’s party time!
We’d love to partner with you on your next event.
Toowoomba Queensland 4350
More Weddings Listings in Toowoomba Region
Warwick St Chapel
Toowoomba Region | Weddings
Econo Lodge Toowoomba Motel & Events Centre
Toowoomba Region | Weddings | Motels & Hotels | Conferences
Charred
Toowoomba Region | Weddings | Restaurants | CafésSearch all Listings
All Listings
Accommodation (63)
Camping Darling Downs (6)
Motels & Hotels (47)
BnBs (8)
Dining Guide (72)
Restaurants (33)
Cafés (22)
Pubs & Bars (13)
Cellar Doors (10)
Producers (9)
Attractions and Tours (193)
Experience (48)
Our Beautiful Big Outdoors (50)
Recreation (42)
Galleries, Theatres & Museums (38)
Heritage (30)
Events (13)
Shop (164)
Discovery (6)
High Street (6)
Markets (2)
Shopping Centres (3)
Business Services (33)
Venues (45)
Weddings (35)
Conferences (34)
Getting Here (12)
Councils (4)
Sponsors (19)
The Darling Downs
Toowoomba Region (302)
Western Downs (34)
Goondiwindi Region (27)
Granite Belt (33)
Southern Downs (40)
Lockyer Valley (36)
Bunya Mountains (15)
South Burnett (35)
Beyond Darling Downs (4)