
function saveInputData(name, value) {
	setCookie(name, StringChanges(value), "365");
	}


function setCookie(name, value, days) {
var expires = "";
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60));
		expires = "; expires="+date.toGMTString();
		}

	document.cookie = name + "=" + encodeURIComponent(value) + expires;
	return true;
	}


	
function StringChanges(string) {
	b = string.split('а'); string = b.join('%E0'); b = string.split('А'); string = b.join('%C0');
	b = string.split('б'); string = b.join('%E1'); b = string.split('Б'); string = b.join('%C1');
	b = string.split('в'); string = b.join('%E2'); b = string.split('В'); string = b.join('%C2');
	b = string.split('г'); string = b.join('%E3'); b = string.split('Г'); string = b.join('%C3');
	b = string.split('д'); string = b.join('%E4'); b = string.split('Д'); string = b.join('%C4');
	b = string.split('е'); string = b.join('%E5'); b = string.split('Е'); string = b.join('%C5');
	b = string.split('ё'); string = b.join('%B8'); b = string.split('Ё'); string = b.join('%A8');
	b = string.split('ж'); string = b.join('%E6'); b = string.split('Ж'); string = b.join('%C6');
	b = string.split('з'); string = b.join('%E7'); b = string.split('З'); string = b.join('%C7');
	b = string.split('и'); string = b.join('%E8'); b = string.split('И'); string = b.join('%C8');
	b = string.split('й'); string = b.join('%E9'); b = string.split('Й'); string = b.join('%C9');
	b = string.split('к'); string = b.join('%EA'); b = string.split('К'); string = b.join('%CA');
	b = string.split('л'); string = b.join('%EB'); b = string.split('Л'); string = b.join('%CB');
	b = string.split('м'); string = b.join('%EC'); b = string.split('М'); string = b.join('%CC');
	b = string.split('н'); string = b.join('%ED'); b = string.split('Н'); string = b.join('%CD');
	b = string.split('о'); string = b.join('%EE'); b = string.split('О'); string = b.join('%CE');
	b = string.split('п'); string = b.join('%EF'); b = string.split('П'); string = b.join('%CF');
	b = string.split('р'); string = b.join('%F0'); b = string.split('Р'); string = b.join('%D0');
	b = string.split('с'); string = b.join('%F1'); b = string.split('С'); string = b.join('%D1');
	b = string.split('т'); string = b.join('%F2'); b = string.split('Т'); string = b.join('%D2');
	b = string.split('у'); string = b.join('%F3'); b = string.split('У'); string = b.join('%D3');
	b = string.split('ф'); string = b.join('%F4'); b = string.split('Ф'); string = b.join('%D4');
	b = string.split('х'); string = b.join('%F5'); b = string.split('Х'); string = b.join('%D5');
	b = string.split('ц'); string = b.join('%F6'); b = string.split('Ц'); string = b.join('%D6');
	b = string.split('ч'); string = b.join('%F7'); b = string.split('Ч'); string = b.join('%D7');
	b = string.split('ш'); string = b.join('%F8'); b = string.split('Ш'); string = b.join('%D8');
	b = string.split('щ'); string = b.join('%F9'); b = string.split('Щ'); string = b.join('%D9');
	b = string.split('ъ'); string = b.join('%FA'); b = string.split('Ъ'); string = b.join('%DA');
	b = string.split('ы'); string = b.join('%FB'); b = string.split('Ы'); string = b.join('%DB');
	b = string.split('ь'); string = b.join('%FC'); b = string.split('Ь'); string = b.join('%DC');
	b = string.split('э'); string = b.join('%FD'); b = string.split('Э'); string = b.join('%DD');
	b = string.split('ю'); string = b.join('%FE'); b = string.split('Ю'); string = b.join('%DE');
	b = string.split('я'); string = b.join('%FF'); b = string.split('Я'); string = b.join('%DF');
	return string;
	}

	
	
	
function show(link, w, h) {
	xx = window.open("","link","menubar=no, toolbar=no, location=no, directories=no, status=no, scrollbars=no, resizable=no, width= " + w + ", height=" + h);
	out = "<html><head><title>Просмотр</title></head><body style='margin: 0 0 0 0;'><table cellpadding=0 cellspacing=0><tr><td><a href='javascript:window.close();'><img src='" + link + "' border=0 alt='закрыть'></a></td></tr></table></body></html>";
	xx.document.write(out);
	xx.focus();
	}
	
function html(link, w, h) {
	newWindow = window.open(link, "link", "top=30, left=30, menubar=no, toolbar=no, location=no, directories=no, status=no, scrollbars=yes, resizable=yes, width= " + w + ", height="+ h);
	newWindow.focus();
	}

