document.write('<link rel="stylesheet" href="http://gist.github.com/stylesheets/gist/embed.css"/>')





document.write('<div id=\"gist-135951\" class=\"gist\">\n  \n  \n    \n            \n\n      <div class=\"gist-file\">\n        <div class=\"gist-data gist-syntax\">\n          \n          \n          \n            <div class=\"gist-highlight\"><pre><div class=\"line\" id=\"LC1\"><span class=\"kd\">function<\/span> <span class=\"nx\">GuardianAPI<\/span><span class=\"p\">(<\/span><span class=\"nx\">apiBase<\/span><span class=\"p\">,<\/span> <span class=\"nx\">apiKey<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC2\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">apiBase<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">apiBase<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC3\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">apiKey<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">apiKey<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC4\"><span class=\"p\">}<\/span><\/div><div class=\"line\" id=\"LC5\">&nbsp;<\/div><div class=\"line\" id=\"LC6\"><span class=\"nx\">GuardianAPI<\/span><span class=\"p\">.<\/span><span class=\"nx\">prototype<\/span> <span class=\"o\">=<\/span> <span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC7\">&nbsp;<\/div><div class=\"line\" id=\"LC8\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">apiBase<\/span><span class=\"o\">:<\/span> <span class=\"kc\">null<\/span><span class=\"p\">,<\/span><\/div><div class=\"line\" id=\"LC9\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">apiKey<\/span><span class=\"o\">:<\/span> <span class=\"kc\">null<\/span><span class=\"p\">,<\/span><\/div><div class=\"line\" id=\"LC10\">&nbsp;<\/div><div class=\"line\" id=\"LC11\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"cm\">/* args should definitely include a callback function name */<\/span><\/div><div class=\"line\" id=\"LC12\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">getAPIContentURL<\/span><span class=\"o\">:<\/span> <span class=\"kd\">function<\/span><span class=\"p\">(<\/span><span class=\"nx\">id<\/span><span class=\"p\">,<\/span> <span class=\"nx\">args<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC13\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">return<\/span> <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">getAPIURL<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;/content/item/&#39;<\/span><span class=\"o\">+<\/span><span class=\"nx\">id<\/span><span class=\"p\">,<\/span> <span class=\"nx\">args<\/span><span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC14\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">},<\/span><\/div><div class=\"line\" id=\"LC15\">&nbsp;&nbsp;&nbsp;&nbsp;<\/div><div class=\"line\" id=\"LC16\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"cm\">/* args should definitely include a callback function name */<\/span><\/div><div class=\"line\" id=\"LC17\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">getAPISearchURL<\/span><span class=\"o\">:<\/span> <span class=\"kd\">function<\/span><span class=\"p\">(<\/span><span class=\"nx\">args<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC18\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">return<\/span> <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">getAPIURL<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;/content/search&#39;<\/span><span class=\"p\">,<\/span> <span class=\"nx\">args<\/span><span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC19\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">},<\/span><\/div><div class=\"line\" id=\"LC20\">&nbsp;&nbsp;&nbsp;&nbsp;<\/div><div class=\"line\" id=\"LC21\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"cm\">/* args should definitely include a callback function name */<\/span><\/div><div class=\"line\" id=\"LC22\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">getAPIURL<\/span><span class=\"o\">:<\/span> <span class=\"kd\">function<\/span><span class=\"p\">(<\/span><span class=\"nx\">path<\/span><span class=\"p\">,<\/span> <span class=\"nx\">args<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC23\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">args<\/span><span class=\"p\">[<\/span><span class=\"s1\">&#39;api_key&#39;<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">apiKey<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC24\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">args<\/span><span class=\"p\">[<\/span><span class=\"s1\">&#39;format&#39;<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"s1\">&#39;json&#39;<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC25\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">return<\/span> <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">apiBase<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">path<\/span> <span class=\"o\">+<\/span> <span class=\"o\">&amp;<\/span><span class=\"err\">#<\/span><span class=\"mi\">34<\/span><span class=\"p\">;<\/span><span class=\"o\">?&amp;<\/span><span class=\"err\">#<\/span><span class=\"mi\">34<\/span><span class=\"p\">;<\/span> <span class=\"o\">+<\/span> <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">getQueryString<\/span><span class=\"p\">(<\/span><span class=\"nx\">args<\/span><span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC26\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">},<\/span><\/div><div class=\"line\" id=\"LC27\">&nbsp;<\/div><div class=\"line\" id=\"LC28\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"cm\">/* turns each property of an object into an http querystring thing=value&amp;amp;other=worthless */<\/span><\/div><div class=\"line\" id=\"LC29\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"kd\">function<\/span> <span class=\"nx\">getQueryString<\/span><span class=\"p\">(<\/span><span class=\"nx\">args<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC30\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"kd\">var<\/span> <span class=\"nx\">argStrings<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[];<\/span><\/div><div class=\"line\" id=\"LC31\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">for<\/span> <span class=\"p\">(<\/span><span class=\"kd\">var<\/span> <span class=\"nx\">arg<\/span> <span class=\"k\">in<\/span> <span class=\"nx\">args<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC32\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">argStrings<\/span><span class=\"p\">.<\/span><span class=\"nx\">push<\/span><span class=\"p\">(<\/span><span class=\"nx\">arg<\/span> <span class=\"o\">+<\/span> <span class=\"o\">&amp;<\/span><span class=\"err\">#<\/span><span class=\"mi\">34<\/span><span class=\"p\">;<\/span><span class=\"o\">=&amp;<\/span><span class=\"err\">#<\/span><span class=\"mi\">34<\/span><span class=\"p\">;<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">escape<\/span><span class=\"p\">(<\/span><span class=\"nx\">args<\/span><span class=\"p\">[<\/span><span class=\"nx\">arg<\/span><span class=\"p\">]));<\/span><\/div><div class=\"line\" id=\"LC33\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">}<\/span><\/div><div class=\"line\" id=\"LC34\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">return<\/span> <span class=\"nx\">argStrings<\/span><span class=\"p\">.<\/span><span class=\"nx\">join<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"err\">#<\/span><span class=\"mi\">34<\/span><span class=\"p\">;<\/span><span class=\"o\">&amp;<\/span><span class=\"nx\">amp<\/span><span class=\"p\">;<\/span><span class=\"o\">&amp;<\/span><span class=\"err\">#<\/span><span class=\"mi\">34<\/span><span class=\"p\">;);<\/span><\/div><div class=\"line\" id=\"LC35\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">}<\/span><\/div><div class=\"line\" id=\"LC36\"><span class=\"p\">};<\/span><\/div><div class=\"line\" id=\"LC37\">&nbsp;<\/div><\/pre><\/div>\n          \n        <\/div>\n\n        <div class=\"gist-meta\">\n          <a href=\"http://gist.github.com/raw/135951/2683347494e1489ce5a0719b9f0bb0640e9993bd/gistfile1.js\" style=\"float:right;\">view raw<\/a>\n          <a href=\"http://gist.github.com/135951#file_gistfile1.js\" style=\"float:right;margin-right:10px;color:#666\">gistfile1.js<\/a>\n          <a href=\"http://gist.github.com/135951\">This Gist<\/a> brought to you by <a href=\"http://github.com\">GitHub<\/a>.\n        <\/div>\n      <\/div>\n    \n  \n<\/div>\n')
