﻿// tags map
var nowEventStep = 0;
var nowInputEdit = 0;
//конструктор объекта windows
function windows(){
	this.loader = $("#loaderBody");
	this.pager = $("#pager");
	this.settings = $("#settings");
	this.changePassword = $("#changePassword");
	this.textHistory = $("#textHistory");
	this.transActions = $("#transActions");
/*авторизация*/
	this.auth = $("#login");
	this.registration = $("#registration");
	this.recovery = $("#recovery");
	this.trackerCall = $("#trackerCall");
/*мои объекты*/
	this.objects = $("#myObjects");
	this.newGroup = $("#newGroup");
	this.newObject = $("#newObject");
	this.footerBar = $("#footerBar");
	this.editObject = $("#editObject");
	this.history = $("#history");
	this.rules = $("#rules");
	this.newRuleForm = $("#newEvent");
	this.newRuleForm2 = $("#newEvent2");
	this.editRule = $("#editRule");
	this.saveZone = $("#saveZone");
	this.saveEditZone = $("#saveEditZone");
	this.settingsTracker = $("#settingsTracker");
	this.paySms = $("#payWindows");
	this.uploadTracks = $("#uploadTracks");

/*камеры*/
	this.newCam = $("#newCam");
	
/*отчеты*/	
	this.miniMap = $("#miniMap");

/* M7 */

	return this;
}

windows.prototype.showLoader = function(){
	$("body").append('<div id="loader_overlay"><img src="/images/loader_big.gif" id="loader_overlay_pic" /></div>');
	$("#loader_overlay").css({
		position: 'absolute',
		zIndex: 99998,
		top: '0px',
		left: '0px',
		width: '100%',
		height: $(document).height(),
		background: '#000',
		opacity: 0.3
	});	
	$("#loader_overlay_pic").css({
		zIndex: 99999,
		position: 'absolute',
		top: '300px',
		opacity: 1,
		left: '50%'
	});	
	return false;
}

windows.prototype.hideLoader = function(){
	$("#loader_overlay").remove();
	return false;
}

