/* Основные */
    function return_false(){ return false; }
    
    function getObj( arg ){
        
        if( typeof( arg ) == 'object' )
            return arg;
            
        if( document.getElementById( arg ) )
            return document.getElementById( arg );
            
        return false;
    }
    
    function show( obj ){
        if( !getObj( obj ) )
            return false;
            
        getObj( obj ).style.display = '';
    }

    function hide( obj ){
        if( !getObj( obj ) )
            return false;
            
        getObj( obj ).style.display = 'none';
    }
    
    function showHide( obj ){
           
    	if( !( obj = getObj( obj ) ) )
    		return false;
    		
    	var open = ( obj.style.display == 'none')	;
    	
    	if( open )
    	   show( obj );
	    else
	       hide( obj );
    	
    	return open;
    }
    
    
    function popup( url, w, h, addVarToUrl ){
         if( !w ) w = 200; 
         if( !h ) h = 200; 
         
         if( addVarToUrl ){
                 url = url + ( url.match(/\?/) ? '&' : '?') + 'popup=1';
    
         }
         
         window.open( url, 'win' + Math.round(Math.random() * 10000),'resizable=yes,top='+((screen.height - h) / 2)+',left='+((screen.width - w) / 2)+',width=' + w + ',height=' + h + ',location=no,status=no,scrollbars=yes');
    
         return false;
    }
    
    function popupName( url, w, h, name ){
         if( !w ) w = 200; 
         if( !h ) h = 200; 
         
         window.open( url, name,'resizable=yes,top='+((screen.height - h) / 2)+',left='+((screen.width - w) / 2)+',width=' + w + ',height=' + h + ',location=no,status=no,scrollbars=yes');
    }    
    
    function fade( obj, type ){        
        
         if ( !(obj = getObj( obj ) ) )
            return false;
        
         if( obj.className.match( 'fade' ) && type != 'in' ){
         
            obj.className = obj.className.replace('fade', '');
         }else
            if( type != 'out' && !obj.className.match( 'fade' ) )
                obj.className = obj.className + ' fade';
            
            
        return true;
    }
    
    function fadeIn( obj ){
        fade( obj, 'in' );
    }
    
    function fadeOut( obj ){
        fade( obj, 'out' );
    }
 
    function getX( el ){
        var xPos;
        
        xPos = el.offsetLeft; 
        var tempEl = el.offsetParent; 
        
        while (tempEl != null)  
        { 
              xPos += tempEl.offsetLeft; 
              tempEl = tempEl.offsetParent; 
        } 
        
        return xPos; 
    }
    
    function getY( el ){
        var yPos;
        
        yPos = el.offsetTop; 
        var tempEl = el.offsetParent; 
        
        while (tempEl != null)  
        { 
              yPos += tempEl.offsetTop; 
              tempEl = tempEl.offsetParent; 
        } 
        
        return yPos; 
    }    
    
    
    
    
    
    

/* Поисковый блок */
    var searchTabSelected;
        
    function searchTabSelect( n, deselect ){
       n = parseInt( n );
       
       if( n < 1 || n > 3 )
           return;
       var tab = document.getElementById( 'searchTab' + n );
       
       tab.className = deselect ? tab.className.replace('selected', '') : tab.className + ' selected';
                        
       if( !deselect && searchTabSelected ){
           searchTabSelect( searchTabSelected , true );
       }
       
       if( !deselect )
          searchTabSelected = n;

    }
    
    function searchTab1Select(clearBranches){
        document.getElementById('mainSearchForm').action = '/vacancy/search';
        if (clearBranches && document.getElementById('rub')) document.getElementById('rub').checked = false;
        
        if(document.getElementById('mainSearchInput').value)
            document.getElementById('mainSearchForm').submit();
            
        searchTabSelect(1);
    }
    
    function searchTab2Select(clearBranches){
        document.getElementById('mainSearchForm').action = '/resume/search';
        if (clearBranches && document.getElementById('rub')) document.getElementById('rub').checked = false;
        if(document.getElementById('mainSearchInput').value)
            document.getElementById('mainSearchForm').submit();
        searchTabSelect(2);
    }
    
    function searchTab3Select(clearBranches){
        document.getElementById('mainSearchForm').action = '/trainings/search';
        if (clearBranches && document.getElementById('rub')) document.getElementById('rub').checked = false;
        
        searchTabSelect(3);
    }
    
