var isNS4 = (document.layers) ? true : false;
var isDOM = (document.getElementById) ? true : false; //DOM1 browser (MSIE 5+, Netscape 6, Opera 5+)
var isIE5 = (document.all && isDOM) ? true : false; // IE5
var isNS6 = (!document.all && isDOM) ? true : false; // NS6
var isOpera = (window.opera) ? true : false; //Opera
var isOpera5 = isOpera && isDOM; //Opera 5+
var isOpera7 = (isOpera5 && navigator.appVersion.substring(0,3) >= 7.5) ? true : false;
var isMozilla = '';

var switcher_on  = new Image ();
var switcher_off = new Image ();
var arrow_on   = new Image ();
var arrow_off  = new Image ();
var winCal = '';

var PrWin = '';
var FormWin = '';

for(i=0; i<Images.length; i++){
	eval("var "+Images[i][0]+" = new Image ();");
	for(j=0; j<Images[i][1].length; j++){
		eval("var "+Images[i][1][j]+"_on = new Image ();");
		eval("var "+Images[i][1][j]+"_off = new Image ();");
	}
}

function Preload_Images(){
	switcher_on.src  = '/img/switcher-on.gif';
	switcher_off.src = '/img/switcher-off.gif';
	arrow_on.src   = '/img/buttons/arrow-on.gif';
	arrow_off.src  = '/img/buttons/arrow-off.gif';
	this.onresize = _resize;
	this.onfocus = close_win;
	_resize ();
	return true;
}

function close_win(){
	if(this.winCal) this.winCal.close();
}

function _resize (){
	if(document.getElementById("Cable1")){
		document.getElementById("Cable1").style.left = document.getElementById("punct-table-L2").offsetLeft + document.getElementById("punct-table-L1").offsetLeft + document.getElementById(punct_td_id).offsetLeft - 13;
		document.getElementById("Cable1").style.visibility = 'visible';
	}
	if(document.getElementById("Cable-Tile")){
		document.getElementById("Cable-Tile").style.left = document.getElementById("punct-table-L2").offsetLeft + document.getElementById("punct-table-L1").offsetLeft + document.getElementById(punct_td_id).offsetLeft - 18;
		document.getElementById("table-tile").width = document.getElementById(socket_td_id).offsetLeft + 46;
		document.getElementById("Cable-Tile").style.visibility = 'visible';
	}
}


function Preload_Array_Images (array_name) {
	var tmp_array = new Array();
	tmp_array = eval(array_name);
	for(i=0; i<tmp_array.length; i++){
		eval(""+tmp_array[i][0]+".src = '/img/services/"+tmp_array[i][0]+".gif';");
		for(j=0; j<tmp_array[i][1].length; j++){
			eval(tmp_array[i][1][j]+"_on.src  = '/img/services/"+tmp_array[i][1][j]+".gif';");
			eval("if(document.getElementById('"+tmp_array[i][0]+"').src!="+tmp_array[i][0]+".src) { "+tmp_array[i][1][j]+"_off.src  = document.getElementById('"+tmp_array[i][0]+"').src; } else { "+tmp_array[i][1][j]+"_off.src  =  "+tmp_array[i][0]+".src}");
		}
	}
}

function Preload(){
	Preload_Images();
	Preload_Array_Images('Images');
	MothDays = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	CurrFullDate = new Date();
	CurrDate = CurrFullDate.getDate();
	CurrMonth = CurrFullDate.getMonth();
	CurrYear = CurrFullDate.getYear();
	if(CurrYear == Math.round(CurrYear/4)*4) MothDays[1] = 29;
//	alert(MothDays[1]);
}


//Функция панели настроек
function ManageDiv(IdPrefix, name){
	eval("if (document.getElementById(IdPrefix+'Button').src) { if (document.getElementById(IdPrefix+'Button').src == "+name+"_on.src) { if(name == 'switcher') { document.getElementById('ImplicId').style.display = 'none'; } document.getElementById(IdPrefix+'Button').src = "+name+"_off.src; document.getElementById(IdPrefix+'Link').title = '"+OpenPl+"'; document.getElementById(IdPrefix+'Table').style.display = 'none'; } else { if(name == 'switcher') { document.getElementById('ImplicId').style.display = 'block'; } document.getElementById(IdPrefix+'Button').src = "+name+"_on.src; document.getElementById(IdPrefix+'Link').title = '"+ClosePl+"'; document.getElementById(IdPrefix+'Table').style.display = 'block'; } } else { if(document.getElementById(IdPrefix+'Button').className == '"+name+"-on') { document.getElementById(IdPrefix+'Button').className = '"+name+"-off'; document.getElementById(IdPrefix+'Link').title = '"+OpenPl+"'; document.getElementById(IdPrefix+'Table').style.display = 'none'; } else { document.getElementById(IdPrefix+'Button').className = '"+name+"-on'; document.getElementById(IdPrefix+'Link').title = '"+ClosePl+"'; document.getElementById(IdPrefix+'Table').style.display = 'block';} }");
	return true;
}

