﻿/***********************************************************************/
// Сайт Банка УРАЛСИБ. Библиотека общих функций.
// Версия Bank2006
// Редакция 29.11.2011
/***********************************************************************/


// Автозагрузка

$(function() {
	var region = getCurrentRegion();
	autorun_region_blocks(region);
	autorun_discounts_blocks(region);
});

function autorun_region_blocks(reg)
{
	$("."+reg+"-show").removeClass("hidden").show();
	$("."+reg+"-hide").addClass("hidden").hide();
}

function autorun_discounts_blocks(reg)
{
	var discounts = new Array(
	{ region: "moscow",       url: "http://discounts.bankuralsib.ru/cities/msk" },
	{ region: "spb",          url: "http://discounts.bankuralsib.ru/cities/spb" },
	{ region: "ekaterinburg", url: "http://discounts.bankuralsib.ru/cities/ekt" },
	{ region: "kemerovo",     url: "http://discounts.bankuralsib.ru/cities/Kmrvo" },
	{ region: "krasnodar",    url: "http://discounts.bankuralsib.ru/cities/krasn" },
	{ region: "nnovgorod",    url: "http://discounts.bankuralsib.ru/cities/nnov" },
	{ region: "ufa",          url: "http://discounts.bankuralsib.ru/cities/ufa" },
	{ region: "chelyabinsk",  url: "http://discounts.bankuralsib.ru/cities/Chlb" }
	);
	for (var i=0; i<discounts.length; i++) {
		if (discounts[i].region==reg)
		{
			$(".autorun-discounts-href").wrapInner("<a href='" + discounts[i].url + "' target='_blank' />");
			$(".autorun-discounts-block").removeClass("hidden").show();
		}
	}
}

// ОБЩИЕ ФУНКЦИИ И ОБЪЕКТЫ

// Конвертировать всё в int
function toInt(value) {
	if (typeof(value)=="undefined") return 0;
	value = value.toString();
	value.replace(/,/g,".");
	value.replace(" ","");
	value = (value=="" || isNaN(value)) ? 0 : parseInt(value);
	return value;
}

// Конвертировать всё во float
function toFloat(value) {
	if (typeof(value)=="undefined") return 0;
	value = value.toString();
	value.replace(/,/g,".");
	value.replace(" ","");
	value = (value=="" || isNaN(value)) ? 0 : parseFloat(value);
	return value;
}

// Получить int из контрола
function getInt(obj) { return toInt($(obj).val()); }

// Получить float из контрола
function getFloat(obj) { return toFloat($(obj).val()); }

// Минимум
function Мин(a,b) { return (a<b)?a:b; }
// Максимум
function Макс(a,b) { return (a>b)?a:b; }
// Замена в строке
function ReplaceString(s,f,r) { return s.replace(new RegExp(f,"g"),r); }
// Удалить все пробелы
function removeSpaces(s) { return s.replace(/\s+/g, ""); }
// Удалить левые пробелы
function trimLeft(s)  { return s.replace(/^\s+/, "");  }
// Удалить правые пробелы
function trimRight(s) { return s.replace(/\s+$/, "");  }
// Удалить крайние пробелы
function trim(s)      { return trimLeft(trimRight(s)); }
// Округление до указанного кол-ва знаков после запятой, как число
function RN(value, digits) { var k=Math.pow(10,digits); return Math.round(value*k)/k; }
// Округление до указанного кол-ва знаков после запятой и форматирование на триады с разделителем
function RT(value, digits, separator)
{
	var digits = (typeof(digits)!='undefined')? digits : 2;
	var separator = (typeof(separator)!='undefined')? separator : "&#160;";
	var v = toFloat(value);
	v = Number(RN(v, digits)).toFixed(digits).toString();
	if (digits>0) {
		var parts = v.split('.');
		v = parts[0];
	}
	v = v.replace(/(\d{1,3}(?=(\d{3})+(?:\.\d|\b)))/g,"\$1"+separator);
	if (digits>0) v += '.' + parts[1];
	return v;
}
// Добавление лидирующих нулей до определенной длины
function LZ(value, digits) { var s = value.toString(); for (var i=s.length; i<digits; i++) s = "0" + s; return s; }