/* Контент блок */
    function contentBlockCreate(){
        var rndId = 'contentBlock' + Math.round(Math.random() * 10000);
        
        var tableNode = document.createElement('TABLE');
        var tbodyNode = document.createElement('TBODY');
        var trNode = document.createElement('TR');
        var tdNode = document.createElement('TD');
        var divNode = document.createElement('DIV');
        var bodyNode = document.body;
        
        tableNode.id = rndId;       
        tdNode.appendChild( divNode );
        tableNode.style.position = 'absolute';
        tableNode.style.zIndex = 1000;
        tableNode.style.display = 'none';
        
        trNode.appendChild( tdNode );
        tbodyNode.appendChild( trNode );
        tableNode.appendChild( tbodyNode );
        bodyNode.appendChild( tableNode );
        
        tableNode.content = divNode;
        
        return rndId;
    }

    
    function __setContentBlockgetObj( obj, content ){
       if( !obj.contentBlockNode ){
           var contentBlockId = contentBlockCreate( obj );
           obj.contentBlockNode = document.getElementById( contentBlockId );
           obj.contentBlockNode.__parentNode = obj;
       }

        obj.contentBlockNode.content.innerHTML = content;

        return true;
    }
       
    function setContentBlockOn( obj, content, noFade ){
       if( typeof( obj ) != 'object' ){
           var obj = document.getElementById( obj );
       }

       if( !obj )
        return false;
        
        __setContentBlockgetObj( obj, content );
        
        var winH, scrollY, x, y;
        
        
        x = getX( obj ) + ( (obj.clientWidth - 415) / 2);
        y = getY( obj ) + 50;
        
        if( typeof( document.body.scrollTop ) == 'number' );
        {
            scrollY = document.body.scrollTop;
        }
        
        if( typeof( document.body.clientHeight ) == 'number' ){
            winH = document.body.clientHeight;
        }

        if( y < scrollY + 50 ){
            y = scrollY + 50;
        }
       
        obj.contentBlockNode.style.left = Math.round(x) + 'px';
        obj.contentBlockNode.style.top = Math.round(y) + 'px';       
       
        if( !noFade ) fade( obj, 'in' );
        obj.contentBlockNode.style.display = '';
        
    }
    
    function setContentBlockOnCursor( obj, content ){
       if( !mouseX || !mouseY ) 
           return false;
       
       if( typeof( obj ) != 'object' ){
           var obj = document.getElementById( obj );
       }

       if( !obj )
        return false;
        
        __setContentBlockgetObj( obj, content );
        
        var winH, scrollY, x, y;
        
        x = mouseX + 15;
        y = mouseY + 15;
        
        if( typeof( document.body.scrollTop ) == 'number' );
            scrollY = document.body.scrollTop;
        
        if( typeof( document.body.clientHeight ) == 'number' )
            winH = document.body.clientHeight;

      
       
        obj.contentBlockNode.style.left = Math.round(x) + 'px';
        obj.contentBlockNode.style.top = Math.round(y) + 'px';       
       
        obj.contentBlockNode.style.display = '';        
    }
    
    function removeContentBlockFrom( obj, noFade ){
       if( typeof( obj ) != 'object' ){
           var obj = document.getElementById( obj );
       }

       if( !obj )
            return false;

        if( !obj.contentBlockNode ){
            return false;
        }else{
            obj.contentBlockNode.style.display = 'none';
            
            fade( obj, 'out' );
        }
        
        return true;
    }
    
