

LoadingCircle=new Image();
LoadingCircle.src='/images/loading.gif';
function cr(type){return document.createElement(type)};

// text symbol counter
function LimitInputText(input, maxlen, left) {
 inputstr = input.value;
 strlen = inputstr.length;
 if (strlen > maxlen) {
	 input.value = inputstr.substring(0, maxlen);
	}
	 if (left = $(left)) {
	 if (left.tagName == 'INPUT') {
	left.value = maxlen - input.value.length;
	}
	else {
	left.innerHTML = maxlen - input.value.length;
	}
	}
	return true;
}

//Проверка email на валидность
function validateEmail (name)
	{
		if (typeof name=='string')
			value=name;
		else 
			value = $(name).value;
			
		value = value.replace(/(^\s+)|(\s+$)/g, "");
		if (!value.match(/^[a-z0-9\._-]+@[a-z0-9\._-]+\.[a-z]{2,4}$/i))
			return false;
		else
			return true;
}


//******************* Функции для работы с кукисами   *************************//

//возвращает количество параметров
function GetCookieCount()
{
var len = document.cookie.length;
var n=0;

 for(var i=0;i<len;i++)
 {
  if(document.cookie.charAt(i) == '=')
   n++;
 }
 
return n; 
}

//возвращает значение параметра на основании его имени 
function GetCookieValueByName(name)
{
 var beg = document.cookie.indexOf(name+"=");
 if(beg==-1)
  return false;
  
 var end = document.cookie.indexOf(";", beg + name.length);
 if(end==-1)
  end = document.cookie.length;
  
return unescape(document.cookie.substring(beg + name.length + 1, end));
}


//возвращает значение i-го параметра
function GetCookieValueByIndex(index)
{
var len = document.cookie.length;
var i,n=-1;

 for(i=0;i<len && n!=index;i++)
 {
  if(document.cookie.charAt(i) == '=')
   n++;
 }

var end = document.cookie.indexOf(";", i);
 if(end==-1)
  end = document.cookie.length;
  
return unescape(document.cookie.substring(i, end));
}

//возвращает имя i-го параметра
function GetCookieNameByIndex(index)
{
var len = document.cookie.length;
var i, n=-1;

 for(i=0;i<len && n!=index-1;i++)
 {
  if(document.cookie.charAt(i) == ';')
   n++;
 }

var end = document.cookie.indexOf("=", i);
  
return unescape(document.cookie.substring(i, end));
}

//Устанавливает значение параметра.
//name и value обязательные параметры этой функции, остальные
//могут быть опущены.
//Время жизни задается в переменной expires
//expires задается в следующем виде Thu, 01-Jan-70 00:00:01 GMT
//т.е. День недели, число-месяц-год часы:минуты:секунды
//path задет префикс пути HTML-документов, в которых будет доступно
//значение параметра name
//domain задет доменное имя HTML-документов, в которых будет доступно
//значение параметра name
//secure - если этот параметр указан, то Cookie будут передаваться 
//только по защищенному протоколу HTTPS
function SetCookie(name, value, expires, path, domain, secure)
{
 document.cookie = name + "=" + escape(value) +
                ((expires) ? "; expires=" + expires.toGMTString() : "") +
                ((path) ? "; path=" + path : "") +
                ((domain) ? "; domain=" + domain : "") +
                ((secure) ? "; secure" : "");
}


//все тоже самое, только время жизни параметра
//задается не как абсолютная величина, а как относительная
//в неделях относительно текущей даты
function SetCookieForNWeeks(name, value, weeks, path, domain, secure)
{
var today = new Date();
expires = new Date(today.getTime() + weeks*7*24*60*60*1000);
 document.cookie = name + "=" + escape(value) +
                "; expires=" + expires.toGMTString() +
                ((path) ? "; path=" + path : "") +
                ((domain) ? "; domain=" + domain : "") +
                ((secure) ? "; secure" : "");
}


//соответственно в днях
function SetCookieForNDays(name, value, days, path, domain, secure)
{
var today = new Date();
expires = new Date(today.getTime() + days*24*60*60*1000);
 document.cookie = name + "=" + escape(value) +
                "; expires=" + expires.toGMTString() +
                ((path) ? "; path=" + path : "") +
                ((domain) ? "; domain=" + domain : "") +
                ((secure) ? "; secure" : "");
}



//соответственно в часах
function SetCookieForNHours(name, value, hours, path, domain, secure)
{
var today = new Date();
expires = new Date(today.getTime() + hours*60*60*1000);
 document.cookie = name + "=" + escape(value) +
                "; expires=" + expires.toGMTString() +
                ((path) ? "; path=" + path : "") +
                ((domain) ? "; domain=" + domain : "") +
                ((secure) ? "; secure" : "");
}


//в минутах
function SetCookieForNMinuts(name, value, minuts, path, domain, secure)
{
var today = new Date();
expires = new Date(today.getTime() + minuts*60*1000);
 document.cookie = name + "=" + escape(value) +
                "; expires=" + expires.toGMTString() +
                ((path) ? "; path=" + path : "") +
                ((domain) ? "; domain=" + domain : "") +
                ((secure) ? "; secure" : "");
}

//и, наконец, в секундах
function SetCookieForNSeconds(name, value, seconds, path, domain, secure)
{
var today = new Date();
expires = new Date(today.getTime() + seconds*1000);
 document.cookie = name + "=" + escape(value) +
                "; expires=" + expires.toGMTString() +
                ((path) ? "; path=" + path : "") +
                ((domain) ? "; domain=" + domain : "") +
                ((secure) ? "; secure" : "");
}


//удаляет параметр Cookie,
//установив ему время жизни 1 Января 1970 года
function DeleteCookie(name, path, domain)
{
 if(GetCookieByName(name))
  document.cookie = name + "=" + 
                ((path) ? "; path=" + path : "") +
                ((domain) ? "; domain=" + domain : "") +
                "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  
}
