<%@language = "javascript" %> <% /* $Revision$ $Id$ File: phonebook_js.asp Description: Phonebook API Levert een JavaScript bestand op. Parameters: Context: Note: */ DOCTYPE_Disable = 1; FCLTEXPIRES = 8*60; // geen database interactie tenslotte THIS_FILE = "appl/api/phonebook_js.asp"; %> <% var APIname = getQParam("API"); var APIKEY = getQParam("APIKEY"); var API = new API_func(APIname, APIKEY); var nojQuery = getQParam("nojQuery", 0)==1; var transitParam = "&fac_id="+Session("customerId") + buildTransitParam(["API", "APIKEY", "charset"]); var proto = (Request.ServerVariables("SERVER_PORT") == "443")?"https":"http"; var sitenoroot = proto + "://" + Request.ServerVariables("SERVER_NAME"); var site = sitenoroot + rooturl; //lcl.buildClientLCL(); // LET OP: Geen FcltMgr.js en dus niet (clientside) zelflerend %> window.facilitor = window.facilitor || {}; window.facilitor.LCL = {}; window.facilitor.LCL["lcl_shared_suggest_hint"] = "<%=safe.jsstring(L("lcl_shared_suggest_hint"))%>"; window.facilitor.LCL["lcl_shared_suggest_huidig"] = "<%=safe.jsstring(L("lcl_shared_suggest_huidig"))%>"; facilitor.phonebook = facilitor.phonebook || {}; function L(p_lcl) { if (p_lcl in window.facilitor.LCL) return window.facilitor.LCL[p_lcl]; return "??" + p_lcl + "??"; } (function() { function getScript(src) { document.write('<' + 'script src="<%=site%>/' + src + '"' + ' type="text/javascript"><' + '/script>'); } function getCSS(src) { document.write('<' + 'link rel="stylesheet" href="<%=site%>/' + src + '"' + ' type="text/css">'); } var loadScriptTime = (new Date).getTime(); getCSS("appl/shared/suggest/suggest.css"); getCSS("appl/api/api.css"); <% if (!nojQuery) { /* kan conflicteren */ %> getScript("appl/localscripts/jquery-1.6.1.min.js"); <% } %> getScript("appl/shared/suggest/suggest.js"); <% if (API.apidata.cust_js) { %> getScript("<%=API.apidata.cust_js%>"); <% } %> window.facilitor.open_phonebook = function(key, naam) { if (key > 0) jQuery.ajax({ type: "GET", url: "<%=site%>/appl/api/get_phonebook_info.asp?req_info=prs_perslid&prs_perslid_key=" + key + "<%=transitParam%>", dataType: "jsonp", success: window.facilitor.show_phonebook }); else $("#phonebookdetails").hide() } // De default waarden, werkt nog niet TODO window.facilitor.phonebook_options = { detailWidth : 450, toonFoto: true, detailurl: "appl/fac/fac_user_info.asp", deeplinkurl: "<%=site%>/?nomenu=1&noheader=1&ihatetabs=1&JumpTo=", fields: [ { lbl: "<%=L("lcl_prs_email")%>", val: "prs_perslid_email" }, { lbl: "<%=L("lcl_pb_phone")%>", val: "prs_perslid_telefoonnr" }, { lbl: "<%=L("lcl_pb_mobile")%>", val: "prs_perslid_mobiel" }, { lbl: "<%=L("lcl_pb_afdeling")%>", val: "afdeling" } ] }; <% // kopieer de serverside overrules naar clientside for (opt in API.apidata.options) { Response.Write("\nwindow.facilitor.phonebook_options['"+opt+"'] = " + " eval('(" + safe.jsstring(JSON.stringify(API.apidata.options[opt])) + ")')"); } %> window.facilitor.decodehtml = function(encodedStr) { // get_phonebook_info.asp heeft ons alles HTML-encoded gegeven maar hier willen we dat niet // België.jpg --> België.jpg var decoded = $("
").html(encodedStr).text(); return decoded; } window.facilitor.show_phonebook = function(data, textStatus) { // Alle styling moet nog via classes var closer = "x" if (window.facilitor.phonebook_options.detailurl) { var jumpto = window.facilitor.phonebook_options.detailurl; jumpto += (jumpto.indexOf("?")>=0)?"&":"?"; jumpto += "prs_key="+data.prs_perslid_key; var link = window.facilitor.phonebook_options.deeplinkurl + escape(jumpto) + "<%=transitParam%>"; var ahref = ""+data.naam+"" } else ahref=date.naam; var trh = ""+ahref+"" var trs = ""; if (window.facilitor.phonebook_options.toonFoto && data.photopath) { trs += ""; } var fld; for (fld in window.facilitor.phonebook_options.fields) { var field = window.facilitor.phonebook_options.fields[fld]; if (field.val && data[field.val]) { trs += ""+field.lbl+""; trs += " "+data[field.val]+""; } if (field.fun) trs += eval(field.fun + "(data)"); } if (!document.getElementById("phonebookdetails")) { // Alle esthetische styling verloopt via de css var dd = document.createElement('div'); dd.id = "phonebookdetails"; dd.style.position = "absolute"; dd.style.top = $("#sName_key_show").position().top+20 + "px"; dd.style.width = window.facilitor.phonebook_options.detailWidth + "px"; var newLeft = $("#sName_key_show").position().left; if (newLeft + window.facilitor.phonebook_options.detailWidth > document.body.offsetWidth) { // Wel in beeld houden newLeft = document.body.offsetWidth - window.facilitor.phonebook_options.detailWidth } dd.style.left = newLeft + "px"; document.body.appendChild(dd); if (0)$("body").click // even niet, hij is te agressief ( function(e) { if($(e.target).closest("#phonebookdetails").length==0) { $("#phonebookdetails").hide(); } } ); } var dd = document.getElementById("phonebookdetails"); dd.innerHTML = ""+closer+""+trh + trs+"
"; dd.style.display = "block"; } window.facilitor.phonebook = function (elm, options) { var opt; for (opt in options) { window.facilitor.phonebook_options[opt] = options[opt]; } $(elm).append('') $(elm).append(''); sgPerson = new Suggest({ objectName: "sgPerson", queryField: $("#sName_key_show")[0], queryUrl: "<%=site%>/appl/shared/suggest/SuggestPerslid.asp?filtcode=PHB<%=transitParam%>", initKey: -1, noJustOne: true, keyField: $("#sName_key")[0], JSONP: true, embedded: true }); }; })();