Melrob.RegionMap=function(a){return(function(q){var l={},p,k,j,c=null,h=null;l.params=$.extend(true,{},Melrob.RegionMap.defaults,q);function f(){var s=unescape(Abl.Cookie.get(l.params.cookieId)),r;if((s)&&(s.match(/^([A-Za-z ]+):([A-Za-z]+):([a-z]{2}(?:-[A-Z]{2,3})*):([a-z]{2}(?:-[A-Z]{2,3})*)$/))){h={};r=s.split(":");if(r.length===4){h.code=r[0];h.language=r[1];h.culture=r[2];h.uiCulture=r[3];h.cookieValue=s;}}else{h=null;}}function d(s){var r,t;for(r=0;r<s.languages.length;r++){t=s.languages[r];if(t.isDefault){return t;}}throw"Region '"+s.name+"' does not define a default language!";}function m(s,r){return $("<option></option>").attr("value",r).text(s);}function b(t){var r,v,u,s;j.empty();for(r=0;r<t.languages.length;r++){v=t.languages[r];u=$("<li></li>").appendTo(j);s=$("<a class='flag'></a>").addClass(v.culture).text(v.name).attr("title",v.name).attr("href",l.params.redirectTo+"#"+v.cookieValue).appendTo(u);if(h){if(v.cookieValue===h.cookieValue){s.addClass("active");}}else{if(v.isDefault){s.addClass("active");}}}}function e(){var r=0,t,u,s;k.empty();for(r=0;r<c.regions.length;r++){t=c.regions[r];u=d(t);s=m(t.name,u.cookieValue);if(h){if(t.code===h.code){s.attr("selected","selected");b(t);}}else{if(t.isDefault){s.attr("selected","selected");b(t);}}k.append(s);}}function n(){c=null;$.ajax({type:"POST",url:l.params.dataProviderUrl,data:{method:"LoadRegionMap"},dataType:"json",cache:false,success:function(r){if(r.error){alert(r.error);}else{c=r;l.params.cookieId=l.params.cookieId||c.cookieId;f();e();}},error:function(t,r,s){var u="Unable to retrieve data from server!";u+="\r\n(Melrob.RegionMap.loadRegionMap())";alert(u);}});}function g(r){if((h)&&(r===h.cookieValue)){return;}Abl.Cookie.set(l.params.cookieId,r,l.params.cookieLifetime,"d");window.location=l.params.redirectTo;}function i(){k.bind("change",function(r,s){g($(this).val());});$("a",j.get(0)).live("click",function(){g($(this).getBookmark());return false;});$("a.country-link").click(function(r){event.preventDefault();g($(this).getBookmark());});}function o(){var r;p=$(l.params.container);r=p.get(0);k=$(l.params.ddlRegion,r);j=$(l.params.flagList,r);i();n();}l.dispose=function(){k.unbind("change");$("a",j.get(0)).die();$("a.country-link").unbind();};o();return l;}(a));};Melrob.RegionMap.defaults={redirectTo:"/Default.aspx",cookieId:null,cookieLifetime:60,dataProviderUrl:"/Abl_WebServices/Configuration/RegionMapProvider.ashx",container:"div#regionSelector",ddlRegion:"select.ddl.region",flagList:"ul.flags"};$(function(){var a=Melrob.RegionMap();$(window).unload(function(){a.dispose();});});
