// C 2008 SuperSite SRL
// Axiucit Alexandr

if(!tmp)var tmp='';

// new
function iin(obj){
	var str='';
	for(var i in obj){
		str+=i+' = '+obj[i]+'\n';
	}
	return str;
}
function absPosition(obj) { 
   var x = y = 0;
   while(obj) {
         x += obj.offsetLeft;
         y += obj.offsetTop;
         obj = obj.offsetParent;
   }
   return {x:x, y:y};
}
function extend(o, e) {
	for(var i in e){
		o[i] = e[i];
	}
	return o;
}
	
////////////////////

/* UL mode - aaMenu.init(aam.Index);
<ul class="aamIndex" style="display:none;">
	<li><a href="#1">Menu_1</a>
		<div>
			<ul>
				<li><a href="#1">Menu_1_1</a>
					  <div>
						<ul>
							<li><a href="#1">Menu_1_1_1</a></li>
							<li><a href="#1">Menu_1_1_2</a></li>
							<li><a href="#1">Menu_1_1_3</a></li>
						</ul>
					</div>
				</li>
			</ul>
		</div>
	</li>
</ul>
*/


var urlref = '/';
// aaMenu config oject
var aam = {
	
	Index : {
		//selector : 'aamIndex',
		//selector_type : 'class',
		selector : 'aamenu0',
		selector_type : 'id',
		css : {
			main_horizontal : true,
			menu_delay : 150,
			sub_image : urlref+"img"+tmp+"/design/arrow_sub.gif",
			sub_image_hover : urlref+"img"+tmp+"/design/arrow_sub.gif",
			sub_image_width : "10",
			sub_image_height : "13",
			sub_image_offx : "190",
			sub_image_offy : "4",
			//Main Menu
			main_container : "",
			main_item : "color:#073885; text-align:center; font-size:12px; font-weight:bold; text-decoration:none; padding:4px 7px 5px 10px; border-right:1px solid #E4E7F5;",
			main_item_hover : "color:#FFFFFF; background-color:#3E4F6B;",
			main_item_active : "background-color:#324158;",
			//Sub Menu
			sub_list_container : "background-color:#3E4F6B; width:200px; padding:5px; border:1px solid #324158;",
			sub_container : "background-color:#3E4F6B;",
			sub_item : "color:#FFFFFF; text-align:left; font-size:13px; font-weight:normal; text-decoration:none; padding:2px 5px;",
			sub_item_hover : "background-color:#50688C; color:#FFFFFF;",
			sub_item_active : "background-color2:#F66; color2:#FF0;",
			end : ''
		}
	},
	
	Index2 : {
		//selector : 'aamIndex',
		//selector_type : 'class',
		selector : 'aamenu2',
		selector_type : 'id',
		css : {
			main_horizontal : true,
			menu_delay : 150,
			sub_image : urlref+"img"+tmp+"/design/arrow_sub.gif",
			sub_image_hover : urlref+"img"+tmp+"/design/arrow_sub.gif",
			sub_image_width : "10",
			sub_image_height : "13",
			sub_image_offx : "190",
			sub_image_offy : "4",
			//Main Menu
			main_container : "",
			main_item : "color:#FFF; text-align:center; font-size:12px; font-weight:bold; text-decoration:none; padding:4px 7px 5px 10px; border-right:1px solid #4A5660;",
			main_item_hover : "color:#FFFFFF; background-color:#9A0000;",
			main_item_active : "background-color:#9A0000;",
			//Sub Menu
			sub_list_container : "background-color:#9A0000; width:200px; padding:5px; border:1px solid #7B0000;",
			sub_container : "background-color:#9A0000;",
			sub_item : "color:#FFFFFF; text-align:left; font-size:13px; font-weight:normal; text-decoration:none; padding:2px 5px;",
			sub_item_hover : "background-color:#BF0000; color:#FFFFFF;",
			sub_item_active : "background-color2:#F66; color2:#FF0;",
			end : ''
		}
	},
	
	All : {
		//selector : 'aamAll',
		//selector_type : 'id',
		selector : 'aamenu1',
		selector_type : 'id',
		css : {
			main_horizontal : true,
			menu_delay : 150,
			sub_image : urlref+"img"+tmp+"/design/arrow_sub.gif",
			sub_image_hover : urlref+"img"+tmp+"/design/arrow_sub.gif",
			sub_image_width : "10",
			sub_image_height : "13",
			sub_image_offx : "190",
			sub_image_offy : "4",
			//Main Menu
			main_container : "",
			main_item : "color:#FFFFFF; text-align:center; font-size:13px; font-weight:bold; text-decoration:none; padding:5px 12px 5px 12px; margin-left:1px; background-image:url("+urlref+"img"+tmp+"/design/mainbar_bg.gif);",
			main_item_hover : "color:#FFFFFF; background:none; background-color:#3E4F6B;",
			main_item_active : "background-color:#324158;",
			//Sub Menu
			sub_list_container : "background-color:#3E4F6B; width:200px; left2:202px; padding:5px; border:1px solid #324158; z-index:100;",
			sub_container : "background-color:#3E4F6B; border2:1px solid #50688C;",
			sub_item : "color:#FFFFFF; background-color2:#50688C; text-align:left; font-size:13px; font-weight:normal; text-decoration:none; padding:2px 5px;",
			sub_item_hover : "background-color:#50688C; color:#FFFFFF;",
			sub_item_active : "",
			end : ''
		}
	},
	
	All2 : {
		//selector : 'aamAll',
		//selector_type : 'id',
		selector : 'aamenu3',
		selector_type : 'id',
		css : {
			main_horizontal : true,
			menu_delay : 150,
			sub_image : urlref+"img"+tmp+"/design/arrow_sub.gif",
			sub_image_hover : urlref+"img"+tmp+"/design/arrow_sub.gif",
			sub_image_width : "10",
			sub_image_height : "13",
			sub_image_offx : "190",
			sub_image_offy : "4",
			//Main Menu
			main_container : "margin-left2:-1px; background-color:#9A0000;",
			main_item : "color:#FFFFFF; text-align:center; font-size:13px; font-weight:bold; text-decoration:none; padding:5px 12px 6px 12px; margin-left:1px; background-image:url("+urlref+"img"+tmp+"/design/main_menu.gif);",
			main_item_hover : "color:#FFFFFF; background:none; background-color:#9A0000;",
			main_item_active : "background-color:#9A0000;",
			//Sub Menu
			sub_list_container : "background-color:#9A0000; width:200px; left2:202px; padding:5px; border:1px solid #7B0000; z-index:100;",
			sub_container : "background-color:#9A0000; border2:1px solid #50688C;",
			sub_item : "color:#FFFFFF; background-color2:#50688C; text-align:left; font-size:13px; font-weight:normal; text-decoration:none; padding:2px 5px;",
			sub_item_hover : "background-color:#BF0000; color:#FFFFFF;",
			sub_item_active : "",
			end : ''
		}
	},
	
	Bottom : {
		//selector : 'aamIndex',
		//selector_type : 'class',
		selector : 'aamBottom',
		selector_type : 'class',
		//align_x : '',
		align_y : 'top',
		css : {
			main_horizontal : true,
			menu_delay : 150,
			sub_image : urlref+"img"+tmp+"/design/arrow_sub.gif",
			sub_image_hover : urlref+"img"+tmp+"/design/arrow_sub.gif",
			sub_image_width : "10",
			sub_image_height : "13",
			sub_image_offx : "190",
			sub_image_offy : "4",
			//Main Menu
			main_container : "",
			main_item : "color:#073885; text-align:center; font-size:12px; font-weight:bold; text-decoration:none; padding:4px 7px 5px 10px; border-right:1px solid #E4E7F5;",
			main_item_hover : "color:#FFFFFF; background-color:#3E4F6B;",
			main_item_active : "background-color:#324158;",
			//Sub Menu
			sub_list_container : "background-color:#3E4F6B; width:200px; left2:-202px; padding:5px; border:1px solid #324158; z-index:100;",
			sub_container : "background-color:#3E4F6B; border2:1px solid #50688C; margin2:2px;",
			sub_item : "color:#FFFFFF; background-color2:#50688C; text-align:left; font-size:13px; font-weight:normal; text-decoration:none; padding:2px 5px;",
			sub_item_hover : "background-color:#50688C; color:#FFFFFF;",
			sub_item_active : "background-color2:#F66; color2:#FF0;",
			end : ''
		}
	}
	

}

