<%@language = "javascript" %> <% /* $Revision: 13 $ $Modtime: 2-01-12 15:07 $ 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 %> <% 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; %> window.facilitor = window.facilitor || {}; facilitor.phonebook = facilitor.phonebook || {}; function setLCL(data) { window.LCL.shared = data; } (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"); window.LCL = {}; getScript("appl/shared/load_lcl.asp?module=" + "shared&callback=setLCL<%=transitParam%>"); <% 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 + buildTransitParam(["API", "APIKEY"])%>", 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: "<%=lcl_prs_email%>", val: "prs_perslid_email" }, { lbl: "<%=lcl_pb_phone%>", val: "prs_perslid_telefoonnr" }, { lbl: "<%=lcl_pb_mobile%>", val: "prs_perslid_mobiel" }, { lbl: "<%=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(''); //$(elm).append(""); sgPerson = new Suggest({ objectName: "sgPerson", queryField: $("#sName_key_show")[0], queryUrl: "<%=site%>/appl/shared/suggest/SuggestPerslid.asp?autlevel=-1&filtcode=PHB&perslidKey=-1<%=transitParam%>", initKey: -1, noJustOne: true, keyField: $("#sName_key")[0], JSONP: true, embedded: true }); }; })();