/* Загрузник */

	function remLayer(){
		if(document.getElementById('auth_panel') ){
	        document.getElementById('auth_panel').style.backgroundImage="url(/tpl/i/fade_bg_21.png)";
	        document.getElementById('auth_panel').style.display = "none";
	        document.getElementById('au').style.display = "";  
        }
	}
    
    function loaderCreate( type, relative ){
        var rndId = 'loader' + Math.round(Math.random() * 10000);
        
        var tableNode = document.createElement('TABLE');
        var tbodyNode = document.createElement('TBODY');
        var trNode = document.createElement('TR');
        var tdNode = document.createElement('TD');
        var divNode = document.createElement('DIV');
        var bodyNode = document.body;
        
        tableNode.id = rndId;
        
        if( type == 2 || type == 3 ){
            
            tableNode.cellPadding=0;
            tableNode.cellSpacing=0;
            divNode.innerHTML = '<a href="#" alt="Щелкните, чтобы закрыть" title="Щелкните, чтобы закрыть" onclick="remLayer();removeLoaderFrom(document.getElementById(\'' + rndId + '\').loadingNode); return false;"><img src="/tpl/i/loader2.gif?1" width="16" height="16" alt="Загрузка" /></a>';
            
        }else{
            
            tableNode.style.backgroundColor = '#fff';
            tableNode.style.border = '1px solid #ccc';
            
            tdNode.className = 'text';
            tdNode.align = 'center';
            
            divNode.innerHTML = '<span class="smaller">Загрузка...</span><br /><a href="#" alt="Щелкните, чтобы закрыть" title="Щелкните, чтобы закрыть" onclick="remLayer();removeLoaderFrom(document.getElementById(\'' + rndId + '\').loadingNode); return false;"><img src="/tpl/i/loader1.gif" width="220" height="19" alt="Загрузка" /></a><div align="center"><input type="button" onclick="remLayer();removeLoaderFrom(document.getElementById(\'' + rndId + '\').loadingNode); return false;" value="Отмена"></div>';
        }
        
        tdNode.appendChild( divNode );
        
        if( !relative ){
            tableNode.style.position = 'absolute';
            tableNode.style.zIndex = 1000;
            tableNode.style.display = 'none';
        }
        
        trNode.appendChild( tdNode );
        tbodyNode.appendChild( trNode );
        tableNode.appendChild( tbodyNode );
        bodyNode.appendChild( tableNode );
        
        return rndId;
    }

    
    function setLoader( obj, type, noLayer ){
        if( ! (obj = getObj( obj ) ) )
            return false;
        //fade(div_top, 'IN');  
        if(document.getElementById('auth_panel') && !noLayer){
	        document.getElementById('auth_panel').style.display = "";
	        document.getElementById('au').style.display = "none";
	        document.getElementById('auth_panel').style.backgroundImage=""
			document.getElementById('auth_panel').style.height = screen.availHeight+220;  
        }
        return setLoaderOn( obj, true, type );
    }
    
    function removeLoader( obj, noLayer ){
    	//return;
    	 if(document.getElementById('auth_panel') ){
	        document.getElementById('auth_panel').style.backgroundImage="url(/tpl/i/fade_bg_21.png)";
	        document.getElementById('auth_panel').style.display = "none";
	        document.getElementById('au').style.display = "";  
        }
        if( ! (obj = getObj( obj ) ) )
            return false;
       
        return removeLoaderFrom( obj );        
    }
       
    function setLoaderOn( obj, noFade, type ){ //old
       if( typeof( obj ) != 'object' ){
           var obj = document.getElementById( obj );
       }
       
       if( !obj )
        return false;

       if( !obj.loaderNode ){
           var loaderId = loaderCreate( type );
           obj.loaderNode = document.getElementById( loaderId );
           obj.loaderNode.loadingNode = obj;
       }
       
        var winH, scrollY, x, y;
        
        
        if( type == 2 ){
            
            x = getX( obj );
            y = getY( obj ) + ( obj.tagName == 'SELECT' ? 20 : obj.clientHeight) + 2;
            
        }else{
            x = getX( obj ) + ( (obj.clientWidth - 220) / 2);
            y = getY( obj ) + (obj.clientHeight / 2);
            
            if( typeof( document.body.scrollTop ) == 'number' )
                scrollY = document.body.scrollTop;
            
            if( typeof( document.body.clientHeight ) == 'number' )
                winH = document.body.clientHeight;
            
            if( winH && scrollY )
                y = scrollY + (winH / 2);
        }
            
        obj.loaderNode.style.left = Math.round(x) + 'px';
        obj.loaderNode.style.top = Math.round(y) + 'px';       
        
        if( !noFade ){
            fade( obj, 'in' );
        }
        
        obj.loaderNode.style.display = '';
        
    }
    
    function removeLoaderFrom( obj ){ //old
       if( typeof( obj ) != 'object' ){
           var obj = document.getElementById( obj );
       }

       if( !obj )
            return false;

        if( !obj.loaderNode ){
            return true;
        }else{
            obj.loaderNode.style.display = 'none';
            fade( obj, 'out' );
        }
    }
    

    
    