//Показывает окошко history
windows.prototype.historyShow = function(){
	
	this.footerHide();
	this.rules.hide();
	$(".historyObjectsObjectName").html(_o[nowEditObject].label);
	$("#alertsObjects").val(_o[nowEditObject].id);
	$("#tracksObjects").val(_o[nowEditObject].source_imei);
	
	$("#filterFromDateHistory").val(_c['today']);
	$("#filterToDateHistory").val(_c['now']);
	
	this.history.show();
	
	$('#filterFromDateHistory').datetime({userLang	: 'ru',	americanMode: false});
	$('#filterToDateHistory').datetime({userLang	: 'ru',	americanMode: false});
	$('#showTracksNow').unbind('click').click(function(){
		
		clearTraceData();
		$("#tracksSearchResult").html("");	
		$("#tracksSearchResult").html("<b>Подождите загружаются маршруты...</b>");
		var data = $("#historyFilterForm").formSerialize();
		data += '&nofilter=' + ($('#smartTracksFilter').attr('checked') ? 0 : 1);
		$.postJSON("/api/index.php?action=getTracks&handler=objects&nopoints=1", data, function(a){
			$("#tracksSearchResult").html("<b>Маршрутов нет</b>");
			var html = "";
			if(!postAjaxCheck(a, true))
				return false;
				
			_t = a.Response.tracks;
			html = "";
			html = '<div class="traces">';
			for (key in _t){
				_t[key].show = 0;
				_t[key].parent = nowEditObject;
				time = "";
				if (_t[key].duration.substr(0,2) != "00")
					time += "" + 1*_t[key].duration.substr(0,2) + " ч."
				if (_t[key].duration.substr(3,2) != "00")
					time += "" + 1*_t[key].duration.substr(3,2) + " мин."
//				html += '<div class="cursor funtik"><div class="funtik1 color-picker"><a title="Сменить цвет" onclick="return showChangeColor(this);" id="trace_color_'+key+'" style="background: '+_inlineColors[key%8]+';" href="#" title="Выбери цвет"><img src="images/objects/color-picker-button.gif" alt="" /></a></div><div class="funtik2">'+_t[key].length+' км</div><div class="funtik3">'+time+'</div><div class="funtik4"><a title="Показать маршрут на карте" href="#" rel="'+key+'" onclick="return showTraceOnMap(this);"><img class="ShowHide" src="images/traces/show.gif" alt="Скрыть"  /></a></div><div class="funtik5"><a title="Сохранить на компьютере" href="/tools/getKml.php?json=1&action=gettrackbyid&name='+_o[nowEditObject].label+'&frome='+_t[key].from_time+'&id='+_t[key].track_id+'&imei='+_o[nowEditObject].source_imei+'"><img src="/images/download.jpeg" /></a></div></div><div class="clear-funtik"></div>';
				// fetch date
				var from = _t[key].from_time;
				var date =
					from.substr(8, 2)
					+ '.' + from.substr(5, 2)
					+ '.' + from.substr(0, 4)
				;
				
				// fetch time
				var begin =
					from.substr(11, 2)
					+ ':' + from.substr(14, 2)
				;
				
				// generate list item
				html += '<div class="cursor funtik">';
				// change color
				html += 	'<div class="funtik1 color-picker"><a title="Сменить цвет" onclick="return showChangeColor(this);" id="trace_color_'+key+'" style="background: '+_inlineColors[key%8]+';" href="#" title="Выбери цвет"><img src="images/objects/color-picker-button.gif" alt="" /></a></div>';
				// info
				html += 	'<div class="trackInfo">';
				html += 		'<div class="primaryInfo">';
				html += 			'<div class="trackFromDate">' + date + '</div>';
				html += 			'<div class="trackFromTime">' + begin + '</div>';
				html += 		'</div>';
				html += 		'<div class="secondaryInfo">';
				html += 			'<div class="trackDuration">' + time + '</div>';
				html += 			'<div class="trackLength">' + _t[key].length + ' км.</div>';
				html += 		'</div>';
				html += 	'</div>';
				// show
				html += 	'<div class="funtik4"><a title="Показать маршрут на карте" href="#" rel="'+key+'" onclick="return showTraceOnMap(this);"><img class="ShowHide" src="images/traces/show.gif" alt="Скрыть"  /></a></div>';
				// save
				html += 	'<div class="funtik5"><a title="Сохранить на компьютере" href="/tools/getKml.php?json=1&action=gettrackbyid&name='+_o[nowEditObject].label+'&from='+_t[key].from_time+'&to='+_t[key].to_time+'&object_id='+_o[nowEditObject].id+'&id='+_t[key].track_id+'&imei='+_o[nowEditObject].source_imei+'"><img src="/images/download.jpeg" /></a></div>';
				html += '</div>';
				html += '<div class="clear-funtik"></div>';
//				html += '<div class="cursor funtik"><div class="funtik1 color-picker"><a title="Сменить цвет" onclick="return showChangeColor(this);" id="trace_color_'+key+'" style="background: '+_inlineColors[key%8]+';" href="#" title="Выбери цвет"><img src="images/objects/color-picker-button.gif" alt="" /></a></div><div class="funtik2">'+_t[key].length+' км</div><div class="funtik3">'+time+'</div><div class="funtik4"><a title="Показать маршрут на карте" href="#" rel="'+key+'" onclick="return showTraceOnMap(this);"><img class="ShowHide" src="images/traces/show.gif" alt="Скрыть"  /></a></div><div class="funtik5"><a title="Сохранить на компьютере" href="/tools/getKml.php?json=1&action=gettrackbyid&name='+_o[nowEditObject].label+'&frome='+_t[key].from_time+'&id='+_t[key].track_id+'&imei='+_o[nowEditObject].source_imei+'"><img src="/images/download.jpeg" /></a></div></div><div class="clear-funtik"></div>';
			}
			html += "</div>";
			
			$("#tableHideAllTracks").show();
			$("#tracksSearchResult").html(html).show();
			});
		return false;
		});
	$('#showHistoryNow').unbind('click').click(function(){
		$("#loaderBody").show();
		$.postJSON("/api/index.php?action=getHistory&handler=alerts", $("#historyFilterForm").formSerialize(), function(a){
			$("#loaderBody").hide();
			var html = "";
			if (isError(a))
				html = "<b style='margin:30px;>"+_l['errors'][isError(a)]+"</b>";
			else{
				var b = a.Response.history;
				if (typeof b.history_id != "undefined")
					html += getTextAboutEvent(b);
				else
					for (k in b)
						html += getTextAboutEvent(b[k]);
			}
			$("#historySearchResult").html(html).show();
		});
		return false;
	});
	
	return false;
}
//показывает и заполняет меню объектов
windows.prototype.objectMenuShow = function(){
	var html = "";
	if (_o.length)
		for (i in _g){
			var q = _g[i].objects;
			if (q != ""){
				html += '	<div class="group-header cursor" id="group-'+i+'"><b class="hide" title="Свернуть/развернуть группу" onclick="return showGroup(this);"></b>';
				html += '		<a title="Сменить цвет" class="color-picker-button" style="background: '+_g[i].color+';" href="#" title="Выбери цвет" onclick="return showChangeGroupColor(this);"><img src="images/objects/color-picker-button.gif" alt="" /></a>';
				html += '		<h3>'+_g[i].title+'</h3>';
				html += '	</div>';
				html += '	<div class="group" id="group-'+i+'-block">';
				for (k in q){
					html += '<a style="'+(_o[q[k]].hidden != "0" ? 'color:grey;' : '')+'" title="Показать информацию об маячке" href="#" id="obj_stat_'+q[k]+'" onclick="return showObjWin('+_o[q[k]].id+');" class="object '+(_o[q[k]].hidden == "0" ? tcpStatusValues[_o[q[k]].tcp_status] : '')+'">'+_o[q[k]].label+'</a>';
				}
				html += '	</div>';
			}
		}
	else{
		html += '	<div class="group-header cursor" id="group-1"><b class="hide" onclick="return showGroup(this);"></b>';
		html += '		<a title="Сменить цвет" class="color-picker-button" style="background: rgb(0, 154, 254);" href="#" title="Выбери цвет" onclick="return showChangeGroupColor(this);"><img src="images/objects/color-picker-button.gif" alt="" /></a>';
		html += '		<h3>Основная</h3>';
		html += '	</div>';
		html += '	<div class="group" id="group-1-block">';
		html += '	</div>';
	
	}
		
	document.getElementById("myObjectsGroups").innerHTML = html;
	this.objects.show();
	return false;
}
//показывает и заполняет форму для создания новой группы объектов
windows.prototype.newGroupForm = function(){
	this.newObject.hide(); 
	this.newGroup.show(); 
	this.settingsTracker.hide();
	$("#objectNewImei").val("");
	$("#objectNewName").val("");
	var html = "";
	for(var key in _g)
		html += '<option value="'+key+'">'+_g[key].title+'</option>';
	$("#objectNewGroup").html(html);
	$("#newGroupForm").validate({submitHandler: function(form) {$.postJSON("/api/index.php?action=addgroup&handler=groups", $(form).formSerialize(), function(a){
		if (isError(a))
				jAlert((typeof _l['errors'][isError(a)] != "undefined")? _l['errors'][isError(a)]:isError(a), _l['errors']['0']);
		else{
			_g[a.Response.group.group_id] = new Group(a.Response.group);
			_w.objectMenuShow();
			_w.newGroup.hide();
		}
		return false;
	});}});

	return false;
}
//показывает и заполняет список правил для конкретного объекта
windows.prototype.rulesShown = function(v){
	if (v == 0)
		return false;
	var html = "";
	for (k in _o[v].rules)	{
		html += '<div class="rule" id="showed_rule_'+_a[_o[v].rules[k]].id+'"><p><b>'+_a[_o[v].rules[k]].deftext+'</b></p>'+(_a[_o[v].rules[k]].deftext ? '<p>'+_a[_o[v].rules[k]].deftext+'</p>':'')+'<p class="alert-by">';
		if (_a[_o[v].rules[k]].email)
			html += '<img src="images/alert-by/email.gif" alt="Оповестить по email" title="Оповестить по email" />&nbsp;&nbsp;';
		if (_a[_o[v].rules[k]].sms)
			html += '<img src="images/alert-by/sms.gif" alt="Оповестить по sms" title="Оповестить по sms" />&nbsp;&nbsp;';
		if (_a[_o[v].rules[k]].icq)
			html += '<img src="images/alert-by/icq.gif" alt="Оповестить по icq" title="Оповестить по icq" />&nbsp;&nbsp;';
		if (_a[_o[v].rules[k]].phone)
			html += '<img src="images/alert-by/phone.gif" alt="Оповестить по телефону" title="Оповестить по телефону" />&nbsp;&nbsp;';
		html += '<a title="Редактировать" href="#" onclick="return _w.editRuleForm('+_a[_o[v].rules[k]].id+');">Изменить</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a title="Удалить" href="#" onclick="jConfirm(\'Вы точно хотите удалить правило?\', \'Подтверждение\', function(a){if (a){_a['+_o[v].rules[k]+'].remove();} return false;});return false;">Удалить</a></p></div>';
	}
	$("#rulesList").html(html);
	$("#rules").show();
	return false;
}
//показывает и заполняет форму нового объекта
windows.prototype.newObjectForm = function(){
	_w.newObject.show(); 
	_w.newGroup.hide(); 
	_w.settingsTracker.hide();
	$("#newObjectForm").resetForm();
	selectModel('not');
	$("#objectNewImei").val("");
	$("#objectNewName").val("");
	html = "";
	for(key in _g)
		html += '<option value="'+key+'">'+_g[key].title+'</option>';
	$("#objectNewGroup").html(html);
	$("#vyboropsos").hide();
	$("#vyboropsos select").attr("name", "_operator_id");

	
	$("#newObjectForm").validate({submitHandler: function(form) {
		$.getJSON("/api/index.php?action=newObject&handler=objects", $(form).formSerialize(), function(a){
			if (isError(a)){
				if (a.Response.status.___attributes.number == "99"){
					$("#vyboropsos").show();
					$("#vyboropsos select").attr("name", "operator_id");
				}
				jAlert((typeof _l['errors'][isError(a)] != "undefined")? _l['errors'][isError(a)]:isError(a), _l['errors']['0']);
			}else{
				_o[a.Response.object.object_id] = new Obj(a.Response.object);
				_o[a.Response.object.object_id].group_id = a.Response.object.group_id;
				_o[a.Response.object.object_id].label = a.Response.object.label;
				for(key in _g)
					_g[key].objects = [];
				for(key in _o)
					_g[_o[key].group_id].addObject(_o[key].id);
				_w.objectMenuShow();
				_w.newObject.hide();
				_o[a.Response.object.object_id].setObjInfoData()
			}
			return false;
		});
	}});
	return false;
}
//показывает форму для создания камеры
windows.prototype.newCamForm = function(){
    this.newCam.show();
    $(".other_sim_use INPUT").attr('disabled',true)
    $("#newCamForm").clearForm();
    $("#newObj_name_inbox_sim").attr('checked',true)
    $('input[name=sim_use]').unbind('click').bind('click',function(event){
        if(event.currentTarget.value=='inbox_sim'){
            $(".inbox_sim_use").show();
            $(".inbox_sim_use INPUT").attr('disabled',false);
           
            $(".other_sim_use").hide()
            $(".other_sim_use INPUT").attr('disabled',true)
           
        }else{
            $(".inbox_sim_use").hide();
            $(".inbox_sim_use INPUT").attr('disabled',true)
           
            $(".other_sim_use").show();
            $(".other_sim_use INPUT").attr('disabled',false);
        }
    })
    $('.not-for-all').hide();
    $("#CamModelSelect").unbind('change').bind('change',function(event){
        $('.not-for-all').hide();
        var model=$(event.currentTarget).val();
        $(".yes-for-"+model).show();
    })
    $('#camNewModelX8').attr('checked', true);
    $('#camNewPhone2').val('+7');
    
    $("#newObjICCID").attr('checked',true)
    $('input[name=regtype]').unbind('click').bind('click',function(event){
        if(event.currentTarget.value=='iccid'){
            $(".regtype_iccid").show();
            $(".regtype_iccid INPUT").attr('disabled',false);
            
            $(".regtype_phone").hide();
            $(".regtype_phone INPUT").attr('disabled',true)
           
        }else{
            $(".regtype_iccid").hide();
            $(".regtype_iccid INPUT").attr('disabled',true);
            
            $(".regtype_phone").show();
            $(".regtype_phone INPUT").attr('disabled',false)
           
        }
    })
    $("#newCamFormNextStep").unbind('click').bind('click',function(){
        if ($('#camNewName').val()==""){
            simple_tooltip('#camNewName','tooltip','<span style="color:red">Имя камеры не может быть пустым</span>',99,true)
        }else if(!$('#CamModelSelect').val()){
            simple_tooltip('#CamModelSelect','tooltip','<span style="color:red">Выберите модель камеры</span>',100,true)
            
        }else{
            $(".newCamFormSubmit").show();
            $(".newCamFormBackStep").show();
            $(".newCamFormNextStep").hide();
            $(".newCamFormCancel").hide();
            $('.new_cam_second_step').show();
            $('.new_cam_first_step').hide();
        }
        
        
        
        
        
    });
    $("#newCamFormBackStep").unbind('click').bind('click',function(){
        $(".newCamFormSubmit").hide();
        $(".newCamFormBackStep").hide();
        $(".newCamFormNextStep").show();
        $(".newCamFormCancel").show();
        $('.new_cam_second_step').hide();
        $('.new_cam_first_step').show();
        
    })
    
    $("#newCamForm").validate({
        submitHandler: function(form) {
            $.postJSON("api/index.php?action=add&handler=cameras", $(form).formSerialize(), function(a){
                if (isError(a)){
			
                    if (a.Response.status.___attributes.number == "444") {
						$(".if_opsos").show();
						$("#vyboropsos select").attr("name", "operator_id")
					}
				
                    jAlert(_l['errors'][isError(a)], _l['errors']['0'])
                }else{
                    jAlert(_l['cams']['addcam'], "Сообщение",function(){
                        _w.newCam.hide();
                    });
                    
                    _cam[a.Response.camera.camera_id] = new Camera(a.Response.camera);
                    showCamsTopMenu(a.Response.camera.camera_id);
                    
                    _w.newCam.hide();
                    $("#popup").hide();
                    Carousel.init();
                }
                return false;
            });
        }
    });
    $("#newCamFormSubmit").click(function(){
        jConfirm("Убедитесь, что камера включена и находится в зоне приема сигнала сотовой связи. Если камера поставляется вместе с SIM-картой МТС/ГДЕ МОИ, первую регистрацию обязательно произведите именно с этой SIM-картой (ее можно будет заменить на вашу впоследствии).", "Внимание", function(r) {
            if(r){
                $("#newCamForm").submit();
            }

        });

    })
    return false;
}

