function MsgError(id, msg){
	id.options.length = 0;
	id.disabled = true;
	id.options[id.options.length] = new Option(msg, 0, false, false);

}

function GetXmlHttp(){
	var xmlhttp=false;
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	}catch (e){
		try {
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
			xmlhttp = false;
		}
	}
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
		xmlhttp = new XMLHttpRequest();
	}
	if (!xmlhttp) {
		xmlhttp = false;
	}
	return xmlhttp;
}

function InitGeoSelect(id1,id2,id3){
	document.getElementById(id2).disabled = (document.getElementById(id1).value==0)?true:false;
	document.getElementById(id3).disabled = (document.getElementById(id2).value==0)?true:false;
}

function CancelSelect(id)
{
	okrug = document.getElementById("okrug");
	oblast = document.getElementById("oblast");
	switch (id){
		case('okrug'):
			okrug.options.length = oblast.options.length = 0;
			okrug.disabled = oblast.disabled = true;
			okrug.options[okrug.options.length] = new Option("Все округа", 0, false, false);
			oblast.options[oblast.options.length] = new Option("Все области", 0, false, false);
			break;
		case('oblast'):
			oblast.options.length = 0;
			oblast.disabled = true;
			oblast.options[oblast.options.length] = new Option("Все области", 0, false, false);
			break;
	}
}

function SecureHeader(req,method,data){
	
	if (method == "GET"){
		req.setRequestHeader("REQUEST_WT", "XmlHTTPRequest");
	}
	if (method == "POST"){
		req.setRequestHeader("REQUEST_WT", "XmlHTTPRequest");
		req.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
		req.setRequestHeader("Content-length", data.length);
		req.setRequestHeader("Connection", "close");
	}
}

function UpdateGeo(SelectId,Value) {
	var req = GetXmlHttp();
	if (!req)
		return false;
	if (Value == 0){
		CancelSelect(SelectId);
		return false;
	}
	country = document.getElementById("country").value;
	id = document.getElementById(SelectId);
	id.options.length = 0;
	id.disabled = true;
	id.options[id.options.length] = new Option("Загрузка...", 0, false, false);
	var url = "select_geo.php?c="+ country +"&id=" + SelectId + "&v=" + Value;
	req.open("GET", url, true);
	SecureHeader(req,"GET",null);
	req.onreadystatechange = function(){
		if (req.readyState == 4){
			try {
				eval("var geo = " + req.responseText);
			}catch(e){
				MsgError (id, 'Ошибка на сервере');
				return false;
			}
			if ((typeof geo != 'object')||(geo === null)){
				MsgError (id, 'Ошибка на сервере');
				return false;
			}
			id.options.length = 0;
			for (i=0; i<=geo.length-1; i=i+2){
				id.options[id.options.length] = new Option(geo[i+1], geo[i], false, false);
			}
			if (geo.length > 2){
				id.disabled = false;
			}else{
				CancelSelect(id);
				CancelSelect("oblast");
			}
		}
	}
	req.send(null);
}

function CancelUserSelect(id)
{
	okrug = document.getElementById("user_okrug");
	oblast = document.getElementById("user_oblast");
	switch (id){
		case('user_okrug'):
			okrug.options.length = oblast.options.length = 0;
			okrug.disabled = oblast.disabled = true;
			okrug.options[okrug.options.length] = new Option("- - -  Нет списка округов  - - -", 0, false, false);
			oblast.options[oblast.options.length] = new Option("- - -  Нет списка областей  - - -", 0, false, false);
			break;
		case('user_oblast'):
			oblast.options.length = 0;
			oblast.disabled = true;
			oblast.options[oblast.options.length] = new Option("- - -  Нет списка областей  - - -", 0, false, false);
			break;
	}
}

function UpdateUserGeo(SelectId,Value) {
	var req = GetXmlHttp();
	if (!req)
		return false;
	if (Value == 0){
		CancelUserSelect(SelectId);
		return false;
	}
	country = document.getElementById("user_country").value;
	id = document.getElementById(SelectId);
	id.options.length = 0;
	id.disabled = true;
	id.options[id.options.length] = new Option("Загрузка...", 0, false, false);
	var url = "select_geo_user.php?c="+ country +"&id=" + SelectId + "&v=" + Value;
	req.open("GET", url, true);
	SecureHeader(req,"GET",null);
	req.onreadystatechange = function(){
		if (req.readyState == 4){
			try {
				eval("var geo = " + req.responseText);
			}catch(e){
				MsgError (id, 'Ошибка на сервере1');
				return false;
			}
			if ((typeof geo != 'object')||(geo === null)){
				MsgError (id, 'Ошибка на сервере2');
				return false;
			}
			id.options.length = 0;
			for (i=0; i<=geo.length-1; i=i+2){
				id.options[id.options.length] = new Option(geo[i+1], geo[i], false, false);
			}
			if (geo.length > 2){
				id.disabled = false;
			}else{
				CancelUserSelect(id);
				CancelUserSelect("user_oblast");
			}
		}
	}
	req.send(null);
}