function AAmenuinit(){
	aaMenu.init(aam.Index);
	aaMenu.init(aam.Index2);
	aaMenu.init(aam.All);
	aaMenu.init(aam.All2);
	//aaMenu.init(aam.Bottom);
}

var aaMenu = {};

//var aaMenu = new Object;
var aaMenu = {
	ua : navigator.userAgent,
	ie : window.showHelp ? true : false,
	ff : /Gecko/.test(this.ua),
	container : {},
	zindex : 1,
		
// INIT
	init : function (settings) {
		var m = this;
		var s = this.settings = settings;
		var css = this.css = s.css;
		
		
		if(s.selector_type == 'id' && m.$(s.selector)){
			m.addStyle(m.buildCSS(s));
			m.buildMenu(m.$(s.selector));
		}else{
			m.addStyle(m.buildCSS(s));
			var arr = m.getByClassName('', s.selector, 'UL');
			for(var i=0; i<arr.length; i++){
				//arr[i] = m.clearHTML(arr[i]);
				m.buildMenu(arr[i]);
			}
		}
		delete this.css;
	},
	
// GET BY ID		
	$ : function (id) {
		return document.getElementById(id) || false;
	},
	
// GET BY CLASS		
	getByClassName : function (container, className, tagName) {
		
		if(container){
			var arr = container.getElementsByTagName(tagName);
		}else{
			var arr = document.getElementsByTagName(tagName);
		}
		var res = [];
		var k=0;
		var len = arr.length;
		for(var i=0; i<len; i++){
			if(arr[i].className == className){
				res[k] = arr[i];
				k++;
			}
		}
		return res || false;
	},
	
// CSS DEFAULT
	buildCSS : function (s) {
		if(!s.css) return false;
		var css = s.css;
		if(s.selector_type == 'id')
			var selector = '#'+s.selector;
		else
			var selector = '.'+s.selector;
		var str = "";
		//if(mcss.main_horizontal == true ){
		str += selector+" { margin:0px; padding:0px; list-style:none; line-height:1em; font-size:16px;}";
		if(this.ua.indexOf("MSIE 5.01")>0){
			str += selector+" LI{white-space:nowrap; font-size:0px;}";
		}else{
			str += selector+" LI{white-space2:nowrap; height:100%; font-size:0px;}";
		}
		str += selector+" UL{margin:0px; padding:0px; list-style:none;}";
		str += selector+" IFRAME {position:absolute; left:0px; top:0px; z-index:-100; visibility:inherit;}";
		if(css.main_horizontal){
			str += selector+" .container {" + css.main_container + " float:left; position:relative;}";
		}else{
			str += selector+" .container {" + css.main_container + " position:relative; z-index:1}";
		}
		str += selector+" A.mainItem {" + css.main_item + " display:block; z-index:1}";
		str += selector+" A.mainItem:Hover {" + css.main_item_hover + " display:block;}";
		str += selector+" A.mainItemActive {" + css.main_item + css.main_item_hover + css.main_item_active + " display:block;}";
		str += selector+" A.mainItemActive:Hover {" + css.main_item + css.main_item_hover + css.main_item_active + " display:block;}";
		if(css.main_horizontal){
			str += selector+" .aaSub {" + css.sub_list_container + " position:absolute; left:0px;}";
		}else{
			str += selector+" .aaSub {" + css.sub_list_container + " position:absolute; left:99px; margin-top:-26px; z-index:1000;}";
		}
		str += selector+" .aaSub DIV{" + css.sub_list_container + " position:absolute; margin-top2:-20px;}";
		str += selector+" .aaSub LI{" + css.sub_container + "}";
		str += selector+" .aaSub A{" + css.sub_item + " display:block; width:95%;}";
		str += selector+" .aaSub A:Hover {" + css.sub_item_hover + "}";
		str += selector+" .aaSub A.ItemActive {" + css.sub_item_hover + css.sub_item_active + " }";
		str += selector+" .aaSub A.ItemActive:Hover {" + css.sub_item_hover + css.sub_item_active + " }";
		str += selector+" .aasubImg {position:absolute; left:"+ css.sub_image_offx +"px; top:"+ css.sub_image_offy +"px;}";
		
		return str;
	},
	
// Clear HTML from garbage
	clearHTML : function(container) { 
		
		var innstr = container.innerHTML;
		if(this.ff)
		while(innstr != innstr.replace(/\r+\n+\t+\s+/, ''))innstr = innstr.replace(/\r+\n+\t+\s+/, '');
		if(this.ie)
		while(innstr != innstr.replace(/> </, '><'))
		innstr = innstr.replace(/> </, '><');
		return innstr;
	},
	
// Building menu
	buildMenu : function(container) { 
		
		var arr = container.getElementsByTagName('LI');
		var level_1 = this.getSiblingArray(container, 'LI');
		var k = 0;
		var a, div, csspref='', divArr=[];
		for(i=0; i<arr.length; i++){
			var LI_obj = arr[i];
			a = null;
			div = null;
			a = LI_obj.getElementsByTagName('A')[0];
			div = divArr[i] = LI_obj.getElementsByTagName('DIV')[0];
			
			if( LI_obj == level_1[k] ){k++;
				csspref = 'main';
				a.className = csspref + "Item";
				LI_obj.className = "container";
				if(div){
					div.className = "aaSub";
				}
			}else{
				csspref = '';
				if(div){
					var newNode=document.createElement('img');
					newNode.className = "aasubImg";
					newNode.src = this.css.sub_image;
					LI_obj.appendChild(newNode);
				}
			}
			
			LI_obj.style.zIndex = this.zindex;
			LI_obj.fix = this.css.sub_image_offy;
			
			if(div){
				div.style.display = "none";
				if(this.ie)
					this.killselect(div);
			}
			
			this.addMouseEvents(LI_obj,div,a,csspref);
		}
		
		this.zindex++;
		
	// submenu arrow positioning
		/*container.style.visibility = 'hidden';
		container.style.display = '';//alert(div.parentNode.parentNode.className)
		for(var i=0; i<arr.length; i++){
			LI_obj = arr[i];
			div = null;
			if(div = divArr[i]){
				//alert('opa')
				div.visibility = 'hidden';
				div.style.display = '';
				this.fixSubImg(LI_obj.getElementsByTagName('img'), this.css);
				if(LI_obj.ifr){
					LI_obj.ifr.style.visibility = 'hidden';
					LI_obj.ifr.style.display = '';
					LI_obj.ifr.style.top = div.offsetTop;
					LI_obj.ifr.style.left = div.offsetLeft;
					LI_obj.ifr.style.width = div.offsetWidth;
					LI_obj.ifr.style.height = div.offsetHeight;
					LI_obj.ifr.style.display = 'none';
					LI_obj.ifr.style.visibility = 'visible';
				}
				//div.style.display = 'none';
				div.style.visibility = 'hidden';
			}
		}
		for(var i=0; i<arr.length; i++){
			if(div = divArr[i]){
				div.style.display = 'none';
			}
		}*/
		
		
		
		container.style.display = '';
		container.style.visibility = 'visible';
		container.parentNode.style.display = '';
		
	},
	
// Events
	fix : function(o,div,align,csspref) {
			
		this.fixSubImg(o.getElementsByTagName('img'), o.fix);
		if(o.ifr){
			o.ifr.style.display = '';
			o.ifr.style.top = div.offsetTop;
			o.ifr.style.left = div.offsetLeft;
			o.ifr.style.width = div.offsetWidth;
			o.ifr.style.height = div.offsetHeight;
		}
		o.fix = null;
		
		//
		if(div)
		switch (align.y){
			case 'top' : 
				var pad=0;
				if(csspref=='main'){pad = o.offsetHeight;}
				div.style.marginTop = -(pad + div.offsetHeight)+'px';
				if(o.ifr)o.ifr.style.marginTop = -(pad + div.offsetHeight)+'px';
			break;
			case 'bottom' : break;
			default : 
				if(csspref!='main'){
					div.style.marginTop = -o.offsetHeight+'px';
					if(o.ifr)o.ifr.style.marginTop = -o.offsetHeight+'px';
				}
			break;
		}
		
		if(div)
		switch (align.x){
			case 'left' : 
				var pad=0;
				var padx=5;
				if(csspref=='main'){pad = o.offsetWidth;
					div.style.left = -(-pad + div.offsetWidth)+'px';
					if(o.ifr)o.ifr.style.left = -(-pad + div.offsetWidth)+'px';
				}else{
					div.style.left = -(div.offsetWidth-padx)+'px';
					if(o.ifr)o.ifr.style.left = -(div.offsetWidth-padx)+'px';
				}
			break;
			case 'right' : break;
			default : 
				if(csspref!='main'){
					var padx=7;
					div.style.left = (div.offsetWidth-padx)+'px';
					if(o.ifr)o.ifr.style.left = (div.offsetWidth-padx)+'px';
				}
			break;
		}
		
	},

// Events
	addMouseEvents : function(o,div,a,csspref) {
		var m = this;
		var delay = m.css.menu_delay;
		var stat;
		var tover;
		var tout;
		var align = {};
		align.x = m.settings.align_x;
		align.y = m.settings.align_y;
		//alert(align.x)
		
	// menu over function
		o.onmouseover = function() {//document.getElementById('gg').innerHTML+=1+' '
			clearTimeout(tout);
			tover = setTimeout(function(){
				if(!stat){
					a.className = csspref + "ItemActive";
					m.show(div)
					stat = 1;
					if(o.className == 'container' && m.zindex > o.style.zIndex){o.style.zIndex = ++m.zindex;}
					if(o.ifr)
						o.ifr.style.display = '';
					o.fix ? m.fix(o,div,align,csspref) : false;
				}
			},delay);
		}
	
	// menu out function
		o.onmouseout = function() {//document.getElementById('gg').innerHTML+=0+' '
			clearTimeout(tover);
			tout = setTimeout(function(){
				if(stat){
					a.className = csspref + "Item";
					m.hide(div)
					stat = 0;
					if(o.ifr)
						o.ifr.style.display = 'none';
				}
			},delay);
		}
		
	},
	
// menu show function
	show : function(el) {
		if(el){
			el.style.visibility = 'visible';
			el.style.display = '';
			return el;
		}
		return false;
	},
	
// menu hide function
	hide : function(el) {
		if(el){
			el.style.visibility = 'hidden';
			el.style.display = 'none';
			return el;
		}
		return false;
	},
	
// add menu style
	addStyle : function(str) {	
	
		var css_style = "";
		css_style += "<style type=\"text/css\">";
		css_style += str;
		css_style += "</style>";
		document.write(css_style);
	},

// support functions
	killselect : function(obj) {
		/*newNode=document.createElement('IFRAME');
		newNode.style.display = 'none';
		obj.parentNode.appendChild(newNode);
		obj.parentNode.ifr = this.getSibling(obj.parentNode, 'IFRAME');*/
	},
	
	getSibling : function(obj, tagName) {
		var temp = obj.childNodes;
		for(t=0;t<temp.length;t++){
			if((temp[t].nodeType != 3)&&(temp[t].nodeName == tagName)){
				return temp[t]; break;
			}
		}
		return false;
	},
	
	getSiblingArray : function(obj, tagName) {
		var temp = obj.childNodes;
		var arr = new Array;
		var count = 0;
		for(i=0;i<temp.length;i++){
			if((temp[i].nodeType != 3)&&(temp[i].nodeName == tagName)){
				arr[count] = temp[i];
				count++;
			}
		}
		if(arr.length){
			return arr;
		}else{
			return false;
		}
	},
	
	fixSubImg : function(temp, css) {
		for(var i=0; i<temp.length; i++){
			//temp[i].style.top = temp[i].parentNode.offsetTop -(-this.css.sub_image_offy)+"px";
			temp[i].style.top = temp[i].parentNode.offsetTop -(-css)+"px";
		}
	},
	
	end : function() {
		alert('end');
	}
	
	
}


		
/////////////////////////////



