
var xmlHttp = createXmlRequestObject();
var state_obj = "";

var loader_img = new Image();
loader_img.src = '/images/ajax_loader.gif';

var spinner_img = new Image();
spinner_img.src = '/jslib/spinner16.gif';

String.prototype.trim = function() { 
	return this.replace(/^\s+|\s+$/g,"");
}

/*
function setCookie(name, value, expires, path, domain, secure) {

	// name - имя cookie
	// value - значение cookie
	// [expires] - дата окончания действия cookie (по умолчанию - до конца сессии)
	// [path] - путь, для которого cookie действительно (по умолчанию - документ, в котором значение было установлено)
	// [domain] - домен, для которого cookie действительно (по умолчанию - домен, в котором значение было установлено)
	// [secure] - логическое значение, показывающее требуется ли защищенная передача значения cookie
	alert('!');
        var curCookie = name + "=" + escape(value) +
                ((expires) ? "; expires=" + expires.toGMTString() : "") +
                ((path) ? "; path=" + path : "") +
                ((domain) ? "; domain=" + domain : "") +
                ((secure) ? "; secure" : "");

	//alert('CurCookie: ' + curCookie);
	document.cookie = curCookie;
        //if ((name + "=" + escape(value)).length <= 4000)
                
}
*/
function isRegSubmit(inp_form)
{
	/*
	var els = inp_form.elements;
	var len = els.length;
	for(var i = 0; i < len; ++i)
	{
		if($F(els[i]) == '')
		{
			alert('Ошибка! Необходимо заполнить все поля формы!');
			return false;
		}
	}
	*/

	return true;
}

function alertEmptyMessage(inp_form)
{
	var err_div = $(inp_form.name + "_err");
	if($F(inp_form) == "")
	{
		err_div.innerHTML = '<font color="red">Это поле обязательно для заполнения</font>';
		inp_form.focus();
	}
	else err_div.innerHTML = '';
}

