/*
Expecting a iframe of the form:
*/
GFMWidget = {};
GFMWidget.scriptNamespace = GFMWidget.scriptNamespace || {};
GFMWidget.isFirstLoad = function(namesp) {
var isFirst = namesp.firstLoad === undefined;
namesp.firstLoad = false;
return isFirst;
};
(function() {
// wait for DomReady
document.addEventListener("DOMContentLoaded", function() {
if (!GFMWidget.isFirstLoad(GFMWidget.scriptNamespace)) {
return;
}
var widgets = document.getElementsByClassName('gfm-media-widget');
// without the iframe, the call instead of the src attribute, needs to make a get request
// var getFundInfo = new XMLHttpRequest();
// var fundsInfo;
// getFundInfo.onreadystatechange = function() {
// if (getFundInfo.readyState == XMLHttpRequest.DONE) {
// //fundsInfo.push(getFundInfo.responseText);
// console.log(getFundInfo.responseText);
// // fundsInfo = Object.keys(getFundInfo.responseText).map(function(k) {
// // return o[k];
// // });
// fundsInfo = JSON.parse(getFundInfo.responseText);
// //document.getElementById('gfm-widget').innerHTML = '
- '+fundsInfo.title+'
';
// }
// };
// getFundInfo.open("GET", "//www.gofundme.com/mvc.php?route=widgets/getfundinfo&fund=brett");
// getFundInfo.send();
// INJECTING CSS IN STYLE TAG
// width of parent container <= 220px
var styleXS = '.responsive-wrapper {height: 343px;width:100%;} .hide-image.responsive-wrapper { height: 182px; } .hide-organizer.responsive-wrapper { height: 291px; } .hide-image.hide-organizer.responsive-wrapper { height: 131px; }';
// width of parent container >= 221px and <= 285px
var styleS = '.responsive-wrapper { height: 370px; } .hide-image.responsive-wrapper { height: 182px; } .hide-organizer.responsive-wrapper { height: 364px; }.hide-image.hide-organizer.responsive-wrapper { height: 131px; }';
// width of parent container >= 286 px and <= 349px
var styleM = '.responsive-wrapper { height: 415px; } .hide-image.responsive-wrapper { height: 182px; } .hide-organizer.responsive-wrapper { height: 364px; } .hide-image.hide-organizer.responsive-wrapper { height: 131px; }';
// width of parent container >= 350px and <= 435px
var styleL = '.responsive-wrapper { height: 502px; } .hide-image.responsive-wrapper { height: 210px; } .hide-organizer.responsive-wrapper { height: 449px; } .hide-image.hide-organizer.responsive-wrapper { height: 159px; }';
// width of parent container >= 436px
var styleXL = '.responsive-wrapper { height: 557px; } .hide-image.responsive-wrapper { height: 210px; } .hide-organizer.responsive-wrapper { height: 506px; } .hide-image.hide-organizer.responsive-wrapper { height: 159px; }';
var getResponsiveCSS = function(e) {
if (e.parentNode.offsetWidth <= 220) {
return styleXS;
} else if (e.parentNode.offsetWidth >= 221 && e.parentNode.offsetWidth <= 285) {
return styleS;
} else if (e.parentNode.offsetWidth >= 286 && e.parentNode.offsetWidth <= 349) {
return styleM;
} else if (e.parentNode.offsetWidth >= 350 && e.parentNode.offsetWidth <= 435) {
return styleL;
} else if (e.parentNode.offsetWidth >= 436) {
return styleXL;
}
};
var head = document.head || document.getElementsByTagName('head')[0];
var style = document.createElement('style');
style.type = 'text/css';
style.innerHTML = getResponsiveCSS(widgets[0]);
head.appendChild(style);
/* go through all gofundme widget iframes */
for (var i=0; i";
if(responsiveWrapper.parentNode.attachEvent) { // IE8 and below support
window.attachEvent('onresize', function() {
style.innerHTML = getResponsiveCSS(responsiveWrapper);
});
} else if(responsiveWrapper.parentNode.addEventListener) {
window.addEventListener('resize', function() {
style.innerHTML = getResponsiveCSS(responsiveWrapper);
}, true);
}
responsiveWrapper.innerHTML += pixelTrackGA;
}
});
})();