var myTools = {

		pwrp:null,
		pbox:null,
		ptgl:null,

		start:1,

	init: function() {
		//		var repeat=1 //enter 0 to not repeat scrolling after 1 run, othersise, enter 1
//		var title=document.title
//		var leng=title.length

		if (document.title)
		{
			myTools.moveTitle();
		}

		//if ($('stext')) {encodingSource = escape($('stext').value);}
		if ($('addlink')) {
			$('tglAddLink').setStyle('display','inline');
			$('tglEditLink').setStyle('display','inline');
			$('loading').setStyle('display','none');
			myTools.makeToggle($('addlink'), $('tglAddLink'));
			myTools.makeToggle($('emailpass'), $('tglEditLink'));
		}

		if ($('counters'))
		{
			setTimeout("myTools.setCounter($('counters'))", 5000);
		}
	},

	makeFeedback: function(cont, tbl, num){
		var lnk = new Element('div').injectInside(cont);
		lnk.id = 'feedback';
		lnk.setHTML('<div id="articleoptions"><a onclick="$(\'discussion\').setStyle(\'display\',\'none\');$(\'sendmail\').setStyle(\'display\',\'block\');">E-mail article</a> | <a onclick="$(\'sendmail\').setStyle(\'display\',\'none\');$(\'discussion\').setStyle(\'display\',\'block\');">Discuss article</a></div><div id="sendmail">E-mail<span class="red">*</span>: <input autofillsupport="true" name="email1" id="email1" type="text">Message: <input name="message1" id="message1" type="text"><input name="act1" id="act1" value="Send" type="button" onclick="myTools.sendInfo(\'mail\', \''+tbl+'\', \''+num+'\', $(\'email1\'), $(\'message1\'))"></div><div id="discussion">E-mail<span class="red">*</span>: <input autofillsupport="true" name="email2" id="email2" type="text">Name: <input name="message2" id="message2" type="text"><input name="act2" id="act2" value="Post" type="button" onclick="myTools.sendInfo(\'comment\', \''+tbl+'\', \''+num+'\', $(\'email2\'), $(\'message2\'))"><textarea name="message" rows="5" cols="71">Under construction! (not ready yet)</textarea></div>');
	},

	moveTitle: function()
	{
		buffer=document.title.substring(this.start, document.title.length) + document.title.substring(0, this.start);
		document.title=buffer;
		this.start++;
		if (this.start==document.title.length+1) {
			this.start=0;
		}
		setTimeout("myTools.moveTitle()",1000);
	},

	makeToggle: function(el, tgl)
	{
		el.fx = new Fx.Slide(el, { wait: false }).hide();
		el.setStyle('display','block');

		if (tgl == true)
		{
			el.fx.toggle('vertical');
		} else {
			tgl.addEvent('click', function(){el.fx.toggle('vertical')}.bind(this));
			tgl.onclick = function(){
				el.fx.toggle('vertical');
			};
		}
	},

	convertText: function(el)
	{
		$('ctext').setHTML('<img src="/img/loading.gif" width="16" height="16" />');
		var MyRequest = new Ajax('/ajax/converter.php', {
			update: el,
			postBody: {'sfrom':$('sfrom').value,'sto':$('sto').value,'stext':escape($('stext').value)}
		}).request();
	},

	getCounters: function()
	{
		random= Math.floor(Math.random()*5);
//		document.write('<img src="http://counter.rambler.ru/top100.cnt?751448&amp;'+random+'" width="1" height="1" alt="" />');
//		document.write('<img src="http://www.circle.am/service/?bid=444&amp;sid=3765&amp;'+random+'" height="100" width="88" alt="" />');
//		document.write('<img src="http://top.hayastan.com/index.php?act=hit&amp;site=620&amp;'+random+'" height="31" width="88" alt="" />');
//		document.write('<a href="http://www.liveinternet.ru/click" target=_blank><img src="http://counter.yadro.ru/hit?t24.6;r' + escape(document.referrer) + ((typeof(screen)=='undefined')?'':';s'+screen.width+'*'+screen.height+'*'+(screen.colorDepth?screen.colorDepth:screen.pixelDepth)) + ';u' + escape(document.URL) + ';' + Math.random() + '" border=0 width=88 height=15 alt="" title="LiveInternet"><\/a>');
		ret = '<img src="http://counter.rambler.ru/top100.cnt?751448&amp;'+random+'" width="1" height="1" alt="" />';
//		ret += '<img src="http://www.circle.am/service/?bid=444&amp;sid=3765&amp;'+random+'" height="100" width="88" alt="" />';
		ret += '<img src="http://top.hayastan.com/index.php?act=hit&amp;site=620&amp;'+random+'" height="31" width="88" alt="" />';
		ret += '<a href="http://www.liveinternet.ru/click" target=_blank><img src="http://counter.yadro.ru/hit?t24.6;r' + escape(document.referrer) + ((typeof(screen)=='undefined')?'':';s'+screen.width+'*'+screen.height+'*'+(screen.colorDepth?screen.colorDepth:screen.pixelDepth)) + ';u' + escape(document.URL) + ';' + Math.random() + '" border=0 width=88 height=15 alt="" title="LiveInternet"><\/a>';
		return ret;
	},

	setCounter: function(el)
	{
		el.setHTML(this.getCounters());
	}

}; //end myTools

