iks:virtonomic_kvala_personal_indicator_zarplaty

Отображение максимального числа сотрудников, которое держит топ, а также максимальной технологии установленной в подразделении. Показ процентного соотношения зарплаты от среднегородской.

目前为 2015-05-30 提交的版本。查看 最新版本

// ==UserScript==
// @name           iks:virtonomic_kvala_personal_indicator_zarplaty
// @version        1.42
// @namespace      virtonomica
// @description    Отображение максимального числа сотрудников, которое держит топ, а также максимальной технологии установленной в подразделении. Показ процентного соотношения зарплаты от среднегородской.
// @include        http://*virtonomic*.*/*/main/unit/view/*
// @exclude        http://*virtonomic*.*/*/main/unit/view/*/supply
// @exclude        http://*virtonomic*.*/*/main/unit/view/*/manufacture
// @exclude        http://*virtonomic*.*/*/main/unit/view/*/animals
// @exclude        http://*virtonomic*.*/*/main/unit/view/*/sale
// @exclude        http://*virtonomic*.*/*/main/unit/view/*/finans_report
// @exclude        http://*virtonomic*.*/*/main/unit/view/*/technology/*
// ==/UserScript==

// Кнопки
var strBut = '<div  class="popup scriptIks_cur"><a id="bootNewData" class="popup scriptIks_cur"><u>Показать по новым эффективностям</u></a></div>'
            +'<div id="calcTop"><a id="calcToBloc" class="popup scriptIks_cur"><u>Калькулятор топ-1</u></a></div>';

// Справочные данные по новым эффективностям
var run = function(){
	$('#bootNewData').click(function() {
		$('body').append( '<div id="divBlock" style="background-color: #ccc; position: fixed; top: 0px; left: 0px; right: 0; bottom: 0; z-index: 9999; opacity: 0.5"></div>' );
		var p = true;
		if( $(this).html().indexOf('Показать') + 1 ) {
			$(this).html('Обновить по новым эффективностям');
			p = false;
		}
		var oID = {
			i: ['Эффективность персонала', 'Эффективность оборудования', 'Эффективность животных', 'Эффективность топ-менеджера', 'Эффективность работы', 'Уровень управленческой нагрузки'],
			v: ['Эффективность персонала', 'Эффективность оборудования', 'Эффективность оборудования', 'Эффективность топ-менеджера', 'Эффективность работы', 'Уровень управленческой нагрузки']
		}
		$.ajax({
			url: $('td > a:contains("Эффективность работы")').attr("href"),
			success: function(data){
				$('#divBlock').remove();
				for (var j = 0; j < 6; j++) {
					var id = $("td:contains("+oID.i[j]+")");
					if( id ) {
						if(p) $(id).next().find('table:nth-child(2)').remove();
						$(id).next().append( $(data).find('td:contains('+oID.v[j]+')').next().html().replace('%', '% (по новым эффективностям)') );
						if( $(id).next().find('span:nth-child(2)') )	$(id).next().find('span:nth-child(2)').remove();
					}
				}
			}
		});
	});
}

