iks:virtonomic_kvala_personal_indicator_zarplaty

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

当前为 2015-06-01 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name           iks:virtonomic_kvala_personal_indicator_zarplaty
// @version        1.49
// @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';  // алмазы
	});
	// o.mode='Crocuta';// офисная мистика
	var k = o.getK( o.type );// 0;

	if( k==0 ) return;

	//////////////////////////////////	
	var total = parseInt( $('td.title:contains("Суммарное")').next().html().replace(/\s+/g, '') );
	o.cur_pers = o.getPersonal( o.type );
	var kv = parseInt( $('td.title:contains("Квалификация игрока")').next().html() );
	$('#calcTopKv').val(kv);
	
	// топ-3
	$("td:contains('Суммарное')").next().each(function() {	
		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 += '<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).append( 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.calcQualTop1(kv, o.cur_pers, o.type).toFixed(2);
		$('#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 + '--'  + k5.toFixed(2) + '(' + 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 + '--'  + k5.toFixed(2) + '(' + e5 + ' )</b></font>)';
		}
		$(this).html( str );
	});
	
	// техна
	var techn = 0;
	var max_techn = 0;
	$("td:contains('Уровень технологии')").next().each(function() {
		techn = parseInt( $(this).html() );
		$('#calcTopTehImp').val(techn);
		max_techn = o.calcTechMax(kv);
		$('#calcTopTeh').html(Math.floor(max_techn));
		
		$(this).append( ' <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() {
		eq = parseFloat( $(this).html() );
		max_eq = o.calcEqQualMax(kvp);
		$('#calcTopOb').html(max_eq);
		
		$(this).append( ' <br>(<font color=' + ( eq > max_eq?'red':'green' ) + '>Макс.качество по персоналу: <b>' + (max_eq) + '</b></font>)' );
	});
}

// Окно калькулятора
var strCss = '.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) }';

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,
			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';
		$('#calcTop3').html( o.calcPersonalTop3(kv, type_1) );
		// Максимальная техна
		if(p) $('#calcTopTeh').html( Math.floor(  o.calcTechMax(kv) ) );
		// Максимальное кол. рабов ТОП-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();
		$('#calcTopRab').html( o.calcQualTop1( kv, o.cur_pers, o.type ).toFixed(2) );
		// Макс. оборудование
		var max_eq = o.calcEqQualMax(kvp);
		$('#calcTopOb').html(max_eq);
		if(p) $('#calcTopObTeh').html( o.calcEqQualMax( kvpTeh ) );
		else $('#calcTopObTeh').html('');
	}
	calcTopGet();
	$('#calcButton').click(function(){ 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', '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 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
	
		///////////////////////////////////////////////////////////////////////////
		//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) {
			switch(type) {
				case('lab'):
					return 'Количество учёных';
					break;
				case('workshop'):
				case('mill'):
				case('mine'):
				case('fishingbase'):
				case('sawmill'):
				case('power'):
					return 'Количество рабочих';
					break;
				case('animalfarm'):
				case('orchard'):
				case('farm'):
					return 'Количество работников';
					break;
				case('medicine'):
				case('office'):
				case('shop'):
				case('restaurant'):
				case('service'):
				case('fuel'):
				case('repair'):
					return 'Количество сотрудников';
					break;
				case('villa'):
				case('warehouse'):
				case('unknown'):
				default:
					return (-1);
					break;
			}//end switch
		},//end getPersonal_1()
	
		///////////////////////////////////////////////////////////////////////////
		//function procVal(num, val)
		//возвращает процент от val по отношению к nun
		'procVal': function(num, val) {
			num = val/(num/100);
			if (num) return num.toFixed(2);
			else return '0.00';
		}//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( '<style type="text/css"> ' + strCss + ' </style>'
				                 +' <script type="text/javascript"> var iksCalWork = (' + fun.toString() + ')(); </script>' );
				iksCalWork.type = type;
				
				$('#unit_subtab').append( '<br>' + strBut );
				$('body').append( strCal );
			
				$('head').append( '<script type="text/javascript"> '
												 +'(' + run.toString() + ')();'
												 +' (' + run1.toString() + ')();'
												 +' (' + run2.toString() + ')();'
												 + ( (type == 'restaurant' || type == 'service' || type == 'medicine') ? ' (' + run3.toString() + ')();' : '' )
												 + ' </script>' );
			}
			break;
		default:
			return;
	}
}