var News = {

	open: false,

	init: function()
	{
		$$('.art h2 a').each(function(el){
			el.addEvent('click', function(e){
				e = new Event(e);
				e.stop();
				el.setStyle('visited', 'true');
				News.get(el.getParent().getParent().id);
			});
		});
	},

	get: function(id)
	{
		// get news div handler
		var cont = $(id);
		var box = cont.getLast().getPrevious();
		var tmp = id.split('-');
		var tbl = tmp[0].trim();
		var n = tmp[1].trim();

		var scroll = new Fx.Scroll(window, {duration:500});

		//remove loading icon if already exist
		if ($('loding'))
		{
			$('loding').remove();
		}

		if (News.open && News.open != id)
		{
			scroll.toElement(cont).chain(function(){box.effect('height').start(0)});
//			$(News.open).getLast().getPrevious().setStyle('height', 0)
//			scroll.toElement(cont);
		}
		News.open = id;

		if (box.offsetHeight == 0)
		{
			scroll.toElement(cont).chain(function(){box.effect('height').start(box.scrollHeight)});
		}
		else if (box.offsetHeight < 100)
		{
			box.setStyles({'overflow':'hidden', 'height':0});
			var icon = new Image(16,16);
			icon.src = 'http://www.armtown.com/img/loading.gif';
			icon.id = 'loding';
			icon.alt = 'loading ...';

			cont.appendChild(icon);
			var MyRequest = new Ajax('http://www.armtown.com/test/getinfo.php', {
				update: box,
				postBody: {'a':'news','t':tbl,'n':n},
				onComplete: function() {
					$('loding').remove();

					// hide feedback formes
//					$('feedback').setStyles({'overflow':'visible'});
//					$('discussit').setStyles({'display':'block','overflow':'hidden','height':0});

					scroll.toElement(cont).chain(function(){box.effect('height').start(0,box.scrollHeight)});
				}
			}).request();
		} else {
			box.effect('height').start(0);
		}
	},

	make: function(what)
	{
		var mailit = $('mailit');
		var discussit = $('discussit');
		var cont = mailit.getParent();

		mailit.setStyles({'display':'block','overflow':'hidden','height':'0'});
		discussit.setStyles({'display':'block','overflow':'hidden','height':'0'});

		switch (what)
		{
			case 'email':
//				discussit.effect('height').start(0).chain(function(){mailit.effect('height').start(mailit.scrollHeight)});
//				mailit.style['height'] = mailit.scrollHeight+'px';
				mailit.setStyle('height',mailit.scrollHeight+'px');
				cont.effect('height').start(cont.scrollHeight)
			break;
			case 'discuss':
//				mailit.effect('height').start(0).chain(function(){discussit.effect('height').start(discussit.scrollHeight)});
//				discussit.style['height'] = discussit.scrollHeight+'px';
				discussit.setStyle('height',discussit.scrollHeight+'px');
				cont.effect('height').start(cont.scrollHeight)
			break;
		}
	}

};