windows.prototype.pagerShow = function(){
	if (!_mu.length) return false;
	var cnt = 0;
	for (k in _mu) 
		cnt++;
	var html = '<div class="message message_0" ><strong>У Вас '+(cnt > 1 ? cnt+' новых сообщений' : 'одно новое сообщение')+'</strong><br/><a title="Показать сообщение" href="#" onclick="return _w.showNewMessages(false);">Посмотреть</a></div>';
	$("#pager .unreadedmessages").html(html);
	$("#pager .pages").hide();
	if (cnt != 0)
		this.pager.show();
	if (pagerOpen)
		_w.showNewMessages(false);
	return false;
}

windows.prototype.showCams = function(){
	$("#camsdata").hide();
	$('.prevnext').hide();

	var html = "";
	var cnt = 0;
	for (var i in _cam){
		cnt++;
		html += '<li><a title="Показать подробную онформацию о камере" href="#" onclick="return showCamsData('+i+', 8);"><img src="'+window.location.protocol+'//img.gdemoi.ru/'+_cam[i].camera_id+'/'+_cam[i].hash+'.jpg" /><strong>'+cnt+'.&nbsp;'+_cam[i].name+'</strong><br/><i>'+_cam[i].receive_time+'</i></a></li>';
	}
	$("#camscarusel").html(html);
	this.cams.show();
	return false;
}

windows.prototype.showNewMessages = function(a){
	if (a){
		$.get("/api/index.php?action=readMessage&handler=alerts", {"history_id": currentShowedMessage.id});
		_mu.splice(currentShowedMessage.id,1);
		var tmpMU = [];
		for (var i in _mu)
			tmpMU[_mu[i].id] = _mu[i];
		_mu = tmpMU;
	}else
		pagerOpen = true;

	$("#pager .pages").show();
	$(".message_0").hide();
	var html ="";
	var firstMessage = true;
	var cnt = 0;
	for (k in _mu){
		if (firstMessage){
			var reTime = function(time) {
				time = new Date(
					time.substr(0, 4),
					parseInt(time.substr(5, 2)) - 1,
					time.substr(8, 2),
					time.substr(11, 2),
					time.substr(14, 2),
					time.substr(17, 2)
				);
				var res = '';
				res += (time.getDate() < 10 ? '0' : '') + time.getDate();
				res += '/' + (time.getMonth() < 10 ? '0' : '') + (time.getMonth() + 1);
				res += '/' + time.getFullYear();
				res += ' ' + time.getHours();
				res += ':' + time.getMinutes();
				res += ':' + time.getSeconds();
				return res;
			};
			html += '<div class="message icon-unreaded message'+k+'"><p><a title="Показать непрочитанные сообщения" href="#" onclick="return showUnreadedMessage();"><b>'+_mu[k].message+'</b></a></p><p>'+reTime(_mu[k].time)+'</p></div>';
			currentShowedMessage = _mu[k];
		}
		firstMessage = false;
		cnt++;
	}
//	$("#pager .close").hide();
	if (cnt == 0){
		$("#pager .unreadedmessages").html('<div class="message message_0" ><strong>У Вас нет новых сообщений</strong><br/><a title="Закрыть пейджер" href="#" onclick="_w.pager.hide();return false;">Закрыть</a></div>');
		$("#pager .pages").hide();
//		$("#pager .close").show();
		return false;
	}
	$("#pager .unreadedmessages").html(html);
	$("#pager .current").html((cnt-1)?(cnt-1):"");
	return false;
}