function AgendaTraining(id_element,id_prog,company,razdel,month,year,name_page,page,mode) {
	var req = GetXmlHttp();
	if (!req)
		return false;
	if (mode == 1){
		document.getElementById(id_element).innerHTML = "<div style='text-align:center; padding-top:100px;'><b>Загрузка ...</b></div>";
		var url = "index.php?page=company&company=" + company + "&p_type=" + razdel + "&id=" + id_prog + "&ajax=" + mode + "&m=" + month + "&y=" + year + "&" + name_page + "=" + page;
	}
	if (mode == 2){
		document.getElementById(id_element).innerHTML = "<div style='text-align:center; padding-top:100px; height:189px'><b>Загрузка ...</b></div>";
		url = "index.php?page=company&company=" + company + "&p_type=" + razdel + "&id=" + id_prog + "&ajax=" + mode + "&m=" + month + "&y=" + year;
	}
	req.open("GET", url, true);
	SecureHeader(req,"GET",null);
	req.onreadystatechange = function(){	
		if (req.readyState == 4){
			try {
				var value = req.responseText;
			}catch(e){
				document.getElementById(id_element).innerHTML = "<center><b>Ошибка на сервере</b></center>";
				return false;
			}
			if ((typeof value === 'undefined')||(value === null)){
				document.getElementById(id_element).innerHTML = "<center><b>Ошибка на сервере</b></center>";
				return false;
			}
			document.getElementById(id_element).innerHTML = value;
		}
	}
	req.send(null);
}
function set_cookies (){
	var today = new Date ();
	var expiry = new Date (today.getTime () + 28 * 24 * 60 * 60 * 1000);
	var name = "project";
	if (check_cookies () != true){
		document.cookie = name + "=webtrainings.ru; path=/; expires=" + expiry.toGMTString ();
		if (check_cookies () != true){
			document.getElementById("warning_msg").innerHTML = "<div style='color: #660000; padding: 5px; border: 2px solid #000066; background: #f99; margin-top:10px; margin-bottom:10px; font-weight:bold;'>ВНИМАНИЕ! Ваш браузер не поддерживает прием cookies с нашего сайта. Для авторизации на нашем сайте данная функция должна быть включена.<br><a href='index.php?page=error&error=cookies'><font color='#000066'>Как&nbsp;включить прием cookies?</font></a></div>";
		}
	}
}
function check_cookies (){
	var cookie = document.cookie;
	var search = "project=";
	var offset = cookie.indexOf (search);
	var StrCookies = cookie.substring (offset+8, offset+23);
	if (StrCookies == "webtrainings.ru"){
		return (true);
	}
	return (false);
}
function user_data(mode,form,id_element,id_button){
	var req = GetXmlHttp();
	if (!req)
		return false;
	if (mode == 1){
		if (form == "psw"){
			document.getElementById(id_button).innerHTML = "<input type='button' onclick=\"user_data(0,'psw','change_psw','psw_button')\" name='change_psw_button' value='Скрыть форму' style='width:180px; border:1px black solid;'>";
			document.getElementById("data_button").innerHTML = "<input type='button' onclick=\"user_data(1,'data','change_data','data_button')\" name='change_data_button' value='Изменить данные' style='width:180px; border:1px black solid;'>";
			document.getElementById("change_data").innerHTML = "";
		}
		if (form == "data"){
			document.getElementById(id_button).innerHTML = "<input type='button' onclick=\"user_data(0,'data','change_data','data_button')\" name='change_data_button' value='Скрыть форму' style='width:180px; border:1px black solid;'>";
			document.getElementById("psw_button").innerHTML = "<input type='button' onclick=\"user_data(1,'psw','change_psw','psw_button')\" name='change_psw_button' value='Изменить логин и пароль' style='width:180px; border:1px black solid;'>";
			document.getElementById("change_psw").innerHTML = "";
		}
		document.getElementById(id_element).innerHTML = "<div style='text-align:center; padding:5px; border:1px #CCCCCC solid'><b>Загрузка ...</b></div>";
		var url = "index.php?page=users&mode=correct_data&form=" + form;
		req.open("GET", url, true);
		SecureHeader(req,"GET",null);
		req.onreadystatechange = function(){	
			if (req.readyState == 4){
				if (req.status == 200){
					var value = req.responseText;
					if (value === "Access denied"){
						setTimeout(document.location.replace('index.php?page=users'), 0);
						return false;
					}
					document.getElementById(id_element).innerHTML = value;
				}else{
					document.getElementById(id_element).innerHTML = "<center><b>Ошибка на сервере</b></center>";
					return false;
				}
			}
		}
		req.send(null);
	}
	if (mode == 0){
		if (form == "psw"){
			document.getElementById(id_button).innerHTML = "<input type='button' onclick=\"user_data(1,'psw','change_psw','psw_button')\" name='change_psw_button' value='Изменить логин и пароль' style='width:180px; border:1px black solid;'>";
		}
		if (form == "data"){
			document.getElementById(id_button).innerHTML = "<input type='button' onclick=\"user_data(1,'data','change_data','data_button')\" name='change_data_button' value='Изменить данные' style='width:180px; border:1px black solid;'>";
		}
		document.getElementById(id_element).innerHTML = "";
	}
}
function UserData(form){
	var amount = form.length - 1;
	var data = "";
	for (i=0; i<=amount; i++){
		if (i == 0){
			data = data + form.elements[i].name + "=" + encodeURI(form.elements[i].value);
		}else{
			data = data + "&" + form.elements[i].name + "=" + encodeURI(form.elements[i].value);
		}
	}
	return data;
}
function UpdateUserData (form,id_element,s,leave){
	var req = GetXmlHttp();
	if (!req)
		return false;
	var url = "index.php?page=users&mode=correct_data&form=" + form.name;
	var data = UserData(form);
	if (form.name == "psw"){
		document.getElementById(id_element).innerHTML = "<div style='width:60%; text-align:center; border:1px black solid; padding:100px 0 100px 0;'><b>Подождите ...</b></div>";
	}
	if (form.name == "data"){
		document.getElementById(id_element).innerHTML = "<div style='width:87%; text-align:center; border:1px black solid; padding:100px 0 100px 0;'><b>Подождите ...</b></div>";
	}
	req.open("POST", url, true);
	SecureHeader(req,"POST",data);
	req.onreadystatechange = function(){	
		if (req.readyState == 4){
			if (req.status == 200){
				var value = req.responseText;
				if (value == '1' || value == '2' || value == '3'){
					if (s == 1){
						switch (value){
							case ('1'):
								document.getElementById(id_element).innerHTML = "<div align='center' style='color:#006600; width:60%; text-align:center; border:1px black solid; padding:100px 0 100px 0;'><b>Данные успешно изменены!</b></div>";
								alert ("Уважаемый пользователь!\nВсе данные успешно измененны!\nСейчас Вы будете перемещены на страницу \"Кабинет пользователя\"\nи Вам необходимо будет авторизоваться с новыми параметрами!\nТакже на Ваш электронный адрес были высланы измененные данные!");
							break;
							case ('2'):
								document.getElementById(id_element).innerHTML = "<div align='center' style='color:#006600; width:60%; text-align:center; border:1px black solid; padding:100px 0 100px 0;'><b>Данные успешно изменены!</b></div>";
								alert ("Уважаемый пользователь!\nВсе данные успешно измененны!\nСейчас Вы будете перемещены на страницу \"Кабинет пользователя\"\nи Вам необходимо будетавторизоваться с новыми параметрами!\nК сожалению на Ваш электронный адрес не были высланы измененные\nданныеиз-за ошибки сервера!");
							break;
							case ('3'):
								document.getElementById(id_element).innerHTML = "<div align='center' style='color:#006600; width:87%; text-align:center; border:1px black solid; padding:100px 0 100px 0;'><b>Данные успешно изменены!</b></div>";
							break;
						}
					}
					setTimeout('document.location.replace("'+leave+'")',0);
				}else{
					document.getElementById(id_element).innerHTML = value;
					return false;
				}
			}else{
				document.getElementById(id_element).innerHTML = "<center><b>Ошибка на сервере</b></center>";
				return false;
			}
		}
	}
	req.send(data);
}
function Message (to_user,to_status,msg){
	var link_send = "include/users/messages/actions/send_message.php?mes_touserID=" + to_user + "&touser_status=" + to_status;
	window.open(link_send, '', 'Toolbar=0, Location=0, Status=0,  Menubar=0, Scrollbars=1, Resizable=0, Width=470, Height=600');
	opener=null;
}
function counter(form,counter,element,limit){
	var msg = document.forms[form].elements[element].value;
	ostatok = limit - msg.length;
	if (ostatok < 0){
		ostatok = 0;
	    document.forms[form].elements[element].value = document.forms[form].elements[element].value.substring(0,limit);
	}
	document.getElementById(counter).innerHTML =  "Осталось свободных символов: " + ostatok;
}
function Load_info(mode,id_element){
	var req = GetXmlHttp();
	if (!req)
		return false;
	document.getElementById(id_element).innerHTML = "<div style='text-align:center; padding:20px;'><b>Загрузка ...</b></div>";
	var url = "index.php?page=users&mode=" + id_element + "&action="+ mode +"&ajax=1";
	req.open("GET", url, true);
	SecureHeader(req,"GET",null);
	req.onreadystatechange = function(){	
		if (req.readyState == 4){
			try {
				var value = req.responseText;
			}catch(e){
				document.getElementById(id_element).innerHTML = "<center><b>Ошибка на сервере</b></center>";
				return false;
			}
			if ((typeof value === 'undefined')||(value === null)){
				document.getElementById(id_element).innerHTML = "<center><b>Ошибка на сервере</b></center>";
				return false;
			}
			document.getElementById(id_element).innerHTML = value;
		}
	}
	req.send(null);
}
function UpdateAuto(id_element,status,id){
	if (!confirm("Изменить текущий статус оповещения?")){
		if (status == 0){
			var s = true;
		}else{
			s = false;
		}
		document.getElementById("turn").checked = s;
		return false;
	}
	var req = GetXmlHttp();
	if (!req)
		return false;
	document.getElementById(id_element).innerHTML = "<img src='img/loader_blue.gif'>";
	var url = "index.php?page=users&mode=favorites&action=update_auto&id=" + id + "&status=" + status;
	req.open("GET", url, true);
	SecureHeader(req,"GET",null);
	req.onreadystatechange = function(){	
		if (req.readyState == 4){
			try {
				var value = req.responseText;
			}catch(e){
				document.getElementById(id_element).innerHTML = "<center><b>Ошибка на сервере</b></center>";
				return false;
			}
			if ((typeof value === 'undefined')||(value === null)){
				document.getElementById(id_element).innerHTML = "<center><b>Ошибка на сервере</b></center>";
				return false;
			}
			document.getElementById(id_element).innerHTML = value;
		}
	}
	req.send(null);
}
function FavDel(id_element,id,mode){
	if (!confirm("Удалить данную запись из раздела \"Избранное\"?"))
		return false;
	var req = GetXmlHttp();
	if (!req)
		return false;
	document.getElementById(id_element).innerHTML = "<img src='img/loader_red.gif'>";
	var url = "index.php?page=users&mode=favorites&action=delete&vid=" + mode +"&id=" + id;
	req.open("GET", url, true);
	SecureHeader(req,"GET",null);
	req.onreadystatechange = function(){	
		if (req.readyState == 4){
			if (req.status == 200){
				var value = req.responseText;
				if (value != '1'){
					document.getElementById(id_element).innerHTML = value;
				}else{
					var return_url = "index.php?page=users&mode=favorites&action=" + mode;
					setTimeout('document.location.replace("'+return_url+'")', 0);
				}
			}
		}
	}
	req.send(null);
}

