window.Tools={Cookies:{set:function(d,f,a,h,e,g){if(!a){var c=new Date();var b=new Date();b.setTime(c.getTime()+3600000*24*365);a=b}document.cookie=d+"="+escape(f)+((a)?"; expires="+a:"")+((h)?"; path="+h:"")+((e)?"; domain="+e:"")+((g)?"; secure":"");return f},get:function(b){var d=" "+document.cookie;var c=" "+b+"=";var e=null;var f=0;var a=0;if(d.length>0){f=d.indexOf(c);if(f!=-1){f+=c.length;a=d.indexOf(";",f);if(a==-1){a=d.length}e=unescape(d.substring(f,a))}}return(e)},del:function(a){var b=new Date();b.setTime(b.getTime()-1);document.cookie=a+="=; expires="+b.toGMTString()}},Date:{Constants:{NOW:30000},zeroFirst:function(b){var a="";if(b<10){a="0"}return a},parseISODate:function(b){if(b){var c="([0-9]{4})(-([0-9]{2})(-([0-9]{2})(T([0-9]{2}):([0-9]{2})(:([0-9]{2})(.([0-9]+))?)?(Z|(([-+])([0-9]{2}):([0-9]{2})))?)?)?)?";var g=b.match(new RegExp(c));var f=0;var a=new Date(g[1],0,1);if(g[3]){a.setMonth(g[3]-1)}if(g[5]){a.setDate(g[5])}if(g[7]){a.setHours(g[7])}if(g[8]){a.setMinutes(g[8])}if(g[10]){a.setSeconds(g[10])}if(g[12]){a.setMilliseconds(Number("0."+g[12])*1000)}if(g[14]){f=(Number(g[16])*60)+Number(g[17]);f*=((g[15]=="-")?1:-1)}f-=a.getTimezoneOffset();var e=(Number(a)+(f*60*1000));return new Date(Number(e))}},differenceBetweenDates:function(b,a){if(b&&a){var d=b.getTime();var c=a.getTime();var e=d>c?d-c:c-d;return new Date(e)}else{return new Date(1e+22)}},dateLeft2string:function(c){if(c.getTime()<Tools.Date.Constants.NOW){return GeostronDictonary.Date.NOW}var f=c.getTime()/1000;var g=Math.floor(f)%60;var e=Math.floor(f/60)%60;var b=Math.floor(f/3600)%24;var h=Math.floor(f/(3600*24))%24;var a=Math.floor(f/(3600*24*31))%31;var d=Math.floor(f/(3600*24*31*12))%12;if(d>0){return d+" "+Tools.Language.padej(d,GeostronDictonary.Date.Years.ONE,GeostronDictonary.Date.Years.TWO,GeostronDictonary.Date.Years.MANY)}if(a>0){return a+" "+Tools.Language.padej(a,GeostronDictonary.Date.Months.ONE,GeostronDictonary.Date.Months.TWO,GeostronDictonary.Date.Months.MANY)}if(h>0){return h+" "+Tools.Language.padej(h,GeostronDictonary.Date.Days.ONE,GeostronDictonary.Date.Days.TWO,GeostronDictonary.Date.Days.MANY)}if(b>0){return b+" "+Tools.Language.padej(b,GeostronDictonary.Date.Hours.ONE,GeostronDictonary.Date.Hours.TWO,GeostronDictonary.Date.Hours.MANY)}if(e>0){return e+" "+Tools.Language.padej(e,GeostronDictonary.Date.Minutes.ONE,GeostronDictonary.Date.Minutes.TWO,GeostronDictonary.Date.Minutes.MANY)}if(g>0){return g+" "+Tools.Language.padej(g,GeostronDictonary.Date.Seconds.ONE,GeostronDictonary.Date.Seconds.TWO,GeostronDictonary.Date.Seconds.MANY)}},getDateString:function(e){if(typeof e=="string"){e=Tools.Date.parseISODate(e)}var b=e.getDate();var f=e.getMonth();var d=e.getFullYear();var a=e.getHours();a=Tools.Date.zeroFirst(a)+a;var c=e.getMinutes();c=Tools.Date.zeroFirst(c)+c;var g=e.getSeconds();g=Tools.Date.zeroFirst(g)+g;return b+" "+GeostronDictonary.Date.Names.Months[f]+" "+d+", "+a+":"+c+":"+g},getDateLeftString:function(a){if(typeof a=="string"){a=Tools.Date.parseISODate(a)}return Tools.Date.dateLeft2string(Tools.Date.differenceBetweenDates(a,new Date()))},date2ISODate:function(c){c=new Date(c.getTime()+c.getTimezoneOffset()*60*1000);var b=c.getDate();b=Tools.Date.zeroFirst(b)+b;var f=c.getMonth()+1;f=Tools.Date.zeroFirst(f)+f;var e=c.getFullYear();var a=c.getHours();a=Tools.Date.zeroFirst(a)+a;var d=c.getMinutes();d=Tools.Date.zeroFirst(d)+d;var g=c.getSeconds();g=Tools.Date.zeroFirst(g)+g;return e+"-"+f+"-"+b+"T"+a+":"+d+":"+g+"+00:00"}},Language:{padej:function(d,c,a,b){if(d>10&&d<20){return b}if(d==1||(d%10)==1){return c}if((d%10)>1&&(d%10)<5){return a}else{return b}}},Color:{hex2rgb:function(b){var c=b.slice(1);var e=parseInt(c.slice(0,2),16);var d=parseInt(c.slice(2,4),16);var a=parseInt(c.slice(4,6),16);return new Array(e,d,a)},rgb2hex:function(b){var d=b[0].toString(16);d=d.length>1?d:d+d;var c=b[1].toString(16);c=c.length>1?c:c+c;var a=b[2].toString(16);a=a.length>1?a:a+a;return"#"+d+c+a},getPieceOfDifference:function(f,e,b){var c=Tools.Color.hex2rgb(f);var a=Tools.Color.hex2rgb(e);var g=new Array();for(var d=0;d<3;d++){g[d]=Math.min(Math.abs(Math.round((a[d]-c[d])/100*b+c[d]),255))}return Tools.Color.rgb2hex(g)},getAveragedColor:function(e,c,b,d,a){if(a>=b&&a<d){return Tools.Color.getPieceOfDifference(e,c,Math.min(100,Math.round(a/d*100)))}else{if(a<b){return e}}return c}},mergeObjects:function(c,b){var a={};for(var d in c){a[d]=c[d]}for(d in b){if(typeof b[d]=="object"||b[d]){a[d]=Tools.mergeObjects(c[d],b[d])}else{a[d]=b[d]}}return a}};var Watch={start:function(c,b,d){c.watchInterval=c.watchInterval||{};if(!c.watchInterval[b]){var a=c[b];c.watchInterval[b]=setInterval(function(){if(a!=c[b]){d(c);a=c[b]}},10)}},stop:function(b,a){if(!a){for(a in b){clearInterval(b.watchInterval[a])}b.watchInterval={}}clearInterval(b.watchInterval[a]);b.watchInterval[a]=null},status:function(b,a){if(!a){for(a in b){return true}return false}return false}};function Queue(a,d){this.queueArray=new Array();this.executing=false;var c=0;var b=this;this.add=function(e,f){this.queueArray.push({queueFunction:e,timeout:f});b.start()};if(a&&d){this.add(a,d)}this.start=function(){if(!this.executing){var e=this.queueArray[c].queueFunction;var f=this.queueArray[c].timeout;this.executing=true;e();setTimeout(function(){b.executing=false;c++;if(b.queueArray[c]){b.start()}},f)}};this.stop=function(){};if(this.queueArray[0]){this.start(0)}}var queue=new Queue();jQuery.fn.bubble=function(a,b){if(!b){b=function(){}}return this.each(function(){var c=1000;var d=this})};jQuery.fn.hold=function(c,d,b,a){return this.each(function(){this.notHover=true;var f,e;jQuery(this).mousedown(function(h){h.preventDefault();var g=this;clearTimeout(f);clearTimeout(e);e=setTimeout(function(){g.notHover=false;if(b){b.call(g)}f=setTimeout(function(){if(d){d.call(g)}},c-200)},200);this.notHover=true}).mouseup(function(g){g.preventDefault();if(a&&!this.notHover){a.call(this)}clearTimeout(f);clearTimeout(e)})})};$(function(){var f=$(window);var c=$("#info");var h=$("#map");var e=$("#authorization");var b=$("#menu");var d=$("#preloader-splash");$(window).resize(function(){c.css("height",f.height()-c.offset().top);h.css("height",f.height()-h.offset().top)}).resize();var g=$("#preloader");var a={Constants:{TRACKER_PREFIX:"tracker-",TAIL_LENGTH:20,TAIL_TIME:200,MIN_SPEED:15,MAX_SPEED:150,MIN_SPEED_COLOR:"#00a7ec",MAX_SPEED_COLOR:"#ec00a7",DEFALUT_SPEED_COLOR:"#00deec",MIN_AUTO_ZOOM:10,MAX_AUTO_ZOOM:18,Markers:{DEFAULT_MARKER:"marker.png",MARKER_A:"marker-a.png",MARKER_B:"marker-b.png"},Statuses:{DEFAULT:"",TRACKERS_DISABLED:"TRACKERS_DISABLED",SHOW_ALL:"SHOW_ALL"}},key:Tools.Cookies.get("authorization_key")||"",pos:Tools.Cookies.get("pos")||"false",polylines:new Array(),trackers:new Array(),demoKey:"{8ECCE431-1E70-4301-9AB6-714BDECE2D16}",status:"",parkActive:null,parkNum:null,park:new Array(),activeTracker:null,map:null,init:true,slideUp:false,Tracker:null,MapCreate:function(j,k){if(a.map){return false}var i={zoom:13,center:new google.maps.LatLng(j,k),mapTypeId:google.maps.MapTypeId.ROADMAP,scaleControl:true,zoomControl:true,panControl:true,streetViewControl:false};a.map=new google.maps.Map(document.getElementById("map"),i);geocoder=new google.maps.Geocoder();$("#exit").click(function(){Tools.Cookies.del("authorization_key");a.Route.clear();a.Marker.clear();a.key=a.demoKey;$("#parks>:not(.template)").remove();a.Ajax.Loading.stop();a.activeTracker=null;a.parkActive=null;a.park=[];a.parkNum=null;a.polylines=[];a.trackers=[];a.status="";e.show();b.hide();a.Ajax.clear=true;a.Ajax.trackers();a.init=!a.init;return false});$("#center").click(function(){if(!(a.activeTracker==null)){var l=a.activeTracker;var m=new google.maps.LatLng(l.data("lat"),l.data("lng"));a.map.setCenter(m)}});$("#camera").click(function(){a.pos=!(a.pos);Tools.Cookies.set("pos",a.pos);if(!a.pos){$("#camera").css({opacity:0.5})}else{$("#camera").css({opacity:1})}});new google.maps.event.addListener(a.map,"dblclick",function(){if(a.activeTracker){var l=a.activeTracker;a.map.getZoom(a.map.getZoom()+1);l.data("users-zoom",a.map.getZoom())}});new google.maps.event.addListener(a.map,"zoom_changed",function(){var l=a.activeTracker;if(l&&!(a.pos)){l.data("users-zoom",a.map.getZoom())}});setInterval(function(){if(a.polylines.length){}if(a.key.length&&!a.Ajax.Loading.getStatus()){a.Ajax.trackers()}},30000)},Event:{attach:function(i){i.each(function(){var m=$(this),s=m.find(".firstLine"),t=m.children(".extended"),k=t.find(".requestTrack:eq(0)"),r=k.children(".extended"),l=r.find(".tstart"),v=r.find(".tend"),p=m.find(".getTrack");s.click(function(){if(!m.closest("ul").hasClass("unactive")&&!m.hasClass("NA")){var D=false;if(a.status==a.Constants.Statuses.SHOW_ALL){a.status=a.Constants.Statuses.DEFAULT;D=true}a.Marker.clear();a.Route.clear();if(((a.activeTracker!=null)&&!(a.activeTracker==m))&&(!a.init)){var A=a.activeTracker;m.siblings().stop(true,true);A.siblings().stop(true,true);A.siblings(".active").children(".extended").slideDown(500);A.removeClass("active").addClass("disabled");m.removeClass("disabled").addClass("active");t.slideDown(500);A.children(".extended").slideUp(500);a.activeTracker=m}else{if((a.parkActive)&&(D)){var C=a.parkActive;C.find(".trackers:eq(0)").children(":not(.template)").removeClass("active");m.siblings().stop(true,true);m.addClass("active");t.slideDown(500);a.activeTracker=m}else{m.siblings().stop(true,true);m.removeClass("disabled");m.addClass("active");if(a.init){a.init=!a.init}a.activeTracker=m}a.activeTracker=m}if(m.data("route")){a.Route.render(m,m.data("route"))}else{lat=m.data("lat");lng=m.data("lng");if((lat&&lng)){if((lat!=0&&lng!=0)&&(!a.pos)){var x=new google.maps.LatLng(lat,lng);a.map.panTo(x);var z=m.data("users-zoom");if((z)&&(z!=a.map.getZoom())){a.map.setZoom(z)}}}else{alert("Нет точки")}a.Marker.put(m);var y=new Date();var B=new Date(y.getTime()-60000*a.Constants.TAIL_TIME)}this.secondClick=true}});p.click(function(B){B.stopPropagation();var A={};var z={};a.Marker.clear();a.Route.clear();A.arr=l.find(".time").val().split(":");A.hours=parseInt(A.arr[0]);A.minutes=parseInt(A.arr[1]);z.arr=v.find(".time").val().split(":");z.hours=parseInt(z.arr[0]);z.minutes=parseInt(z.arr[1]);var C=m.data("dstart");var y=m.data("dend");var x=new Date(C.getFullYear(),C.getMonth(),C.getDate(),A.hours,A.minutes,0);var D=new Date(y.getFullYear(),y.getMonth(),y.getDate(),z.hours,z.minutes,0);a.Ajax.track({id:m.data("id"),dstart:Tools.Date.date2ISODate(x),dend:Tools.Date.date2ISODate(D),render:true})});var w=l.find(".slider").slider({range:"max",min:0,max:23,value:0,slide:function(y,z){var x=z.value==23?59:0;var A=x<10?x+"0":x;l.find(".time").val(z.value+":"+A)},start:function(x){x.stopPropagation()}});var u=v.find(".slider").slider({range:"min",min:0,max:23,value:23,slide:function(y,z){var x=z.value==23?59:0;var A=x<10?x+"0":x;v.find(".time").val(z.value+":"+A)},start:function(x){x.stopPropagation()}});var q=m.find(".currentPosition");var o=q.find(".slider").slider({min:0,max:23,value:23,slide:function(y,z){var x=z.value==23?59:0;var A=x<10?x+"0":x;q.find(".time").val(z.value+":"+A)},start:function(x){x.stopPropagation()}});q.find(".time").bind("change keyup",function(){o.slider("value",this.value.split(":")[0])});l.find(".time").bind("change keyup",function(){var x=this;w.slider("value",this.value.split(":")[0]);l.find(".time").each(function(){if(this.value!=x.value){this.value=x.value}})});v.find(".time").bind("change keyup",function(){var x=this;u.slider("value",this.value.split(":")[0]);v.find(".time").each(function(){if(this.value!=x.value){this.value=x.value}})});l.find(".calendar").datepicker({showOn:"button",buttonImage:"./images/datepicker.png",buttonImageOnly:true,onSelect:function(B,z){var x=z.selectedDay;var A=z.selectedMonth;var y=z.selectedYear;m.data("dstart",new Date(y,A,x));l.find(".calendar").datepicker("setDate",new Date(y,A,x))}});v.find(".calendar").datepicker({showOn:"button",buttonImage:"./images/datepicker.png",buttonImageOnly:true,onSelect:function(B,z){var x=z.selectedDay;var A=z.selectedMonth;var y=z.selectedYear;m.data("dend",new Date(y,A,x));v.find(".calendar").datepicker("setDate",new Date(y,A,x))}});m.find(".today").click(function(){var x=new Date();$(this).closest(".requestTrack").find(".calendar").datepicker("setDate",x);m.data("dstart",x);m.data("dend",x);p.eq(0).click();return false});m.find(".yesterday").click(function(){var x=new Date();var y=new Date(x.getTime()-86400000);$(this).closest(".requestTrack").find(".calendar").datepicker("setDate",y);m.data("dstart",y);m.data("dend",y);p.eq(0).click();return false});m.closest("div").find(".trackers").sortable({axis:"y",revert:true,zIndex:10,items:".tracker",connectWith:m.closest("div").find(".trackers"),start:function(x,y){y.item.addClass("NA");x.stopPropagation()},stop:function(x,y){y.item.removeClass("NA");if(y.item.closest("ul").hasClass("unactive")){y.item.removeClass("active").children(".extended").hide()}x.stopPropagation()}});var n=m.find(".chooseInterval").click(function(){m.find(".requestTrackOptions").slideToggle("fast");n.closest(".requestTrackHeader").slideToggle("fast");return false});var j=k.find("b.close").click(function(){a.Event.RequestInfo.hide(m);return false})})},RequestInfo:{show:function(i){i.find(".requestInfo").slideDown("fast");i.find(".requestTrackHeader:visible, .requestTrackOptions:visible").slideUp("fast")},hide:function(i){i.find(".requestInfo").slideUp("fast");i.find(".requestTrackHeader").slideDown("fast");i.removeData("route");a.Marker.clear();a.Route.clear();a.status=a.Constants.Statuses.DEFAULT;i.find(".firstLine").click()}}},Ajax:{Loading:{status:false,clear:false,start:function(){a.Ajax.Loading.status=true},stop:function(){a.Ajax.Loading.status=false},getStatus:function(){return Boolean(a.Ajax.Loading.status)}},trackers:function(){if((!a.Ajax.Loading.getStatus())&&(!a.key=="")){a.Ajax.Loading.start();var i={type:"trackers",key:a.key};$.ajax({url:"http://85.26.162.50/",data:i,dataType:"jsonp",jsonp:"jsoncallback",success:a.Ajax.Response.trackers})}},track:function(i){if((!a.key=="")||(!a.Ajax.clear)){if(Watch.status(a.Ajax.Loading.getStatus(),false)){Watch.stop(a.Ajax.Loading.getStatus(),false)}if(a.Ajax.Loading.getStatus()&&(Watch.status(a.Ajax.Loading.getStatus(),false))){Watch.start(a.Ajax.Loading.getStatus(),false,a.Ajax.track(i))}else{a.Ajax.Loading.start();if(i.id&&i.dstart){var j={type:"track",key:a.key,id:i.id,dstart:i.dstart,dend:i.dend};$.ajax({url:"http://85.26.162.50/",data:j,dataType:"jsonp",jsonp:"jsoncallback",success:i.render?a.Ajax.Response.track:a.Ajax.Response.saveTail})}}}},authorization:function(i,j){a.Ajax.Loading.start();var k={type:"authorisation",login:i,password:j};$.ajax({url:"http://85.26.162.50/",data:k,dataType:"jsonp",jsonp:"jsoncallback",success:a.Ajax.Response.authorization})},Response:{trackers:function(j){if(!j.error||(!a.Ajax.clear)){a.Ajax.Loading.stop();if(a.status==a.Constants.Statuses.DEFAULT){a.Route.clear()}$.each(j.parks,function(){var k=this.name;var l=false;$("#parks>.park").each(function(){if(k==$(this).find(".parkHeader h2").html()){l=$(this)}});if(!l){var m=$("#parks>.template");l=m.clone(true);l.removeClass("template").appendTo(m.parent());a.park.push(l);l.find(".parkHeader h2").html(k);if(a.parkNum<1){a.parkActive=l}l.find(".arrow").click(function(n){$(this).toggleClass("down").closest(".collapse").find(".collapsing").slideToggle("fast");return false});l.find(".showAll").click(function(r){var v,q,n,s;a.Marker.clear();a.Route.clear();a.status=a.Constants.Statuses.SHOW_ALL;if(a.activeTracker){a.activeTracker.children(".extended").slideDown(500);a.activeTracker=null}for(var o=0;o<a.parkNum;o++){var u=a.park[o];if(l==u){if((!(a.parkActive==null)||!a.slideUp)){a.parkActive=l;l.find(".trackers:eq(0)").children(":not(.template)").each(function(){a.activeTracker=null;var x=$(this);var w=x.data("lat");var t=x.data("lng");if(!(w==0)&&!(t==0)){a.Marker.put(x);if(!v||v>t){v=t}if(!q||q<t){q=t}if(!n||n>w){n=w}if(!s||s<w){s=w}}}).addClass("active").children(".extended:visible").slideUp(500,function(){a.slideUp=true})}else{l.find(".trackers:eq(0)").children(":not(.template)").each(function(){var x=$(this);var w=x.data("lat");var t=x.data("lng");if(!(w==0)&&!(t==0)){a.Marker.put(x);if(!v||v>t){v=t}if(!q||q<t){q=t}if(!n||n>w){n=w}if(!s||s<w){s=w}}}).addClass("active");a.slideUp=false}}else{u.find(".trackers:eq(0)").children(":not(.template)").removeClass("active")}}if(!a.pos||(!a.Ajax.clear)){var p=new google.maps.LatLngBounds(new google.maps.LatLng(n,v),new google.maps.LatLng(s,q));a.map.fitBounds(p)}a.status=a.Constants.Statuses.SHOW_ALL;return false});a.parkNum++}$.each(this.trackers,function(){var r=this.id;var s=$("#"+a.Constants.TRACKER_PREFIX+r);if(!s.length){var t=l.find(".trackers>.template");var p=t.clone(true);p.removeClass("template").appendTo(t.parent());p.attr("id",a.Constants.TRACKER_PREFIX+r);a.Update.trackers(p,this);a.Event.attach(p);p.addClass("disabled");var n=new Date();p.find(".requestTrack input.calendar").datepicker("setDate",n);p.data("dstart",n);p.data("dend",n);var q=new Date();q.setHours(0);q.setMinutes(0);q.setSeconds(1);var o=new Date();o.setHours(23);o.setMinutes(59);o.setSeconds(59);p.data("tstart",q);p.data("tend",o)}else{a.Update.trackers(s,this)}})});switch(a.status){case a.Constants.Statuses.DEFAULT:if(!(a.activeTracker==null)){a.activeTracker.find(".firstLine").click();break}break;case a.Constants.Statuses.SHOW_ALL:a.parkActive.find(".showAll").click();break}}else{var i=GeostronDictonary.Errors["E"+j.error];alert(i)}},track:function(j){a.Ajax.Loading.stop();if(!j.error){a.Route.clear();if(a.status!=a.Constants.Statuses.SHOW_ALL){a.status=a.Constants.Statuses.TRACKERS_DISABLED}$.each(j.track,function(){var l=$("#"+a.Constants.TRACKER_PREFIX+this.id);var k=new Array();$.each(this.route,function(n){var p=parseFloat(this.lat);var m=parseFloat(this.lng);if(p!=0&&m!=0){var o=new google.maps.LatLng(p,m);k.push({date:Tools.Date.parseISODate(this.time),speed:this.speed,point:o})}});l.find(".averageSpeed").html(this.midlSpeed+" "+GeostronDictonary.SPEED);l.find(".highSpeed").html(this.maxSpeed+" "+GeostronDictonary.SPEED);l.find(".distance").html(this.way+" "+GeostronDictonary.DISTANCE);a.Route.render(l,k);l.data("route",k);a.Event.RequestInfo.show(l)})}else{var i=GeostronDictonary.Errors["E"+j.error];alert(i)}},saveTail:function(j){a.Ajax.Loading.stop();var i=new Array();$.each(j.track,function(){$.each(this.route,function(m){var o=parseFloat(this.lat);var l=parseFloat(this.lng);if(o!=0&&l!=0){var n=new google.maps.LatLng(o,l);i.push({date:Tools.Date.parseISODate(this.time),speed:this.speed,point:n})}});var k=$("#"+a.Constants.TRACKER_PREFIX+this.id);if(i.length>a.Constants.TAIL_LENGTH){i=i.slice(i.length-a.Constants.TAIL_LENGTH,i.length)}})},authorization:function(j){if(!j.error){if(j.key){$("#parks>:not(.template)").remove();a.Route.clear();a.Marker.clear();a.key=j.key;Tools.Cookies.set("authorization_key",a.key);e.hide();b.show();a.status="";a.Ajax.clear=true;a.Ajax.Loading.stop();a.activeTracker=null;a.parkActive=null;a.polylines=[];a.init=!a.init;a.trackers=[];a.Ajax.trackers()}}else{var i=GeostronDictonary.Errors["E"+j.error];alert(i)}}}},Update:{trackers:function(m,n){var j=n.name;if(!n.name){j="нет имени"}m.find(".firstLine th").html(j);if(n.lactivity){var k=n.lactivity.speed;m.find(".firstLine .speed").html(k+" "+GeostronDictonary.SPEED);var s=n.lactivity.tank;if(s){m.find(".tank").html(s+" "+GeostronDictonary.TANK)}else{m.find(".tank").hide()}var i=n.lactivity.time;m.find(".firstLine .lactivity").attr("title",i);var o=parseFloat(n.lactivity.point[0].lat);var p=parseFloat(n.lactivity.point[0].lng);m.data("lat",o);m.data("lng",p);m.data("name",n.name);m.data("speed",n.lactivity.speed);m.data("id",n.id);m.data("data",n);clearInterval(m.data("timeInterval"));m.data("timeInterval",a.Tools.activateTimerLeft(m.find(".firstLine .lactivity"),i))}else{if(s){m.find(".tank").html(s+" "+GeostronDictonary.TANK)}else{m.find(".tank").hide()}var o=0;var p=0;m.data("lat",0);m.data("lng",0);m.data("name",j);m.data("speed",0);m.data("id",n.id);m.data("data",n);clearInterval(m.data("timeInterval"));m.data("timeInterval","нет данных");m.addClass("unactive")}var r=m.data("tail")||new Array();if((o!=0&&p!=0)||(!a.map)){if(!a.map){a.MapCreate(o,p);a.Marker.put(m);a.activeTracker=m;m.find(".firstLine").click()}if((a.activeTracker==null)){if(a.status==a.Constants.Statuses.DEFAULT){var q=new google.maps.LatLng(o,p);a.map.panTo(q);a.Marker.put(m);m.addClass("active");a.activeTracker=m;m.find(".firstLine").click()}}var l=new google.maps.LatLng(o,p);geocoder.geocode({location:l},function(u,t){if(t==google.maps.GeocoderStatus.OK){m.find(".address").html(u[0].formatted_address);m.data("address",u[0].formatted_address);m.data("zoom",a.Constants.MIN_AUTO_ZOOM+Math.min(Math.floor(u.length/2),a.Constants.MAX_AUTO_ZOOM-a.Constants.MIN_AUTO_ZOOM))}});r.push({date:Tools.Date.parseISODate(i),speed:n.lactivity.speed,point:l});if(r.length>a.Constants.TAIL_LENGTH){r=r.slice(r.length-a.Constants.TAIL_LENGTH,r.length)}}}},Route:{tail:function(j){var i=j.data("tail");a.Route.clear();a.Marker.clear();a.Route.drawPath(j,i);if(i.length){a.Marker.put(j,{position:i[i.length-1].point})}else{a.Marker.put(j,{position:new google.maps.LatLng(j.data("lat"),j.data("lng"))})}},render:function(k,j){a.Route.clear();var o,m,i,n;$.each(j,function(){var q=parseFloat(this.point.lat());var p=parseFloat(this.point.lng());if(q!=0&&p!=0){if(!o||o>p){o=p}if(!m||m<p){m=p}if(!i||i>q){i=q}if(!n||n<q){n=q}}});a.Route.drawPath(k,j);if(j.length){if(!a.pos){var l=new google.maps.LatLngBounds(new google.maps.LatLng(i,o),new google.maps.LatLng(n,m));a.map.fitBounds(l)}a.Marker.clear();a.Marker.put(k,{position:j[0].point,type:a.Constants.Markers.MARKER_A});a.Marker.put(k,{position:j[j.length-1].point,type:a.Constants.Markers.MARKER_B})}},drawLine:function(i){var j=i.tracker;var s=i.point1;var r=i.point2;var m=i.opacity||1;var p=i.routeObject;var l=i.weight||3;var n=i.clickable||true;var o=i.zIndex||50;var k;if(!i.color&&p.speed>=0){k=a.Constants.DEFALUT_SPEED_COLOR;if(p.speed>=a.Constants.MIN_SPEED){k=Tools.Color.getAveragedColor(a.Constants.MIN_SPEED_COLOR,a.Constants.MAX_SPEED_COLOR,a.Constants.MIN_SPEED,a.Constants.MAX_SPEED,p.speed)}}else{k=i.color}var q=new google.maps.Polyline({path:[s,r],strokeColor:k,strokeOpacity:m,strokeWeight:l,clickable:n,map:a.map,zIndex:o});if(n&&p.speed>=0&&p.date){google.maps.event.addListener(q,"click",function(){if(j.data("infoWindow")){j.data("infoWindow").close()}var t=j.data("name");var w=p.speed+" "+GeostronDictonary.SPEED;var v="";v+="<div class='infoWindow'>";v+="<h5>"+t+"</h5>";v+="<strong>"+w+"</strong>";v+="<div>"+Tools.Date.getDateString(p.date)+"</div>";v+="</div>";var u=new google.maps.InfoWindow({content:v,position:r});u.open(a.map);j.data("infoWindow",u)})}a.polylines.push({polyline:q,$tracker:j,date:p.date})},drawPath:function(j,i){i=i||j.data("route");var k;k=0;$.each(i,function(o){var m=this;var p=parseFloat(m.point.lat());var n=parseFloat(m.point.lng());var l=m.point;if(k){a.Route.drawLine({tracker:j,routeObject:m,point1:k,point2:l})}k=l})},clear:function(){$.each(a.polylines,function(){google.maps.event.clearInstanceListeners(this.polyline);this.polyline.setMap(null)});a.polylines=new Array()}},Marker:{all:new Array(),put:function(k,q){q=q||{};var i=k.data("name");var j=k.data("speed")+" "+GeostronDictonary.SPEED;var o=k.data("address");var p=q.position||new google.maps.LatLng(k.data("lat"),k.data("lng"));var n=q.type||a.Constants.Markers.DEFAULT_MARKER;var l=new google.maps.MarkerImage("./images/"+n);var m=new google.maps.Marker({position:p,map:a.map,title:i+", "+j,icon:l,visible:false});a.Marker.all.push(m);new google.maps.event.addListener(m,"click",function(){if(k.data("infoWindow")){k.data("infoWindow").close()}var s="";s+="<div class='infoWindow'>";s+="<h5>"+i+"</h5>";s+="<strong>"+j+"</strong>";s+="<div class='address'>"+o+"</div>";s+="</div>";var r=new google.maps.InfoWindow({content:s,position:p});r.open(a.map);k.data("infoWindow",r)});if((!q.type)&&((k.data("tail"))&&(!k.data("route")))){a.Marker.loadMarkerImage(k,function(u){if(u){var t=new google.maps.Size(30,30);var r=new google.maps.Point(0,0);var s=new google.maps.Point(15,15);l=new google.maps.MarkerImage(u,t,r,s);m.setIcon(l)}m.setVisible(true)})}else{m.setVisible(true)}},remove:function(i){google.maps.event.clearInstanceListeners(i);i.setMap(null)},clear:function(){var k=0;var j=a.Marker.all.length;while(k<j){a.Marker.remove(a.Marker.all[k]);k++}a.Marker.all=new Array()},loadMarkerImage:function(n,y){var l=document.createElement("canvas");l.width=30;l.height=30;var t=true;if(l.getContext){var j=l.getContext("2d");var w=n.data("route")||n.data("tail");if(w){var k=w.length;if(k>2){var s=w[k-1].point.lat();var v=w[k-1].point.lng();var q,x=0;if(k>2){q=w[k-3].point.lat();x=w[k-3].point.lng()}else{q=w[k-2].point.lat();x=w[k-2].point.lng()}var p,r,u=false;if(s!=q||v!=x){var o=k-2;while(o>0){p=w[o].point.lat();r=w[o].point.lng();if(s!=p||v!=r){u=true;break}o--}}if(u){t=false;var m=new Image();m.onload=function(){var i=s-p;var A=v-r;j.fillStyle="#00f";j.translate(l.width/2,l.height/2);j.rotate((i>0?0:Math.PI)+Math.atan(A*Math.cos(s)/(i||1))-Math.PI);j.translate(-l.width/2,-l.height/2);j.beginPath();j.moveTo(l.width/3,l.height/2);j.lineTo(l.width-l.width/3,l.height/2);j.lineTo(l.width/2,l.height);j.fill();if(l.toDataURL){var z=l.toDataURL("image/png");y.call(this,z)}};m.src="./images/marker.png"}}}}if(t){y()}}},Tools:{activateTimerLeft:function(k,j){if(typeof j=="string"){j=Tools.Date.parseISODate(j)}var i=setInterval(function(){var l=Tools.Date.differenceBetweenDates(j,new Date()).getTime();var m="";if(l>60000*30&&!k.closest(".tracker").hasClass("disabled")){k.closest(".tracker").bubble("bottom").addClass("disabled")}else{if(l<=60000*30&&k.closest(".tracker").hasClass("disabled")){k.closest(".tracker").bubble("top").removeClass("disabled")}}if(!k.length){clearInterval(i);return}m+=Tools.Date.getDateLeftString(j);if(l>=Tools.Date.Constants.NOW){m+=" "+GeostronDictonary.Date.AGO}k.html(m)},1000);return i}}};setInterval(function(){if(a.polylines.length){}if(a.key.length&&!a.Ajax.Loading.getStatus()){a.Ajax.trackers()}},30000);if(a.pos=="false"){a.pos=false;$("#camera").css({opacity:0.5})}else{a.pos=true;$("#camera").css({opacity:1})}if(a.key.length){e.hide();b.show()}else{a.key=a.demoKey}a.Ajax.trackers();e.submit(function(){var i=e.find("[name='login']").val();var j=e.find("[name='password']").val();a.Ajax.authorization(i,j);return false})});