var Discuss = {

	init: function()
	{
		//not implemented
	},

	toggle: function(id, switchid)
	{
		var scroll = new Fx.Scroll(window, {duration:500});
		var i=0;
		$$('.switch').each(function(el){
			if (i != id)
			{
				if (el.offsetHeight > 0)
				{
					el.effect('height').start(0);
				}
				this.switchid = switchid;
			} else {
				if (el.getStyle('display') != 'block')
				{
					el.setStyles({'display':'block', 'overflow':'hidden'});
					el.effect('height').start(el.scrollHeight);
				}

				if (this.switchid)
				{
					if (this.switchid == switchid || switchid == true)
					{
						if (el.offsetHeight > 0)
						{
							el.effect('height').start(0);
						} else {
							scroll.toElement('articleoptions').chain(function(){el.effect('height').start(el.scrollHeight)});
						}
					}
				} else {
					el.effect('height').start(el.scrollHeight);
				}
			}
			i++;
		});
	},

	reply: function(id, user)
	{
		$('discussion').value = '[quote=' + user + ']'.replace(/'/, /\'/)+$('discus'+id).innerHTML.replace(/<ul class="c"><li class="italic">.+<\/li>\s*<\/ul>/,"").clean()+"[/quote]\n";
	},

	remove: function(id)
	{
		var myRequest = new Ajax('/ajax/news.php', {
			update: $('remove'+id),
			postBody: {'act':'remove','id':id},
			onComplete: function(){if(this.transport.responseText == 0) $('comment'+id).remove()}
		}).request();
	}

}; //end Discuss


var Discussion = {

	init: function()
	{
		//not implemented
	},

	toggle: function(id, switchid)
	{
		var scroll = new Fx.Scroll(window, {duration:500});
		var i=0;
		$$('.switch').each(function(el){
			if (i != id)
			{
				if (el.offsetHeight > 0)
				{
					el.effect('height').start(0);
				}
				this.switchid = switchid;
			} else {
				if (el.getStyle('display') != 'block')
				{
					el.setStyles({'display':'block', 'overflow':'hidden', 'height':0});
					scroll.toElement('articleoptions').chain(function(){el.effect('height').start(el.scrollHeight)});
				}

				if (this.switchid)
				{
					if (this.switchid == switchid || switchid == true)
					{
						if (el.offsetHeight > 0)
						{
							el.effect('height').start(0);
						} else {
							scroll.toElement('articleoptions').chain(function(){el.effect('height').start(el.scrollHeight)});
						}
					}
				} else {
					scroll.toElement('articleoptions').chain(function(){el.effect('height').start(el.scrollHeight)});
				}
			}
			i++;
		});
	},

	reply: function(id, user)
	{
		var cnt = $('discus'+id).clone();
		if (cnt.getFirst())
		{
			cnt.getFirst().remove();
		}
		$('discussion').value = '[quote=' + user + ']'.replace(/[',\/\\]/g, "")+cnt.innerHTML.clean().replace(/<br ?\/?>/gi,"\n").replace(/&lt;/gi,"<").replace(/&gt;/gi,">").replace(/&quote;/gi,"\"").trim()+"[/quote]\n";
	},

	remove: function(id)
	{
		var myRequest = new Ajax('/ajax/news.php', {
			update: $('remove'+id),
			postBody: {'act':'remove','id':id},
			onComplete: function(){if(this.transport.responseText == 0) $('comment'+id).remove()}
		}).request();
	}

}; //end Discussion

var VirtKey =
{
	isNum: false,

	init: function(tBox)
	{
		var u = [];
		var dc = [96,49,50,51,52,53,54,55,56,57,48,45,61,8,
				9,113,119,101,114,116,121,117,105,111,112,91,93,92,
				0,97,115,100,102,103,104,106,107,108,59,39,13,
				16,122,120,99,118,98,110,109,44,46,47,16,
				17,18,32,18,17,
				126,33,64,35,36,37,94,38,42,40,41,95,43,8,
				9,81,87,69,82,84,89,85,73,79,80,123,125,124,
				0,65,83,68,70,71,72,74,75,76,58,34,13,
				16,90,88,67,86,66,78,77,60,62,63,16,
				17,18,32,18,17];

		var txt = $(tBox);
		txt.removeEvents();
		txt.focus();

		this.lng = $('lang2').checked ? 'am' : ($('lang3').checked ? 'ru' : '');
		switch (this.lng)
		{
		case 'am':
			u = ['՝','է','թ','փ','ձ','ջ',')','և','ր','չ','ճ','-','ժ','Back',
				'Tab','ք','ո','ե','ռ','տ','ը','ւ','ի','օ','պ','խ','ծ','շ',
				'Caps','ա','ս','դ','ֆ','գ','հ','յ','կ','լ',';','՛','Enter',
				'Shift','զ','ղ','ց','վ','բ','ն','մ',',','.','/','Sift',
				'Ctrl','Alt','Space','Alt','Ctrl',
				'՜','Է','Թ','Փ','Ձ','Ջ','(','%','Ռ','Չ','Ճ','—','Ժ','Back',
				'Tab','Ք','Ո','Ե','Ր','Տ','Ը','Ւ','Ի','Օ','Պ','Խ','Ծ','Շ',
				'Caps','Ա','Ս','Դ','Ֆ','Գ','Հ','Յ','Կ','Լ',':','\"','Enter',
				'Shift','Զ','Ղ','Ց','Վ','Բ','Ն','Մ','«','»','՞','Sift',
				'Ctrl','Alt','Space','Alt','Ctrl'];
		break;
		case 'ru':
			u = ['ю','1','2','3','4','5','6','7','8','9','0','-','ь','Back',
				'Tab','я','ж','е','р','т','ы','у','и','о','п','ш','щ','э',
				'Caps','а','с','д','ф','г','ч','й','к','л',';','\'','Enter',
				'Shift','з','х','ц','в','б','н','м',',','.','/','Sift',
				'Ctrl','Alt','Space','Alt','Ctrl',
				'Ю','!','@','#','$','%','Ё','ё','*','(',')','_','Ь','Back',
				'Tab','Я','Ж','Е','Р','Т','Ы','У','И','О','П','Ш','Щ','Э',
				'Caps','А','С','Д','Ф','Г','Ч','Й','К','Л',':','"','Enter',
				'Shift','З','Х','Ц','В','Б','Н','М','<','>','?','Sift',
				'Ctrl','Alt','Space','Alt','Ctrl'];

		}
		if (this.lng)
		{
			for (i=0,k='<ul>'; i < 58; i++)
			{
				k = k + '<li id="k' + dc[i] + '"' + (i==13 || i==14 || i == 40 ? 'class="long"' : (i == 41 ? 'class="longer2"' : (i == 28 || i == 52 || i == 53 || i == 54 || i == 56 || i == 57 ? 'class="longer"' : (i == 55 ? 'class="longest"' : '')))) + '>' + u[i] + '</li>';
				k = k + (i == 13 || i == 27 || i == 40 || i == 52 ? '<br class="clear"/>' : '');
			}
			$('keyboard').setHTML(k + '</ul>');

			var keys = $$('#keyboard li');
			var fx = [];
			keys.each(function(el, i)
			{
				fx[i] = el.effects({
					duration: 1500,
					wait: false,
					transition: Fx.Transitions.Quad.easeOut
				});
			});
		} else {
			$('keyboard').setHTML();
			return true;
		}

		txt.addEvent("keydown", function(ev)
		{
			var ev = new Event(ev);
			this.isNum = ev.code > 95 && ev.code < 112 ? true : false;
			this.isDel = ev.code == 46 ? true : false;//alert(ev.code);
			this.isArrow = ev.code > 36 && ev.code < 41 ? true : false;
			this.isF = ev.code > 111 && ev.code < 124 ? true : false;
			this.isMenu = ev.code > 90 && ev.code < 94 ? true : false;
			this.isBackspace = ev.code == 8 ? true : false;
			this.isTab = ev.code == 9 ? true : false;
			this.isSpace = ev.code == 32 ? true : false;
			this.isEnter = ev.code == 13 ? true : false;
		}.bindWithEvent(this));

		txt.addEvent("keypress", function(ev)
		{
			var ev = new Event(ev);
			var c = ev.code;
			var k = ev.key;
			var pos = dc.indexOf(c);
			var n = pos > 57 && pos < 71 ? pos - 58 : ( pos > 72 && pos < 86 ? pos - 58 : ( pos > 86 && pos < 98 ? pos - 58 : ( pos > 99 && pos < 110 ? pos - 58 : pos )));
			//alert(c + ' :: ' + pos + ' :: ' + k + ' :: ' + ev.key);

			if(this.isArrow || this.isNum || this.isDel || this.isF || this.isMenu || this.isEnter || this.isBackspace || this.isTab) return true;

			if (c > 32 && c < 127)
			{
				var ch = u[pos];
				fx[n].start({
					'background-color': ['#ffff00', '#fff'],
					'opacity': [0, 1]
				});
			} else {
				var ch = k;
			}

			if(this.isSpace) return true;

			if (this.lng && ch)
			{
				if (window.ie)
				{
					window.event.keyCode = ch.charCodeAt(0);
				} else {
					if('scrollTop' in txt) var scrollTop = txt.scrollTop;
					m = txt.selectionStart;
					if(m != null)
					{
						txt.value=txt.value.substring(0, m) + ch + txt.value.substring(txt.selectionEnd);
						txt.setSelectionRange(++m, m);
						if('scrollTop' in txt) txt.scrollTop=scrollTop;
						ev.stop();
					}
				}
			}
		}.bindWithEvent(this));

	},

	reset: function()
	{
		$('lang1').checked = true;
		$('keyboard').setHTML();
		return true;
	}

};

var myForm = {

	init: function () {
		//not implemented
	},

	validate: function (frm) {
		err = false;
		f = $(frm).getElementsBySelector('input, select, textarea');
		f.each(function(el) {
			if (!err && el.type != 'hidden' && (el.tagName == 'INPUT' || el.tagName == 'SELECT' || el.tagName == 'TEXTAREA'))
			{
				el.focus();
			}
			if(el.hasClass('frm_required')){
				if(el.value == "" || el.value == el.defaultValue) {
					err = 'This field is required.';
					this.markField(el, err);
				} else {
					this.unmarkField(el);
				}
			} else if(el.hasClass('frm_depend_from')){
				tmperr = err;
				err = false;
				if(el.value == "" || el.value == el.defaultValue) {
					cls = el.className.split(" ");
					for (i=1; i<cls.length; i++)
					{
						if($(cls[i]).value != $(cls[i]).defaultValue) {
							err = 'This field is required.';
						}
					}
					if(err) {
						this.markField(el, err);
					} else {
						this.unmarkField(el);
					}
				} else {
					this.unmarkField(el);
				}
				err = err ? err : tmperr;
			} else if(el.hasClass('frm_captcha')){
				if(MD5(el.value) != $('captchatxt').value) {
					err = 'Text does not match';
					this.markField(el, err);
				} else {
					this.unmarkField(el);
				}
			} else if(el.hasClass('frm_email')){
				var regexp = /^[\w\-\.\+]+\@[A-Za-z0-9_\-\.]+\.[A-za-z0-9]{2,4}$/;
				if(!el.value.match(regexp)) {
					err = 'Not a valid email';
					this.markField(el, err);
				} else {
					this.unmarkField(el);
				}
			} else if(el.hasClass('frm_url')){
				var regexp = /^(http|https|ftp):\/\/[A-Za-z0-9_\-]+\.([A-Za-z0-9_\-]+\.){0,2}[A-za-z0-9]{2,4}(\/[^ ]+)?$/;
				if(!el.value.match(regexp)) {
					err = 'Not a valid URL';
					this.markField(el, err);
				} else {
					this.unmarkField(el);
				}
			} else if(el.hasClass('frm_numeric')){
				var regexp = /^0-9]+$/;
				if(!el.value.match(regexp)) {
					err = 'Not a valid number';
					this.markField(el, err);
				} else {
					this.unmarkField(el);
				}
			} else if(el.hasClass('frm_string')){
				var regexp = /^a-zA-Z]+$/;
				if(!el.value.match(regexp)) {
					err = 'Not a valid string';
					this.markField(el, err);
				} else {
					this.unmarkField(el);
				}
			} else if(el.hasClass('frm_alphanum')){
				var regexp = /^a-zA-Z0-9]+$/;
				if(!el.value.match(regexp)) {
					err = 'Not a valid alphanumeric string';
					this.markField(el, err);
				} else {
					this.unmarkField(el);
				}
			}
		}, this);

		if (err)
		{
			return false;
		} else {
			if($('action'))
			{
				$('action').disabled = true;
			}
			eval('document.'+frm+'.submit()');
		}
	},

	markField: function(el, err){
		//el.setStyle('border','1px solid');
		if (el.fx == undefined)
		{
			el.fx = new Fx.Color(el, 'border-color', {duration: 500})
		}
		el.fx.custom('FFFFFF','FF0000');
		if (el.previousSibling && el.previousSibling.tagName == 'B')
		{
			el.previousSibling.setHTML(err);
		} else {
			new Element('b').setStyles({'color':'#FF0000','display':'block'}).injectBefore($(el)).setHTML(err);
		}
	},

	unmarkField: function(el, err){
		if (el.fx == undefined)
		{
			el.fx = new Fx.Color(el, 'border-color', {duration: 500})
		}
		el.fx.custom('FFFFFF','99FF00');
		if (el.previousSibling && el.previousSibling.tagName == 'B')
		{
//			el.previousSibling.setStyles({'display':'inline'})
			el.previousSibling.remove();
		}
	}

};

