// JavaScript Document
// copyring by Ruslan Sadretdinov sr@bashnet.ru
var Opera = (navigator.userAgent.indexOf("Opera")!=-1)?true:false;
var NN = (navigator.appName=='Netscape')?true:false;
var IE = (!Opera&&(navigator.appName.substring(0,9)=='Microsoft'))?true:false;
var IE6 = (IE&&(navigator.appVersion.indexOf("MSIE 6")!=-1))?true:false;
function getElement(name)
 {
 var d = document;
 if(d.getElementById(name))
   return d.getElementById(name);
 else
   if(d.all[name])
   return d.all[name];
 }
 function createElement(tag)
 {
  return document.createElement(tag)
 }

function createTextNode(text)
 {
  return document.createTextNode(text);
 } 

 function tableInsertRow(t)
  {
   var Tr;
   if(NN||Opera)
    {
         Tr = crEl("TR");
         t.appendChild(Tr);
        }        
   else         
         Tr = t.insertRow();
        return Tr; 
  }
 function tableInsertCell(Tr)
  {
  var Td;
   if(NN||Opera)
          {
           Td = crEl("TD");
           Tr.appendChild(Td);
          }
   else 
          Td = Tr.insertCell();
        return Td; 
  }

function catchEventObject(e)
{
  var obj;
  if(window.event)
    obj = window.event.srcElement;
  else
   if(e.target)
    obj = e.target;
        else obj = null;        
  return obj;  
}

function keyCode(evt)
 {
   evt = (evt)?evt:(window.event)?window.event:"";
   if(evt)
    {
         var intKey = (evt.which)?evt.which:evt.keyCode;
         return String.fromCharCode(intKey);
        }
   else return "";      
 }

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

function CheckDate(obj,message,defaultValue){
        var error = false;
          if(isNaN(obj.value))
           error = true;
      else  
           error = ((parseInt(obj.value)<32)&&(parseInt(obj.value)>0))?false:true;       
          if(error){
           alert(message);      
           obj.value = defaultValue;
         }
        return !error; 
}
function CheckYear(obj,message,defaultValue){
        var error = false;
          if(isNaN(obj.value))
           error = true;
      else  
       error = ((parseInt(obj.value)<3000)&&(parseInt(obj.value)>1900))?false:true;                      
          if(error){
           alert(message);      
           obj.value = defaultValue;
         }
        return !error; 
}
function checkDefault(obj, message)
{
    if (obj.value.trim() == '' ) {
            alert(message);
                obj.focus();
                obj.select();              
                return false;
    }                   
  return true;
}
function checkEmail(obj, message)
{
  reg = new RegExp(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/);
        if (!reg.test(obj.value)) {                                            
             alert(message);
                         obj.focus();
                         obj.select();                  
                   return false;
                 }
  return true;
}
function checkSalary(obj, message)
{
                 var Salary = obj.value.trim();
                 if(isNaN(Salary) || parseInt(Salary) < 1 ) {
                   alert(message);
                   obj.focus(); 
                   obj.select();                   
                  return false;           
                 } 
                 return true;
}       
function checkAge(obj, message)
{
  if (obj.value.trim() != "" &&(isNaN(parseInt(obj.value)) || parseInt(obj.value)<14 || parseInt(obj.value)>100)) {
                alert(message);
                obj.focus();
                obj.select();                   
                return false;
   }
  return true;
} 
function checkSex(obj, message)
{
    if(obj.value == '1') {
                alert(message);         
                obj.focus();
                obj.select();                     
                return false;                                      
        }
        return true;
}               
function checkSwitcher(obj, message)
{
    if (obj.value.trim() == "" || parseInt(obj.value) == -1) {
        alert(message);         
                obj.focus();                                      
                return false;                                      
    }
    return true;
} 
function goBack()
 {
         window.history.back(); 
 }