// Калькулятор
var run1 = function() {
	var o = iksCalWork, str;
	
	$( 'img[src*="812223"]' ).each ( function()
	{
		o.mode='Crocuta';  // алмазы
	});
	//mode='Crocuta';// офисная мистика
	var k = o.getK( o.type );// 0;

	if( o.type=='unknow'|| k==0 ) return;

	//////////////////////////////////	
	var total = o.getPersonalTotal();
	o.cur_pers = o.getPersonal( o.type );
	var kv = o.getPlayerQual();
	$('#calcTopKv').val(kv);
	
	// топ-3
	$("td:contains('Суммарное')").next().each(function() {
		str = $(this).html();
		//kv = parseInt( str );		
		var type_1 = o.type;
		if (o.type == 'orchard')  type_1 = 'farm';
		pers = o.calcPersonalTop3(kv, type_1);
		$('#calcTop3').html(pers);
		var pers_next = o.calcPersonalTop3(kv+1, type_1);
		o.overload = o.procVal(pers, total);
		if(o.overload < 51) {
			o.pP = 140;
			$('#calcTopRab_MaxImp').val( o.pP );
		}
		
		str += ' <br><font color=' + ( o.overload<101?'green':( o.overload<102?'blue':'red' ) ) +'>Предельная нагрузка по квале: <b>';
		str += pers+ '</b>'+' (на след.уровне: '+'<b>'+pers_next+'</b>'+')';
		//str+='</b>'; 
		str += '<br>Загрузка топ-3: <b> ' + o.overload + ' %</b>';
		if( o.overload<100 ) str += '<br>Свободно рабов: <b>'+(pers-total)+'</b>';
		else if( o.overload>100 ) str += '<br>Перебор рабов: <b>'+(total-pers)+'</b>';
		str += '</b></font>';
		$(this).html( str );
	});
	
	// Количество работников
 	var nofp = o.getPersonal( o.type );
 	var emp_count = 0;

	// топ-1
	var kvp = 0;
	$("td:contains('Уровень квалификации')").next().each(function() { 
		str = $(this).html();
		
		num = str.match(/-?\d+(?:\.\d+)?/g, '');
		kvp = num[0];
		$('#calcTopKvRab').val(kvp);
		
		if( (num[0]*1) < (num[2]*1) ) str = '<font color="red" title="Квалификация меньше требуемой по технологии">'+str+'</font>';
		
		emp_count = o.calcPersonalTop1(kv, kvp, o.type);
		$('#calcTopRabMax').html( emp_count );
		$('#calcTopKolRab').val( o.cur_pers );
		emp_count_next = o.calcPersonalTop1(kv+1, kvp, o.type);
		
		var maxq = o.f2( o.calcQualTop1(kv, o.cur_pers, o.type) );
		$('#calcTopRab').html(maxq);
		
		str += '<br><font color=gray>Максимальная квала для 100% по топ-1: <b>' + maxq + '</b></font>';
		
		var num = Math.floor(emp_count/100*o.pP);
		font = emp_count >= nofp ? 'green' : ( num >= nofp ? 'orange' : 'red' );
		str += '<br>(<font color=' + font + '>Максимальное количество рабов: <b>' + (emp_count) + '</b></font>) ';
		if( o.overload < 81 ) str += '<br>(<font color=' + font + '>'+o.pP+'% количества рабов: <b>' + num + '</b></font>)';
		$('#calcTopRab_Max').html(num);
		// процент загрузки по топ-1
		var num = o.procVal(emp_count, nofp);
		
		str += '<br><font color=' + ( num<=100?'green':( num>o.pP?'red':'orange' ) ) + '>Нагрузка по топ-1: <b>' + num + '%</b></font>';
		///////////
		str += '<br>(<font color=gray>На квале ' + (kv+1) + ' (следующий уровень): <b>' + (emp_count_next) + '</b></font>)';
		
//		if(o.mode=='Crocuta'){
			
			var p5 = Math.floor(pers/5);			
			var k5 = o.calcQualTop1(kv, p5, o.type);
			var e5 = o.calcEqQualMax(k5);
			str += '<br>(<font color=olive>Special 05: <b>5 *' + p5 + '--'  + o.f2(k5) + '('+e5+')'+'</b></font>)';
			
			p5 = Math.floor(pers/10);			
			k5 = o.calcQualTop1(kv, p5, o.type);
			e5 = o.calcEqQualMax(k5);
			str += '<br>(<font color=olive>Special 10: <b>10*' + p5 + '--'  + o.f2(k5) + '('+e5+')'+'</b></font>)';
//		}
		$(this).html( str );
	});
	
	// техна
	var techn = 0;
	var max_techn = 0;
	$("td:contains('Уровень технологии')").next().each(function() { 
		str = $(this).html();
		techn = parseInt( str );
		$('#calcTopTehImp').val(techn);
		max_techn = o.calcTechMax(kv);
		$('#calcTopTeh').html(Math.floor(max_techn));
		
		$(this).html( str + ' <br>(<font color=' + ( max_techn<techn?'red':'green' ) +'>Максимальная технология: <b>' + (max_techn) + '</b></font>)' );
	});

	// Процент зарплаты
	$("td:contains('Зарплата')").next().each(function() { 
		str = $(this).html();
		
		zarp = str.replace(/\s+/g,'').match(/-?\d+(?:\.\d+)?/g, '');
		zzz = zarp[0].replace(/[^\d\.]/g,'')/zarp[1].replace(/[^\d\.]/g,'')*100;
		
		$(this).html( '<font color=' + ( zzz>90?'blue':( zzz<80?'red':'green' ) ) +'>' + str + ' &rarr; ' + zzz.toFixed(2) + '%</font>' );
	});

	//оборудование
	var eq, max_eq = 0;
	$("td:contains('Качество'):first").next().each(function() {
		str = $(this).html();
		eq = parseFloat( str );
		max_eq = o.calcEqQualMax(kvp);
		$('#calcTopOb').html(max_eq);
		
		$(this).html( str + ' <br>(<font color=' + ( eq > max_eq?'red':'green' ) + '>Макс.качество по персоналу: <b>' + (max_eq) + '</b></font>)' );
	});
}