windows.prototype.showSettingsForm = function(){
	this.settings.show();
	$("#settingsTimeZone"+_u.timezone).attr("selected", true);
	$("#settingsUpdateFrequency"+_u.updateTime).attr("selected", true);
	$("#settingsUserData").validate({
		submitHandler: function(a){
			$.postJSON("/api/index.php?action=updateUserData&handler=users", $(a).formSerialize(), function(a){
				if (isError(a))
					jAlert((typeof _l['errors'][isError(a)] != "undefined")? _l['errors'][isError(a)]:isError(a), _l['errors']['0']);
				else{
					jAlert(_l['serverResponse'][a.Response.status.___attributes.description])
					_w.settings.hide();
				}
				return false;
			});
			return false;
		}
	});
	return false;
}

windows.prototype.newCamShow = function(){
	this.newCam.show();
	$("#newCamForm").validate({submitHandler: function(form) {$.getJSON("/api/index.php?action=add&handler=cameras", $(form).formSerialize(), function(a){
		if (isError(a))
			jAlert((typeof _l['errors'][isError(a)] != "undefined")? _l['errors'][isError(a)]:isError(a), _l['errors']['0']);
		else{
			_cam[a.Response.camera.camera_id] = new Camera (a.Response.camera)
			this.newCam.hide();
			showCamsTopMenu();
		}
	});}});
	return false;
}

windows.prototype.rulesListShow = function(){
	this.footerHide();
	this.history.hide();

	var html = "";
	var v = nowEditObject;
	for (k in _o[v].rules)	{
		html += '<div class="rule" id="showed_rule_'+_a[_o[v].rules[k]].id+'"><p><b>'+_a[_o[v].rules[k]].name+'</b></p><p class="alert-by">';
		if (_a[_o[v].rules[k]].email)
			html += '<img src="images/alert-by/email.gif" alt="Оповестить по email" title="Оповестить по email" />&nbsp;&nbsp;';
		if (_a[_o[v].rules[k]].sms)
			html += '<img src="images/alert-by/sms.gif" alt="Оповестить по sms" title="Оповестить по sms" />&nbsp;&nbsp;';
		if (_a[_o[v].rules[k]].icq)
			html += '<img src="images/alert-by/icq.gif" alt="Оповестить по icq" title="Оповестить по icq" />&nbsp;&nbsp;';
		if (_a[_o[v].rules[k]].phone)
			html += '<img src="images/alert-by/phone.gif" alt="Оповестить по телефону" title="Оповестить по телефону" />&nbsp;&nbsp;';
		html += '<a title="Редактировать правило" href="#" onclick="return _w.editRuleShow('+_a[_o[v].rules[k]].id+');">Изменить</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a title="Удалить правило" href="#" onclick="jConfirm(\'Вы точно хотите удалить правило?\', \'Подтверждение\', function(a){if (a){_a['+_o[v].rules[k]+'].remove();} return false;});return false;">Удалить</a></p></div>';
	}
	
	html = html ? html : "<div style='padding:10px'><p>Правила позволяют контролировать события (например, вход в гео-зону, превышение скорости и другие). Для добавления правила нажмите на кнопку.</p></div>";
	
	$("#rulesList").html(html);
	$("#rules h2").html("Правила " + _o[nowEditObject].label);
	this.rules.show();
	return false;
}


windows.prototype.saveZoneShow = function(n){
	_w.saveZone.show();
	var list = getUniqZones();
	var html = "";
	for (var i in list)
		html += '<tr class="cursor"><td><a title="Использовать эту зону" href="#" onclick="return setZoneInUse('+list[i].id+');">'+list[i].zone_label+'</a></td></tr>'
	$(".saveZoneList").html(html);
	return false;
}

windows.prototype.saveEditZoneShow = function(n){
	_w.saveEditZone.show();
	_w.saveZone.hide();
	var list = getUniqZones();
	var html = "";
	for (var i in list)
		html += '<tr class="cursor"><td><a href="#" title="Использовать эту зону" onclick="return setZoneInUse('+list[i].id+', false);">'+list[i].zone_label+'</a></td></tr>'
	$(".saveZoneList").html(html);
	return false;
}

windows.prototype.textHistoryShow = function(){
	var letsHtml = function(a){
		return '<tr class="history'+
			(a.pack_id != "0"? ' alarma': '')+
			'"><td class="date">'+
			getNormalTime(a.history_time)+
			'</td><td class="message">'+
			a.message+
			'</td><td class="link">'+
			(a.pack_id ? '<a title="Показать подробнее"  href="#" onclick="$('+"'#popup_link_"+a.pack_id+"'"+').click();return false;">фото</a>': '&nbsp;')+'</td></tr>';
			
			
			
//		return '<div class="history rule" '+(a.pack_id != "0"? 'style=""': '')+'><div class="date"></div><div class="message">'++'</div><div class="link"></div></div>';
	}
	$.getJSON("/api/index.php?action=getHistory&handler=alerts", 
		{'type': "camera", 'camera_id': currentShowedCam,'from': $("#filterFromDate").val(), 'to': $("#filterToDate").val()}, 
		function(a){
			if (isError(a))
				jAlert((typeof _l['errors'][isError(a)] != "undefined")? _l['errors'][isError(a)]:isError(a), _l['errors']['0']);
			else{
				var html = '';
				if (typeof a.Response.history.history_id == "undefined") 
					for(var i in a.Response.history)
						html += letsHtml(a.Response.history[i]);
				else
					html += letsHtml(a.Response.history);
				$('#history_list').html(html);
				_w.textHistory.show();
			}
		}
	);
	return false;
}

windows.prototype.showen = function(a){
	alert(this.arguments.length);
}

windows.prototype.footerHide = function(a){
	this.footerBar.hide();
	$('#SearchArea').css('bottom', '66px');
	$("#map .zoom").css("bottom", "100px");
	$("#map .buttons").css("bottom", "31px");
	$("#map .mover").css("bottom", "15px");
}