function dom_init() {
	if (!document.getElementsByTagName) return;

	var anchors = document.getElementsByTagName("a");

	for (var i=0; i<anchors.length; i++) {
		var href = anchors[i].getAttribute("href");
		if (href) {
			//make an external link
			if (anchors[i].hasAttribute("rel") && anchors[i].getAttribute("rel") == "external") {
				anchors[i].target = "_blank";
			}
			//hide email address
			if (href.indexOf('mailto:')==0) {
				href = href.replace(/ at /, "@");
				href = href.replace(/ dot /g, ".");
				anchors[i].setAttribute("href", href);
			}
		}
	}

//image roloeover <img src="name.ext" alt="rv" />
	var imgOriginSrc;
	var imgTemp = new Array();
	var imgarr = document.getElementsByTagName('img');

	for (var i = 0; i < imgarr.length; i++) {
		//get all image elements that have alt tag set to "rv"
		if (imgarr[i].hasAttribute('alt') && imgarr[i].getAttribute('alt').indexOf('rv')!=-1) {
			imgTemp[i] = new Image();
			imgTemp[i].src = imgarr[i].getAttribute('src').replace(".","1.");
			//change image name.ext to name1.ext
			imgarr[i].onmouseover = function() {
				this.setAttribute('src',this.getAttribute('src').replace(".","1."))
			}
			//change image name1.ext to name.ext
			imgarr[i].onmouseout = function() {
				this.setAttribute('src',this.getAttribute('src').replace("1.","."))
			}
		}
	}
}