// Окно калькулятора
var strCss = '<style type="text/css">.scriptIks_imp { border: 2px solid #708090; border-radius: 5px; background: #e1e1e1; text-align: right }'
            +' .scriptIks_cur { cursor: pointer }'
            +' .scriptIks_exitDiv { position: absolute; margin: 0; padding: 0; right: 0; top: 0 }'
            +' .scriptIks_crug { position: absolute; right: 0; top: 0; width: 14px; height: 14px; border: 4px solid gray; border-radius: 50%; padding: 0 }'
            +' .scriptIks_crug1 { position: absolute; right: 0; top: 0; width: 14px; height: 14px; border: 4px solid gray; border-radius: 0 50% 0 50%; padding: 0;  background:white }'
            +' .scriptIks_exit { position: absolute; margin: 0; padding: 0; right: 5px; top: 1px; font-size: 18px; color: darkred }'
            +' .scriptIks_but { color:white; border:1px solid #708090; border-radius: 10px; background: #708090;'
                        +' background: linear-gradient(top, #e1e1e1, #708090, #e1e1e1);'
                        +' background: -webkit-linear-gradient(top, #e1e1e1, #708090, #e1e1e1);'
                        +' background: -moz-linear-gradient(top, #e1e1e1, #708090, #e1e1e1);'
                        +' background: -ms-linear-gradient(top, #e1e1e1, #708090, #e1e1e1);'
                        +' background: -o-linear-gradient(top, #e1e1e1, #708090, #e1e1e1) }'
            +'</style>';
var strCal = '<div style="position:relative; margin: 0; padding: 4px;">';
if (navigator.userAgent.search(/Chrome/) > 0) strCal = '<div style="position:absolute; margin: 0; padding: 4px; right: 5px; top: 5px;">';