windows.prototype.showSettingsTracker = function(a){

	$("#editObjectForm").resetForm();
	$("#trackerSettingsForm").resetForm();
	$("#trackerSettingsFormNumbers").resetForm();
	$("#trackerSettingsFormTrust").resetForm();
	$("#trackerSettingsFormChema").resetForm();

	this.settingsTracker.show();
	this.newObject.hide(); 
	this.newGroup.hide(); 
	closeFooterBar();
	
	$("td.all-no").hide();
	$("td.all-yes").show();
	$("td."+_o[nowEditObject].model+"-no").hide();
	$("td."+_o[nowEditObject].model+"-yes").show();
	
	$("td.tab a").removeClass("active");
	$("#tabDataSettings").addClass("active");
	
	
	$("#tabSettingsContent .tab-block").hide();
	$("#tabDataSettingsBlock").show();
	
	$("#trackerSettingsInterval").removeAttr("disabled");
	$("#trackerSettingsDistance").removeAttr("disabled");
	$('#m7TrackingMode input').removeAttr('checked');
	
	$("#trackerSettingsDistance").val(_o[nowEditObject].settingsTrackerDistance);
	$("#trackerSettingsInterval").val(_o[nowEditObject].settingsTrackerInterval);
	
	var obj = _o[nowEditObject];
	if(obj.model == 'm7') {
		psm_mode = parseInt(obj.psm_mode);
		
		$("#m7TrackerSettingsDistance").val(obj.settingsTrackerDistance);
		$("#m7TrackerSettingsInterval").val(obj.settingsTrackerInterval);
		
		$('#m7IntervalTrackingType').val(psm_mode ? psm_mode : 1);
		$('#m7Interval1TrackingValue').val(obj.psm_interval);
		$('#m7Interval2TrackingValue1').val(obj.wakeup_timer1);
		$('#m7Interval2TrackingValue2').val(obj.wakeup_timer2);
		$('#m7Interval2TrackingValue3').val(obj.wakeup_timer3);
		
		$('#m7IntervalTrackingTypes > div').hide();
		if(psm_mode) {
			$('#m7ContinuousTracking').hide();
			$('#m7IntervalTracking').show();
			$('#m7TrackingMode input[value="interval"]').attr('checked', true);
			$('#m7Interval' + psm_mode + 'TrackingType').show();
			
			$('#m7TrackerSettingsDistance').attr('disabled', true);
			$('#m7TrackerSettingsInterval').attr('disabled', false);
			$('#m7SettingsTrackerIntervalSelect').attr('checked', true);
			$('#m7SettingsTrackerDistanceSelect').removeAttr('checked');
		} else {
			$('#m7IntervalTracking').hide();
			$('#m7ContinuousTracking').show();
			$('#m7TrackingMode input[value="continuous"]').attr('checked', true);
			$('#m7Interval1TrackingType').show();
			if(obj.tracking_mode != '1') {
				$('#m7TrackerSettingsInterval').attr('disabled', true);
				$('#m7TrackerSettingsDistance').attr('disabled', false);
				$('#m7SettingsTrackerDistanceSelect').attr('checked', true);
				$('#m7SettingsTrackerIntervalSelect').removeAttr('checked');
			} else {
				$('#m7TrackerSettingsDistance').attr('disabled', true);
				$('#m7TrackerSettingsInterval').attr('disabled', false);
				$('#m7SettingsTrackerIntervalSelect').attr('checked', true);
				$('#m7SettingsTrackerDistanceSelect').removeAttr('checked');
			}
		}
		$('#m7TrackingMode input').unbind('click').click(function() {
			switch(this.value) {
				case 'continuous':
					$('#m7IntervalTracking').hide();
					$('#m7ContinuousTracking').fadeIn('fast');
					break;
				case 'interval':
					$('#m7ContinuousTracking').hide();
					$('#m7IntervalTracking').fadeIn('fast');
					break;
			}
		});
		$('#m7ContinuousTracking input[name="m7ContinuousTrackingType"]').unbind('click').click(function() {
			switch(this.value) {
				case 'interval':
					$('#m7TrackerSettingsInterval').attr('disabled', false);
					$('#m7TrackerSettingsDistance').attr('disabled', true);
					break
				case 'distance':
					$('#m7TrackerSettingsInterval').attr('disabled', true);
					$('#m7TrackerSettingsDistance').attr('disabled', false);
					break;
			}
		});
		$('#m7IntervalTrackingType').unbind('change').change(function() {
			$('#m7IntervalTrackingTypes > div').hide();
			$('#m7Interval' + this.value + 'TrackingType').fadeIn('fast');
		});
/*** Кнопка сохранения 123**/
		$("#m7TrackingModeSave").unbind("click").click(function(){

if (isNaN(parseInt($("#m7Interval1TrackingValue").val()))  ){jAlert("Неправильные данные, проверьте пожалуйста ввод")}else{if($("#m7Interval1TrackingValue").val()<60){jAlert("Интервал не должен быть меньше 60 минут");$("#m7Interval1TrackingValue").val(60)};$.post("/api/index.php?handler=objects&action=setmonitoring",{type:$("#m7SettingsTrackerIntervalSelect").attr("checked")?"interval":"distance",tracker_interval:$("#m7TrackerSettingsInterval").val(),tracker_distance:$("#m7TrackerSettingsDistance").val(),psm_mode:$('#m7TrackingMode input[value="continuous"]').attr("checked")?0:$("#m7IntervalTrackingType").val(),psm_interval:$("#m7Interval1TrackingValue").val(),wakeup_timer1:$("#m7Interval2TrackingValue1").val(),wakeup_timer2:$("#m7Interval2TrackingValue2").val(),wakeup_timer3:$("#m7Interval2TrackingValue3").val(),imei:m.source_imei,object_id:m.id},function(a){jAlert(parseInt(m.tcp_status)<=0?"Команда сохранена и ожидает подключения трекера к серверу":"Команда отправлена")})}return false});
	}
	
	if (_o[nowEditObject].tracking_mode != "1"){
		$("#trackerSettingsInterval").attr("disabled", true);
		$("#settingsTrackerDistanceSelect").attr("checked", true);
	}else{
		$("#trackerSettingsDistance").attr("disabled", true);
		$("#settingsTrackerIntervalSelect").attr("checked", true);
	}
	$("#settingsTrackerIntervalSelect").change(function(){
		$("#trackerSettingsDistance").attr("disabled", true);
		$("#trackerSettingsInterval").removeAttr("disabled");
	});
	$("#settingsTrackerDistanceSelect").change(function(){
		$("#trackerSettingsInterval").attr("disabled", true);
		$("#trackerSettingsDistance").removeAttr("disabled");
	});
	if (_o[nowEditObject].chema > 1){
		$("#tracker_scheme").val(_o[nowEditObject].chema);
	}
	if ((_o[nowEditObject].model == "vt10")||(_o[nowEditObject].model == "vt200"))
		$("#trackerSettingsFormTrust_vt-10_vt-200").show();
	else
		$("#trackerSettingsFormTrust_vt-10_vt-200").hide();
	
	$(".trackerSettingsForm_object_id").val(nowEditObject);
	$(".trackerSettingsForm_imei").val(_o[nowEditObject].source_imei);
	if ((_o[nowEditObject].quick_dial1)||(_o[nowEditObject].quick_dial1)||(_o[nowEditObject].quick_dial1)){
		var
			qd1 = _o[nowEditObject].quick_dial1,
			qd2 = _o[nowEditObject].quick_dial2,
			qd3 = _o[nowEditObject].quick_dial3
		;
		qd1 = qd1 ? qd1 : '+7';
		qd2 = qd2 ? qd2 : '+7';
		qd3 = qd3 ? qd3 : '+7';
		$('#settingsTrackerPhone1').val(qd1);
		$('#settingsTrackerPhone2').val(qd2);
		$('#settingsTrackerPhone3').val(qd3);
	}

	$("#objectEditId").val(_o[nowEditObject].id);
	$("#objectEditImei").val(_o[nowEditObject].source_imei);
	$("#objectEditName").val(_o[nowEditObject].label);
	$("#objectEditModel").val(_o[nowEditObject].model);
	
	$("#objectEditPhone").val('+' + (_o[nowEditObject].phone ? _o[nowEditObject].phone : '7'));
	var html = "";
	for(var key in _g)
		html += '<option value="'+key+'"' + ((key == _o[nowEditObject].group_id)? ' selected="selected"': "") + '>'+_g[key].title+'</option>';
	$("#objectEditGroup").html(html);
	
	if (!newTrustNums){
		newTrustNums = $('#trackerSettingsFormTrust .sms', $("")).phoneList();
		newTrustNums.change(function() {	$("#trackerSettingsFormTrustValueNum").val(newTrustNums.val())});
	}
	newTrustNums.val(_o[nowEditObject].trustNums);

	if (_o[nowEditObject].chema > 1){
		$("#tracker_scheme").val(_o[nowEditObject].chema);
		if (_o[nowEditObject].chema == 5)
			$("#alarm_control_zap").show();
		
		$("#tracker_scheme").change(function(){
			if ($(this).val() == 5)
				$("#alarm_control_zap").show();
			else
				$("#alarm_control_zap").hide();
		});
		
		$(".outputsCheckboxes").removeAttr("checked");
		$('.outputsCheckboxes').checkbox();
		
		for (i in _o[nowEditObject].outputs)
			if (_o[nowEditObject].outputs[i])
				$("#chema_output"+_o[nowEditObject].outputs[i]).attr("checked", "checked");
			else
				$("#chema_output"+_o[nowEditObject].outputs[i]).removeAttr("checked");
				
		$('.outputsCheckboxes').unbind("click").click(function(){
			if (_o[nowEditObject].tcp_status <= 0){
				jAlert("Включите, пожалуйста, трекер");
				return false;
			}
			var val = $(this).attr("checked") ? 0 : 1;
			var out = $(this).attr("rel");
			$.postJSON("/api/index.php?action=set_output&handler=objects", {"enable": val, "output": out, "object_id": nowEditObject, "imei": _o[nowEditObject].source_imei}, function(a){
				if (isError(a))
					jAlert((typeof _l['errors'][isError(a)] != "undefined")? _l['errors'][isError(a)]:isError(a), _l['errors']['0']);
				else{
					
					jAlert(_l['serverResponse']['Output status changed']);
				}
				return false;
			});
		});
	}


	$("#trackerSettingsFormTrust").validate({submitHandler: function(form) {
		$.postJSON("/api/index.php?action=settrust&handler=objects", $(form).formSerialize(), function(a){
			if (isError(a))
					jAlert((typeof _l['errors'][isError(a)] != "undefined")? _l['errors'][isError(a)]:isError(a), _l['errors']['0']);
			else{
				jAlert(_l['serverResponse']['Comannd sended']);
				_o[nowEditObject].trustNums = $("#trackerSettingsFormTrustValueNum").val();
			}
		return false;
	});}});

	$("#trackerSettingsForm").validate({submitHandler: function(form) {
		if (_o[nowEditObject].tcp_status <= 0){
			jAlert("Включите, пожалуйста, трекер");
			return false;
		}
		$.postJSON("/api/index.php?action=setmonitoring&handler=objects", $(form).formSerialize(), function(a){
			if (isError(a))
					jAlert((typeof _l['errors'][isError(a)] != "undefined")? _l['errors'][isError(a)]:isError(a), _l['errors']['0']);
			else{
				jAlert(_l['serverResponse']['Comannd sended']);
			}
		return false;
	});}});
	
	$("#trackerSettingsFormNumbers").validate({submitHandler: function(form) {
		if (_o[nowEditObject].tcp_status <= 0){
			jAlert("Включите, пожалуйста, трекер");
			return false;
		}
		$.postJSON("/api/index.php?action=quick_dial&handler=objects", $(form).formSerialize(), function(a){
			if (isError(a))
				jAlert((typeof _l['errors'][isError(a)] != "undefined")? _l['errors'][isError(a)]:isError(a), _l['errors']['0']);
			else{
				jAlert(_l['serverResponse']['Comannd sended']);
			}
			return false;
	});}});

	
	$("#editObjectForm").validate({submitHandler: function(form) {$.postJSON("/api/index.php?action=edit&handler=objects", $(form).formSerialize(), function(a){
		if (isError(a))
			jAlert(isError(a), _l['errors']['0']);
		else{
			jAlert(_l['serverResponse']['Comannd sended']);
			_o[a.Response.object.object_id].group_id = a.Response.object.group_id;
			_o[a.Response.object.object_id].label = a.Response.object.label;
			_o[a.Response.object.object_id].phone = a.Response.object.phone;
			for(key in _g)
				_g[key].objects = [];
			for(key in _o)
				_g[_o[key].group_id].addObject(_o[key].id);
			_w.objectMenuShow();
			_o[a.Response.object.object_id].setObjInfoData()
		}
		return false;
	});}});

	$("#trackerSettingsFormChema").validate({submitHandler: function(form) {
		$.postJSON("/api/index.php?action=change_scheme&handler=objects", $(form).formSerialize(), function(a){
			if (isError(a))
				jAlert((typeof _l['errors'][isError(a)] != "undefined")? _l['errors'][isError(a)]:isError(a), _l['errors']['0']);
			else{
				jAlert(_l['serverResponse']['Comannd sended']);
				_o[nowEditObject].chema = $("#tracker_scheme").val();
			}
			return false;
	});}});
	
	return false;
}
windows.prototype.transActionsShow = function() {

	this.transActions.show();


	$.postJSON("/api/index.php?action=transList&handler=users", function(f) {
		var h = "";
		if (!postAjaxCheck(f, true)) {
			return false
		}
		_ta = f.Response.trans;
		h = "";

		h += '<table class="trans_table fixed"><tr><th>Дата</th><th>Время</th><th>Операция</th><th>Сумма</th></tr></table><div class="trans scroll"><div class="trans_list">';

		if (typeof f.Response.trans !== 'undefined') {
			h += '<table class="trans_table_fixed">';
			for (var beg_id = 0; beg_id < _ta.length; beg_id++) {


				var l = _ta[beg_id].trans_time;
				var g = l.substr(8, 2) + "." + l.substr(5, 2) + "." + l.substr(0, 4);
				var j = l.substr(11, 2) + ":" + l.substr(14, 2);


				h += '<tr><td>' + g + '</td>';
				h += '<td>' + j + '</td>';
				h += '<td>' + _ta[beg_id].trans_operation + '</td>';
				h += '<td>' + (1 * _ta[beg_id].trans_summa).toFixed(2) + '</td></tr>';

			}
		}
		else {
			h += "<div style='width: 300px;font-size: 12px; padding: 10px;'>У вас нет транзакций</div>";
		}

		h += "</table></div></div>";

		$(".trans_action_div").html(h).show()
	});
	return false
};