/* Избранное */    
    function addToFavorites( url, title ) {
    	if (window.sidebar) { // Mozilla Firefox Bookmark
    		window.sidebar.addPanel(title, url, "");
    	} else if( window.external ) { // IE Favorite
    		window.external.AddFavorite( url, title); }
    	else if(window.opera && window.print) { // Opera Hotlist
    		return true; 
    	}
    }    
    
    
    function visited( obj, remove ){
        if( obj.className.match(/visited/) ){
            if( remove ){
                obj.className = obj.className.replace(/visited/, '');
            }
            return;
        }
            
        if( !remove )
            obj.className = obj.className + ' visited';
    }
    
    function center( obj, obj2 ){

       if( !obj2 )
        obj2 = document.body;
        
       if( !( obj = getObj( obj ) ) || !( obj2 = getObj( obj2 ) ) ){
            return;
       }
               
        
        var x, y, w, h; //параметры obj
        var x2, y2, w2, h2; //параметры obj - относительно него центрируем obj
        
        var areaW, areaH; //Размеры экрана
        var bodyW, bodyH; //Размеры body
        var scrollX, scrollY; //Сколлы
        
        
        
        
        x = getX( obj ); y = getY( obj );
        w = obj.clientWidth; h = obj.clientHeight;
        
        x2 = getX( obj2 ); y2 = getY( obj2 );
        w2 = obj2.clientWidth; h2 = obj2.clientHeight;
        
        
        if( typeof( document.body.clientHeight ) == 'number' ){
            areaW = document.body.clientWidth;
            areaH = document.body.clientHeight;
        }
        
        scrollY = document.body.scrollTop;
        
        y = scrollY + ( ( areaH - h ) / 2);
        x = (areaW - w ) / 2;
        obj.style.top = y;
        obj.style.left = x;
        //alert( areaW + 'x' + areaH );
    }
    
    function onCenter( _obj )
    {
        var obj;
        
        if( !( obj = getObj( _obj ) ) )
            return false;
            
        var w = obj.clientWidth;
        var h = obj.clientHeight;
            
        var bw = document.body.clientWidth;
        var bh = document.body.clientHeight;
        
        var scrollTop = document.body.scrollTop;
        var scrollLeft = document.body.scrollLeft;
        
        var x = parseInt( ( ( bw - w ) / 2 ) + scrollLeft );
        var y = parseInt( ( ( bh - h ) / 2 ) + scrollTop );
        
        obj.style.left = x;
        obj.style.top = y;
    }
    
    
    function str_replace( search, replace, subject ){
        while( subject.match( search ) !== null )
            subject = subject.replace( search, replace );

        return subject;
        
    }
    
    function checkboxValues( nameLikeRegExp, obj ){
        obj = getObj( obj );
        
        if( typeof( obj ) != 'object' )
            obj = document.body;
            
        var out = new Array();
        var inputNodes = obj.getElementsByTagName( 'INPUT' );
        
        for( var i = 0; i < inputNodes.length; i++ ){
            var _input = inputNodes[ i ];
            
            
            
            if( _input.type != 'checkbox' || !_input.name.match( nameLikeRegExp ) || !_input.checked )
                continue;
                
            out[ out.length ] = _input.value;
        }
        
        return out;
    }
    
    function setCookie (name, value, expires, path, domain, secure) {
      document.cookie = name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
    }
    
    setCookie("js", "true", "", "/");
    
    Array.prototype.unset = function( key ){
        var _key = false;
        
        for( var i = 0; i < this.length; i++ ){
            if( i === key )
                _key = i;
        }
        
        if( _key !== false )
            this.splice( _key, 1 );
    }

    Array.prototype.add = function( value ){
        this[ this.length ] = value;
    }
    
    Array.prototype.search = function( needle )
    {
        var key = false;
        
        for( var i = 0; i < this.length; i++ ){
            if( needle == this[ i ] )
            {
                key = i;
                break;
            }
        }
        
        return key;
    }
        
        
    function companyRefreshAccount(){
    	
    	try
    	{
        	var req = new JsHttpRequest();    
    	}
    	catch( e )
    	{
    		return false;
    	}
        
        vars 		= {'refreshAccount': 1};
        _loaderObj 	= 'companyAccount';
        
        
        var loaderObj;
        
        if( ( loaderObj = getObj( _loaderObj ) ) )
        {
            loaderObj.className += ' load';
        }
        
         
        req.onreadystatechange = function() {
            if (req.readyState == 4){
                
                if( loaderObj )
                {
                    loaderObj.className = loaderObj.className.replace( 'load', '' );
                }                
                
                if( req.responseJS.js )
                {
                    eval( req.responseJS.js );
                }
            }
        }
        
        req.open( 'POST', '/modules/company/vacancy_4/actions.ajax.php' , true);         
        req.send( vars );        
    }

    function fixBg (el)
	{
	     el = el?el:this;
	     
	     var bgImg = el.currentStyle.backgroundImage || el.style.backgroundImage;
	
	     if (bgImg && bgImg != 'none')
	     {
	          if (bgImg.match(/^url[("']+(.*\.png)[)"']+$/i))
	          {
	               var s = RegExp.$1;
	               if (s)
	               {
	                    if (el.currentStyle.width == 'auto' && el.currentStyle.height == 'auto')
	                         el.style.width = offsetWidth + 'px';
	                    el.style.backgroundImage = 'none';
	                    el.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + s + "',sizingMethod='scale')";
	               }
	          }
	     }
	}   
    
    //var logForm = 0;
    function loginForm(){
    	if( document.getElementById('auth_panel').style.display == "none" ){
    	    fade(div_top, 'IN');
		    document.getElementById('auth_panel').style.display = "";
		    document.getElementById('tbl_auth').style.height = screen.availHeight+220;
		   // document.getElementById('login_title').style.backgroundImage = '/tpl/i/bullet_key_black.gif';
		    
		    fixBg(document.getElementById('auth_panel'));
		    //loginForm = 1;
    	}else{
    		fade(div_top, 'OUT');
		    document.getElementById('auth_panel').style.display = "none";
		    //logForm = 0;
    	}
    }
    
    function toggle(id){ 
	  var element = document.getElementById(id); 
	  element.style.display = (element.style.display == 'block') ? "none" : "block"; 
	  } 

/* Сообщения в всплывающих окнах */
var IEExist = false;
if (/MSIE (5\.5|6\.)/.test(navigator.userAgent))
	IEExist = true;

function ShowNotes ()
{
	$.popup.show(getObj("notes").innerHTML);

	/*
	
//	initDragItems();
	notesObj = document.getElementById("notesDiv");
	notesObj.style.display = "block";
	onCenter("notesDiv");
	block = document.getElementById("notesBlockDiv");
	if (IEExist)
	{
		fixBg (block);
		SwitchSelectsShow ();
	}
	ExpandDiv ("notesBlockDiv");
	block.style.display = "block";	
	
//	document.di.add( notesObj );
*/
}

function CloseNotes ()
{
	notesObj = document.getElementById("notesDiv");
	notesObj.style.display = "none";
//	document.di.close( notesObj );
	document.getElementById("notesBlockDiv").style.display = "none";
	if (IEExist)
	{
		SwitchSelectsShow (false, true);
	}
	return false;
}


function ExpandDiv (el_id)
{
	w = (window.innerWidth)?window.innerWidth:((document.all)?document.body.offsetWidth:0);
	pos = getElementPosition("footer");
	el = document.getElementById(el_id);
	el.style.height = (pos.top+140)+"px";
	el.style.width = (w)+"px";
}

function getElementPosition(elemID) {
    var offsetTrail = document.getElementById(elemID);
    var offsetLeft = 0;
    var offsetTop = 0;
    while (offsetTrail) {
        offsetLeft += offsetTrail.offsetLeft;
        offsetTop += offsetTrail.offsetTop;
        offsetTrail = offsetTrail.offsetParent;
    }
    if (navigator.userAgent.indexOf("Mac") != -1 && 
        typeof document.body.leftMargin != "undefined") {
        offsetLeft += document.body.leftMargin;
        offsetTop += document.body.topMargin;
    }
   return {left:offsetLeft, top:offsetTop};
}

function SwitchSelectsShow (elId, act)
{
		act = act?'visible':'hidden';
		el = elId?document.getElementById(elId):document;
		
		var inputs = el.getElementsByTagName('SELECT');
		if( inputs.length )
		{
			for( var j = 0; j < inputs.length; j++ )
			{
				inputs[j].style.visibility = act;
			}
		}
}
 
 
function getFormForAjax(formName)
{
	formObj = getObj(formName);
	res_ar = new Array( );
	
    for (i=0; i<formObj.length; i++)
    {
    	el = formObj[i];
    	
        if (el.disabled)
        	continue;

        if (el.type == 'checkbox')
        {
        	if (el.checked == true)
            {
            	if (el.name.indexOf("[]")!=-1)
                {
                	new_name = el.name.replace ('[]', '');
                    if (!res_ar[new_name])
                    	res_ar[new_name] = new Array ();
                    res_ar[new_name][res_ar[new_name].length] = el.value;
                }
                else
                	res_ar[el.name] = el.value;
            }
        }
        else if (el.type == 'radio')
        {
        	if (el.checked == true)
            {
            	res_ar[el.name] = el.value;
            }
        }
        else if (el.name.indexOf("[]")!=-1)
        {
        	new_name = el.name.replace ('[]', '');
            if (!res_ar[new_name])
            	res_ar[new_name] = new Array ();
            res_ar[new_name][res_ar[new_name].length] = el.value;
        }
    	else
        	res_ar[el.name] = el.value;
    }
    
    return res_ar;
}

function sendAjax( sctipt, div, vars, callback )
{
	var req = new JsHttpRequest();    
        
    req.onreadystatechange = function()
    {
    	if (req.readyState == 4)
    	{
        	if( req.responseText )
            {                    
                _div = getObj(div);
                _div.innerHTML = req.responseText;
            }

            if( req.responseJS && req.responseJS.js )
            {
            	eval( req.responseJS.js );
            }
            
            if( req.responseJS && req.responseJS.notes )
            {
                getObj("notes").innerHTML = req.responseJS.notes;
                ShowNotes();
            }            
            
            if (callback)
            {
            	eval( callback );
            }            
        }
	}
    
    req.open( 'POST', sctipt, true);
    req.send( vars );
}

var feedbackPopup;

function feedbackShow(vars)
{
	if (!feedbackPopup)
	{
		feedbackPopup = new uPopup();
		feedbackPopup.init( { position: 'absolute' } );
	}

	feedbackPopup.addContentFromAjax('/modules/feedback/index.ajax.php', vars);
	feedbackPopup.showBG();
}	