strCal = '<div id="calcTop1" style="position: fixed; right: 5px; top: 5px; background:gray; padding: 0px; display:none; '
                +'border-radius:10px; -webkit-border-radius:10px; -moz-border-radius:10px; -khtml-border-radius:10px">' + strCal
        +'<table style="background-color: white; border-radius:7px; -webkit-border-radius:7px; -moz-border-radius:7px; -khtml-border-radius:7px;">'
        +'<tr><td align="center" colspan="2" style="color: #708090;"><b><h1>Калькулятор</h1><b><hr></td></tr>'
        +'<tr><td>Квалификация ТОПа</td> <td><input id="calcTopKv" type="text" size="4" class="scriptIks_imp"></td></tr>'
        +'<tr><td>Технология</td> <td><input id="calcTopTehImp" type="text" size="4" class="scriptIks_imp"></td></tr>'
        +'<tr><td>Количество работников</td> <td><input id="calcTopKolRab" type="text" size="4" class="scriptIks_imp"></td></tr>'
        +'<tr><td>Квалификация работников</td> <td><input id="calcTopKvRab" type="text" size="4" class="scriptIks_imp"></td></tr>'
        +'<tr><td align="center" colspan="2"><input id="calcButton" type="button" value="Расчитать" class="scriptIks_cur scriptIks_but"></td></tr>'
        +'<tr><td align="center" colspan="2"><hr></td></tr>'
        +'<tr><td>Максимальная технология<br>по данной квалификации</td> <td id="calcTopTeh" style="text-align: right;"></td></tr>'
        +'<tr><td align="center" colspan="2"><hr></td></tr>'
        +'<tr><td>Максимальное количество<br>персонала при<br>данной квалификации</td> <td id="calcTopRabMax" style="text-align: right;"></td></tr>'
        +'<tr><td><input id="calcTopRab_MaxImp" value="120" type="text" size="4" class="scriptIks_imp" title="Укажите процент на какой расчитать">'
                +'&nbsp;%</td> <td id="calcTopRab_Max" style="text-align: right;"></td></tr>'
        +'<tr><td align="center" colspan="2"><hr></td></tr>'
        +'<tr><td>Максимальная квалификация<br>персонала при данном количестве<hr></td> <td id="calcTopRab" style="text-align: right;"></td></tr>'
        +'<tr><td>Минимальная квалификация<br>по данной технолигии</td> <td id="calcTopRabTeh" style="text-align: right;"></td></tr>'
        +'<tr><td align="center" colspan="2"><hr></td></tr>'
        +'<tr><td>Максимальное качество<br>оборудования при данной<br>квалификации персонала<hr></td> <td id="calcTopOb" style="text-align: right;"></td></tr>'
        +'<tr><td>Качество оборудования<br>по данной технолигии</td> <td id="calcTopObTeh" style="text-align: right;"></td></tr>'
        +'<tr><td align="center" colspan="2"><hr></td></tr>'
        +'<tr><td>Максимальное количество<br>персонала в отрасли</td> <td id="calcTop3" style="text-align: right;"></td></tr>'
        +'<tr><td align="center" colspan="2"><hr></td></tr>'
        +'<tr><td align="right" colspan="2"><a href="http://calc.atlantis-corp.ru/" class="popup" title="Так-же расчет нагрузки ТОП-1 и многое другое..." target="_blank">'
                +'<small>Калькулятор от DeMonyan</small></a></td></tr>'
        +'<table>'
        +'<div class="scriptIks_cur scriptIks_exitDiv" id="calcExitBloc" title="Закрыть">'
        +'<div class="scriptIks_crug1"></div>'
        +'<div class="scriptIks_exit"><b>X</b></div>'
        +'<div class="scriptIks_crug"></div>'
        +'</div>'
        +'</div>'
        +'</div>';

// Работа с окном калькулятора
var run2 = function() {
	var o = iksCalWork;
	
	$('#calcButton').click(function(){ calcTopGet() });
	var calcTopGet = function(){
		var p = false;
		if($('#calcTopTeh').html() != '') p = true;
		// Максимум рабов ТОП-3
		var kv = $('#calcTopKv').val();
		var type_1 = o.type;
		if ( o.type == 'orchard' )  type_1 = 'farm';
		var pers = o.calcPersonalTop3(kv, type_1);
		$('#calcTop3').html(pers);
		// Максимальная техна
		if(p) {
			var techn = o.calcTechMax(kv);
			$('#calcTopTeh').html(Math.floor(techn));
		}
		// Максимальное кол. рабов ТОП-1
		var kvp = $('#calcTopKvRab').val();
		var emp_count = o.calcPersonalTop1(kv, kvp, o.type);
		$('#calcTopRabMax').html(emp_count);
		var kvpTeh = o.kvTeh[$('#calcTopTehImp').val()];
		$('#calcTopRabTeh').html(kvpTeh);
		//-----
		var maxRab = $('#calcTopRab_MaxImp').val();
		$('#calcTopRab_Max').html(Math.floor(emp_count/100*maxRab));
		// Макс. квала рабов
		o.cur_pers = $('#calcTopKolRab').val();
		var maxq = o.f2( o.calcQualTop1(kv, o.cur_pers, o.type) );
		$('#calcTopRab').html(maxq);
		// Макс. оборудование
		var max_eq = o.calcEqQualMax(kvp);
		$('#calcTopOb').html(max_eq);
		if(p) {
			var teh_eq = o.calcEqQualMax( kvpTeh );
			$('#calcTopObTeh').html(teh_eq);
		} else $('#calcTopObTeh').html('');
	}
	calcTopGet();
	
	$('#calcTop1').css('calcTop1', 'none');
	
	$('#calcToBloc').click(function(){
		$('#calcTop').css('display', 'none');
		$('#calcTop1').css('display', 'block');
	});
	$('#calcExitBloc').click(function(){
		$('#calcTop').css('display', 'block');
		$('#calcTop1').css('display', 'none');
	});
}