function createXmlRequestObject()
{
   var xmlHttp;
   
   try
   {
      xmlHttp = new XMLHttpRequest();
   }
   catch(e)
   {
      try
      {
          xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch(e){}
      
   }
   if(!xmlHttp)
      alert("Ошибка создания объекта XMLHttpRequest");
   else
      return xmlHttp;
}

/*
function loginBtnClick(bool_sform)
{
   var serv_addr = "login.php";
   var login_str = encodeURIComponent(document.getElementById('login_field').value);
   var password_str = encodeURIComponent(document.getElementById('password_field').value);

   var save_me_chbox = 0;
   if(document.getElementById('password_field').value != '') save_me_chbox = 1;

   var serv_param = "username=" +login_str+"&password="+password_str+"&saveme="+save_me_chbox;
   

   if(xmlHttp)
   {
      try
      {
         xmlHttp.open("POST", serv_addr, true);
         xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
         xmlHttp.setRequestHeader("Content-length", serv_param.length);
         xmlHttp.setRequestHeader("Connection", "close");
         
         state_obj = "LOGIN";
         xmlHttp.onreadystatechange = handleRequestStateChange;
         xmlHttp.send(serv_param);
      }
      catch(e)
      {
         alert("Невозможно соедениться с сервером\n" + e.toString());
      }
   }

}
*/

function uniqLoginBtnClick()
{
	var login_id = 'user_login';

	if($F(login_id) == "")
	{
		return false;
	}

	var url = "is_login_uniq.php";
	var pars = {login: escape($F(login_id))};
 
	var myAjax = new Ajax.Request(
		url,
		{
			method: "get",
			parameters: pars,
			onComplete: function(tranpot){ $('user_login_err').innerHTML = tranpot.responseText; },
			onFailure: function(){ alert('Something went wrong...') }
		});
}


function loginBtnClick(second_form)
{
	var login_id = 'login_field';
	var pass_id = 'password_field';
	var saveme_id = 'saveme_field';
	if(second_form == true)
	{
		login_id += '2';
		pass_id += '2';
		saveme_id += '2';
	}

	var val1 = escape($F(login_id).trim());
	var val2 = escape($F(pass_id));
	var val3 = escape($F(saveme_id));

	var url = "login.php";
	var pars = {username: val1, password: val2, save_me: val3};
 
	var myAjax = new Ajax.Request(
  		url,
		{
			method: "post",
			asynchronous: true,
			parameters: pars,
			onComplete: handleLogin,
			onFailure: function(){ alert('Something went wrong...') }
		});
}


function sendmailBtnClick()
{  
   var serv_addr = "mail.php";
   
   var from_str = encodeURIComponent(document.getElementById('mail_from').value);
   var subject_str = encodeURIComponent(document.getElementById('mail_subject').value);
   var body_str = encodeURIComponent(document.getElementById('mail_body').value);
   var addr_str = encodeURIComponent(document.getElementById('mail_adress').value);
   var phone_str = encodeURIComponent(document.getElementById('mail_phone').value);
   
   if(addr_str == "")
   {
   		alert("Поле \"Электропочта\" обязательно для заполнения.");
   		return false;
   }
   
   var serv_param = "mail_from="+from_str+"&mail_subject="+subject_str+"&mail_body="+body_str+"&mail_adress="+addr_str+"&mail_phone="+phone_str;
   
   if(xmlHttp)
   {
      try
      {
         xmlHttp.open("POST", serv_addr, true);
         xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
         xmlHttp.setRequestHeader("Content-length", serv_param.length);
         xmlHttp.setRequestHeader("Connection", "close");
         
         state_obj = "MAIL";
         xmlHttp.onreadystatechange = handleRequestStateChange;
         xmlHttp.send(serv_param);
      }
      catch(e)
      {
         alert("Невозможно соедениться с сервером\n" + e.toString());
      }
   }
}

function handleRequestStateChange()
{
     if(xmlHttp.readyState == 4)
     {
        if(xmlHttp.status == 200)
        {
           try
           {
           
               if(state_obj == "LOGIN") handleLogin();
               else if(state_obj == "MAIL") handleSentMail();
               
           }catch(e)
           {
              alert("Ошибка чтения ответа: " +e.toString());
           }
        }
        else
        {
           alert("Возникли проблемы во время получения данных\n" +xmlHttp.statusText);
        }
     }
}

function handleLogin(transport)
{
   var helloStr = transport.responseText;
          
   if(helloStr.charAt(0) != 'e')
   {
	window.location.reload();

	/*
	var c_data = helloStr.split(':');
      var regDiv = document.getElementById('reg');
      var html = "<div>" + c_data[0] + "&nbsp;&nbsp;<a href=\"logout.php\">Выход</a></div>";
      regDiv.innerHTML = html;

	//setCookie('PHPSESSID', c_data[1], '', '/', '', '');
	//alert('DocCookie: ' + document.cookie);
	*/
   }
   else
   {
       //ошибка авторизации
       var authErrStr = document.getElementById('auth_err_str');
       authErrStr.innerHTML = '<span style="font-size:12px;"><font color="#cc3366"><strong>Ошибка:</strong></font> неверное имя пользователя или пароль.</span>';
   } 
}

function handleSentMail()
{
   var xmlResponse = xmlHttp.responseXML;
   
   if(!xmlResponse || !xmlResponse.documentElement)
      throw("Неверная структура XML!\n" + xmlHttp.responseText);
   
   var rootNodeName = xmlResponse.documentElement.nodeName;
   if( rootNodeName == "parsererror") throw("Invalid XML structure");
   
   var xmlRoot = xmlResponse.documentElement;
   var resp_str = xmlRoot.firstChild.data;
   
   var res_mess_div = document.getElementById('mail_message_div');
          
   if(resp_str.charAt(1) != 'e')
   {
      //res_mess_div.innerHTML = "<br><br>Ваше сообщение успешно отправлено. Спасибо.";   
	window.location.href = "http://job-63.ru/get_page.php?page=33";
   }
   else
   {
       //ошибка
       res_mess_div.innerHTML = "<br><br>В процессе отправки произошла ошибка. Попробуйте позже.";
   } 
}


var spec_options_arr = new Array();

function rubric_select()
{

	if($('rub_warn_message') != null)
	{
		$('rub_warn_message').remove();
	}

	else if($('type_selector') != null)
	{
		$('type_selector').hide();
	}


	$('loading').show();

	var rub_code = escape($F('rubric_selector'));

	var url = "get_rubric_types.php";
	var pars = {rubric_code: rub_code};

	new Ajax.Request(
  		url,
		{
			method: "get",
			parameters: pars,
			onSuccess: function(resp){
				eval("spec_options_arr = " + resp.responseText);

				var cur_opt = null;
				var k = 0;

				var type_select = new Element('select', {name: 'type_code', id: 'type_selector', style: 'width: 365px'});

				for(; k < spec_options_arr.length; ++k)
				{
					cur_opt = spec_options_arr[k];
					type_select.insert({bottom: '<option value="'+cur_opt.code+'">'+cur_opt.title+'</option>'});
				}

				$('loading').hide();
				$('type_select_cont').update(type_select);
				
			},
			onFailure: function(){ alert('Something went wrong...'); exit(); }
		});
}

function deleteVacancy(vid)
{

	var url = "get_vacancy.php?delete=1";
	var pars = {id: vid};


	new Ajax.Request(
  		url,
		{
			method: "get",
			parameters: pars,
			onSuccess: function(resp){
				window.location.reload();
			}
		});

}

function openPageInNewWindow(param)
{
	if(param.width == null) param.width = 600;
	if(param.height == null) param.height = 400;
	open(param.page, "displayWindow", "width="+param.width+",height="+param.height+",status=no,toolbar=no,menubar=no");

}

function loadUrlOnElement(param)
{
	var url = param.url;
	var elem = $(param.toElem);
	if(url == null || elem == null) return false;
	if(param.loadingMessage == null)
		param.loadingMessage = 'Загрузка...';

	elem.innerHTML = '<div>&nbsp;&nbsp;<small><b>'+param.loadingMessage+'</b></small><br><img src="'+loader_img.src+'"></div>';
	elem.show();

	new Ajax.Request(
  		url,
		{
			method: "get",
			onSuccess: function(resp){
				elem.innerHTML = resp.responseText;// + '<input type="button" value="Отмена" onclick="$(\''+param.toElem+'\').hide();">';
			}
		});

	return true;
}

function unsetAllClassesForChilds(elem)
{
	if(elem == null) return;

	var i = 0;
	for(; i < elem.childNodes.length; ++i)
	{
		elem.childNodes[i].className = '';
	}

}

var last_highlined_elem = null;

function hightLightElem(elem)
{
	var tr_elem = elem.parentNode.parentNode.parentNode.parentNode;
	var tbody_elem = tr_elem.parentNode;

	unsetAllClassesForChilds(tbody_elem);
	//unHighLightLast();

	if(tr_elem != null)
		tr_elem.className = 'editing_tr';

	last_highlined_elem = tr_elem;

	return true;
}

function unHighLightLast()
{
	if(last_highlined_elem == null) return;

	last_highlined_elem.className = '';

	return true;
}

/*
function imgRealSize(img)
{

	if(img.width == img.naturalWidth && img.height == img.naturalHeight)
	{
		img.width = 200;
		img.height = 200;
	}
	else
	{
		var s_width = screen.width*0.9;
		var koef = 1;

		if(img.naturalWidth > s_width)
		{
			koef = s_width/img.naturalWidth;
		}

		img.width = img.naturalWidth*koef;
		img.height = img.naturalHeight*koef;
	}
	return true;
}
*/

function imgRealSize(img)
{
	//if(img.getAttribute('width')==200 && img.getAttribute('height')==200)
	if(img.style.width == '30%')
	{
		//img.removeAttribute('width');
		img.style.width = '';
		//img.removeAttribute('height');
	}
	else
	{
		img.style.width = '30%';
		//img.height = '30%';
	}
	return true;
}


function subsribe()
{

	var url = 'ajaxsubscribe.php';
	var si = document.getElementById('subscribe_indicate');
	
	var obj_code = si.getAttribute('cparam');
	

	var is_subsc = true;
	var reg_check = /.*notsubscr.*/;
	if(reg_check.test(si.src))
		is_subsc = false;

	si.src = spinner_img.src;
	var pars = {typecode: obj_code, add: !is_subsc};

	new Ajax.Request(
		url,
		{
			method: 'get',
			parameters: pars,
			onSuccess: function(resp){
				si.src = '/images/' + (is_subsc ? 'not' : '') + 'subscr.gif';
				if(is_subsc)
				{
					si.setAttribute('tooltip', 'подписаться');
					si.nextSibling.nodeValue = 'Подписаться. ';
				}
				else
				{
					si.setAttribute('tooltip', 'отказаться от подписки');
					si.nextSibling.nodeValue = 'Отказаться от подписки. ';
				}
			}
		});

}



function electmanage()
{
	var url = 'addtoelect.php';
	var ei = document.getElementById('elect_indicate');
	
	var obj_code = ei.getAttribute('cparam');
	var pars = {};
	
	var is_elect = true;
	var reg_check = /.*notelected.*/;
	if(reg_check.test(ei.src))
		is_elect = false;
	
	switch(ei.getAttribute('eltype'))
	{
		case 'vacancy':
			pars = {vacancy: obj_code, add: !is_elect};
		break;
		
		case 'resume':
			pars = {resume: obj_code, add: !is_elect};
		break;
		
		case 'module':
			pars = {module: obj_code, add: !is_elect};
		break;
		
		default:
			return;
	}

	ei.src = spinner_img.src;
	
	new Ajax.Request(
  		url,
		{
			method: 'get',
			parameters: pars,
			onSuccess: function(resp){
				ei.src = '/images/' + (is_elect ? 'not' : '') + 'elected.gif';
				if(is_elect)
				{
					ei.setAttribute('tooltip', 'добавить в избранное');
					ei.nextSibling.nodeValue = 'Добавить в избранное. ';
				}
				else
				{
					ei.setAttribute('tooltip', 'удалить из избранного');
					ei.nextSibling.nodeValue = 'Удалить из избранного. ';
				}
			}
		});
}


function notactive()
{
	alert('функция временно не активна. приносим свои извинения.');
}

function showMessageWindow(param)
{

	var a_mess = document.getElementById('message_indicate');
	if(a_mess == null)
	{
		return false;
	}
	var body = document.getElementsByTagName('body');
	var _tmpDiv = document.getElementById('messDivId');
	
	if(_tmpDiv)
	{
		body[0].removeChild(_tmpDiv);
	}

	var vcode = '';
	vcode = a_mess.getAttribute('vcode');
	
	var main_div = document.createElement('div');
	main_div.style.display = 'none';
	main_div.style.width = '580px';
	main_div.id = 'messDivId';
	
	body[0].appendChild(main_div);
	
	var subj_span = document.createElement('span');
	main_div.appendChild(subj_span);
	subj_span.innerHTML = 'Тема: ';
	
	var subj_input = document.createElement('input');
	subj_input.style.width = '531px';
	subj_input.type = 'text';
	subj_input.id = 'mail_messsubject';
	subj_span.appendChild(subj_input);
	
	var vtitle = a_mess.getAttribute('vtitle');
	if(vtitle != '')
	{
		subj_input.value = 'Ответ на ' + vtitle;
		
	}
	
	var mess_span = document.createElement('span');
	main_div.appendChild(mess_span);
	
	var mess_textarea = document.createElement('textarea');
	mess_textarea.id = 'mail_messtext';
	mess_textarea.style.width = '568px';
	mess_textarea.rows = 10;
	mess_span.appendChild(mess_textarea);
	
	main_div.appendChild(document.createElement('br'));
	
	var button_span = document.createElement('span');
	button_span.style.marginLeft = '468px';
	main_div.appendChild(button_span);
	
	var submit_a = document.createElement('a');
	submit_a.href = 'javascript: sendCompanyMail();';
	submit_a.innerHTML = 'Отправить';
	
	button_span.appendChild(submit_a);
	
	button_span.appendChild(document.createTextNode(' '));
	
	var close_a = document.createElement('a');
	close_a.href = 'javascript: Modalbox.hide();';
	close_a.innerHTML = 'Отмена';
	
	button_span.appendChild(close_a);
	
	Modalbox.show(main_div, {title: 'Написать сообщение', width: 600});
	
	return false;
}

function sendCompanyMail()
{
	var a_mess = document.getElementById('message_indicate');
	var vcode = a_mess.getAttribute('vcode');
	var ccode = a_mess.getAttribute('ccode'); 
	
	var mail_subj = document.getElementById('mail_messsubject').value;
	var mail_text = document.getElementById('mail_messtext').value;
	
	var url = "sendcompanymail.php";
	var pars = {compcode: ccode, vaccode: vcode, subject: mail_subj, mailtext: mail_text};
	
	var main_div = document.getElementById('messDivId');
	main_div.innerHTML = '<center><br><br><br><br>Отправляется...<br><img src="' + loader_img.src + '"></center>';

	new Ajax.Request(
  		url,
		{
			method: "post",
			parameters: pars,
			onSuccess: function(resp)
			{
				Modalbox.hide();
			}
		}
	);

}