function getElementText(element, container)
{
	var text = "" + $(element, container).text();
	if (typeof(text)!="undefined") {
		return text;
	} else {
		return "";
	}
}

function getElementAttribute(element, attribute, container)
{
	var text = $(element, container).attr(attribute);
	if (typeof(text)!="undefined") {
		return text;
	} else {
		return "";
	}
}

function getAttr(element, attribute)
{
	var text = element.attr(attribute);
	if (typeof(text)!="undefined") {
		return text;
	} else {
		return "";
	}
}

// РАБОТЫ С ПАДЕЖАМИ - НАЧАЛО

/*

function ТекстДней(value)     { return Падеж(0,value) };
function ТекстМесяцев(value)  { return Падеж(1,value) };
function ТекстЛет(value)      { return Падеж(2,value) };
function ТекстРублей(value)   { return Падеж(3,value) };
function ТекстДолларов(value) { return Падеж(4,value) };
function ТекстЕвро(value)     { return Падеж(5,value) };
function ТекстГЗ(value)       { return Падеж(6,value) };
function ТекстГС(value)       { return Падеж(7,value) };

function Падеж(id,value)
{
//					[*0], [*1], [*2-*4], [*5-*9], [11-14]
	var p = [
						["дней","день","дня","дней","дней"],
						["месяцев","месяц","месяца","месяцев","месяцев",],
						["лет","год","года","лет","лет"],
						["рублей","рубль","рубля","рублей","рублей"],
						["долларов","доллар","доллара","долларов","долларов"],
						["евро","евро","евро","евро","евро"],
						["граммов золота","грамм золота","грамма золота","граммов золота","граммов золота"],
						["граммов серебра","грамм серебра","грамма серебра","граммов серебра","граммов серебра"]
					];
	var val = parseInt(value);
	if (10<val && val<15) { // 11...14
		return p[id][4];
	} else {
		var last = val % 10;
		if (last==0) { // *0
			return p[id][0];
		}
		if (last==1) { // *1
			return p[id][1];
		}
		if (1<last && last<5) { // *2...*4
			return p[id][2];
		}
		if (4<last && last<10) { // *5...*9
			return p[id][3];
		}
	}
	return p[id][0];
}

*/

function ТекстДней(value)     { return Падеж(value,"D") };
function ТекстМесяцев(value)  { return Падеж(value,"M") };
function ТекстЛет(value)      { return Падеж(value,"Y") };
function ТекстРублей(value)   { return Падеж(value,"RUB") };
function ТекстДолларов(value) { return Падеж(value,"USD") };
function ТекстЕвро(value)     { return Падеж(value,"EUR") };
function ТекстГЗ(value)       { return Падеж(value,"GZ") };
function ТекстГС(value)       { return Падеж(value,"GS") };

function Падеж(value, code)
{
//					[код],  [*0],       [*1],      [*2-*4],   [*5-*9],    [11-14]
	var p = [
						["s",   "секунд",   "секунда", "секунды", "секунд",   "секунд"],
						["m",   "минут",    "минута",  "минуты",  "минут",    "минут"],
						["h",   "часов",    "час",     "часа",    "часов",    "часов"],
						["D",   "дней",     "день",    "дня",     "дней",     "дней"],
						["M",   "месяцев",  "месяц",   "месяца",  "месяцев",  "месяцев",],
						["Y",   "лет",      "год",     "года",    "лет",      "лет"],
						["RUR", "рублей",   "рубль",   "рубля",   "рублей",   "рублей"],
						["USD", "долларов", "доллар",  "доллара", "долларов", "долларов"],
						["EUR", "евро",     "евро",    "евро",    "евро",     "евро"],
						["GZ",  "граммов золота",  "грамм золота",  "грамма золота",  "граммов золота",  "граммов золота"],
						["GS",  "граммов серебра", "грамм серебра", "грамма серебра", "граммов серебра", "граммов серебра"]
					];
	var index = -1;
	for (var i=0; i<p.length; i++) if (p[i][0]==code) index=i;
	if (index==-1) return "";
	var val = parseInt(value);
	if (10<val && val<15) { // 11...14
		return p[index][5];
	} else {
		var last = val % 10;
		if (last==0) return p[index][1]; // *0
		if (last==1) return p[index][2]; // *1
		if (1<last && last<5) return p[index][3]; // *2...*4
		if (4<last && last<10) return p[index][4]; // *5...*9
	}
	return p[index][1];
}

