lol, Me: Well that's a big flippn question! Gotta see what the answer is ; )
function buildUrl() { //This function constructs a url argument to use when passing shared urls. var mext, dfrom, dto, ll, ur, xa, xg, xf, xt, ct;
 mext = dijit.byId("map").getMap().extent;
 dfrom = dijit.byId("dateFrom").value;
 dto = dijit.byId("dateTo").value;
 ll = "" + mext.xmin + "," + mext.ymin;
 ur = "" + mext.xmax + "," + mext.ymax;
 xa = dijit.byId("sp").searchaddress;
 xg = dijit.byId("gmSelectAreas").value;
 xf = "" + (1 + dfrom.getMonth()) + "+" + dfrom.getDate() + "+" + dfrom.getFullYear();
 xt = "" + (1 + dto.getMonth()) + "+" + dto.getDate() + "+" + dto.getFullYear();
 ct = dojo.cookie("ct");
 //return window.location.protocol + "//" + window.location.host + window.location.pathname + "?" + dojox.encoding.crypto.Blowfish.encrypt("ll=" + ll + "&ur=" + ur + ((xa) ? "&xa=" : "") + xa + ((xg) ? "&xg=" : "") + xg + "&xf=" + xf + "&xt=" + xt + "&ct=" + ct, "slcpd");
 return window.location.protocol + "//" + window.location.host + window.location.pathname + "?ll=" + ll + "&ur=" + ur + ((xa) ? "&xa=" : "") + xa + ((xg) ? "&xg=" : "") + xg + "&xf=" + xf + "&xt=" + xt + "&ct=" + ct;
}
function getValuesFromURL(name,urlstring)
{ //Utility function for finding a url argument in a url. See how it is used below.
    //Use RegExp to clean up the URL and to search for the given parameter
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regexS = "[\\?&]" + name + "=([^&#]*)";
    var regex = new RegExp(regexS);
    var results = regex.exec(urlstring);
    if (results === null) {
        return "";
    } else {
        return (results[1]);
    }
}
//In body of main code for page
  var sstring = window.location.search;
  urlargs = {
   ll: dojo.map(getValuesFromURL("ll", sstring).split("%2c"),function(x) { return parseFloat(x);},this), //Lower left
   ur: dojo.map(getValuesFromURL("ur", sstring).split("%2c"),function(x) { return parseFloat(x);},this), //Upper right
   xa: getValuesFromURL("xa", sstring).split("+").join(" "), //Search Address
   xg: getValuesFromURL("xg", sstring), //geokey to a specific location
   xf: new Date(Date.parse(getValuesFromURL("xf", sstring).split("+").join(" "))), //Date from
   xt: new Date(Date.parse(getValuesFromURL("xt", sstring).split("+").join(" "))), //Date to
   xs: getValuesFromURL("xs", sstring), //Sort by
   xk: getValuesFromURL("xk", sstring),  //Skin
   ct: getValuesFromURL("ct", sstring) //Crime Types
  };
  urlargs.xf = (urlargs.xf > 0) ? urlargs.xf : "";
  urlargs.xt = (urlargs.xt > 0) ? urlargs.xt : "";
//This part is wrapped in a large try...catch because bad arguments can throw errors
   if (urlargs.xs) {
    dojo.cookie("xs", urlargs.xs);   
   }
//Then still yet farther down, when I am creating the map object
   options = {
    extent: urlargs.urlextent || urlargs.initextent
    //There is more, but that is the key part for extent
   };
//And then I pass that options object as the 2nd argument when creating the map
   if (urlargs.ll[0] && urlargs.ll[1] && urlargs.ur[0] && urlargs.ur[1]) {
    urlargs.urlextent = new esri.geometry.Extent({
     "xmin": urlargs.ll[0],
     "ymin": urlargs.ll[1],
     "xmax": urlargs.ur[0],
     "ymax": urlargs.ur[1],
     "spatialReference": {
      "wkid": 102113
     }
    });
   } else {
    urlargs.initextent = new esri.geometry.Extent({
     "xmin": -10137766.624432003,
     "ymin": 4628644.247807602,
     "xmax": -9998498.358896358,
     "ymax": 4711960.608638476,
     "spatialReference": {
      "wkid": 102113
     }
    });
   } 
					
				
			
			
				
			
			
				
			
			
			
			
			
			
		function getUrlParam(name, url) { // optionally pass an URL to parse
 if (!url) url = window.location.href;        // if no parameter url is given, use the page URL
 name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");   // instruction needed if we want to extract an array
 var results = new RegExp("[\\?&]"+name+"=([^&#]*)").exec(url);
 if( results == null ) 
  return null;         // if the name is not found, return null
 else // decodeURIComponent doesn't recognize '+' as encoding for space
  return decodeURIComponent(results[1].replace(/\+/g," ")); 
}Hi there Can I see how you have been used this code?