function Otzyv(mode,razdel,id_element,id){
	if (mode == "delete"){
		if (!confirm("Вы уверены, что хотите удалить запись\nо посещении данного мероприятия,\nв том числе будет удален и Ваш отзыв?")){
			return false;
		}
	}
	var req = GetXmlHttp();
	if (!req)
		return false;
	document.getElementById(id_element).innerHTML = "<center><img src='img/loader_red.gif'></center>";
	var url = "index.php?page=users&mode=attended&action=loadinfo&vid=" + razdel + "&do=" + mode + "&id=" + id + "&element=" + id_element;
	req.open("GET", url, true);
	SecureHeader(req,"GET",null);
	req.onreadystatechange = function(){	
		if (req.readyState == 4){
			try {
				var value = req.responseText;
			}catch(e){
				document.getElementById(id_element).innerHTML = "<center><b>Ошибка на сервере</b></center>";
				return false;
			}
			if ((typeof value === 'undefined')||(value === null)){
				document.getElementById(id_element).innerHTML = "<center><b>Ошибка на сервере</b></center>";
				return false;
			}
			if (value == '1'){
				var return_url = "index.php?page=users&mode=attended&action=" + razdel;
				setTimeout('document.location.replace("'+return_url+'")', 0);
			}else{
				document.getElementById(id_element).innerHTML = value;
			}
		}
	}
	req.send(null);
}
function UpdateUserOtzyv (form,id_element,razdel,mode,id){
	var req = GetXmlHttp();
	if (!req)
		return false;
	var data = UserData(form);
	document.getElementById(id_element).innerHTML = "<center><img src='img/loader_red.gif'></center>";
	var url = "index.php?page=users&mode=attended&action=loadinfo&vid=" + razdel + "&do=" + mode + "&id=" + id + "&element=" + id_element;
	req.open("POST", url, true);
	SecureHeader(req,"POST",data);
	req.onreadystatechange = function(){	
		if (req.readyState == 4){
			if (req.status == 200){
				var value = req.responseText;
				document.getElementById(id_element).innerHTML = value;
				return false;
			}else{
				document.getElementById(id_element).innerHTML = "<center><b>Ошибка на сервере</b></center>";
				return false;
			}
		}
	}
	req.send(data);
}