// РАБОТА С ПАДЕЖАМИ - КОНЕЦ



// РАБОТА С QUERY STRING - НАЧАЛО

// получить параметр командной строки
// возвращает значение value параметра param в query string указанного как ?param=value
function qsp(param)
{
	var qsparts = location.href.split("?");
	if (qsparts.length>1)
	{
		var s = "&" + qsparts[1];
		s = s.substring(0, 2000);
		if (s.indexOf("#")>-1) s = s.substring(0, s.indexOf("#"));
		var re = new RegExp("&"+param+"=([A-Za-zА-Яа-я0-9\.:;%_-]+)");
		var val = s.match(re);
		return val==null?"":val.length==2?val[1]:"";
	} else {
		return "";
	}
}

// получить код "якоря" из командной строки
// возвращает значение кода объекта, указанного через # в хвосте query string
function qsa()
{
	var hash = window.location.hash;
	if (hash=="") {
		return "";
	} else {
		return hash.substring(1);
	}
}

function getCurrentRegion()
{
	return document.location.href.split("://")[1].split("/")[1];
}

// РАБОТА С QUERY STRING - КОНЕЦ



// ТАЙМЕР ОБРАТНОГО ОТСЧЕТА - НАЧАЛО

var ДатаСобытия;

function ВключитьТаймер(gmt,dy,dm,dd,th,tm,ts)
{
	ДатаСобытия = new Date(dy,dm-1,dd,th,tm,ts); // месяцы нумеруются от 0 до 11!
	ДатаСобытия.setTime(ДатаСобытия.getTime()-(ДатаСобытия.getTimezoneOffset()+gmt*60)*60*1000);
	setTimeout(ТаймерОбратногоОтсчета,1000);
}

function ТаймерОбратногоОтсчета()
{
	var Сейчас = new Date();
	if (Сейчас.getTime() < ДатаСобытия.getTime())
	{
		var Разница = parseInt((ДатаСобытия.getTime()-Сейчас.getTime())/1000);
		var РазницаДней = parseInt(Разница/86400);
		Разница = parseInt(Разница%86400);
		var РазницаЧасов = parseInt(Разница/3600);
		Разница = parseInt(Разница%3600);
		var РазницаМинут = parseInt(Разница/60);
		var РазницаСекунд = parseInt(Разница%60);
		$("#countdown-days").empty().html(РазницаДней + " " + Падеж(РазницаДней,"D"));
		$("#countdown-hours").empty().html(РазницаЧасов + " " + Падеж(РазницаЧасов,"h"));
		$("#countdown-minutes").empty().html(РазницаМинут + " " + Падеж(РазницаМинут,"m"));
		$("#countdown-seconds").empty().html(РазницаСекунд + " " + Падеж(РазницаСекунд,"s"));
		if (РазницаДней==0) {
			$("#countdown-days").hide();
			if (РазницаЧасов==0) {
				$("#countdown-hours").hide();
				if (РазницаМинут==0) {
					$("#countdown-minutes").hide();
				}
			}
		}
		$("#countdown-container").show();
		setTimeout(ТаймерОбратногоОтсчета,1000);
	}
	else
	{
		$("#countdown-container").hide();
		$("#countdown-days").empty();
		$("#countdown-hours").empty();
		$("#countdown-minutes").empty();
		$("#countdown-seconds").empty();
	}
}

// ТАЙМЕР ОБРАТНОГО ОТСЧЕТА - КОНЕЦ



// ВЕРСИЯ ДЛЯ ПЕЧАТИ - НАЧАЛО