windows.prototype.showPayWin = function(){
	this.paySms.show();
	$("#paySms").validate({submitHandler: function(form) {
		$.postJSON("/api/index.php?action=bay_packet&handler=users", $(form).formSerialize(), function(a){
			if (isError(a))
				jAlert((typeof _l['errors'][isError(a)] != "undefined")? _l['errors'][isError(a)]:isError(a), _l['errors']['0']);
			else{
				jAlert(_l['serverResponse']['Packet successefull buyed']);
				_u.credits = a.Response.credits;
				_u.credits_reset = a.Response.credits_reset;
				_u.balanse = a.Response.balance;
				insertUserDataOnTop();
				_w.paySms.hide();
			}
			return false;
	});}});	
	return false;
}

windows.prototype.showUploadTracks = function(){
	this.footerHide();
	this.uploadTracks.show();
	$("#uploadTrackObjectId").val(_o[nowEditObject].id);
	$('#uploadTracksForm').ajaxForm({dataType:  'json', url:'/api/index.php?handler=objects&action=import_gps', success: function(a) {
			if (isError(a))
				jAlert((typeof _l['errors'][isError(a)] != "undefined")? _l['errors'][isError(a)]:isError(a), _l['errors']['0']);
			else{
				jAlert("Треки успешно загружены.");
				_w.uploadTracks.hide();
			}
			return false;
	}});
	return false;
}

