/AndamanAlumni/Default.aspx
ASP.NET | 127 lines | 117 code | 10 blank | 0 comment | 31 complexity | 30cc67d702370f008fe7b0ff361e4569 MD5 | raw file
Possible License(s): GPL-2.0
- <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="AndamanAlumni._Default" %>
-
- <%@ Register Assembly="Artem.GoogleMap" Namespace="Artem.Web.UI.Controls" TagPrefix="cc1" %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head runat="server">
- <title></title>
- <script type="text/javascript">
- //IPInfoDB javascript JSON query example
- //Tested with FF 3.5, Opera 10, Chome 5 and IE 8
- //Geolocation data is stored as serialized JSON in a cookie
- //Bug reports : http://forum.ipinfodb.com/viewforum.php?f=7
- function geolocate(timezone, cityPrecision, objectVar) {
- var api = (cityPrecision) ? "ip-city" : "ip-country";
- var domain = 'api.ipinfodb.com';
- var url = "http://" + domain + "/" + api + "/?key=<your_api_key>&format=json" + "&callback=" + objectVar + ".setGeoCookie";
- var geodata;
- var callbackFunc;
- var JSON = JSON || {};
-
- // implement JSON.stringify serialization
- JSON.stringify = JSON.stringify || function (obj) {
- var t = typeof (obj);
- if (t != "object" || obj === null) {
- // simple data type
- if (t == "string") obj = '"' + obj + '"';
- return String(obj);
- } else {
- // recurse array or object
- var n, v, json = [], arr = (obj && obj.constructor == Array);
- for (n in obj) {
- v = obj[n]; t = typeof (v);
- if (t == "string") v = '"' + v + '"';
- else if (t == "object" && v !== null) v = JSON.stringify(v);
- json.push((arr ? "" : '"' + n + '":') + String(v));
- }
- return (arr ? "[" : "{") + String(json) + (arr ? "]" : "}");
- }
- };
-
- // implement JSON.parse de-serialization
- JSON.parse = JSON.parse || function (str) {
- if (str === "") str = '""';
- eval("var p=" + str + ";");
- return p;
- };
-
- //Check if cookie already exist. If not, query IPInfoDB
- this.checkcookie = function (callback) {
- geolocationCookie = getCookie('geolocation');
- callbackFunc = callback;
- if (!geolocationCookie) {
- getGeolocation();
- } else {
- geodata = JSON.parse(geolocationCookie);
- callbackFunc();
- }
- }
-
- //API callback function that sets the cookie with the serialized JSON answer
- this.setGeoCookie = function (answer) {
- if (answer['statusCode'] == 'OK') {
- JSONString = JSON.stringify(answer);
- setCookie('geolocation', JSONString, 365);
- geodata = answer;
- callbackFunc();
- }
- }
-
- //Return a geolocation field
- this.getField = function (field) {
- try {
- return geodata[field];
- } catch (err) { }
- }
-
- //Request to IPInfoDB
- function getGeolocation() {
- try {
- script = document.createElement('script');
- script.src = url;
- document.body.appendChild(script);
- } catch (err) { }
- }
-
- //Set the cookie
- function setCookie(c_name, value, expire) {
- var exdate = new Date();
- exdate.setDate(exdate.getDate() + expire);
- document.cookie = c_name + "=" + escape(value) + ((expire == null) ? "" : ";expires=" + exdate.toGMTString());
- }
-
- //Get the cookie content
- function getCookie(c_name) {
- if (document.cookie.length > 0) {
- c_start = document.cookie.indexOf(c_name + "=");
- if (c_start != -1) {
- c_start = c_start + c_name.length + 1;
- c_end = document.cookie.indexOf(";", c_start);
- if (c_end == -1) {
- c_end = document.cookie.length;
- }
- return unescape(document.cookie.substring(c_start, c_end));
- }
- }
- return '';
- }
- }
- </script>
- <script type="text/javascript">
- //function geolocate(timezone, cityPrecision, objectVar).
- //If you rename your object name, you must rename 'visitorGeolocation' in the function
- var visitorGeolocation = new geolocate(false, true, '172.16.29.239');
- debugger;
- //Check for cookie and run a callback function to execute after geolocation is read either from cookie or IPInfoDB API
- var callback = function () {
- alert('Visitor country code : ' + visitorGeolocation.getField('countryCode'))
- };
- visitorGeolocation.checkcookie(callback);
- </script>
- </head>
- <body>
- <form id="form1" runat="server">
-
- </form>
- </body>
- </html>