function printerfriendly(src, ttl)
{
	var source = "#content_product";
	var title  = window.document.title;
	if (typeof(src)!="undefined") if (src!="") if ($(src).html()!="") source = src;
	if (typeof(ttl)!="undefined") if (ttl!="") title = ttl;
	var html = "";
	html += "<html>\n";
	html += "<head>\n";
	html += "<title></title>\n";
	html += "<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />\n";
	html += "<link rel='stylesheet' type='text/css' href='/css.wbh?ID=32A74DE3-8D49-41ED-B951-C01052E9E037&name=bank2006_secondpage'>\n";
	html += "<link rel='stylesheet' type='text/css' href='/css.wbh?ID=32A74DE3-8D49-41ED-B951-C01052E9E037&name=bank2006_common'>\n";
	html += "</head>\n";
	html += "<body class='print'>\n";
	html += "<table id='print_page' width='100%' border='0' cellspacing='0' cellpadding='0'>\n";
	html += "<tr>\n";
	html += "<td id='print_logo'><img src='/mediacache/Bank2006/img/bankuralsib_print.gif' width='290' height='80' border='0' /></td>\n";
	html += "<td id='print_url'>www.bankuralsib.ru</td>\n";
	html += "</tr>\n";
	html += "<tr><td colspan='2' id='print_lines'><img src='/mediacache/Bank2006/img/lines_n.gif' width='100%' height='10' border='0' /></td></tr>\n";
	html += "<tr><td colspan='2' id='print'></td></tr>\n";
	html += "<tr><td colspan='2' id='print_footer_line'></td></tr>\n";
	html += "<tr>\n";
	html += "<td class='print_footer'>Банк УРАЛСИБ. Лицензия Банка России №30.</td>\n";
	html += "<td class='print_footer ta-r'>Финансовая Корпорация УРАЛСИБ</td>\n";
	html += "</tr>\n";
	html += "</table>\n";
	html += "</body>\n";
	html += "</html>\n";

	var pw = window.open("","print","");
	pw.document.open();
	pw.document.write(html);
	pw.document.title = title;
	$("#print",pw.document).append($(source).html());
	$("#print",pw.document).show();
	pw.document.close();
	pw.focus();
	return false;
}

// ВЕРСИЯ ДЛЯ ПЕЧАТИ - КОНЕЦ



// ОБРАТНАЯ СОВМЕСТИМОСТЬ - НАЧАЛО

dom = (document.getElementById)? true : false;
ie4 = (document.all && !dom)? true : false;

var isInternetExplorer4 = (navigator.appVersion.indexOf("MSIE")!=-1 && parseFloat(navigator.appVersion)>=4);
var isNetscape6 = (navigator.appName=="Netscape" && parseFloat(navigator.appVersion)>=5);
var isOpera = (navigator.appName=="Opera" && parseFloat(navigator.appVersion)>=7);

function getElement(elemId) {
	if (dom || ie4) {
		return (dom)? document.getElementById(elemId) : document.all[elemId];
	} else return null;
};

function GetElementInfo(htmlElement)
{
	var info = new Object();
	info.Height = htmlElement.offsetHeight;
	info.Width = htmlElement.offsetWidth;
	
	if (isInternetExplorer4)
	{
		var positionTop = 0;
		var positionLeft = 0;
		var element = htmlElement;
		
		if (element.style.position.toLowerCase() != "absolute")
			element.style.position = "static";
		
		while (element != null)
		{
			positionLeft += element.offsetLeft;
			positionTop += element.offsetTop;
			element = element.offsetParent;
		}
		
		info.Top = positionTop;
		info.Left = positionLeft;	
		
	}
	else if (isNetscape6 || isOpera) 
	{
		info.Top = 0
		info.Left = 0
		var element = htmlElement
		while (element.offsetParent != null) {
			info.Top += element.offsetTop;
			info.Left += element.offsetLeft;
			element = element.offsetParent;
		}	
	}
	else
	{
		info.Top = 0;
		info.Left = 0;	
	}
	
	info.Right = info.Left + info.Width;
	info.Bottom = info.Top + info.Height;
	
	return info;	
}

// ОБРАТНАЯ СОВМЕСТИМОСТЬ - КОНЕЦ