windows.prototype.newRuleShow = function(){
	$("#newEventForm").resetForm();
	$("#newZoneEdit").val("");
	$("#pointsData input").val("");
	
	$("#newEventFormObjects").val(nowEditObject);
	$("#rejimParkinga").hide();
	$("#rejimAlertControl").hide();
	if (_o[nowEditObject].model == "pt100")
		$("#rejimParkinga").show();
	if ((_o[nowEditObject].model == "vt10")||(_o[nowEditObject].model == "vt200"))
		$("#rejimAlertControl").show();
		
	if (newEventControls == null){
		newEventControls = {};
		newEventControls.sms = $('#newEvent .sms', $("")).phoneList();
		newEventControls.sms.change(function() {	$("#sms_newEvent_value").val(newEventControls.sms.val())});
		newEventControls.call = $('#newEvent .call').phoneList();
		newEventControls.call.change(function() {	$("#call_newEvent_value").val(newEventControls.call.val())});
		newEventControls.email = $('#newEvent .email').mailList();
		newEventControls.email.change(function() {	$("#email_newEvent_value").val(newEventControls.email.val())});
	}

	if (newRuleWeekTime == null){
		newRuleWeekTime = $.weekTime($('#newEvent .timepicker')).val("100001,723590");
		$("#newZoneTime").val("100001,723590");
		newRuleWeekTime.change(function() { $("#newZoneTime").val(this.val());relevantValuesOnStep2(this.val()); })
	}
	document.getElementById("alarma").maxLength = 68 - _o[nowEditObject].label.length;
	document.getElementById("alarma2").maxLength = 68 - _o[nowEditObject].label.length;

	showStepRule(1);
	this.newRuleForm.show();
	this.rules.hide();
	this.pager.hide();
	this.objects.hide();
	return false;
}

windows.prototype.newEventShow = function(){
	nowEditFact = null;
	$("#newEventForm").resetForm();
	$("#zoneName").val("");
	$("#changeZonesCreator").show();
	$("#newEventForm .showNextStep").hide();
	$("#newEventForm .showPrevNextFake").show();
	$("#newEventForm .showPrevStep").hide();
	$("#newEventForm .showPrevStepFake").show();
	$("#newEventId").val(0);


	nowEventStep = 1;
	$("#newEventForm .steps").hide();
	$("#newEventForm #step1").show();
	
	$(".newEvent-not-for-all").hide();
	$(".newEvent-for-"+_o[nowEditObject].model).show();

	var chemaToName = {
		2: 'start'
	};

	if(typeof chemaToName[_o[nowEditObject].chema] != 'undefined')
		$('.newEvent-for-scheme-'+chemaToName[_o[nowEditObject].chema]).show();
	
	
	
	$("#step1").show()
	$("#newEvent2 .close").unbind("click");
	$("#newEventFormObjects").val(nowEditObject);
	
	if (newEventControls == null){
		newEventControls = {};
		newEventControls.sms = $('#newEventForm .sms', $("")).phoneList();
		newEventControls.sms.change(function() {checkConditions();	$("#sms_newEvent_value").val(newEventControls.sms.val())});
		newEventControls.call = $('#newEventForm .call').phoneList();
		newEventControls.call.change(function() {checkConditions();	$("#call_newEvent_value").val(newEventControls.call.val())});
		newEventControls.email = $('#newEventForm .email').mailList();
		newEventControls.email.change(function() {checkConditions();	$("#email_newEvent_value").val(newEventControls.email.val())});
	}
	newEventControls.sms.val("");
	newEventControls.call.val("");
	newEventControls.email.val("");
	$("#sms_newEvent_value").val("");
	$("#call_newEvent_value").val("");
	$("#email_newEvent_value").val("");

	if (newRuleWeekTime == null){
		newRuleWeekTime = $.weekTime($('#newEventForm .timepicker')).val("100001,723590");
		$("#newZoneTime").val("100001,723590");
		newRuleWeekTime.change(function() { $("#newZoneTime").val(this.val());checkConditions();})
	}
	newRuleWeekTime.val("100001,723590");
	
	$("#newEventForm .showNextStep").unbind("click").click(function(){
		$(this).hide();
		$("#newEventForm .steps").hide();
		nowEventStep++;
		$("#newEventForm #step" + nowEventStep).show();
		checkConditions();
	});
	$("#condition").unbind("onkeyup").keyup(function (a){
		$("#alarma").val(_l['events']['speedup'] + $("#condition").val() + " км/ч"); 
		$("#alarma").attr("rel", _l['events']['speedup'] + $("#condition").val() + " км/ч");
		checkConditions();
	});

	$("#newEventForm .showPrevStep").unbind("click").click(function(){
		$("#newEventForm .steps").hide();
		nowEventStep--;
		$("#newEventForm #step" + nowEventStep).show();
		checkConditions();
	});
	
	$("#step1 input:radio").unbind("change").change(function(){
		$(".new-event-conditions").hide();
		$(".new-event-conditions-for-"+ $(this).val()).show();
		$("#alarma").val(_l['events'][$(this).val()]);
		$("#alarma").attr("rel", _l['events'][$(this).val()]);
		checkConditions();
	});
	
	$("#saveNewEvent").unbind("click").click(function(){
		$.postJSON(
			"/api/index.php?action=create&handler=alerts", 
			$("#newEventForm").formSerialize(), 
			afterNewEvent
		);
		return false;
	});

	$("#alarma").attr("maxLength", 68 - _o[nowEditObject].label.length);
	$("#alarma2").attr("maxLength", 68 - _o[nowEditObject].label.length);

	if ($("#newEventRas").hasClass('hide'))
		$("#raspisanieShowerHider").click();
	
	this.newRuleForm2.show();
	this.rules.hide();
	this.pager.hide();
	this.objects.hide();
	return false;
	
}

function checkConditions(qqq){
	//param - необходимо для определения низщей ступени шагов в правилах
	$("#newEventForm .showNextStep").hide();
	$("#newEventForm .showPrevNextFake").hide();
	$("#newEventForm .showPrevStep").hide();
	$("#newEventForm .showPrevStepFake").hide();
	$("#saveNewEvent").hide();
	
	if (qqq){
		$("#step1 input:radio[name=type]").removeAttr("selected");
		$("#step1 input:radio[value='"+qqq+"']").click();
	}
	
	qqq = $("#step1 input:radio:checked").val();

	var flag = 1;
	
	if (nowEventStep == 1){
		$("#newEventForm .showPrevStepFake").show();
		$("#newEventForm .showNextStep").show();
	}
	if (nowEventStep == 2){
		if ((qqq == 'speedup')&&($("#condition").val() == ""))
			flag = 0;
		if ((qqq == 'inoutzone')&&($("#zoneName").val() == ""))
			flag = 0;
		if (!newRuleWeekTime.val())
			flag = 0;
			
		if (flag)
			$("#newEventForm .showNextStep").show();
		else
			$("#newEventForm .showPrevNextFake").show();
		if (!nowEditFact)
			$("#newEventForm .showPrevStep").show();

		if ($("#newEventRas").hasClass('hide'))
			$("#raspisanieShowerHider").click();
			
	}
	
	if (nowEventStep == 3){
		if (($("#alarma").val() == "")&&($("#alarma2").val() == ""))
			flag = 0;
		if (flag)
			$("#saveNewEvent").show();
		//$("#newEventForm .showPrevNextFake").show();
		$("#newEventForm .showPrevStep").show();
	}
	
	
}