// Функции
var fun = function() { return({
	type: 'unknow', cal: false, pP: 120, cur_pers: '', overload: 0, mode: '',
	kvTeh: [0, 1, 1.74, 2.41, 3.03, 3.62, 4.19, 4.74, 5.28, 5.8, 6.31, 6.81, 7.3, 7.78, 8.26, 8.73, 9.19, 9.65, 10.1, 10.54, 10.99, 11.42, 11.86, 12.29, 12.71, 13.13, 13.55, 13.97, 14.38, 14.79, 15.19, 15.6, 16, 16.4, 16.8, 17.19, 17.58, 17.97, 18.36, 18.74, 19.13],

	///////////////////////////////////////////////////////////////////////////
	//function f2(val)
	//возвращает аргумент округлённым до 2-го знака
	///////////////////////////////////////////////////////////////////////////// 
	f2: function (val)
	{
		return Math.floor(100*val)/100;
	},//end f2()
	
	
	///////////////////////////////////////////////////////////////////////////
	//function getPlayerQual()
	//возвращает квалификацию игрока
	///////////////////////////////////////////////////////////////////////////// 
	getPlayerQual: function ()
	{
		return parseInt($('td.title:contains("Квалификация игрока")').next().html());
	},//end getPlayerQual()
	
	///////////////////////////////////////////////////////////////////////////
	//function calcPersonalTop3(q, type)
	// q - квалификация игрока
	//вычисляет максимальное кол-во работающих на предприятиях отрасли для заданной квалификации игрока (топ-3)
	///////////////////////////////////////////////////////////////////////////// 
	calcPersonalTop3: function ( q, type)
	{
		return (2*q*q + 6*q)*this.getK(type);
	},//end calcPersonalTop3()
	
	///////////////////////////////////////////////////////////////////////////
	//function calcPersonalTop1(q, qp,type)
	// q - квалификация игрока
	// qp -  квалификация персонала
	//вычисляет максимальное кол-во работающих с заданной квалификацией на предприятиии для заданной квалификации игрока (топ-1)
	///////////////////////////////////////////////////////////////////////////// 
	calcPersonalTop1: function (q, qp, type)
	{
		if((this.mode=='Crocuta')&&(type=='office')){return Math.floor(14*q*q/Math.pow(1.4, qp)/4.15);}
		return Math.floor(0.2*this.getK(type)*14*q*q/Math.pow(1.4, qp));
	},//end calcPersonalTop1()
	
	///////////////////////////////////////////////////////////////////////////
	//function calcQualTop1(q, p, type)
	// q - квалификация игрока
	// p -  численность персонала
	//вычисляет максимальное квалификацию работающих при заданных их численности и квалификации игрока (обратна calcPersonalTop1())
	///////////////////////////////////////////////////////////////////////////// 
	calcQualTop1: function (q, p, type)
	{		
		if(p==0) return 0.00;
		if((this.mode=='Crocuta')&&(type=='office')){return Math.log(14/4.15*q*q/p)/Math.log(1.4);}
		return Math.log(0.2*14*this.getK(type)*q*q/p)/Math.log(1.4);	
	},//end calcQualTop1()
	
	///////////////////////////////////////////////////////////////////////////
	//function calcTechMax(q)
	// q - квалификация игрока
	// 
	//вычисляет максимальный уровень технологии для заданной квалификации игрока
	///////////////////////////////////////////////////////////////////////////// 
	calcTechMax: function (q)
	{
		return Math.round(10*Math.pow(q/0.0064, 1/3))/10 ;
	},//end calcTechMax()
	
	///////////////////////////////////////////////////////////////////////////
	//function calcEqQualMax(q)
	// qp - квалификация игрока
	// 
	//вычисляет максимальное качество оборудования/животных для заданной квалификации персонала
	///////////////////////////////////////////////////////////////////////////// 
	calcEqQualMax: function ( qp )
	{
		return Math.floor(100*Math.pow(qp, 1.5))/100 ;
	},//end calcEqQualMax
	
	///////////////////////////////////////////////////////////////////////////
	//function getPersonalTotal()
	//возвращает суммарное кол-во работающих в отрасли (топ-3)
	///////////////////////////////////////////////////////////////////////////// 
	getPersonalTotal: function ()
	{
		return parseInt($('td.title:contains("Суммарное")').next().html().replace(/\s+/g, ''));
	},//end getPersonalTotal()
	
	///////////////////////////////////////////////////////////////////////////
	//getK(type)
	//возвращает к для расчётов нагрузки по типу
	///////////////////////////////////////////////////////////////////////////
	getK: function (type)
	{
		switch(type)
		{
			case('shop'):
			case('restaurant'):
			case('lab'):
				return 5;
				break;
			case('workshop'):			
			case('mill'):
			case('sawmill'):
				return 50;
				break;
			case('animalfarm'):
				return 7.5;
				break;
			case('medicine'):
			case('fishingbase'):
				return 12.5;
				break;				
			case('farm'):
				return 20;
				break;			
			case('orchard'):
				return 18;
				break;	
			case('mine'):
				return 100;
				break;			
			case('office'):
				//if(mode=='Crocuta') return 
				return 1;
				break;	
			case('service'):
				return 1.5;
				break;	
			case('repair'):
			case('fuel'):
				return 2.5;
				break;
			case('power'):
				return 75;
				break;	
			case('villa'):	
			case('warehouse'):	
			case('unknown'):	
			default:
				return 0;
		}//end switch
	},//end getType()	
	///////////////////////////////////////////////////////////////////////////
	//getPersonal(type)
	//возвращает кол-во работников на предприятии (по типу)
	///////////////////////////////////////////////////////////////////////////
	getPersonal: function (type)
	{
		var temp = this.getPersonal_1(type);
		
		if(temp=='' || temp== -1) return (-1); //error
		return parseInt($('td.title:contains('+temp+')').next().html().replace(/\s+/g, ''));
	},//end getPersonal()	
	
	getPersonal_1: function (type)
	{
		var temp;
		switch(type)
		{
			case('lab'):
				temp='Количество учёных';
				break;
			case('workshop'):			
			case('mill'):
			case('mine'):
			case('fishingbase'):
			case('sawmill'):
			case('power'):
				temp='Количество рабочих';
				break;
			case('animalfarm'):
			case('orchard'):				
			case('farm'):
				temp='Количество работников';				
				break;
			case('medicine'):
			case('office'):
			case('shop'):
			case('restaurant'):
			case('service'):
			case('fuel'):
			case('repair'):
				temp='Количество сотрудников';				
				break;					
			case('villa'):	
			case('warehouse'):	
			case('unknown'):	
			default:
				temp='';
				break;
		}//end switch
		if(temp=='') return (-1); //error
		return temp;
	},//end getPersonal_1()
	
	///////////////////////////////////////////////////////////////////////////
	//function procVal(num, val)
	//возвращает процент от val по отношению к nun
	///////////////////////////////////////////////////////////////////////////// 
	procVal: function (num, val)
	{
		num = Math.round(val/(num/100));
		if (num) return num.toFixed(0);
		else return 0;
	}//end procVal()
}); }