function html_no_border(link, w, h) {
	newWindow = window.open(link, "link", "top=30, left=30, menubar=no, toolbar=no, location=no, directories=no, status=no, scrollbars=no, resizable=no, width= " + w + ", height="+ h);
	newWindow.focus();
	}
	
	
function newW() {
	var newWindow = null  ;

	newWindow = window.open("","newW",'top=130, left=130, menubar=0, toolbar=1, location=1, directories=0, status=0, scrollbars=no, resizable=yes, width=400, height=200')
	document.form.target = "newW" ;
	
			
	if (!newWindow || newWindow.closed)
		newWindow = window.open("","newW","")
	else
		newWindow.focus()

	return;
	}

	
	
	
function check() {

	if ( document.form.name.value == "" && document.form.mail.value == "" && document.form.subject.value == "" && document.form.body.value == "") {
		alert("Ни одно поле не заполнено!\n");
		return false;
		}
		else { 
			newW(); 
			form.submit();
			}

}



function faq() {

	if ( document.faq.quest.value == "" && document.form.name.value == "") {
		alert("Ни одно поле не заполнено!\n");
		return false;
		}
		else { 
			newW(); 
			faq.submit();
			}

}


function showInnerWin() {

	var el = document.getElementById("loginwin");
	if(el) {
	el.style.display = 'block';
	}
	
	var el = document.getElementById("svetofor");
	if(el) {
		el.style.display = 'none';
		}
}

function closeInnerWin()
{
	var el = parent.document.getElementById("loginwin");
	el.style.display = 'none';

	var el = document.getElementById("svetofor");
	if(el)
	{
		el.style.display = 'block';
	}
}





function syncList(){}

//Метод sync() - принимает список из значений атрибутов id элементов SELECT, образующих связанный список и запускает их синхронизацию
syncList.prototype.sync = function()
{
	//Перебираем аргументы (id элементов SELECT) и назначаем событиям onChange селектов, с соответствующими id, функцию-обработчик. 
	//В качестве обработчика выступает второй метод объекта syncList - _sync (напрямую его вызывать не нужно) 
	//Обработчик назначается всем элементам SELECT кроме последнего в списке аргументов, т.к. последний не влияет ни на какой другой элемент SELECT и с ним не нужно синхронизироваться.
	for (var i=0; i < arguments.length-1; i++)	document.getElementById(arguments[i]).onchange = (function (o,id1,id2){return function(){o._sync(id1,id2);};})(this, arguments[i], arguments[i+1]);
	document.getElementById(arguments[0]).onchange();//запускаем обработчик onchange первого селекта, чтобы при загрузке страницы заполнить дочерние селекты значениями.
}
//служебный метод _sync - срабатывает при смене выбранного элемента в текущем (старшем) элементе SELECT (по его событию onChange) и изменяет содержимое зависимого селекта на основании значения выбранного в старшем селекте.
syncList.prototype._sync = function (firstSelectId, secondSelectId)
{
	var firstSelect = document.getElementById(firstSelectId);
	var secondSelect = document.getElementById(secondSelectId);

	secondSelect.length = 0; //обнуляем второй (подчиненный) SELECT
	
	if (firstSelect.length>0)//если первый (старший) SELECT не пуст
	{
		//из свойства dataList, с данными для заполнения подчиненных селектов, берем ту часть данных, которая соответствует именно значению элемента, 
		//выбранного в первом селекте, и определяет содержимое подчиненного элемента SELECT.
		var optionData = this.dataList[ firstSelect.options[firstSelect.selectedIndex==-1 ? 0 : firstSelect.selectedIndex].value ];
		//заполняем второй (подчиненный) селект значениями (создаем элементы option)
		for (var key in optionData || null) secondSelect.options[secondSelect.length] = new Option(optionData[key], key);
		
		//если в старшем SELECT-е нет выделенного пункта, выделяем первый
		if (firstSelect.selectedIndex == -1) setTimeout( function(){ firstSelect.options[0].selected = true;}, 1 );
		//если во втором списке нет выделенного пункта, выделяем первый его пункт
		if (secondSelect.length>0) setTimeout( function(){ secondSelect.options[0].selected = true;}, 1 );
	}
	//если второй (подчиненный) селект имеет в свою очередь свои подчиненные селекты (те, для которых он главный), 
	//то запускаем его обработчик onchange, чтобы изменить его подчиненные селекты
	secondSelect.onchange && secondSelect.onchange();
};




function doIt(){
	document.getElementById('blink').style.color = (document.getElementById('blink').style.color == "white") ? "#E7E7E7" : "white";
	document.getElementById('blink2').style.color = (document.getElementById('blink2').style.color == "white") ? "#E7E7E7" : "white";
	}

