//Загрузка страницы
addEvent(window,'load',function(){

	var src = 'http://counter.yadro.ru/hit?t14.2;r'+
	escape(document.referrer)+((typeof(screen)=='undefined')?'':
	';s'+screen.width+'*'+screen.height+'*'+(screen.colorDepth?
	screen.colorDepth:screen.pixelDepth))+';u'+escape(document.URL)+
	';'+Math.random();
	
	var counter = document.getElementById('counter');
	counter.setAttribute('src',src);
	counter.setAttribute('border','0');
	counter.setAttribute('title','LiveInternet: показано число посетителей за сегодня' );
	counter.setAttribute('border','0');
	counter.setAttribute('width','88');
	counter.setAttribute('height','31');
	
	var a = createElement('a');
	a.setAttribute('href','http://www.liveinternet.ru/?' + location.hostname);
	counter.parentNode.insertBefore(a,counter);
	a.appendChild(counter);

});

function get_http(){   
	var xmlhttp = null;
	var success = false;
   
	//Список версий MS XMLHTTP - сначала более новые
	var MSXML_XMLHTTP_PROGIDS = new Array(
		'MSXML2.XMLHTTP.5.0',
		'MSXML2.XMLHTTP.4.0',
		'MSXML2.XMLHTTP.3.0',
		'MSXML2.XMLHTTP',
		'Microsoft.XMLHTTP'
	);

	for (var i = 0; i < MSXML_XMLHTTP_PROGIDS.length && !success; i++)
	{
		try{
			xmlhttp = new ActiveXObject(MSXML_XMLHTTP_PROGIDS[i]);
			success = true;
			return xmlhttp;
		}
		catch(e){
			xmlhttp = false;
		}
	}

	if(!xmlhttp && typeof XMLHttpRequest != 'undefined'){
		try{
			xmlhttp = new XMLHttpRequest();
		}
		catch(e){
			xmlhttp = false;
		}
	}

	return xmlhttp;
}

function authsh(obj,act){
	if(!obj.value){
		if(act){obj.className='inp_txt'}
		else if(obj.name=='cnicname'){obj.className='inp_txt nickname'}
		else{obj.className='inp_txt password'}
	}
}

function reEnter(e){
	
	var table=document.getElementById('auth_table');
	if(table){
		var trs=table.getElementsByTagName('tr');
		for(var i=0;i<trs.length;i++){
			if(trs[i].className=='invalid'){
				trs[i].className='hide'
			}else{
				trs[i].className=''
			}
		}
		return doSomething(e);
	}
}

/**/


/*Приводит IE к стандартному setTimeout и setInterval */
/*@cc_on @*/
/*@if (@_jscript)
function XpandDelaySetter(aMethod) {
    var fnOriginal = window[aMethod],
        bNative = /\[native\scode\]/.test(fnOriginal);
    if (!bNative) {
        return false;
    };
    window[aMethod] = function (aFunc, aDelay, aLang) {
        var oArgs = arguments,
            iLen = oArgs.length,
            iIter = 2,
            vCodeType = typeof (aFunc),
            bCheckLang = iLen === 3 &&
                /^(jscript|javascript|vbscript)$/i.test(aLang),
            bHostMeth = vCodeType == 'object' &&
                /function/.test(aFunc),
            bEval = !Function.prototype.apply || bHostMeth,
            vParams = bEval ? '' : [],
            sDiv = '',
            fnCallBack;
        if (vCodeType == 'string' || bCheckLang) {
            fnCallBack = aFunc;
        } else if ((vCodeType == 'function' || bHostMeth) &&
                iLen > iIter) {
            for (; iIter < iLen; iIter++) {
                bEval ? vParams += sDiv + 'oArgs[' + iIter + ']'
                      : vParams[vParams.length] = oArgs[iIter];
                sDiv = ', ';
            };
            fnCallBack = function () {
                return (bEval
                       ? eval('aFunc(' + vParams + ')')
                       : aFunc.apply(this, vParams));
            };
        };
        return fnOriginal(fnCallBack || aFunc, aDelay, aLang);
    };
};

if (window.execScript) {
    XpandDelaySetter('setTimeout');
    XpandDelaySetter('setInterval');
}
@end @*/