// Расчет количества поситителей в ресторанах, сервисах, медцентрах
var run3 = function(){
	// максмальное количество поситетилей по персоналу
	var d,
			persKol = $("td:contains('Количество сотрудников')").next().html().replace(/\s+/g, '').match(/\d[.\s\d]*(?=)/g),
			spec = $("td.title:contains('Специализация')").next().html();
	if(persKol[0] > persKol[1]) persKol[0] = persKol[1];
	
	switch(spec) {
		case('Больница'):
			d = 0.2;
			break;
		case('Стоматологическая клиника'):
			d = 0.5;
			break;
		case('Фитнес'):
		case('Йога'):
		case('Бодибилдинг'):
		case('Группы здоровья'):
		case('Профессиональный спорт'):
		case('Скалолазание'):
		case('Диагностический центр'):
		case('Поликлиника'):
			d = 5;
			break;
		case('Прачечная'):
		case('Химчистка'):
		case('Прачечная самообслуживания'):
		case('SPA-салон'):
			d = 10;
			break;
		case('Косметический салон'):
			d = 20;
			break;
		case('Рыбный ресторан'):
		case('Устричный ресторан'):
			d = 30;
			break;
		case('Парикмахерская'):
		case('Сырный ресторан'):
			d = 40;
			break;
		case('Стейк ресторан'):
		case('Вегетарианский ресторан'):
		case('Ресторан мексиканской кухни'):
			d = 50;
			break;
		case('Пивной ресторан'):
		case('Ресторан итальянской кухни'):
		case('Ресторан греческой кухни'):
			d = 60;
			break;
		case('Фастфуд'):
			d = 70;
			break;
		case('Кафе-мороженое'):
		case('Кафе-кондитерская'):
		case('Кофейня'):
		case('Блинная'):
			d = 80;
			break;
		default:
			d = 1;
	}
	var maxPer = persKol[0] * d;
	
	$("td.title:contains('Количество посетителей')").next().each(function() {
		var str = $(this).html(),
				pos = str.replace(/\s+/g, '').match(/\d[.\s\d]*(?=)/g),
				proc = Math.round(pos[0]/(maxPer/100));
		if(!proc) proc = 0;
     
		$(this).append( '<br>Макс. по персоналу: ' + maxPer.toFixed(0).toString().replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 ')
									 +'<br>Посещаемость: ' + proc.toFixed(0) + '%' );
	});
}

