var messError = "<br> &nbsp; Ошибка загрузки!";
var messLoad = " &nbsp; Загрузка...";

// tab menu --------------------------
function menuToggle() {
	$('vacancy').toggle();
	$('resume').toggle();
	$('cvacancy').toggle();
	$('cresume').toggle();
	tabToggle('tabvacancy', 'tabresume', 'tabcvacancy', 'tabcresume');
	return false;
}

// TAB
function tabToggle() {
	for (var i = 0; i < arguments.length; i++) {
		if (!Element.hasClassName(arguments[i], 'showtab')) {
			Element.addClassName(arguments[i], 'showtab');
		}
		else {
			Element.removeClassName(arguments[i], 'showtab');
		}
	}
}


function _setOpt(en, txt) {
	txt = txt.replace(/\&nbsp;/gi, " ");
	var elem = $(en);
	if (!elem) return;
	var re = new RegExp("([0-9]+).*?>([^<\r\n]+)", "gi");
	var res = txt.match(re);
	elem.length = 1;
	for (i = 1; i < res.length; i++) {
		var v = res[i].match(/[0-9]+/);
		var t = res[i].match(/[^<>]+$/);
		elem.options[elem.length] = new Option(t, v, false, false);
	}
	elem.disabled = false;
	elem.selectedIndex = 0;
}

var need_selreg = 0;


function getCities(obj) {
	$('city').disabled = true;
	if (arguments.length > 1) need_selreg = arguments[1];
	var url = '/inc/city/sel_' + obj.value + '.htm';
	var pars = 'rand=' + Math.random();
	var myAjax = new Ajax.Updater(
		{success: 'none'},
		url,
		{method: 'get', parameters: pars, onComplete: showCitiesOk}
	);
}

function showCitiesOk(request) {
	var sel = request.responseText.replace(/<.?select.*?>/gi, "");
	if (need_selreg) sel = sel.replace(/ все</i, " выберите...<");
	_setOpt('city', sel);
}

var need_selcat = 0;

function getSubCat(obj) {
	$('subcat').disabled = true;
	if (arguments.length > 1) need_selcat = arguments[1];
	var url = '/inc/cats/sel_' + obj.value + '.htm';
	var pars = 'rand=' + Math.random();
	var myAjax = new Ajax.Updater(
		{success: 'none'},
		url,
		{method: 'get', parameters: pars, onComplete: showSubCatsOk}
	);
}

function showSubCatsOk(request) {
	var sel = request.responseText.replace(/<.?select.*?>/gi, "");
	if (need_selcat) sel = sel.replace(/ все</i, " выберите...<");
	_setOpt('subcat', sel);
}

// ----------------
function stripChars(textBox) {
	textBox.value = textBox.value.replace(/\D/g,"");
}

// ----------------
var incExp = 1;
function addExp() {
	var vYS = '';
	var vYE = '';
	var vPr = '';
	var vDl = '';
	if (arguments.length == 4) {
		vYS = arguments[0];
		vYE = arguments[1];
		vPr = arguments[2];
		vDl = arguments[3];
	}
	var myField = '';
	myField += '<table border="0" cellspacing="0" cellpadding="2" width="100%" id="exp_'+incExp+'"><tr>';
	myField += '<td class="text" width="8%"><input type="text" name="ys_'+incExp+'" id="ys_'+incExp+'" size="4" maxlength="4" value="'+vYS+'" oninput="stripChars(this)"></td>';
	myField += '<td class="text" width="1%">-</td>';
	myField += '<td class="text" width="8%"><input type="text" name="ye_'+incExp+'" id="ye_'+incExp+'" size="4" maxlength="4" value="'+vYE+'" oninput="stripChars(this)"></td>';
	myField += '<td class="text" width="30%"><input type="text" name="pr_'+incExp+'" id="pr_'+incExp+'" size="4" maxlength="80" value="'+vPr+'"></td>';
	myField += '<td class="text" width="34%"><input type="text" name="dl_'+incExp+'" id="dl_'+incExp+'" size="4" maxlength="60" value="'+vDl+'"></td>';
	myField += '<td class="sm" width="19%" nowrap>&nbsp; <a href="#" onClick="return addExp();">Еще...</a> | <a href="#" onClick="return delExp('+incExp+');">Удалить</a></td>';
	myField += '</tr></table>';
	new Insertion.Bottom('expFields', myField);
	incExp++;
	return false;
}

function delExp(pid) {
	expT = $('exp_'+pid);
	if (expT) { expT.parentNode.removeChild(expT); expT = false; }
	return false;
}

// ----------------
var loadInfo = true;
var listInfo = new Array();
var currInfoID = 0;
function getInfo(mode, t, iid) {
	currInfoID = iid;
	if (mode == 1) {
		if (!listInfo[iid]) {
			var elem = $('anons_b_'+iid);
			if (elem) elem.innerHTML = '<br>'+messLoad;

			loadInfo = true;
			var url = '/inc/getRInfo.cgi';
			var pars = 't='+t+'&id='+iid+'&rand=' + Math.random();
			var myAjax = new Ajax.Updater(
				{success: 'anons_b_'+iid},
				url,
				{method: 'get', parameters: pars, onComplete: showInfoOk, onFailure: showInfoError}
			);
		}
		$('anons_sa_'+iid).toggle();
		$('anons_s_'+iid).toggle();
		$('anons_b_'+iid).toggle();
		$('anons_ba_'+iid).toggle();
	} else {
		$('anons_ba_'+iid).toggle();
		$('anons_b_'+iid).toggle();
		$('anons_s_'+iid).toggle();
		$('anons_sa_'+iid).toggle();
	}
	return false;
}

function showInfoOk(request) {
	if ((loadInfo) && (request.responseText)) listInfo[currInfoID] = true;
}

function showInfoError(request) {
	listInfo[currInfoID] = false;
	loadInfo = false;
	var elem = $('anons_b_'+currInfoID);
	if (elem) elem.innerHTML = messError;
}

// note -------------------------
function Note(mode, t, iid, r) {
	var elem = $('note_'+iid);
	if (elem) elem.innerHTML = messLoad;

	var url = '/inc/note.cgi';
	var pars = 'mode='+mode+'&id='+iid+'&t='+t+'&reload='+(r?1:0)+'&rand=' + Math.random();
	var myAjax = new Ajax.Updater(
		{success: 'note_'+iid},
		url,
		{method: 'get', parameters: pars, evalScripts: true}
	);
	return false;
}
