function wopen(url, wname, params, mode)
{
	if(mode == 1) {
		var w = 610;
		var h = 620;
		var params = 'resizable=yes,';
		params += 'scrollbars=yes,';
		params += 'status=no,';
		params += 'width='+ w +',';
		params += 'height='+ h;
		//params += ',left=' + Math.round(( document.body.offsetWidth - w ) / 2);
		//params += ',top='  + Math.round(( document.body.offsetHeight - h ) / 2);
	}
	
	var win = window.open(url, wname, params);
	return win;
}



function loading(id, mode)
{
	$(id).update();
	
	switch(mode) 
	{
	    case 'small':
            $(id).setStyle({
    			backgroundImage: 'url("/pic/ajax-loader.gif")',
    			backgroundRepeat: 'no-repeat',
    			backgroundPosition: '50% 50%'
		  });
	    break;
	    
		default:
		$(id).setStyle({
			backgroundImage: 'url("/pic/ajax-loader-big.gif")',
			backgroundRepeat: 'no-repeat',
			backgroundPosition: '50% 50%'
		});
		break;
	}
}



function add_element(ename, parent, attrs, innerHTML)
{
	var el = document.createElement(ename);
	var key = null;
	if(typeof(attrs) == 'object')
    {
		for(key in attrs)
			el.setAttribute(key, attrs[key]);
	}
	if(innerHTML) el.innerHTML = innerHTML;
	
	if(typeof(parent) == 'object')
		parent.appendChild(el);
	else $(parent).appendChild(el);
	return el;
}



function tip_show(event, text, mode)
{
	var cu = Event.element(event);
	var coords = Element.cumulativeOffset(cu);
	var el = add_element('span', document.body, {id: 'tooltip', 'class': 'tooltip' }, text);
	var moar;
	
	switch(mode) {
		case 1:
			moar = 20;
		break;
		
		default:
			moar = 10;
			$('tooltip').setStyle({width: '400px'})
		break;
	}
	
	coords[0] += moar;
	el.style.left = coords[0] +'px';
	el.style.top = coords[1]+'px';
	Event.stop(event);
}



function tip_hide(event)
{
	var cu = Event.element(event);
	$('tooltip').remove();
	Event.stop(event);
}


function getFileExtension(filename)
{
    //var new_name = '';
    var name = filename.split('.');
    var extension = name.pop();
    var icon = null;
    switch(extension)
    {
        case 'xls':
        case 'doc':
        case 'rar':
        case 'avi':
        case 'mp3':
        case 'pdf':
            icon = 'ico-'+ extension +'.gif';
        break;
    	
    	default:
    	   extension = 'void';
    	   icon = 'ico-void.gif';
    	break;
    }
    return extension;
}

/**
 * Получить размер файла в человекопонятном формате
 * @return {String} s Строка вида "3,4 Мб"
 * @param {Int} filesize размер файла в байтах
 */
function formatFileSize(filesize)
{
    var size = filesize;
    var s, tmp;
    if(!size) return;
    
    size /= 1024;
    if(size < 1024 && size >= 1) 
        s = Math.round(size) + " Кб";
    else if(size > 1024)
    {
        size /= 1024;

        if(size < 1024 && size >= 1)
        {
            tmp = String(size).split('.');
            if (tmp[1].substr(0,1) > 0)
                s = tmp[0] + "," + tmp[1].substr(0,1);
            else
                s = Math.round(size);
            s += " Мб";
        }
    }
    return s;
}


/**
 * Получает стиль элемента
 * @param {DOMElement} obj элемент стиль которого нужно получить
 * @param {String} style CSS-свойство, которое надо получить
 * @return {String}
 */
function getStyle(obj, style)
{
  // DOM 2
  if(document.defaultView)
    return document.defaultView.getComputedStyle(obj, null)[style];
  // IE
  else if (obj.currentStyle)
    return obj.currentStyle[style]; 
} 