function findText(obj) 
{
 var up = obj.parentElement;
 var on = up.previousSibling;
 var text = on.firstChild;          
 var Caption = "";            
  if (text.nodeValue == null) {            
      while(true)
      {
         var text = text.firstChild;
         if ( text.nodeValue != null ) {
            Caption = text.nodeValue;  
            break; 
         }
      }                               
  } else {               
       Caption = text.nodeValue;
  }   
  Caption = Caption.replace(/\*/g, '');                   
  message = 'Поле "'+ Caption + '" содержит некорректное значение!'; 
  return message;
}
//
function viewRubrics()
{
   var url = window.location.href;  
   var reg = null;
   if(url.indexOf('id_rubric')>0)
     reg = /&?\??page=([^&]*)&id_rubric=([^&]*)/gi;
   else
     reg = /&?\??page=([^&]*)/gi;
   url = url.replace(reg, "") ;   
   window.location.href = url;
}
//
function viewVacancyForm()
{
    var url = window.location.href;
    var reg = /page=([^&]*)/gi;  
    url = url.replace(reg, "page=step1");    
    window.location.href = url;
}
// change rubric 
function changeRubric()
{
    var url = window.location.href;  
    var form = document.forms.form;
    form.elements['change_rubric'].value = 'change';
        var rub_sel = form.elements['form[id_rubric]'];
        var id_rubric = rub_sel.options[rub_sel.selectedIndex].value;
        if (url.indexOf("id_rubric") > 0) {
           var reg = /id_rubric=([^&]*)/gi;          
       url = url.replace(reg, "id_rubric="+id_rubric) ;    
        } else {
           url += "&id_rubric="+id_rubric ; 
        }       
        form.action = url; 
        form.submit();
}  
function deleteResume()
{
    var form = document.forms.form;
    form.elements['delete_resume'].value = 'yes'; 
    form.submit();
}
//
function editVacancy(id_vacancy)
{
    var form = document.forms.form;
    form.elements['id_vacancy'].value = id_vacancy; 
    form.elements['action'].value = 'editing';     
    form.submit();
}
function deleteVacancy(id_vacancy)
{
    var form = document.forms.form;
    if(confirm('Вы действительно хотите удалить данную вакансию')) {
      form.elements['id_vacancy'].value = id_vacancy; 
      form.elements['action'].value = 'delete'; 
      form.submit();       
    }
    
}
// 
function showLength(objName, countName)
 {
        maxLength = 1000;          
        var count = document.getElementById(countName);
        var obj   = document.forms.form.elements[objName];         
        var length = obj.value.length;              
        if( length > maxLength) {
             obj.value = obj.value.substring(0, maxLength);
             length = maxLength;
        }  
        var newText = document.createTextNode(length);     
        var oldText = count.firstChild;
        count.replaceChild(newText, oldText);       
}
// create switcher
function createSwitchEdit(obj, event)
{     
     var name = obj.name;
         var width = parseInt(obj.style.width) - 25;            
         var divContent = document.createElement('SPAN');                
         var newTextObj    = new Object();
         var newCheckboxObj = new Object();
         if (IE) {
             newTextObj    = document.createElement('<INPUT type=\'text\'>');
             newCheckboxObj = document.createElement('<INPUT type=\'checkbox\' CHECKED>');              
         } else {
             newTextObj      = document.createElement('INPUT');
             newTextObj.type = 'text';
             newCheckboxObj   = document.createElement('INPUT');        
             newCheckboxObj.type = 'checkbox';
             newCheckboxObj.checked = true;
         }      
         newTextObj.name = name;
         newTextObj.style.width = width + 'px';                                     
         newCheckboxObj.onclick = new Function(event);
         divContent.appendChild(newTextObj);
         divContent.appendChild(newCheckboxObj);
  return divContent;        
}        
function viewEdit(parent, select, input)
{              
        if (select.options[select.selectedIndex].value == 'else') {                                                                       
             parent.replaceChild(input, select);
             var edit     = parent.childNodes[0].childNodes[0];
         var checkbox = parent.childNodes[0].childNodes[1];
         checkbox.checked = true;                                
         edit.focus();
         edit.select();                                                          
        }      
}        
function viewSelect(parent, select, input)
{               
    parent.replaceChild(select, input);
    select.options[0].selected = true;
}      
function setEditValue(parent, select, input, value)
{
    parent.replaceChild(input, select);
    var edit     = parent.childNodes[0].childNodes[0];
    var checkbox = parent.childNodes[0].childNodes[1];
    edit.value = value;
    checkbox.checked = true; 
}

/**
* 8.02.08 Airat
*/
function changeDisplay()
{
  var o = document.getElementById('extendedsrch');
  var leftimg = document.getElementById('left');
  if ( 'none' == o.style.display )
  {   
    o.style.display = 'block';
    leftimg.src = 'images/toggleUp.png';
    document.getElementById('full').value = 1; 
    setCookie("full", 1);
  }
  else
  {
    o.style.display = 'none';
    leftimg.src = 'images/toggleDown.png';
    document.getElementById('full').value = 0; 
    setCookie("full", 0);
  }
}

function showDisplay()
{
  var o = document.getElementById('extendedsrch');
  var leftimg = document.getElementById('left');
  var full = getCookie("full");
  if ( full == 1 )
  {   
    o.style.display = 'block';
    leftimg.src = 'images/toggleUp.png';
    document.getElementById('full').value = 1; 
  }
  else
  {
    o.style.display = 'none';
    leftimg.src = 'images/toggleDown.png';
    document.getElementById('full').value = 0; 
  }
}

/**
* 14.02.08 Airat
*/
function checkForm()
{
    var schvr = document.getElementById('schvr').value;
    var check = document.getElementById('check').checked;
    var o = document.getElementById('extendedsrch');
    if (schvr == '') {
        if(check == true){
            alert("Чтобы искать ключевые слова только в названии, их следует указать");
            return false;
        }
    }
    return true;
}
function callFilterDate(obj)
{
    var url = window.location.href;
    var fd = obj.value;
    var reg = null;
    var add = (url.indexOf('?')>0) ? '&' : '?';
    if(url.indexOf('filter_date')>0) {
        reg = /filter_date=([^&]*)/gi;
        url = url.replace(reg, 'filter_date='+fd) ;
    } else {
    url += add + 'filter_date=' + fd;
    }
    window.location.href = url;
}

function callFilterCity(obj)
{
    var url = window.location.href;
    var fd = obj.value;
    var reg = null;
    var add = (url.indexOf('?')>0) ? '&' : '?';
    if(url.indexOf('filter_city')>0) {
        reg = /filter_city=([^&]*)/gi;
        url = url.replace(reg, 'filter_city='+fd) ;
    } else {
    url += add + 'filter_city=' + fd;
    }
    window.location.href = url;
}

// name - имя cookie
// value - значение cookie
// [expires] - дата окончания действия cookie (по умолчанию - до конца сессии)

function setCookie(name, value) {
    var curCookie = name + "=" + escape(value);
    document.cookie = curCookie;
}

// name - имя считываемого cookie

function getCookie(name) {
        var prefix = name + "="
        var cookieStartIndex = document.cookie.indexOf(prefix)
        if (cookieStartIndex == -1)
                return null
        var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length)
        if (cookieEndIndex == -1)
                cookieEndIndex = document.cookie.length
        return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex))
}