(function () { var config, create, widget; config = { lang : "en", containerId : "insertNewsWidget_se2009_eu", width : 400, marginBottom: '50px' , headers : { main : { href : "http://www.se2009.eu", innerHTML : "se2009.eu Swedish Presidency of the European Union " }, latestNews : 'Latest News' }, news : [ { tagName : "li", className : "external", appendChildren : [{ tagName : "a", href : 'http://www.se2009.eu/en/meetings_news/2009/12/29/we_have_brought_the_eu_back_on_track', innerHTML : ""We have brought the EU back on track"", target : "_blank" }, { tagName : "p", innerHTML : '29 December 13:39' }] }, { tagName : "li", className : "external", appendChildren : [{ tagName : "a", href : 'http://www.se2009.eu/en/meetings_news/2009/12/16/outcomes_of_the_swedish_eu_presidency', innerHTML : "Outcomes of the Swedish EU Presidency", target : "_blank" }, { tagName : "p", innerHTML : '16 December 13:20' }] } ] }; create = function (obj) { var keys, newElement = obj.tagName ? document.createElement(obj.tagName) : document.createElement("div"), i, newKid; for (keys in obj) { if (keys !== "tagName") { if ((/clas[s](Name)?/).test(keys)) { newElement.className = obj[keys]; } else if (newElement.style[keys]) { newElement.style[keys] = obj[keys]; } else if (keys === "appendChildren") { for (i = 0; i < obj[keys].length; i += 1) { newKid = create(obj[keys][i]); newElement.appendChild(newKid); } } else { newElement[keys] = obj[keys]; } } } return newElement; }; widget = { init : function () { var cf = config, cont = document.getElementById(cf.containerId), cs = cont.style, cn = "pa-widget " + config.lang, maxWidth = 684, minWidth = 225; if (cf.width || cf.width === 0) { if (cf.width < minWidth) { cf.width = minWidth; } else if (cf.width > maxWidth) { cf.width = maxWidth; } } else if (cont.offsetWidth > maxWidth) { cf.width = maxWidth; } else if (cont.offsetWidth < minWidth) { cf.width = minWidth; } cs.width = cf.width + "px"; if (parseInt(cf.width, 10) < 373) { cn += " pa-mini"; } this.insertStyleSheets(); cont.className = "lang-" + config.lang; cont.appendChild(create({ id : "extraDiv", className : cn, appendChildren : [{ tagName : "a", id : "se2009", href : cf.headers.main.href, innerHTML : cf.headers.main.innerHTML, target : "_blank" }, { tagName : "span", innerHTML : "Share this widget", id: "csButton", className: "ShareButton" }, { className : "content", appendChildren : [{ tagName : "h2", innerHTML : cf.headers.latestNews }, { tagName : "ul", appendChildren : cf.news }] }] })); }, insertStyleSheets : function () { var h = document.getElementsByTagName("head")[0]; h.appendChild(create({ tagName : "link", href : "http://www.se2009.eu/css/widget.css", type : "text/css", rel : "stylesheet" })); } }; widget.init(); }());