function Actions(mode,razdel,id_element,id,company,user,page){
	var req = GetXmlHttp();
	if (!req)
		return false;
	if (page == 0){
		page = "";
	}else{
		page = "&ot_page=" + page;
	}
	if (user == 0){
		user = "";
		element = "info";
	}else{
		user = "&iduser=" + user;
		element = id_element;
		
	}
	var url = "index.php?page=company&company=" + company + "&p_type=" + razdel + "&id=" + id + "&action=" + mode + page + user;
	req.open("GET", url, true);
	SecureHeader(req,"GET",null);
	req.onreadystatechange = function(){	
		if (req.readyState == 4){
			try {
				var value = req.responseText;
			}catch(e){
				document.getElementById("info").innerHTML = "<center><b>Ошибка на сервере</b></center>";
				return false;
			}
			if ((typeof value === 'undefined')||(value === null)){
				document.getElementById("info").innerHTML = "<center><b>Ошибка на сервере</b></center>";
				return false;
			}
			
			switch (value){
				case ('1'):
					document.getElementById(id_element).innerHTML = "<img src='img/user_inactive.gif' title='Вы уже отметили, что участвовали в данном мероприятии. Удалить запись Вы можете из раздела \"Кабинет пользователя\".' style='border:1px #CCCCCC solid; cursor:pointer;'>";
					document.getElementById("info").innerHTML = "";
					break;
				case ('2'):
					document.getElementById(id_element).innerHTML = "<img src='img/fav_inactive.gif' title='Даная информация внесена в Ваш раздел \"Избранное\". Удалить запись Вы можете из раздела \"Кабинет пользователя\".' style='border:1px #CCCCCC solid; cursor:pointer;'>";
					document.getElementById(id_element).onclick = "return false;"
					document.getElementById("info").innerHTML = "";
					break;
				default:
					document.getElementById(element).innerHTML = value;
			}
		}
	}
	req.send(null);
}
function InsertUserOtzyv (form,otmena,id_element,razdel,action,id,company,img){
	if (otmena == 0){
	var req = GetXmlHttp();
	if (!req)
		return false;
	var data = UserData(form);
	document.getElementById("info").innerHTML = "<center><img src='img/loader_blue.gif'></center>";
	var url = "index.php?page=company&company=" + company + "&p_type=" + razdel + "&id=" + id + "&action=" + action;
	req.open("POST", url, true);
	SecureHeader(req,"POST",data);
	req.onreadystatechange = function(){	
		if (req.readyState == 4){
			if (req.status == 200){
				var value = req.responseText;
				if (value == '1'){
				document.getElementById("info").innerHTML = "";
				document.getElementById(id_element).onclick = "return false;";
				document.getElementById(id_element).innerHTML = "<img src='img/" + img + "' title='Вы уже отметили, что участвовали в данном мероприятии. Удалить запись Вы можете из раздела \"Кабинет пользователя\".' style='border:1px #CCCCCC solid; cursor:pointer;' >";
				}else{
					document.getElementById("info").innerHTML = value;
				}
			}else{
				document.getElementById("info").innerHTML = "<center><b>Ошибка на сервере</b></center>";
				return false;
			}
		}
	}
	req.send(data);
	}else{
		document.getElementById("info").style.padding = "0";
		document.getElementById("info").innerHTML = "";
	}
}
function HideOtzyv (id_el){
	document.getElementById(id_el).innerHTML = "";
}

/*function proverka (){
	alert (document.contentType);
}*/