function Knipper(){
	setInterval('doIt()', 600);
	}

	

function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
		}
}

function showImg(objId, imgSrc) {
	document.all(objId).src = imgSrc;
	}


if (document.images) {
str1 = newImage("/img/active.gif");
str2 = newImage("/img/caser_icon2.gif");
}



function makeRequest(url, div) {
	var httpRequest = false;
	document.getElementById(div).style.display = "none";
	document.getElementById('loader_'+div).style.display = "inline";
	setTimeout("loader('"+ url +"', '"+ div +"')", 500);
	}
	
function loader(url, div) {
	var http_request;
    if (window.XMLHttpRequest) { // Если не Internet Explorer
        http_request = new XMLHttpRequest(); // Создать объект для связи с сервером
        if (http_request.overrideMimeType) { // Установить тип содержимого и кодировку
            http_request.overrideMimeType('text/html; charset=windows-1251');
        }
    } else if (window.ActiveXObject) { // Если IE
    try { 
        http_request = new ActiveXObject("Msxml2.XMLHTTP"); // Создать объект для связи с сервером
    } catch (e) {
    try {
        http_request = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (e) {}
    }
}
    if (!http_request) { // Если не получилось создать
        alert('Невозможно создать экземпляр класса XMLHTTP');
        return false;
    }
    http_request.onreadystatechange = function() { alertContents(http_request, div); }; // Установить функцию которая будет использоваться при получении ответа
    http_request.open('GET', url + '&div='+ div, true); // Открыть соединение 
    http_request.send(null); // Отослать запрос серверу

	document.getElementById('loader_'+div).style.display = "none";
	}



function alertContents(http_request, div) {
    if (http_request.readyState == 4) { // Если ответ получен
        if (http_request.status == 200) { // Если все нормально
           document.getElementById(div).style.display = 'inline'; 				//Вставить в содержимое block полученный ответ
           document.getElementById(div).innerHTML=http_request.responseText;  	// Вставляем полученные от сервера данные в блок на нашей странице
        } else {
            alert('Ошибка запроса.');
        }
    }
}	






/* календарь */
function getObj(objID)
{
    if (document.getElementById) {return document.getElementById(objID);}
    else if (document.all) {return document.all[objID];}
    else if (document.layers) {return document.layers[objID];}
}

function checkClick(e) {
	e?evt=e:evt=event;
	CSE=evt.target?evt.target:evt.srcElement;
	if (getObj('fc'))
		if (!isChild(CSE,getObj('fc')))
			getObj('fc').style.display='none';
}

function isChild(s,d) {
	while(s) {
		if (s==d) 
			return true;
		s=s.parentNode;
	}
	return false;
}

function Left(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function Top(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

// Calendar script
var now = new Date;
var sccd=now.getDate();
var sccm=now.getMonth();
var sccy=now.getFullYear();
var ccm=now.getMonth();
var ccy=now.getFullYear();
	 
document.write('<table id="fc" style="position:absolute;border-collapse:collapse;background:#FFFFFF;border:1px solid #303030;display:none;-moz-user-select:none;-khtml-user-select:none;user-select:none;" cellpadding=2>');
document.write('<tr style="font:bold 13px Arial"><td style="cursor:pointer;font-size:15px" onclick="csubm()">&laquo;</td><td colspan="5" id="mns" align="center"></td><td align="right" style="cursor:pointer;font-size:15px" onclick="caddm()">&raquo;</td></tr>');
document.write('<tr style="background:#FF9900;font:12px Arial;color:#FFFFFF"><td align=center>П</td><td align=center>В</td><td align=center>С</td><td align=center>Ч</td><td align=center>П</td><td align=center>С</td><td align=center>В</td></tr>');
for(var kk=1;kk<=6;kk++) {
	document.write('<tr>');
	for(var tt=1;tt<=7;tt++) {
		num=7 * (kk-1) - (-tt);
		document.write('<td id="v' + num + '" style="width:18px;height:18px">&nbsp;</td>');
	}
	document.write('</tr>');
}
document.write('<tr><td colspan="7" align="center" style="cursor:pointer;font:13px Arial;background:#FFC266" onclick="today()">Сегодня: '+addnull(sccd,sccm+1,sccy)+'</td></tr>');
document.write('</table>');

document.all?document.attachEvent('onclick',checkClick):document.addEventListener('click',checkClick,false);




var updobj;
function lcs(ielem) {
	updobj=ielem;
	getObj('fc').style.left=Left(ielem);
	getObj('fc').style.top=Top(ielem)+ielem.offsetHeight;
	getObj('fc').style.display='';
	
	// First check date is valid
	curdt=ielem.value;
	curdtarr=curdt.split('-');
	isdt=true;
	for(var k=0;k<curdtarr.length;k++) {
		if (isNaN(curdtarr[k]))
			isdt=false;
	}
	if (isdt&(curdtarr.length==3)) {
		ccm=curdtarr[1]-1;
		ccy=curdtarr[2];
		prepcalendar(curdtarr[0],curdtarr[1]-1,curdtarr[2]);
	}
	
}

function evtTgt(e)
{
	var el;
	if(e.target)el=e.target;
	else if(e.srcElement)el=e.srcElement;
	if(el.nodeType==3)el=el.parentNode; // defeat Safari bug
	return el;
}
function EvtObj(e){if(!e)e=window.event;return e;}
function cs_over(e) {
	evtTgt(EvtObj(e)).style.background='#FFEBCC';
}
function cs_out(e) {
	evtTgt(EvtObj(e)).style.background='#FFFFFF';
}
function cs_click(e) {
	updobj.value=calvalarr[evtTgt(EvtObj(e)).id.substring(1,evtTgt(EvtObj(e)).id.length)];
	getObj('fc').style.display='none';
}

var mn=new Array('Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентрябрь','Октябрь','Ноябрь','Декабрь');
var mnn=new Array('31','28','31','30','31','30','31','31','30','31','30','31');
var mnl=new Array('31','29','31','30','31','30','31','31','30','31','30','31');
var calvalarr=new Array(42);

function f_cps(obj) {
	obj.style.background='#FFFFFF';
	obj.style.font='10px Arial';
	obj.style.color='#333333';
	obj.style.textAlign='center';
	obj.style.textDecoration='none';
	obj.style.border='1px solid #606060';
	obj.style.cursor='pointer';
}

function f_cpps(obj) {
	obj.style.background='#C4D3EA';
	obj.style.font='10px Arial';
	obj.style.color='#FF9900';
	obj.style.textAlign='center';
	obj.style.textDecoration='line-through';
	obj.style.border='1px solid #6487AE';
	obj.style.cursor='default';
}

function f_hds(obj) {
	obj.style.background='#FFF799';
	obj.style.font='bold 10px Arial';
	obj.style.color='#333333';
	obj.style.textAlign='center';
	obj.style.border='1px solid #6487AE';
	obj.style.cursor='pointer';
}

// day selected
function prepcalendar ( hd, cm, cy )
{
	now=new Date();
	sd=now.getDate();
	td=new Date();
	td.setDate(1);
	td.setFullYear(cy);
	td.setMonth(cm);
	cd=td.getDay();
	if (cd==0)cd=6; else cd--;
	
	getObj('mns').innerHTML=mn[cm]+ ' ' + cy;
	
	marr=((cy%4)==0)?mnl:mnn;
	
	for(var d=1;d<=42;d++)
	{
		f_cps ( getObj ( 'v' + parseInt ( d ) ) );
		if ( ( d >= (cd -(-1) ) ) && ( d<=cd-(-marr[cm]) ) )
		{
			getObj('v'+parseInt(d)).onmouseover=cs_over;
			getObj('v'+parseInt(d)).onmouseout=cs_out;
			getObj('v'+parseInt(d)).onclick=cs_click;
			
			// if today
			if (sccm == cm && sccd == (d-cd) && sccy == cy)
				getObj('v'+parseInt(d)).style.color='#FF9900';

			getObj('v'+parseInt(d)).innerHTML=d-cd;
				
			calvalarr[d]=addnull(d-cd,cm-(-1),cy);
		}
		else
		{
			getObj('v'+d).innerHTML='&nbsp;';
			getObj('v'+parseInt(d)).onmouseover=null;
			getObj('v'+parseInt(d)).onmouseout=null;
			getObj('v'+parseInt(d)).onclick=null;
			getObj('v'+parseInt(d)).style.cursor='default';
		}
	}
}

prepcalendar('',ccm,ccy);

function caddm() {
	marr=((ccy%4)==0)?mnl:mnn;
	
	ccm+=1;
	if (ccm>=12) {
		ccm=0;
		ccy++;
	}
	prepcalendar('',ccm,ccy);
}

function csubm() {
	marr=((ccy%4)==0)?mnl:mnn;

	ccm-=1;
	if (ccm<0) {
		ccm=11;
		ccy--;
	}
	prepcalendar('',ccm,ccy);
}

function today() {
	updobj.value=addnull(now.getDate(),now.getMonth()+1,now.getFullYear());
	getObj('fc').style.display='none';
	prepcalendar('',sccm,sccy);
}

function addnull(d,m,y)
{
	var d0='',m0='';
	if (d<10)d0='0';
	if (m<10)m0='0';
	
	return ''+d0+d+'-'+m0+m+'-'+y;
}
///////////////////////////////






