(function(a){a.fn.iv_googlemap=function(b){return this.each(function(){new a.iv.googlemap(this,b)})};a.fn.iv_googlemap_set_map=function(b){return this.each(function(){var c=a.data(this,"googlemap");c.set_map(b)})};a.fn.iv_googlemap_to_here=function(){return this.each(function(){var b=a.data(this,"googlemap");b.to_here()})};a.fn.iv_googlemap_from_here=function(){return this.each(function(){var b=a.data(this,"googlemap");b.from_here()})};a.iv.googlemap=function(b,m){m=a.extend({zoom:3,address_text:"Address",directions_text:"Get directions",start_address:"Start address",end_address:"End address",to_here_text:"To here",from_here_text:"From here",go_text:"Go",no_directions:null},m);var l=a(b);var g=l.attr("lat");var i=l.attr("long");m.zoom=parseInt(l.attr("zoom"));a.data(b,"googlemap",this);h();function h(){j()}function j(){var p=JSON.parse(decodeURIComponent(l.attr("values")));var o=p.address;var q=p.width;var n=p.height;if(q){l.width(parseInt(q))}if(n){l.height(parseInt(n))}var s;if(p.error){s=p.error+"<br />"+o}else{s=e(o)}var r={mapCenter:[g,i],mapControlSize:"large",mapZoom:m.zoom,mapEnableType:true};l.jmap(r);l.addMarker({pointLatLng:[g,i],pointHTML:s})}function f(o){for(var q in o){l.attr(q,o[q])}l.attr("values",encodeURIComponent(JSON.stringify(o)));var r=parseInt(o.zoom);var n=o.address;var p=e(n);l[0].jmap.clearOverlays();l.searchAddress({address:n,addMarker:true,zoom:r,showAddress:p},{},function(){})}function e(n){var o="<div class='address_text'>"+m.address_text+":</div><div>"+n+"</div>";if(m.no_directions){return o}var q="onclick=\"$('#"+l.attr("id")+"').iv_googlemap_to_here();\"";var p="onclick=\"$('#"+l.attr("id")+"').iv_googlemap_from_here();\"";o+='<div class="directions_text">'+m.directions_text+': <span id="to_here" '+q+">"+m.to_here_text+'</span> - <span id="from_here" '+p+">"+m.from_here_text+'</span></div><div id="directions_form"></div>';return o}function d(){var o=JSON.parse(decodeURIComponent(l.attr("values")));var n=o.address;var q=a("<form></form>");q.attr("action","http://maps.google.com/maps");q.attr("target","google_maps");q.attr("method","get");var p=a('<input type="hidden"></input>');p.attr("name","daddr");p.val(n);var s=a('<input type="text"></input>');s.attr("name","saddr");var t=a("<div>Start address</div>");t.addClass("directions_start_address");var r=a('<input type="submit" value="Go"></input>');q.append(t);q.append(p);q.append(s);q.append(r);a("#directions_form").empty().append(q)}function k(){var o=JSON.parse(decodeURIComponent(l.attr("values")));var n=o.address;var r=a("<form></form>");r.attr("action","http://maps.google.com/maps");r.attr("target","google_maps");r.attr("method","get");var t=a('<input type="hidden"></input>');t.attr("name","saddr");t.val(n);var p=a('<input type="text"></input>');p.attr("name","daddr");var q=a("<div>End address</div>");q.addClass("directions_end_address");var s=a('<input type="submit" value="Go"></input>');r.append(q);r.append(p);r.append(t);r.append(s);a("#directions_form").empty().append(r)}function c(o,p){var q=o.geo_country_id;var n="";if(q){if(q==1||q==2||q==3){n=o.address1;if(o.address2){n+="<br />"+o.address2}n+="<br />"+o.geo_subregion+", "+o.geo_region+", "+o.postal_code}else{if(q==4){if(o.geo_region){n=o.geo_region+", "}if(o.geo_subregion){n+=o.geo_subregion+"<br />"}n+=o.address1;if(o.address2){n+=" "+o.address2}if(o.postal_code){n+=" "+o.postal_code}}else{if(q==5){if(o.geo_region){n=o.geo_region+", "}if(o.geo_subregion){n+=o.geo_subregion+"<br />"}n+=o.address1;if(o.address2){n+=" "+o.address2}}else{n=o.address1;if(o.address2){n+="<br />"+o.address2}n+="<br />"+o.geo_subregion+", "+o.geo_region+", "+o.postal_code}}}if(p){n=n.replace(/<br \/>/gi,", ")}return n}else{return o.display_address}}this.set_map=f;this.to_here=d;this.from_here=k}})(jQuery);
