﻿function ClearSelect(object) {
	if(!object) return;
	object = GetObject(object);
	
    while (object.options.length > 0) { object.options[0]=null; } 
}

function AddToSelect(object, name, value) {
	if(!object) return;
	object = GetObject(object);
    var oOption = document.createElement('OPTION'); 
    oOption.value = value; 
    oOption.text = name; 
    object.options.add(oOption); 
}

function GetObject(object) {
	if (typeof(object) == 'string') {
		object = document.getElementById(object);
	}
	return object;
}

function SetValueToSelect(object, value) {
	if(!object) return;
	if(value == null) return;

	object = GetObject(object);

	if(!object.type) return;
	if(object.type != 'select-one') return;

	var i;
	for (i = 0; i < object.options.length; i++) {
		if (object.options[i].value == value) object.selectedIndex = i;
	}
}

function show_marker_img(id)
{
	try {
		document.getElementById(id).className = 'busy_img_visible';
	}
	catch (e) { }
}

function hide_marker_img(id)
{
	try {
		document.getElementById(id).className = 'busy_img_hidden';
	}
	catch (e) { }
}

function load_cities_by_country(object, country_id, city_id) {
	if(!object) return;
	object = GetObject(object);

	if (object.type) {
		switch (object.type) {
			case 'select-one':
				ClearSelect(object);
				AddToSelect(object, '', '');
				break;
		}
	}
	
//	var req = new Subsys_JsHttpRequest_Js();
	var req = new JsHttpRequest();
  	show_marker_img(object.id +'_busy_img');
  	req.onreadystatechange = function() 
	{
		if(req.readyState==4 && req.responseJS) 
		{
			hide_marker_img(object.id +'_busy_img');
			var options = req.responseJS.list;
			if (options) {
				for (var opt in options) {
					var v = options[opt];
					AddToSelect(object, v['name'], v['value']);
				}
				try {
					SetValueToSelect(object, parseInt(req.responseJS.city_id, 10).toString());
				} catch (ex) { }
			}
		}
	}
	req.caching = false;
	req.open('POST', '/request.php?action=load_cities', true);
	req.send({ country_id: country_id, city_id: city_id });
}

function load_prog_by_prog_type(object, prog_type_id, prog_id) {
	if(!object) return;
	object = GetObject(object);

	if (object.type) {
		switch (object.type) {
			case 'select-one':
				ClearSelect(object);
				AddToSelect(object, '', '');
				break;
		}
	}
	
	var req = new JsHttpRequest();
	//var req = new Subsys_JsHttpRequest_Js();
  	show_marker_img(object.id +'_busy_img');
  	req.onreadystatechange = function() 
	{
		if(req.readyState==4 && req.responseJS) 
		{
			hide_marker_img(object.id +'_busy_img');
			var options = req.responseJS.list;
			if (options) {
				for (var opt in options) {
					var v = options[opt];
					AddToSelect(object, v['name'], v['value']);
				}
				SetValueToSelect(object, prog_id);
			}
		}
	}
	req.caching = false;
	req.open('POST', '/request.php?action=load_programs', true);
	req.send({ prog_type_id: prog_type_id });
}

function update_vacancies_vip(page) {
	var vacancies = '';
	var object;
	var i = 1;
	var id;
	var loop = true;
	do {
		object = document.getElementById('isVIP_' + i);
		loop = (object != null);
		if (object != null) {
			id = object.name.substring(6, object.name.length - 1);
			vacancies += ',' + id + '=' + (object.checked ? '1' : '0');
			i++;
		}
		
	} while (loop)
	if (vacancies.length > 0) {
		vacancies = vacancies.substr(1);
	}
	var req = new JsHttpRequest();
  	show_marker_img('VIPSubmit_busy_img');
  	req.onreadystatechange = function() 
	{
		if(req.readyState==4 && req.responseJS) 
		{
			hide_marker_img('VIPSubmit_busy_img'	);
			if (req.responseJS.result == 'ok') {
				if (page != null && page > 0) {
					GoPage(page);
				} else {
					document.forms.search_form.submit();
				}
//				setTimeout('document.forms.search_form.submit();', 200);
			}
		}
	}
	req.caching = false;
	req.open('POST', '/request.php?action=update_vacancies_vip', true);
	req.send({ vacancies: vacancies});
}

function SubmitForm(formName, action)
{
  var form = window.document.forms[formName];
  form.action = action;
  form.method = 'post';
  form.submit();
}

function DoPostAction(message, formName, action, hidden_name, id) {
	if(message) {
		if(!confirm(message)) {
			return false;
		}
	}
	var hidden = window.document.forms[formName].elements[hidden_name];
	if (hidden != null) {
		hidden.value = id;
		SubmitForm(formName, action);
	}
}

function on_keydown(control, allowed) {
	var charCode = (event.which) ? event.which : event.keyCode;
	if(!allowed) allowed = 'number';
	//alert(charCode);
	switch (allowed) {
		case 'number':
			return check_number(charCode);
			break;
	}
}

function check_number(charCode) {
	return ((charCode >= 48 && charCode <= 57) || (charCode >= 96 && charCode <= 105) || charCode == 8 || charCode == 46 || charCode == 37 || charCode == 39 || charCode == 9 || charCode == 18 || charCode == 17 || charCode == 35 || charCode == 36);
}

