var Cookie = {
	create: function(name, value, days) {
		if (days) {
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		}
		else expires = "";
		document.cookie = name+"="+value+expires+"; path=/";
	},
	read: function(name) {
		var nameEQ = name + "=";
		var ca = document.cookie.split(';');
		for(var i=0;i < ca.length;i++) {
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
		return null;
	}
};

var FontSize = {
	init: function(){
		this.setSize(Cookie.read("pagefontsize"));
	},
	setSize: function(size) {
		size = size || this.sizes.normal;
		document.body.className = size;
		Cookie.create("pagefontsize", size, 1000);
	},
	sizes: {
		small: "small-font-size",
		big: "big-font-size",
		normal: ""
	}
};

var Print = {
	init: function() {
		this.lang = this.lang[document.getElementById('Logo').parentNode.href.match(/PageLang=(\w+)/)[1]];
		this.addPrintButton();
		this.addFootNotes('Content', 'Footer');
	},
	addFootNotes: function(id, after){
		var base = document.getElementsByTagName('base')[0];
		if (base) base = base.href;
		else base = "";
		var a = document.getElementById(id);
		var notes = document.createElement('ol');
		if ( a && ( a = a.getElementsByTagName('a') ) ) {
			var index = [];
			for ( var i = 0; i < a.length; i++ ) {
				var href = a[i] +"";
				if ( (a[i].childNodes.length == 1 && a[i].childNodes[0].nodeName == "IMG")
					|| href.indexOf("#") >= 0
					|| href.indexOf("javascript:") >= 0
					|| a[i].parentNode.parentNode.id == "MenuPath"
					|| a[i].parentNode.id == "ToolbarBottom" ) continue;
				if ( href.indexOf("://") < 0 ) {
					href = base + href;
				}
				index[index.length] = a[i];
				var n = document.createElement("li");
				n.appendChild(document.createTextNode(href));
				//notes.appendChild(n); //šalinam link list'us
			}
			for ( var i = 0; i < index.length; i++ ) {
				var sup = document.createElement('sup');
				sup.className = "js-print-notes";
				sup.innerHTML = "["+ (i + 1) +"]";
				//index[i].appendChild(sup); //šalinam sup'us
			}
				after = document.getElementById(after);
				var c = document.createElement('div');
				c.className = "js-print-notes";
				c.innerHTML = "<h2>"+ this.lang.h2 +"</h2>";
				c.appendChild(notes);
				//after.parentNode.insertBefore(c, after)

				var logo = document.getElementById('Logo');
				var headnote = document.createElement('div');
				headnote.className = "js-print-headnote";
				path = document.getElementById('MenuPath');

				var temp = path.innerHTML.replace(/<\/a>/gi,"</a> <img src='../i/ico.arr.red.gif' style='margin-right: 5px;' /> ");
				var temp = temp.replace(/<li/gi,"<li style='float: left; list-style: none; margin: 0; padding: 0;'");
				var temp = temp.replace(/<a/gi,"<a style='text-decoration: none;'");

				headnote.innerHTML = ""+this.lang.note+"<br /><ul style='margin: 0; padding: 0;'>"+temp+"</ul>";

				logo.parentNode.appendChild(headnote);
		}
	},

	lang: {
		LIT: {
			h2: "Nuorodos tekste",
			p1: '<img src="i/ico.print.gif" alt="Spausdinimo versija" />',
			p2: "Uždaryti",
			p3: "Spausdinti",
			a1: '<img src="i/ico.fontm.gif" alt="Mažas šriftas" />',
			a2: '<img src="i/ico.font.gif" alt="Normalus šriftas" />',
			a3: '<img src="i/ico.fontp.gif" alt="Didelis šriftas" />',
			note: 'Informacija atspausdinta iš Ūkio banko internetinės svetainės www.ub.lt'
		},
		ENG: {
			h2: "Content links",
			p1: '<img src="i/ico.print.gif" alt="Print version" />',
			p2: "Close",
			p3: "Print",
			a1: '<img src="i/ico.fontm.gif" alt="Small font" />',
			a2: '<img src="i/ico.font.gif" alt="Normal font" />',
			a3: '<img src="i/ico.fontp.gif" alt="Big font" />',
			note: 'Information printed from Ūkio bankas website www.ub.lt'
		},
		RUS: {
			h2: "Ссылки в тексте",
			p1: '<img src="i/ico.print.gif" alt="Версия для печати" />',
			p2: "Закрыть",
			p3: "Печатать",
			a1: '<img src="i/ico.fontm.gif" alt="Малый размер текста" />',
			a2: '<img src="i/ico.font.gif" alt="Нормальный размер текста" />',
			a3: '<img src="i/ico.fontp.gif" alt="Большой размер текста" />',
			note: 'Информация из интернет-сайта Ūkio bankаs www.ub.lt'
		}
	},
	addPrintButton: function(){
		var h = document.getElementsByTagName('h1');
		for ( var i = 0; i < h.length; i++ ) {
			if ( h[i].parentNode.id == "Content" ) {
				var d = document.createElement('div');
				d.id = "ToolsTop";
				d.className = "js-print-cont";
				d.innerHTML = [
					'<button class="js-print-view" onclick="FontSize.setSize(FontSize.sizes.small);">',
					this.lang.a1, '</button>',
					'<button class="js-print-view" onclick="FontSize.setSize(FontSize.sizes.normal);">',
					this.lang.a2, '</button>',
					'<button class="js-print-view" onclick="FontSize.setSize(FontSize.sizes.big);">',
					this.lang.a3, '</button>',
					'<button class="js-print-view" onclick="Print.swithToPrintLayout();">',
					this.lang.p1, '</button>',
					'<button class="js-normal-view" onclick="Print.swithToNormalLayout();">',
					this.lang.p2, '</button>',
					'<button class="js-print" onclick="window.print();">',
					this.lang.p3, '</button>'
				].join("");
				h[i].parentNode.insertBefore(d, h[i]);
				break;
			}
		}
	},
	disabled: [],
	added: [],
	swithToPrintLayout: function(){
		window.switchLayout = false;
		var s = document.getElementsByTagName('style');
		var l = document.getElementsByTagName('link');
		var a = [];
		for ( var i = 0; i < s.length; i++ )
			a[a.length] = s[i];
		for ( var i = 0; i < l.length; i++ )
			if (l[i].rel.indexOf("stylesheet") >= 0)
				a[a.length] = l[i];
		for ( var i = 0; i < a.length; i++ ) {
			if (a[i].media == "print") {
				var o = a[i].cloneNode(false);
				o.media = "screen";
				this.added[this.added.length] = o;
				a[i].parentNode.insertBefore(o, a[i]);
			}
			if (!a[i].disabled && a[i].media != "print") {
				a[i].disabled = true;
				this.disabled[this.disabled.length] = a[i];
			}
		}
	},
	swithToNormalLayout: function(){
		window.switchLayout = true;
		for ( var i = 0; i < this.disabled.length; i++ )
			this.disabled[i].disabled = false;
		for ( var i = 0; i < this.added.length; i++ ) {
			this.added[i].disabled = true;
			this.added[i].parentNode.removeChild(this.added[i]);
		}
		this.disabled = [];
		this.added = [];
	}
};

var Ready = {
	run: function(f) {
		if ( Ready.isReady ) f.apply( document );
		else Ready.readyList.push( f );
		return this;
	},
	event: {
		add: function(element, type, handler) {
			if (element.addEventListener) {
				element.addEventListener(type, handler, false);
			} else if (element.attachEvent) {
				element.attachEvent('on'+ type, handler);
			}
		},
		remove: function(element, type, handler) {
		}
	},
	isReady: false,
	readyList: [],
	ready: function() {
		if ( !Ready.isReady ) {
			Ready.isReady = true;
			if ( Ready.readyList ) {
				for ( var i = 0; i < Ready.readyList.length; i++ )
					Ready.readyList[i].apply( document );
				Ready.readyList = null;
			}
			if ( Ready.browser.mozilla || Ready.browser.opera )
				document.removeEventListener( "DOMContentLoaded", Ready.ready, false );
		}
	}
};
new function() {
	var b = navigator.userAgent.toLowerCase();
	Ready.browser = {
		safari: /webkit/.test(b),
		opera: /opera/.test(b),
		msie: /msie/.test(b) && !/opera/.test(b),
		mozilla: /mozilla/.test(b) && !/(compatible|webkit)/.test(b)
	};
	Ready.boxModel = !Ready.browser.msie || document.compatMode == "CSS1Compat";
	if ( Ready.browser.mozilla || Ready.browser.opera ) {
		document.addEventListener( "DOMContentLoaded", Ready.ready, false );
	} else if ( Ready.browser.msie ) {
		document.write("<scr" + "ipt id=__ie_init defer=true " + 
			"src=//:><\/script>");
		var script = document.getElementById("__ie_init");
		script.onreadystatechange = function() {
			if ( this.readyState != "complete" ) return;
			this.parentNode.removeChild( this );
			Ready.ready();
		};
		script = null;
	} else if ( Ready.browser.safari ) {
		Ready.safariTimer = setInterval(function(){
			if ( document.readyState == "loaded" || 
				document.readyState == "complete" ) {
				clearInterval( Ready.safariTimer );
				Ready.safariTimer = null;
				Ready.ready();
			}
		}, 10);
	} 
	Ready.event.add( window, "load", Ready.ready );
};
if (Ready.browser.msie) Ready.event.add(window, 'unload', function() {
	var event = Ready.event, global = event.global;
	for (var type in global) {
		var els = global[type], i = els.length;
		if (i>0) do if (type != 'unload') event.remove(els[i-1], type); while (--i);
	}
});


Ready.run(function(){
	FontSize.init();
	Print.init();
});