if(window.top == window)
{
	var type =  $("#unitImage img").attr('src').replace('\/img\/v2\/units\/', '').replace('_light', '');
	type =  type.substr(0,type.length-6);
	switch(type) {
		case 'shop':
		case 'workshop':
		case 'mill':
		case 'animalfarm':
		case 'medicine':
		case 'restaurant':
		case 'orchard':
		case 'farm':
		case 'mine':
		case 'lab':	
		case 'villa':
//		case 'warehouse':
		case 'fishingbase':	
		case 'office':
		case 'sawmill':
		case 'service':
		case 'power':
		case 'repair':
		case 'fuel':
			{
				$('head').append( strCss + '<script type="text/javascript">var iksCalWork = (' + fun.toString() + ')();</script>' );
				iksCalWork.type = type;
				
				$('#unit_subtab').append( '<br>' + strBut );
				$('body').append( strCal );
			
				var str = '(' + run.toString() + ')();'
				         +'(' + run1.toString() + ')();'
				         +'(' + run2.toString() + ')();';
				if(type == 'restaurant' ||
					 type == 'service' ||
					 type == 'medicine') str += '(' + run3.toString() + ')();';
				$('head').append( '<script type="text/javascript">' + str + '</script>' );
			}
			break;
		default:
			return;
	}
}