(function () { var DoctoraliaAPI = { url: 'http://api.doctoralia.com/widgets/reviews/widget.aspx', apiKey: null, lang: null, demo: false, domain: null, entity: null, apiCalls: 0 }; var EVENT_TYPES = { INIT: 0, CLICK_PROFILE: 1, CLICK_HOME: 2 } function doCall(params, callbackFunc) { callbackFunc = (callbackFunc || null); var scriptId = "draliaReviewScript"; var s = document.getElementById(scriptId); if (s != null) s.parentNode.removeChild(s); s = document.createElement("script"); s.type = "text/javascript"; s.id = scriptId; s.async = true; var url = DoctoraliaAPI.url + "?apikey=" + encodeURIComponent(DoctoraliaAPI.apiKey || "") + "&lang=" + encodeURIComponent(DoctoraliaAPI.lang || "") + "&domain=" + encodeURIComponent(DoctoraliaAPI.domain || "") + "&entity=" + encodeURIComponent(DoctoraliaAPI.entity || "") + (DoctoraliaAPI.demo ? "&demo=true&entity=" + encodeURIComponent(DoctoraliaAPI.entity || "") : "") + "&url=" + encodeURIComponent(location.href); if (callbackFunc) { var callback = "_draliaRevWidgetCallback" + (DoctoraliaAPI.apiCalls++); url = url + "&callback=" + encodeURIComponent(callback); window[callback] = function (data) { window[callback] = null; callbackFunc(data); } } s.src = url + "&" + params; document.getElementsByTagName("head")[0].appendChild(s); } function init() { var scripts = document.getElementsByTagName("script"); if (scripts.length > 0) { var found = false; var url = null; for (var i = 0; i < scripts.length; i++) { url = (scripts[i].getAttribute("src", -1) || null); if ((url !== null) && (url.toLowerCase().indexOf("/widgets/reviews/widget.js") > 0)) { found = true; break; } } if (found) { var parts = url.split("#"); DoctoraliaAPI.url = parts[0].replace(/widget\.js/gi, "widget.aspx"); if (parts.length > 1) { var params = parts[1].split("&"); for (var i = 0; i < params.length; i++) { var keyValue = params[i].split("="); if (keyValue.length > 1) { if (keyValue[0] == "apikey") DoctoraliaAPI.apiKey = keyValue[1]; else if (keyValue[0] == "lang") DoctoraliaAPI.lang = keyValue[1]; else if (keyValue[0] == "demo") DoctoraliaAPI.demo = (keyValue[1] == "true"); else if (keyValue[0] == "entity") DoctoraliaAPI.entity = keyValue[1]; } } } var cssId = "DoctoraliaReviewsWidgetCSS"; if (document.getElementById(cssId) == null) { var css = document.createElement("link"); css.id = cssId; css.type = "text/css"; css.rel = "stylesheet"; css.href = parts[0].replace(/widget\.js/gi, "widget.css?v=20141203"); document.getElementsByTagName("head")[0].appendChild(css); } } } DoctoraliaAPI.domain = location.host; doCall("eventType=" + EVENT_TYPES.INIT, (DoctoraliaAPI.demo ? showDemoData : showData)); } function showDemoData(result) { if (result && result.success) { var divs = addElementsToArray([], ["dralia-reviews"], ["dralia-forcedreviews"]); if (result.data.numReviews > 0 && result.data.numReviewsReal) divs = addElementsToArray(divs, [], ["dralia-reviews"]); for (var i = 0; i < divs.length; i++) { if (divs[i] != null) showData2(result, divs[i]); } var divs2 = addElementsToArray([], ["dralia-noreviews"], ["dralia-noreviews"]); if (result.data.numReviews == 0 || !result.data.numReviewsReal) divs2 = addElementsToArray(divs2, [], ["dralia-reviews"]); result.data.numReviews = 0; for (var i = 0; i < divs2.length; i++) { if (divs2[i] != null) showData2(result, divs2[i]); } } } function showData(result) { var divs = addElementsToArray([], ["dralia-reviews"], ["dralia-reviews"]); for (var i = 0; i < divs.length; i++) { if (divs[i] != null) showData2(result, divs[i]); } } function showData2(result, div) { if (result && result.success && div) { var campaign = result.data.entityType + "-" + result.data.entityId; //var utmParamsProfile = "utm_source=widgetOpiniones&utm_campaign=" + campaign + "&utm_medium=profile"; //var utmParamsHome = "utm_source=widgetOpiniones&utm_campaign=" + campaign + "&utm_medium=home"; //var utmParamsNewReview = "utm_source=widgetOpiniones&utm_campaign=" + campaign + "&utm_medium=newReview"; var utmParamsProfile = ""; var utmParamsHome = ""; var utmParamsNewReview = ""; if (result.data.numReviews > 0) { var avgReviews = Math.floor(result.data.avgReviews); var remainder = result.data.avgReviews - avgReviews; avgReviews += (remainder > 0.75 ? 1 : (remainder > 0.25 ? 0.5 : 0)); div.innerHTML = "