/*
// replace special characters in the email link <a href="mailto:mail at domain dot com">mail</a>
function hideEmail() {
	if (!document.getElementsByTagName && !document.createElement && !document.createTextNode) return;
	var nodes = document.getElementsByTagName("a");
	for(var i=nodes.length-1;i>=0;i--) {
		var href = nodes[i].getAttribute("href");
		if (href.indexOf(" at ")) {
			href = href.replace(/%20at%20/, "@");
			href = href.replace(/%20dot%20/g, ".");
			nodes[i].setAttribute("href", href);
		}
	}
}
*/

function show_abn() {
	document.write('<iframe width="120" height="60" class="border gray" scrolling="no" marginwidth="0" marginheight="0" src="http://abn.hayastan.com/cgi-bin/nph-adcnetr.pl?oiiio&amp;1&amp;'+Math.random()+'"><script type="text/javascript" src="http://abn.hayastan.com/cgi-bin/nph-adcnet.pl?oiiio&amp;1&amp;'+Math.random()+'"><\/script></iframe>&nbsp;');
	document.write('<iframe width="468" height="60" class="border gray" scrolling="no" marginwidth="0" marginheight="0" src="http://abn.hayastan.com/cgi-bin/nph-adcnetr.pl?oiiio&amp;0&amp;'+Math.random()+'"><script type="text/javascript" src="http://abn.hayastan.com/cgi-bin/nph-adcnet.pl?oiiio&amp;0&amp;'+Math.random()+'"><\/script></iframe>&nbsp;');
	document.write('<iframe width="120" height="60" class="border gray" scrolling="no" marginwidth="0" marginheight="0" src="http://abn.hayastan.com/cgi-bin/nph-adcnetr.pl?oiiio&amp;1&amp;'+Math.random()+'"><script type="text/javascript" src="http://abn.hayastan.com/cgi-bin/nph-adcnet.pl?oiiio&amp;1&amp;'+Math.random()+'"><\/script></iframe>');
}