windows.prototype.editRuleShow = function(n){
	$('#centerPointX').val(_a[n].first_x);
	$('#centerPointY').val(_a[n].first_y);
	$('#secondPointX').val(_a[n].second_x);
	$('#secondPointY').val(_a[n].second_y);
	if(_a[n].zone) {
		$('#newZoneEdit').val(_z[_a[n].zone].zone_label);
	}
	nowEditFact = _a[n];
	
	$("#newEventForm").resetForm();
	$("#zoneName").val("");
	
	$("#changeZonesCreator").hide();
	
	$("#newEventForm .showNextStep").hide();
	$("#newEventForm .showPrevNextFake").show();
	$("#newEventForm .showPrevStep").hide();
	$("#newEventForm .showPrevStepFake").show();

	nowEventStep = 2;
	$("#newEventForm .steps").hide();
	$("#newEventForm #step2").show();

	$("#newEvent2 .header h2").html("Редактирование правила для " + _o[nowEditFact.objects[0]].label);
	
	$("#step2").show()
	$("#newEvent2 .close").unbind("click");
	$("#newEventFormObjects").val(nowEditObject);
	
	$(".new-event-conditions").hide();
	$(".new-event-conditions-for-"+ nowEditFact.type).show();
	
	if (newEventControls == null){
		newEventControls = {};
		newEventControls.sms = $('#newEventForm .sms', $("")).phoneList();
		newEventControls.sms.change(function() {checkConditions();	$("#sms_newEvent_value").val(newEventControls.sms.val())});
		newEventControls.call = $('#newEventForm .call').phoneList();
		newEventControls.call.change(function() {checkConditions();	$("#call_newEvent_value").val(newEventControls.call.val())});
		newEventControls.email = $('#newEventForm .email').mailList();
		newEventControls.email.change(function() {checkConditions();	$("#email_newEvent_value").val(newEventControls.email.val())});
	}
	
	if (newRuleWeekTime == null){
		newRuleWeekTime = $.weekTime($('#newEventForm .timepicker')).val("100001,723590");
		$("#newZoneTime").val("100001,723590");
		newRuleWeekTime.change(function() { $("#newZoneTime").val(this.val());checkConditions();})
	}
	
	newEventControls.sms.val(nowEditFact.sms);
	$("#sms_newEvent_value").val(newEventControls.sms.val());
	newEventControls.call.val(nowEditFact.phone);
	$("#call_newEvent_value").val(newEventControls.call.val());
	newEventControls.email.val(nowEditFact.email);
	$("#email_newEvent_value").val(newEventControls.email.val());
	newRuleWeekTime.val(nowEditFact.schedule.join());
	
	$("#newZoneTime").val(nowEditFact.schedule);
	$("#newEventId").val(nowEditFact.id);
		
	
	$("#newEventForm .showNextStep").unbind("click").click(function(){
		$(this).hide();
		$("#newEventForm .steps").hide();
		nowEventStep++;
		$("#newEventForm #step" + nowEventStep).show();
		checkConditions();
	});
	$("#condition").unbind("onkeyup").keyup(function (a){
		$("#alarma").val(_l['events']['speedup'] + $("#condition").val() + " км/ч"); 
		$("#alarma").attr("rel", _l['events']['speedup'] + $("#condition").val() + " км/ч");
		checkConditions();
	});

	$("#newEventForm .showPrevStep").unbind("click").click(function(){
		$("#newEventForm .steps").hide();
		nowEventStep--;
		$("#newEventForm #step" + nowEventStep).show();
		checkConditions();
	});
	
	
	$("#saveNewEvent").unbind("click").click(function(){
		$.postJSON(
			"/api/index.php?action=create&handler=alerts", 
			$("#newEventForm").formSerialize(), 
			afterNewEvent
		);
		return false;
	});

	if ($("#newEventRas").hasClass('hide'))
		$("#raspisanieShowerHider").click();

	$("#alarma").attr("maxLength", 68 - _o[nowEditObject].label.length);
	$("#alarma2").attr("maxLength", 68 - _o[nowEditObject].label.length);
	
//Вставка данных	
	$("#alarma").val(nowEditFact.deftext1).attr("rel",nowEditFact.deftext1);
	if (nowEditFact.type=="speedup")
		$("#condition").val(nowEditFact.max);
	if (nowEditFact.type=="inoutzone"){
		zond = _z[nowEditFact.zone];
		$(".new-event-conditions-for-inoutzone-after a").html("<b>Редактировать зону (" + _z[nowEditFact.zone].zone_label + ")</b>").parent().show();
		$("#zoneName").val(_z[nowEditFact.zone].zone_label);
		$("#typezone").val(_z[nowEditFact.zone].zone_type);
		if (nowEditFact.deftext1){
			$("#alarma").val(nowEditFact.deftext1);
			$("#alarma").attr("rel", nowEditFact.deftext1);
		}else{
			$("#step3 input:checkbox[name='needTextMessage[1]']").removeAttr("checked");
			$("#alarma").attr("rel", getAlarmTextByType(1) + $("#zoneName").val());
		}
		if (nowEditFact.deftext2){
			$("#alarma2").val(nowEditFact.deftext2);
			$("#alarma2").attr("rel", nowEditFact.deftext2);
		}else{
			$("#step3 input:checkbox[name='needTextMessage[2]']").removeAttr("checked");
			$("#alarma2").attr("rel", getAlarmTextByType(0) + $("#zoneName").val());
		}
		 
		
		
	}else
		$(".new-event-conditions-for-inoutzone-after a").hide();

	checkConditions(nowEditFact.type);

	this.newRuleForm2.show();
	this.rules.hide();
	this.pager.hide();
	this.objects.hide();
	return false;
	
}

windows.prototype.postavitSignal = function(){
	if (_o[nowEditObject].tcp_status <= 0){
		jAlert("Включите, пожалуйста, трекер");
		return false;
	}
	$.postJSON("/api/index.php?action=set_alarm_mode&handler=objects", {imei: _o[nowEditObject].source_imei, object_id: _o[nowEditObject].id, enable: ((_o[nowEditObject].alarm_mode+1)%2)}, function(a){
		if (isError(a))
				jAlert((typeof _l['errors'][isError(a)] != "undefined")? _l['errors'][isError(a)]:isError(a), _l['errors']['0']);
		else{
			jAlert("Выполнено");
			_o[nowEditObject].alarm_mode = (_o[nowEditObject].alarm_mode + 1 )%2;
			if (_o[nowEditObject].alarm_mode)
				$("#postanovkaNaSignal a").text("Снять с сигнализации");
			else
				$("#postanovkaNaSignal a").text("Поставить на сигнализацию");
		}		
	});
}
//Service tooltip function

function simple_tooltip(element, name, content, index,direct){
    var show_direct = direct || false;
    if ($("#"+name+index).html()==null){
        if(show_direct){
            $(element).parent().append("<div class='"+name+"' id='"+name+index+"'><img id='vtipArrow' src='http://my.gdemoi.ru/images/vtip_arrow.png' /><div id='tip_inner_"+index+"'></div></div>");
        }
        else
        {
            $("body").append("<div class='"+name+"' id='"+name+index+"'><img id='vtipArrow' src='http://my.gdemoi.ru/images/vtip_arrow.png' /><div id='tip_inner_"+index+"'></div></div>");
        }

    }
    var my_tooltip = $("#"+name+index);
    $('#vtipArrow').attr("src", 'http://my.gdemoi.ru/images/vtip_arrow.png');
    if(show_direct){
        $("#tip_inner_"+index).html(content || "Нет данных");
        my_tooltip.css({
            opacity:1, 
            display:"none", 
            left: $(element).position().left, 
            top: $(element).position().top+20
        }).show();
        $(element).bind("click" ,function(){
            my_tooltip.hide();
        })
    }else{
        $(element).mouseover(function(){
            $("#tip_inner_"+index).html(content || "Нет данных");
            my_tooltip.css({
                opacity:0.8, 
                display:"none"
            }).show();
        }).mousemove(function(kmouse){
            my_tooltip.css({
                left:kmouse.pageX, 
                top:kmouse.pageY+15
                });
        }).mouseout(function(){
            my_tooltip.hide();
        });
    }
    return false
}