function AltStatus (IdPrefix, text_on, text_off, name) {
	eval("if (document.getElementById(IdPrefix+'Button').src) { if (document.getElementById(IdPrefix+'Button').src == "+name+"_on.src) { window.status = text_on; document.getElementById(IdPrefix+'Button').alt = text_on; document.getElementById(IdPrefix+'Link').title = text_on; } else {	window.status = text_off; 	document.getElementById(IdPrefix+'Button').alt = text_off; document.getElementById(IdPrefix+'Link').title = text_off; } } else { if (document.getElementById(IdPrefix+'Button').className == '"+name+"-on') { window.status = text_on; document.getElementById(IdPrefix+'Link').title = text_on; } else { window.status = text_off; document.getElementById(IdPrefix+'Link').title = text_off; } }");
	return true;
}


//Функции, устанавливающие cookies и формирующие сервисную панель
function setPanel(IdPrefix, name){
	ElImg = document.getElementById(IdPrefix + 'Button');
	ElLink = document.getElementById(IdPrefix + 'Link');
	ElDiv = document.getElementById(IdPrefix + 'Table');
	if (ElImg && ElDiv)
	{
		if(SrvPanelState == 1)
		{
			ElImg.src = ElImg.src.replace("-off.gif", "-off.gif");
			ElDiv.style.display = "block";
			document.getElementById('ImplicId').style.display = 'block';
			ElLink.title = ClosePl;
			SrvPanelState = 0;
		}
		else
		{
			ElImg.src = ElImg.src.replace("-on.gif", "-on.gif");
			ElDiv.style.display = "none";
			document.getElementById('ImplicId').style.display = 'none';
			ElLink.title = OpenPl;
			SrvPanelState = 1;
		}
	}
	setCookie(name, SrvPanelState);
}

function initPanel(IdPrefix, name, PlState){
	ElImg = document.getElementById(IdPrefix + 'Button');
	ElLink = document.getElementById(IdPrefix + 'Link');
	ElDiv = document.getElementById(IdPrefix + 'Table');
	if (ElImg && ElDiv)
	{
		if(PlState == 1)
		{
			ElImg.src = "/img/" + name + "-on.gif";
			ElLink.title = ClosePl;
			ElDiv.style.display = "block";
			document.getElementById('ImplicId').style.display = 'block';
		}
		else
		{
			ElImg.src = "/img/" + name + "-off.gif";
			ElLink.title = OpenPl;
			ElDiv.style.display = "none";
			document.getElementById('ImplicId').style.display = 'none';
		}
	}
}

function setCookie(PlName, PlState){
	var CurrCook = PlName + "=" + PlState + "; path=/;";
	document.cookie = CurrCook;
	initPanel("Sw", PlName, PlState);
}

function getCookie(name){
	var Prefix = name + "=";
	var cookiesStartIndex = document.cookie.indexOf(Prefix);
	if(cookiesStartIndex == -1) return 1;
	var cookiesEndIndex = document.cookie.indexOf(cookiesStartIndex + Prefix, ";");
	if(cookiesEndIndex == -1) cookiesEndIndex = document.cookie.length;
	return unescape(document.cookie.substring((cookiesStartIndex+Prefix.length), cookiesEndIndex));
}



function PictExch(img_id, img, mode){
	if(mode == 'over'){
		eval("document.getElementById('"+img_id+"').src = "+img+"_on.src; ");
	} else {
		eval("document.getElementById('"+img_id+"').src = "+img+"_off.src; ");
	}
}

function Class_On (class_name, id) {
	document.getElementById(id).className = class_name;
}

function Class_Off (class_name, id) {
	document.getElementById(id).className = class_name;
}

function FieldSelect (id) {
	document.getElementById(id).checked = true;
}

function OpenResults (href){
	var features = 'width = 350, resizable = 1, height = 275, menubar = 1, scrollbars = 1';
	var w = window.open(href, "win", features);
}

var fieldValue;

function onFocusField(FieldName) {
	fieldValue = document.AuthForm.elements[FieldName].value;
	document.AuthForm.elements[FieldName].value = '';
}

function onBlurField(FieldName,param1, param2){
	var Value;
	if(param1 == '')
		Value = param2;
	else
		Value = param1;
	document.AuthForm.elements[FieldName].value = Value;
}


// Функция, формирующая url страницы для печати
var IndPgSizeS;
var IndPgStartS;