function load_anketa_list(list_name, div_id, cv_id) {
	if (!list_name) return;
	if (!div_id) return;

	var req = new JsHttpRequest();
//	var req = new Subsys_JsHttpRequest_Js();
//  	show_marker_img(object.id +'_busy_img');
  	req.onreadystatechange = function() 
	{
//			alert(8);
		if(req.readyState==4 && req.responseJS) 
		{
//			hide_marker_img(object.id +'_busy_img');
//			alert(5);
//			alert(req.responseJS.html);
			document.getElementById(div_id).innerHTML = req.responseJS.html;
			if (req.responseJS.eval_js) {
				try {
//					alert(6);
					eval(req.responseJS.eval_js);
				} catch (e) { }
			}
		}
	}
	req.caching = false;
	req.open('POST', '/request.php?action=anketa_load_list', false);
	req.send({ list_name: list_name, cv_id: cv_id });
}

function add_to_anketa_list(list_name, div_id, cv_id) {
	if (!list_name) return;
	if (!div_id) return;

	var req = new JsHttpRequest();
//	var req = new Subsys_JsHttpRequest_Js();
//  	show_marker_img(object.id +'_busy_img');
  	req.onreadystatechange = function() 
	{
		if(req.readyState==4 && req.responseJS) 
		{
//			hide_marker_img(object.id +'_busy_img');
			if (req.responseJS.html) {
				document.getElementById(div_id).innerHTML += req.responseJS.html;
				var element_no_items = document.getElementById(list_name + '_no_items');
				if (typeof(element_no_items) == 'object') {
					element_no_items.className = 'element_hidden';
				}
			}
			if (req.responseJS.eval_js) {
				try {
					eval(req.responseJS.eval_js);
				} catch (e) { }
			}
		}
	}
	req.caching = false;
	req.open('POST', '/request.php?action=anketa_add_to_list', false);
	req.send({ list_name: list_name, cv_id: cv_id });
}

function delete_anketa_list(list_name, div_id, cv_id, index, confirm_message) {
	if (!list_name) return;
	if (!div_id) return;
	
	if (confirm_message) {
		if(!confirm(confirm_message)) return;
	}

	var req = new JsHttpRequest();
//	var req = new Subsys_JsHttpRequest_Js();
//  	show_marker_img(object.id +'_busy_img');
  	req.onreadystatechange = function() 
	{
		if(req.readyState==4 && req.responseJS) 
		{
//			hide_marker_img(object.id +'_busy_img');
			try {
				if (req.responseJS.status == 'ok') {
					var table_name = list_name + '_' + index + '_table';
					var table = document.getElementById(table_name);
					if (table) {
						document.getElementById('div_' + list_name).removeChild(table);
						//table.parentElement.removeChild(table);
					}
					
					if (req.responseJS.items_count == 0) {
						var element_no_items = document.getElementById(list_name + '_no_items');
						if (typeof(element_no_items) == 'object') {
							element_no_items.className = 'element_visible';
						}
					}
					//load_anketa_list(list_name, div_id, cv_id, false);
				}
			}
			catch (e) { alert(e) }
		}
	}
	req.caching = false;
	req.open('POST', '/request.php?action=anketa_delete_from_list', false);
	req.send({ list_name: list_name, cv_id: cv_id, index: index });
}

function OpenWindow(href, w, h, addons) {
	if (!addons) {
		addons = ',scrollbars=no,resizeable=no';
	}	
	var popup;
	if(w > 0) {
		popup = window.open(href, 'pw'+Math.round(Math.random()*1000), 'height=' + h + ', width=' + w + ',toolbar=no,titlebar=no,status=no,menubar=no,location=no,directories=no' + addons);
	} else {
		popup = window.open(href, 'pw'+Math.round(Math.random()*1000), 'height=600,width=800,toolbar=no,titlebar=no,status=no,scrollbars=no,menubar=no,location=no,directories=no' + addons);
	}
	return popup;
}

function toggle_element(object) {
	if(!object) return;
	object = GetObject(object);
	if (object.style.visibility == 'hidden') {
		object.style.visibility = 'visible';
		object.style.display = 'block';
	} else {
		object.style.visibility = 'hidden';
		object.style.display = 'none';
	}
}

function Show(object, shouldShow) {
	if(!object) return;
	object = GetObject(object);
	if (shouldShow) {
		object.style.visibility = 'visible';
		object.style.display = 'block';
	} else {
		object.style.visibility = 'hidden';
		object.style.display = 'none';
	}
}

function Print(href, immediate) {
	var w = 800;
	var h = 600;
	var popup = OpenWindow(href, w, h, ',scrollbars=yes,resizable=yes');
}

function Switch_edu_type(edu_type_id, specialnost_id, edu_degree_id) {
	if (specialnost_id && edu_degree_id) {
		Show(specialnost_id, (edu_type_id == 2 || edu_type_id == 3));
		Show(edu_degree_id, edu_type_id == 3);
	}
}

function SplitValues(object, delim, hf_name) {
	hf_name = GetObject(hf_name);
	var res = ',';
	var i;
	for (i = 0; i < object.options.length; i++) {
		if (object.options[i].selected) {
			res += object.options[i].value + ',';
		}
	}

	if (res.length == 1) res = '';
	hf_name.value = res;
}

function fixSearchHeight() {
	var tbl = document.getElementById('big_search_table');
	var dv = document.getElementById('search_res_div');
	if (tbl && dv) {
		var minHeight = tbl.offsetHeight;
		var divHeight = dv.offsetHeight;
		if (divHeight > minHeight) tbl.style.height = divHeight;
	}
}

function GoPage(page, submitForm) {
	document.forms.search_form.page.value = page;
	if (submitForm == true) {
		document.forms.search_form.submit();
	} else {
		document.forms.search_form.next.click();
	}
}