// Определяем позицию прокрутки
function getScroll() {
	
	//document.body = document.body || document.getElementsByTagName('body')[0];
	
	var x = y = 0;
	// Gecko поддерживает свойства scrollX(scrollY)
	// Для IE & Opera приходится идти в обход
	x = window.pageXOffset || window.scrollX || document.documentElement.scrollLeft || (document.body && document.body.scrollLeft) || 0;
	y = window.pageYOffset || window.scrollY || document.documentElement.scrollTop || (document.body && document.body.scrollTop) || 0;
	
	return {x:x, y:y};
	
}

//Создание элемента с учётом пространства имён
function createElement(name)
{
	if(document.createElementNS && document.documentElement.namespaceURI)
		return document.createElementNS(document.documentElement.namespaceURI,name);
	return document.createElement(name)
}

//Удаление всех детей узла
function removeChild(node)
{
	while(node.hasChildNodes())node.removeChild(node.lastChild)
}

//Навешивание события
function addEvent(obj,event,handler)
{
	if(obj && event && handler){
		if(obj.attachEvent){
			obj.attachEvent('on'+event,handler);
		}else if(obj.addEventListener){
			obj.addEventListener(event,handler,false);
		}
		return handler
	}
}

//Отвешиваем событие
function removeEvent(obj,event,handler)
{
	if(obj && event && handler){
		if(obj.removeEventListener){
			obj.removeEventListener(event,handler,false)
		}else if(obj.detachEvent){
			obj.detachEvent('on'+event,handler)
		}
	}
}

//Генерация события
function fireEvent(el,type){
	if(document.createEvent){
		var event=document.createEvent('MouseEvents');
		event.initEvent(type,true,false);
		el.dispatchEvent(event);
	}else if(document.createEventObject){
		el.fireEvent('on'+type);
	}
}

//Определение позиции курсора
function cursorPos(e)
{ 
	var x=y=0;
	if(document.attachEvent!=null){
		var docEl=document.documentElement;
		var body=document.body||docEl.getElementsByTagName('body')[0];
		x=window.event.clientX+docEl.scrollLeft+body.scrollLeft;
		y=window.event.clientY+docEl.scrollTop+body.scrollTop;
	}
	else if(!document.attachEvent && document.addEventListener){//Gecko
		x=e.clientX+window.scrollX;
		y=e.clientY+window.scrollY;
	}
	return{x:x,y:y}; 
}

//Получение рассчитаного значения стиля - !устарела!
function getStyle(obj,prop)
{
	if(window.getComputedStyle){
		return document.defaultView.getComputedStyle(obj,null)[prop] //.getPropertyValue(prop)
	}else if(obj.currentStyle){//IE
		return obj.currentStyle[prop] //.getExpression(prop)
	}
}

//Проверка наличия класса
function existsClass(el,name)
{
	var re=new RegExp('\\b'+name+'\\b','g');
	return re.test(el.className) ? true : false
}

//Добавление класса
function addClass(el,name)
{
	if(!existsClass(el,name))el.className+=' '+name
}

//Удаление класса
function removeClass(el,name)
{
	var re=new RegExp('\\b'+name+'\\b','g');
	el.className=el.className.replace(re,'');
}

//Обложка Останавливает цепочку событий
function doSomething(e)
{
	e=e || window.event;
	e.cancelBubble=true;
	if(e.stopPropagation)e.stopPropagation();
	if(e.preventDefault)e.preventDefault();
}

//Вывод ошибки в консоль
function setError(text){
	throw new Error (text);
}

//Перевод rgb(255,255,255) в #FFFFFF
function rgbNormal(color)
{
    color=color.toString();
    if(/rgb\((.*?)\)/i.test(color)){
	/*
        compose=RegExp.$1.split(',');
        var hex=['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'];
        var result='#';
        for(var i=0;i<compose.length;i++){
            rgb=parseInt(compose[i]);
            result+=hex[parseInt(rgb/16)]+hex[rgb % 16];
        }
	*/
	var compose=RegExp.$1.split(',');
	var result='#';
	for(var i=0;i<compose.length;i++){
		result+=Number(compose[i]).toString(16).replace(/^(.)$/,'0$1')
	}
	return result;
    }
    return color;
}

//Устраняет проблему 2000
function y2k(number)
{
	return (number < 1000) ? number + 1900 : number;
}

//Проверка валидности даты
function isDate(dd, mm, yyyy)
{
	var xDate = new Date(yyyy, mm - 1, dd);
	if(xDate.getDate() != dd || xDate.getMonth() + 1 != mm || y2k(xDate.getYear()) != yyyy)
		return false;
	else
		return true;
}