function OpenPrintPage()
{
	PrHref = location.href;
	if(PrHref.indexOf("&paging.size=") != -1)
	{
		IndPgSizeS = PrHref.indexOf("&paging.size=") + 13;
		IndexSize(PrHref, IndPgSizeS, 1);
		PrHref = PrHref.substring(0, IndPgSizeS) + 1000 + PrHref.substring(IndPgSizeF, PrHref.length);
	} else {
		if(PrHref.indexOf("?") != -1)
		{
			PrHref = PrHref + "&paging.size=1000";
		} else {
			PrHref = PrHref + "?paging.size=1000";
		};
//		PrHref = PrHref + "&paging.size=1000";
	};
	
	if(PrHref.indexOf("&paging.start=") != -1)
	{
		IndPgStartS = PrHref.indexOf("&paging.start=") + 14;
		IndexStart(PrHref, IndPgStartS, 1);
		PrHref = PrHref.substring(0, IndPgStartS) + 0 + PrHref.substring(IndPgStartF, PrHref.length);
	} else {
		PrHref = PrHref + "&paging.start=0";
	};
	
	if(PrHref.indexOf("#") != -1) PrHref = PrHref.substring(0, PrHref.indexOf('#'));
	
	if(PrHref.indexOf("?") != -1) 
	{
		PrHref = PrHref + "&print"
	} else {
		PrHref = PrHref + "?print";
	};
	
	PrWin = window.open(PrHref,"PrintWin");
}

function IndexSize(url, start, delta)
{
	IndPgSizeF = start + delta;
	if((url.charAt(IndPgSizeF) != "") && (url.charAt(IndPgSizeF) != "&"))
	{
		delta++;
		IndexSize(url, start, delta);
	} else {
		return true;
	};
}

function IndexStart(url, start, delta)
{
	IndPgStartF = start + delta;
	if((url.charAt(IndPgStartF) != "&") && (url.charAt(IndPgStartF) != ""))
	{
		delta++;
		IndexStart(url, start, delta);
	} else {
		return true;
	};
}