var ids = new Array('leftcol','footer');
var tags = new Array('h1','li','ol','dt','dd');
var em =  new Array('0.8','1.0','1.2','1.4');
var cls =  new Array('small','normal','big','huge');
var initStep = 1;
var step;

function fontSizer(act) {
	if (!document.getElementById) return;
	if(!step) step = em[initStep];

	if (act == '+' || act == 'inc') {
		step++
	}
	if (act == '-' || act == 'dec') {
		step--
	}
	if (step <= 0 ) {
		step = 0;
	}
	if (step > em.lenght - 1) {
		step = em.lenght - 1;
	}

/*
		initStep = em[size];
		getBody = document.getElementsByTagName('body')[0];
	for (i = 0 ; i < tags.length ; i++ ) {
		getallTags = getBody.getElementsByTagName(tags[i]);
	for (k = 0 ; k < getallTags.length ; k++) 
		getallTags[k].style.fontSize = (unit=='px') ? pixelArray[size]+unit: emArray[size]+unit;
	}
*/

	for (n = 0 ; n < ids.length ; n++ ) {
		if(getBlock = document.getElementById(ids[n])){
			for (i = 0 ; i < tags.length ; i++ ) {
				if(getTag = getBlock.getElementsByTagName(tags[i])){
					for (k = 0 ; k < getTag.length ; k++) {
						getTag[k].style.fontSize = em[step]+'em';
					}
				}
			}
		}
	}
}


/*********************************************************************************
  dw_cookies.js - cookie functions for www.dyn-web.com
  Recycled from various sources 
**********************************************************************************/

// usage: setCookie("fontSize",this.curSize,180,"/")
function setCookie(name,value,days,path,domain,secure) {
	var expires, date;
	if (typeof days == "number") {
		date = new Date();
		date.setTime( date.getTime() + (days*24*60*60*1000) );
		expires = date.toGMTString();
	}
	document.cookie = name + "=" + escape(value) +
	((expires) ? "; expires=" + expires : "") +
	((path) ? "; path=" + path : "") +
	((domain) ? "; domain=" + domain : "") +
	((secure) ? "; secure" : "");
}

// usage: size=getCookie("fontSize")
function getCookie(name) {
	var nameq = name + "=";
	var c_ar = document.cookie.split(';');
	for (var i=0; i<c_ar.length; i++) {
		var c = c_ar[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameq) == 0) return unescape( c.substring(nameq.length, c.length) );
	}
	return null;
}

// usage: deleteCookie("fontSize","/")
function deleteCookie(name,path,domain) {
	if (getCookie(name)) {
		document.cookie = name + "=" +
		((path) ? "; path=" + path : "") +
		((domain) ? "; domain=" + domain : "") +
		"; expires=Thu, 01-Jan-70 00:00:01 GMT";
	}
}


function display_toggle(id) {
	var el = document.getElementById(id);
	el.style.display = (el.style.display != 'none' ? 'none' : 'block' );
}

function display_hide(id) {
	if (!document.getElementById(id)) return;
	var el = document.getElementById(id);
	el.style.display = 'none';
}

function display_show(id) {
	if (!document.getElementById(id)) return;
	var el = document.getElementById(id);
	el.style.display = 'block';
}



window.onload = function(){
	myTools.init();
};


/*########### Privet Functions ###########*/

var Url = {

    // public method for url encoding
    encode : function (string) {
        return escape(this._utf8_encode(string));
    },

    // public method for url decoding
    decode : function (string) {
        return this._utf8_decode(unescape(string));
    },

    // private method for UTF-8 encoding
    _utf8_encode : function (string) {
        string = string.replace(/\r\n/g,"\n");
        var utftext = "";

        for (var n = 0; n < string.length; n++) {

            var c = string.charCodeAt(n);

            if (c < 128) {
                utftext += String.fromCharCode(c);
            }
            else if((c > 127) && (c < 2048)) {
                utftext += String.fromCharCode((c >> 6) | 192);
                utftext += String.fromCharCode((c & 63) | 128);
            }
            else {
                utftext += String.fromCharCode((c >> 12) | 224);
                utftext += String.fromCharCode(((c >> 6) & 63) | 128);
                utftext += String.fromCharCode((c & 63) | 128);
            }

        }

        return utftext;
    },

    // private method for UTF-8 decoding
    _utf8_decode : function (utftext) {
        var string = "";
        var i = 0;
        var c = c1 = c2 = 0;

        while ( i < utftext.length ) {

            c = utftext.charCodeAt(i);

            if (c < 128) {
                string += String.fromCharCode(c);
                i++;
            }
            else if((c > 191) && (c < 224)) {
                c2 = utftext.charCodeAt(i+1);
                string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
                i += 2;
            }
            else {
                c2 = utftext.charCodeAt(i+1);
                c3 = utftext.charCodeAt(i+2);
                string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
                i += 3;
            }

        }

        return string;
    }

}