//Функция смены пароля договора для некоторых услуг сайта
function OpenPasswordForm(formName,action,phoneSelect){
	CurrUrl = document.location.href;
	str = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title></title>';
	str += '<style type="text/css">'
			+'body {margin: 0 0 0 0; padding: 0 0 0 0; background: #f1f4ee; height: 100%;}'
			+'p	{color: #505545; font: 10pt Arial, Helvetica, sans-serif; font-size: x-small; padding: 10 5 7 5; margin: 0 0 0 0;}'
			+'td {color: #505545; font: 10pt Arial, Helvetica, sans-serif; font-size: x-small; padding: 0 0 0 0; margin: 0 0 0 0;}'
			+'.formInput {padding: 2 4 2 4; margin: 0 0 0 0; font: 12px Arial, Helvetica, sans-serif; color: #505545; background: #ffffff; border-top: 1px solid #9b9b9b; border-right: 1px solid #f5f7f2; border-bottom: 1px solid #f5f7f2; border-left: 1px solid #9b9b9b; width: 90%; height: 20;}'
			+'h2 {color: #698F69; font: bold 14px Arial, Tahoma, Verdana, Arial, Helvetica, sans-serif; font-size: small; padding: 10 5 10 30; margin: 0 0 0 0;}'
			+'.button-b {color: #7a7979; font: 12px Arial, Helvetica, sans-serif; text-align: left; margin: 2 0 4 0; padding: 1 0 3 7; width: 117; height: 20; border: 0 solid #f1f4ee; background: url(/img/buttons/button-b.gif); background-position: left center; background-repeat: no-repeat; cursor: pointer;}'
			+'a:link, a:visited, a:active {font: 11px Arial, Helvetica, sans-serif; color: #505545; text-decoration: none;}'
			+'a:hover {color: #83887a; text-decoration: none;}'
			+'.back-line{background: url(/img/hp-back-tile.gif); background-repeat: repeat-x; background-position: center;}'
			+'</style>';
	str += '</head>';
	str += '<body marginheight="0" marginwidth="0" leftmargin="0" rightmargin="0" topmargin="0" bottommargin="0">';
		str += '<script language="JavaScript">';
		str += 'function ChangePassword(name,action,phone)'
				+'{'
					+'ElPassForm = document.forms["ChangeContractPassword"];'
					+'if(ElPassForm.elements[0].value != ElPassForm.elements[1].value)'
						+'{'
							+'alert("Пароль не співпадає з його підтвердженням");'
							+'ElPassForm.elements[1].focus();'
						+'}'
					+'else if(ElPassForm.elements[0].value.length < 8)'
						+'{'
							+'alert("Довжина паролю має бути не меньше 8 символів.");'
							+'ElPassForm.elements[1].focus();'
						+'}'
					+'else if(ElPassForm.elements[0].value.length > 20)'
						+'{'
							+'alert("Довжина паролю має бути не більше 20 символів.");'
							+'ElPassForm.elements[1].focus();'
						+'}'
					+'else'
						+'{'
							+'PageUrl = action + "&phones.identity=" + phone + "&oldPassword=" + ElPassForm.elements[0].value + "&newPassword=" + ElPassForm.elements[1].value;'
//							+'window.opener.document.forms[name].submit();'
							+'window.opener.location = PageUrl;'
							+'window.self.document.body.innerHTML = "Передається новий пароль. Дочекайтеся перезавантаження головної стрінки";'
							+'setTimeout("window.self.close()", "1000");'
							+'window.opener.focus();'
						+'}'
				+'}';
		str += '</script>';
		str += '<center><h2 align="left">Форма зміни паролю</h2><table cellpadding="0" cellspacing="0" border="0" width="320">';
		str += '<form name="ChangeContractPassword">';
			str += '<tr><td colspan="3" class="back-line"><img src="/img/blank.gif" width="1" height="11" border="0"/></td></tr>'
			str += '<tr><td>&nbsp;&nbsp;&nbsp;</td>'
			str += '<td nowrap="1"><b>Ваш новий пароль <font color="#cd5c58">*</font>&nbsp;</b></td><td width="100%"><input type="Password" class="formInput" value=""/></td></tr>';
			str += '<tr><td colspan="3" class="back-line"><img src="/img/blank.gif" width="1" height="11" border="0"/></td></tr>'
			str += '<tr><td>&nbsp;&nbsp;&nbsp;</td>'
			str += '<td nowrap="1"><b>Підтвердження паролю <font color="#cd5c58">*</font>&nbsp;</b></td><td><input type="Password" class="formInput" value=""/><td></tr>';
			str += '<tr><td colspan="3" class="back-line"><img src="/img/blank.gif" width="1" height="11" border="0"/></td></tr>'
			str += '<tr valign="top"><td nowrap="1" colspan="3">'
				+'<table cellpadding="0" cellspacing="4" border="0" width="100%"><tr valign="top"><td background="/img/comm-back-form.gif" style="font-size: 11px; background-position: right bottom; background-repeat: y; padding: 2 7 5 7;" bgcolor="#f3f2e4" nowrap="1">- всі поля, обов\'язкові для заповнення</br>- довжина паролю - не менше 8 символів</td><td align="right" nowrap="1"><p class="button-b" style="padding: 2 10 0 15;"><a href="#" onclick="ChangePassword(\''+formName+'\',\''+action+'\',\''+phoneSelect+'\')">Змінити пароль</a></p></td><td title="Змінити пароль"><a href="#" onclick="ChangePassword(\''+formName+'\',\''+action+'\',\''+phoneSelect+'\')"><img src="/img/buttons/exit-pict.gif" width="17" height="20" border="0"/></a></td></tr></table></td></tr>';
		str += '</form>'
		str += '</table></center>';
	str += "</body></html>";
	FormWin = window.open("","FrmWin","menubar=0,width=580,height=190,left=40,top=40,scrollbars=0,resizable=1");
	FormWin.document.open();
	FormWin.document.writeln(str);
	FormWin.document.close();
	FormWin.focus();
}

//Функция закрытия дочерних окон
function CloseWin() {
	if(PrWin) PrWin.close();
	if(FormWin) FormWin.close();
}

//-------------------------- установка и проверка даты "по" --------------------------
//defaultDays - термин по умолчанию, переустанавливается при выборе нового тарифного плана (при переключении radio)
//minDays - минимальный термин, переустанавливается при выборе нового тарифного плана (при переключении radio)
function ChangeTillDate(defaultDays, minDays, maxDays){
	var from = document.getElementById('id_'+fieldNameFrom).value;
	if(defaultDays) this.defaultDays = defaultDays;
	if(minDays) this.minDays = minDays;
	if(maxDays) this.maxDays = maxDays;
	var d, m, y, curTime, newTime, tillDate;
	var aFromDate = from.split('.');
	d = aFromDate[0]; m = aFromDate[1]-1; y = ((aFromDate[2]<70)?('20'+aFromDate[2]):('19'+aFromDate[2])); 
	var fromDate = new Date(y, m, d);
	var fromMilli = fromDate.valueOf();
	var currentTime = new Date();
	curTime = new Date(currentTime.getTime());
	var defaultMilli = 24*60*60*1000*(this.defaultDays - 1);
	newTime = new Date(fromMilli+defaultMilli);
	if(newTime <= curTime){
		newTime = curTime;
	}
	y = new String(newTime.getFullYear());
	m = newTime.getMonth()+1;
	d = newTime.getDate();
	tillDate = ((d<10)?('0'+d):d)+'.'+((m<10)?('0'+m):m)+'.'+(y.substr(2));
	document.getElementById('id_'+fieldNameTill).value = tillDate;
}

function getDates(){
	//return [this.defaultDays, this.minDays];
}