/**
*
*  MD5 (Message-Digest Algorithm)
*  http://www.webtoolkit.info/
*
**/

var MD5 = function (string) {

    function RotateLeft(lValue, iShiftBits) {
        return (lValue<<iShiftBits) | (lValue>>>(32-iShiftBits));
    }

    function AddUnsigned(lX,lY) {
        var lX4,lY4,lX8,lY8,lResult;
        lX8 = (lX & 0x80000000);
        lY8 = (lY & 0x80000000);
        lX4 = (lX & 0x40000000);
        lY4 = (lY & 0x40000000);
        lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF);
        if (lX4 & lY4) {
            return (lResult ^ 0x80000000 ^ lX8 ^ lY8);
        }
        if (lX4 | lY4) {
            if (lResult & 0x40000000) {
                return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);
            } else {
                return (lResult ^ 0x40000000 ^ lX8 ^ lY8);
            }
        } else {
            return (lResult ^ lX8 ^ lY8);
        }
    }

    function F(x,y,z) { return (x & y) | ((~x) & z); }
    function G(x,y,z) { return (x & z) | (y & (~z)); }
    function H(x,y,z) { return (x ^ y ^ z); }
    function I(x,y,z) { return (y ^ (x | (~z))); }

    function FF(a,b,c,d,x,s,ac) {
        a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac));
        return AddUnsigned(RotateLeft(a, s), b);
    };

    function GG(a,b,c,d,x,s,ac) {
        a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac));
        return AddUnsigned(RotateLeft(a, s), b);
    };

    function HH(a,b,c,d,x,s,ac) {
        a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac));
        return AddUnsigned(RotateLeft(a, s), b);
    };

    function II(a,b,c,d,x,s,ac) {
        a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac));
        return AddUnsigned(RotateLeft(a, s), b);
    };

    function ConvertToWordArray(string) {
        var lWordCount;
        var lMessageLength = string.length;
        var lNumberOfWords_temp1=lMessageLength + 8;
        var lNumberOfWords_temp2=(lNumberOfWords_temp1-(lNumberOfWords_temp1 % 64))/64;
        var lNumberOfWords = (lNumberOfWords_temp2+1)*16;
        var lWordArray=Array(lNumberOfWords-1);
        var lBytePosition = 0;
        var lByteCount = 0;
        while ( lByteCount < lMessageLength ) {
            lWordCount = (lByteCount-(lByteCount % 4))/4;
            lBytePosition = (lByteCount % 4)*8;
            lWordArray[lWordCount] = (lWordArray[lWordCount] | (string.charCodeAt(lByteCount)<<lBytePosition));
            lByteCount++;
        }
        lWordCount = (lByteCount-(lByteCount % 4))/4;
        lBytePosition = (lByteCount % 4)*8;
        lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80<<lBytePosition);
        lWordArray[lNumberOfWords-2] = lMessageLength<<3;
        lWordArray[lNumberOfWords-1] = lMessageLength>>>29;
        return lWordArray;
    };

    function WordToHex(lValue) {
        var WordToHexValue="",WordToHexValue_temp="",lByte,lCount;
        for (lCount = 0;lCount<=3;lCount++) {
            lByte = (lValue>>>(lCount*8)) & 255;
            WordToHexValue_temp = "0" + lByte.toString(16);
            WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length-2,2);
        }
        return WordToHexValue;
    };

    function Utf8Encode(string) {
        string = string.replace(/\r\n/g,"\n");
        var utftext = "";

        for (var n = 0; n < string.length; n++) {

            var c = string.charCodeAt(n);

            if (c < 128) {
                utftext += String.fromCharCode(c);
            }
            else if((c > 127) && (c < 2048)) {
                utftext += String.fromCharCode((c >> 6) | 192);
                utftext += String.fromCharCode((c & 63) | 128);
            }
            else {
                utftext += String.fromCharCode((c >> 12) | 224);
                utftext += String.fromCharCode(((c >> 6) & 63) | 128);
                utftext += String.fromCharCode((c & 63) | 128);
            }

        }

        return utftext;
    };

    var x=Array();
    var k,AA,BB,CC,DD,a,b,c,d;
    var S11=7, S12=12, S13=17, S14=22;
    var S21=5, S22=9 , S23=14, S24=20;
    var S31=4, S32=11, S33=16, S34=23;
    var S41=6, S42=10, S43=15, S44=21;

    string = Utf8Encode(string);

    x = ConvertToWordArray(string);

    a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476;

    for (k=0;k<x.length;k+=16) {
        AA=a; BB=b; CC=c; DD=d;
        a=FF(a,b,c,d,x[k+0], S11,0xD76AA478);
        d=FF(d,a,b,c,x[k+1], S12,0xE8C7B756);
        c=FF(c,d,a,b,x[k+2], S13,0x242070DB);
        b=FF(b,c,d,a,x[k+3], S14,0xC1BDCEEE);
        a=FF(a,b,c,d,x[k+4], S11,0xF57C0FAF);
        d=FF(d,a,b,c,x[k+5], S12,0x4787C62A);
        c=FF(c,d,a,b,x[k+6], S13,0xA8304613);
        b=FF(b,c,d,a,x[k+7], S14,0xFD469501);
        a=FF(a,b,c,d,x[k+8], S11,0x698098D8);
        d=FF(d,a,b,c,x[k+9], S12,0x8B44F7AF);
        c=FF(c,d,a,b,x[k+10],S13,0xFFFF5BB1);
        b=FF(b,c,d,a,x[k+11],S14,0x895CD7BE);
        a=FF(a,b,c,d,x[k+12],S11,0x6B901122);
        d=FF(d,a,b,c,x[k+13],S12,0xFD987193);
        c=FF(c,d,a,b,x[k+14],S13,0xA679438E);
        b=FF(b,c,d,a,x[k+15],S14,0x49B40821);
        a=GG(a,b,c,d,x[k+1], S21,0xF61E2562);
        d=GG(d,a,b,c,x[k+6], S22,0xC040B340);
        c=GG(c,d,a,b,x[k+11],S23,0x265E5A51);
        b=GG(b,c,d,a,x[k+0], S24,0xE9B6C7AA);
        a=GG(a,b,c,d,x[k+5], S21,0xD62F105D);
        d=GG(d,a,b,c,x[k+10],S22,0x2441453);
        c=GG(c,d,a,b,x[k+15],S23,0xD8A1E681);
        b=GG(b,c,d,a,x[k+4], S24,0xE7D3FBC8);
        a=GG(a,b,c,d,x[k+9], S21,0x21E1CDE6);
        d=GG(d,a,b,c,x[k+14],S22,0xC33707D6);
        c=GG(c,d,a,b,x[k+3], S23,0xF4D50D87);
        b=GG(b,c,d,a,x[k+8], S24,0x455A14ED);
        a=GG(a,b,c,d,x[k+13],S21,0xA9E3E905);
        d=GG(d,a,b,c,x[k+2], S22,0xFCEFA3F8);
        c=GG(c,d,a,b,x[k+7], S23,0x676F02D9);
        b=GG(b,c,d,a,x[k+12],S24,0x8D2A4C8A);
        a=HH(a,b,c,d,x[k+5], S31,0xFFFA3942);
        d=HH(d,a,b,c,x[k+8], S32,0x8771F681);
        c=HH(c,d,a,b,x[k+11],S33,0x6D9D6122);
        b=HH(b,c,d,a,x[k+14],S34,0xFDE5380C);
        a=HH(a,b,c,d,x[k+1], S31,0xA4BEEA44);
        d=HH(d,a,b,c,x[k+4], S32,0x4BDECFA9);
        c=HH(c,d,a,b,x[k+7], S33,0xF6BB4B60);
        b=HH(b,c,d,a,x[k+10],S34,0xBEBFBC70);
        a=HH(a,b,c,d,x[k+13],S31,0x289B7EC6);
        d=HH(d,a,b,c,x[k+0], S32,0xEAA127FA);
        c=HH(c,d,a,b,x[k+3], S33,0xD4EF3085);
        b=HH(b,c,d,a,x[k+6], S34,0x4881D05);
        a=HH(a,b,c,d,x[k+9], S31,0xD9D4D039);
        d=HH(d,a,b,c,x[k+12],S32,0xE6DB99E5);
        c=HH(c,d,a,b,x[k+15],S33,0x1FA27CF8);
        b=HH(b,c,d,a,x[k+2], S34,0xC4AC5665);
        a=II(a,b,c,d,x[k+0], S41,0xF4292244);
        d=II(d,a,b,c,x[k+7], S42,0x432AFF97);
        c=II(c,d,a,b,x[k+14],S43,0xAB9423A7);
        b=II(b,c,d,a,x[k+5], S44,0xFC93A039);
        a=II(a,b,c,d,x[k+12],S41,0x655B59C3);
        d=II(d,a,b,c,x[k+3], S42,0x8F0CCC92);
        c=II(c,d,a,b,x[k+10],S43,0xFFEFF47D);
        b=II(b,c,d,a,x[k+1], S44,0x85845DD1);
        a=II(a,b,c,d,x[k+8], S41,0x6FA87E4F);
        d=II(d,a,b,c,x[k+15],S42,0xFE2CE6E0);
        c=II(c,d,a,b,x[k+6], S43,0xA3014314);
        b=II(b,c,d,a,x[k+13],S44,0x4E0811A1);
        a=II(a,b,c,d,x[k+4], S41,0xF7537E82);
        d=II(d,a,b,c,x[k+11],S42,0xBD3AF235);
        c=II(c,d,a,b,x[k+2], S43,0x2AD7D2BB);
        b=II(b,c,d,a,x[k+9], S44,0xEB86D391);
        a=AddUnsigned(a,AA);
        b=AddUnsigned(b,BB);
        c=AddUnsigned(c,CC);
        d=AddUnsigned(d,DD);
    }

    var temp = WordToHex(a)+WordToHex(b)+WordToHex(c)+WordToHex(d);

    return temp.toLowerCase();
}
