/*
Script: Accordion.js
	Contains <Accordion>

Author:
	Valerio Proietti, <http://mad4milk.net>

License:
	MIT-style license.
*/

/*
Class: Accordion
	The Accordion class creates a group of elements that are toggled when their handles are clicked. When one elements toggles in, the others toggles back.

Arguments:
	elements - required, a collection of elements the transitions will be applied to.
	togglers - required, a collection of elements, the elements handlers that will be clickable.
	options - optional, see options below, and <Fx.Base> options.

Options:
	show - integer, the Index of the element to show at start.
	display - integer, the Index of the element to show at start (with a transition). defaults to 0.
	fixedHeight - integer, if you want the elements to have a fixed height. defaults to false.
	fixedWidth - integer, if you want the elements to have a fixed width. defaults to false.
	onActive - function to execute when an element starts to show
	onBackground - function to execute when an element starts to hide
	height - boolean, will add a height transition to the accordion if true. defaults to true.
	opacity - boolean, will add an opacity transition to the accordion if true. defaults to true.
	width - boolean, will add a width transition to the accordion if true. defaults to false, css mastery is required to make this work!
	alwaysHide - boolean, will allow to hide all elements if true, instead of always keeping one element shown. defaults to false.
*/

var Accordion = Fx.Elements.extend({

	getExtended: function(){
		return {
			onActive: Class.empty,
			onBackground: Class.empty,
			display: 0,
			show: false,
			height: true,
			width: false,
			opacity: true,
			fixedHeight: false,
			fixedWidth: false,
			wait: false,
			alwaysHide: false
		};
	},

	initialize: function(togglers, elements, options){
		this.setOptions(this.getExtended(), options);
		this.previous = -1;
		if (this.options.alwaysHide) this.options.wait = true;
		if ($chk(this.options.show)){
			this.options.display = false;
			this.previous = this.options.show;
		}
		if (this.options.start){
			this.options.display = false;
			this.options.show = false;
		}
		this.togglers = $$(togglers);
		this.elements = $$(elements);
		this.togglers.each(function(tog, i){
			tog.addEvent('click', function (e) { e = new Event(e); e.stop();});						
			tog.addEvent('click', this.display.bind(this, i));
			
			
			
		}, this);
		this.elements.each(function(el, i){
			el.fullOpacity = 1;
			if (this.options.fixedWidth) el.fullWidth = this.options.fixedWidth;
			if (this.options.fixedHeight) el.fullHeight = this.options.fixedHeight;
			el.setStyle('overflow', 'hidden');
		}, this);
		this.effects = {};
		if (this.options.opacity) this.effects.opacity = 'fullOpacity';
		if (this.options.width) this.effects.width = this.options.fixedWidth ? 'fullWidth' : 'offsetWidth';
		if (this.options.height) this.effects.height = this.options.fixedHeight ? 'fullHeight' : 'scrollHeight';
		this.elements.each(function(el, i){
			if (this.options.show === i) this.fireEvent('onActive', [this.togglers[i], el]);
			else for (var fx in this.effects) el.setStyle(fx, 0);
		}, this);
		this.parent(this.elements, this.options);
		if ($chk(this.options.display)) this.display(this.options.display);
	},

	/*
	Property: display
		Shows a specific section and hides all others. Useful when triggering an accordion from outside.

	Arguments:
		index - integer, the index of the item to show.
	*/

	display: function(index){
		if ((this.timer && this.options.wait) || (index === this.previous && !this.options.alwaysHide)) return this;
		this.previous = index;
		var obj = {};
		this.elements.each(function(el, i){
			obj[i] = {};
			if ((i != index) || (this.options.alwaysHide && (el.offsetHeight > 0))){
				this.fireEvent('onBackground', [this.togglers[i], el]);
				for (var fx in this.effects) obj[i][fx] = 0;
			} else {
				this.fireEvent('onActive', [this.togglers[i], el]);
				for (var fx in this.effects) obj[i][fx] = el[this.effects[fx]];
			}
		}, this);
		
		return this.start(obj);
		
		
	},

	showThisHideOpen: function(index){return this.display(index)}

});

Fx.Accordion = Accordion;




/*******************************************************/


//var SITE_ROOT = 'http://andi/tender/';
var SITE_ROOT = 'http://www.tender.ro/';

ie = 0;
var myAccordion = null;
var  myAccordion2 = null;

if(window.ActiveXObject)
	ie = 1;

function preload_images()
{ 
  var args = document.getElementsByTagName('img');
  document.imageArray = new Array(args.length);
  for(var i=0; i<args.length; i++)
  {
    document.imageArray[i] = new Image;
    document.imageArray[i].src = args[i];
  }
}

try {
  document.execCommand("BackgroundImageCache", false, true);
} catch(err) {}

function addLoadEvent(func)
	{
		var oldonload = window.onload;
		if (typeof window.onload != 'function')
			{
				window.onload = func;
			} 
		else
			{
				window.onload = function()
					{
						oldonload();
						func();
					}
			}
 } 
 
 function externalLinks() {
 if (!document.getElementsByTagName) return;
 var anchors = document.getElementsByTagName("a");
 for (var i=0; i<anchors.length; i++) {
   var anchor = anchors[i];
   if (anchor.getAttribute("href") &&
       anchor.getAttribute("rel") == "external")
     anchor.target = "_blank";
 }
} 
 
  function remove_map ()
  {  var tender_map_nav = id('tender_map_nav');
	  if(!tender_map_nav) {return};
	  id('container').removeChild(tender_map_nav);
	  
   }  
 
 var harta_array = ['industrie_petroliera','industrie_energetica','prospectiuni_geologice','constructii_industriale_si_civile','constructii_si_reabilitari_de_drumuri','dezvoltare_imobiliara', 'agricultura', 'it_and_c','turism'];
 
function id(id)
	{
		var elem = document.getElementById(id);
		return elem;
	} 
 
function tender_map_sidebar ()
  {
	var membri_sidebar = id('membri_sidebar');
	if(!membri_sidebar){ return false; }
	else
	{ 
		var links = membri_sidebar.getElementsByTagName('a');
		for(i=0; i<links.length; i++)
			{
				links[i].onclick = function()
					{
						this_href = this.getAttribute('href');
						this_rel = this.getAttribute('rel'); 
						remove_map ();
						myAccordion = null;
						sec_nav();
						var sub_nav_selected = $$(' #sec_menu a.selected');
														if(sub_nav_selected[0])
														{
														 var sub_nav_ul = sub_nav_selected[0].parentNode.getElementsByTagName('ul')[0];
														 var linkReset = new Fx.Style(sub_nav_selected[0], 'border-top-width',{transition: Fx.Transitions.quadOut});
														 
														var ulReset = new Fx.Style(sub_nav_ul, 'height',{transition: Fx.Transitions.quadOut,
																				   onStart: function ()
																				   {  
																					 linkReset.start(8);
																					 sub_nav_selected[0].getFirst().setStyle('top','0');
																					 sub_nav_selected[0].removeClass('selected');
																					}
																				   });
														ulReset.start(0);
								
								
														}

						
						                    // start map menu adjust
													   var sec_menu_lks = $$('#sec_menu a.sub');
													   for(w=0; w<harta_array.length; w++)
													    {
														  if(this.className==harta_array[w])
														  {   
															 var real_sec_menu_lks = sec_menu_lks[w].parentNode.getElementsByTagName('ul')[0].getElementsByTagName('a');
															 var this_text = this.innerHTML;
															  
															  var abAdjust = new Fx.Style(sec_menu_lks[w], 'border-top-width',{transition: Fx.Transitions.quadOut});
															  
															  var ulAdjust = new Fx.Style(sec_menu_lks[w].parentNode.getElementsByTagName('ul')[0], 'height',{transition: Fx.Transitions.quadOut,
																onStart: function () {
																	
																	
																	abAdjust.start(13);
																	sec_menu_lks[w].addClass('selected');
																	sec_menu_lks[w].getFirst().setStyle('top','-51px');
																	for(q=0; q<real_sec_menu_lks.length; q++)
																	 {
																		if(this_text==real_sec_menu_lks[q].innerHTML)
																		{real_sec_menu_lks[q].style.textDecoration = 'underline';}
																	 }
																	},
																 onComplete: function () {
																	if(this_href != '#')
															{   
																url = this_href;
																
																if(url.indexOf("http")!=-1)
																	{
																		url = url.substr(SITE_ROOT.length, url.length);
																	}
																	
																load_content(this_rel, SITE_ROOT + '_ajax/' + url);
															}
															
																									 }	
																								});
																							  ulAdjust.start(51); 
								
								
																							
																							 // return false;
																						  }
														}
														// end map menu adjust
						                             myAccordion2 = null;
						                               main_nav();
														var sel_main_lk = $$('#main_menu .selected_link');
														if(sel_main_lk.length>0)
														{sel_main_lk[0].removeClass('selected_link')}
						
						
						
						
						
						
						
					
						return false
					}
			}
	}
  }	


function news_link()
{
	linku = id('more_news');
	if(!linku) return;
	linku.onclick = function()
		{
			href = this.getAttribute('href');
			if(href.indexOf("http")!=-1)
				{
					href = href.substr(SITE_ROOT.length, href.length);
				}
			url = '_ajax/' + href;
			load_content('info_sidebar', SITE_ROOT + url);
			return false;			
		}
}

function select_nav(linku)
	{
		links = id('sec_menu').getElementsByTagName('a');
		for(i=0;i<links.length;i++)
			{
				if(links[i].className != 'sub')
					{
						links[i].className = '';
					}
			}
		linku.className = 'selected_nav';
	} 

function contact(form)
	{
		var poststr = "nume=" + id('nume').value;
				poststr += "&email=" + id('email').value;
				poststr += "&mesaj=" + id('mesaj').value;
				poststr += "&companie=" + id('companie').value;
		load_content('info_sidebar', SITE_ROOT + '_ajax/ro/contacte/', poststr);
	}

function cariere(form)
	{
		var poststr = "nume=" + id('nume').value;
				poststr += "&email=" + id('email').value;
				poststr += "&telefon=" + id('telefon').value;
//				poststr += "&companie=" + id('companie').value;
		load_content('info_sidebar', SITE_ROOT + '_ajax/ro/cariere/', poststr);
	}
	
 	

function sec_nav ()
	{ 
		var stretchers = $$('#sec_menu ul');
		
		stretchers.each(function(item)
			{
				item.setStyles({'height': '0', 'overflow': 'hidden', 'display': 'block'});
			});
		
		var togglers = $$('a.sub');
		var sec_menu = id('sec_menu');
		
		var links = sec_menu.getElementsByTagName('a');
		for(i=0; i<links.length; i++)
			{
				
				links[i].onclick = function()
					{   
					    
						if(this.getAttribute('href') != '#')
							{   
							    for(z=0; z<links.length; z++)
								{links[z].style.textDecoration = 'none';}
							    this.style.textDecoration = 'underline';
								url = this.getAttribute('href');

								if(url.indexOf("http")!=-1)
									url = url.substr(SITE_ROOT.length, url.length);

								load_content(this.getAttribute('rel'), SITE_ROOT + '_ajax/' + url);
								myAccordion2 = null;
								main_nav();
								
								
								var sel_main_lk = $$('#main_menu .selected_link');
								if(sel_main_lk.length>0)
								{sel_main_lk[0].removeClass('selected_link')} 
								
							}
						
						return false;
					}
			}
		
		myAccordion = new Fx.Accordion(togglers, stretchers, { opacity: false, start: false, transition: Fx.Transitions.quadOut,
			'start' : 'all-closed',
			
			onActive: function(toggler, i)
				{
					toggler.addClass('selected');
					toggler.parentNode.style.zIndex = '100';
					toggler.setStyle('border-top-width','13px');
					toggler.getFirst().setStyle('top','-51px');
					
					
					
				},
		
			onBackground: function(toggler, i)
				{
					toggler.removeClass('selected');
					toggler.parentNode.style.zIndex = '1';
					toggler.setStyle('border-top-width','8px');
					toggler.getFirst().setStyle('top','0');
					
				}
			
			});
		
		

		togglers.each(function(div)
			{
				var mouseFxs = new Fx.Styles(div, {duration: 250, wait: false});
				div.addEvents(
					{
						'mouseover': function()
							{
								if (!div.hasClass('selected'))
									{
										mouseFxs.start({'border-top-width': 13});
										this.getFirst().setStyle('top','-51px');
									}
							},

						'mouseout': function()
							{
								if (!div.hasClass('selected'))
									{
										mouseFxs.start({'border-top-width': 8});
										this.getFirst().setStyle('top','0');
									}
							}
					});
			});
	};
	
	
function main_nav ()
	{
		var togglers2  = $$('a.main');
		var submenus  = $$('a.main_sub');
		var stretchers2 = $$('#main_menu ul');
		
		stretchers2.each(function(item){
			item.setStyles({'height': '0', 'overflow': 'hidden', 'display': 'block', 'padding': '0'});
		});
		
		 myAccordion2 = new Fx.Accordion(togglers2, stretchers2, { opacity: false, start: false, transition: Fx.Transitions.quadOut, 'start' : 'all-closed' }); 	
		
		var href;
		href_array = new Array();

		for(i=0; i<submenus.length; i++)
			{		
				/*	rel = submenus[i].getAttribute('rel');	

	  			if(ie)
					{
						href_array[rel] = submenus[i].getAttribute('href');
						href_array[rel] = href_array[rel].substr(SITE_ROOT.length, href_array[rel].length);
						submenus[i].onmouseover = function ()
						{
							if(href_array[this.getAttribute('rel')] && href_array[this.getAttribute('rel')] != '#')
								this.setAttribute('href', href_array[this.getAttribute('rel')]);
							return;
						}
					}
					
					*/
					submenus[i].onclick = function ()
					{   
						
						remove_map();
						
						
						for(x=0; x<submenus.length; x++)
							{
								submenus[x].removeClass('selected_link');
							}

						href = this.getAttribute('href');
						
						if(href.indexOf("http")!=-1)
								{	
								href = href.substr(SITE_ROOT.length, href.length);
								 
								}
					
					
						
							
						if(this.nextSibling) { this.parentNode.className == 'select'; }
						this.addClass('selected_link');
						
						if(href != '#')
							{
								
								url = '_ajax/' + href;
								
								
								myAccordion = null;
								sec_nav();
								var sub_nav_selected = $$(' #sec_menu a.selected');
								if(sub_nav_selected[0])
								{
								 var sub_nav_ul = sub_nav_selected[0].parentNode.getElementsByTagName('ul')[0];
								 var linkReset = new Fx.Style(sub_nav_selected[0], 'border-top-width',{transition: Fx.Transitions.quadOut});
		
								var ulReset = new Fx.Style(sub_nav_ul, 'height',{transition: Fx.Transitions.quadOut,
														   onStart: function ()
														   { 
															 linkReset.start(8);
															 sub_nav_selected[0].getFirst().setStyle('top','0');
															 sub_nav_selected[0].removeClass('selected');
															},
														   onComplete: function () 
														   {   
															   load_content('info_sidebar', url);
															    
														   }
														   });
								ulReset.start(0);
		
								}
								// end reset second menu
								
								else {load_content('info_sidebar', url); }
	                           
							}
						return false;
					}
			}

		
		for(i=0; i<togglers2.length; i++)
			{
				
				

					togglers2[i].onclick = function ()
					{
						
						for(x=0; x<togglers2.length; x++)
							{
								togglers2[x].removeClass('selected_link');
							}

						href = this.getAttribute('href');
						if(href.indexOf("http")!=-1)
									href = href.substr(SITE_ROOT.length, href.length);
						
						

						if(this.nextSibling) { this.parentNode.className == 'select'; }
						this.addClass('selected_link');
					
						if(href != '#' && href != SITE_ROOT + '#')
							{
								
								url = '_ajax/' + href;
							
								// start reset second menu
								var sub_nav_selected = $$(' #sec_menu a.selected');
								if(sub_nav_selected[0])
								{
								 var sub_nav_ul = sub_nav_selected[0].parentNode.getElementsByTagName('ul')[0];
								 var linkReset = new Fx.Style(sub_nav_selected[0], 'border-top-width',{transition: Fx.Transitions.quadOut});
		                         
								var ulReset = new Fx.Style(sub_nav_ul, 'height',{transition: Fx.Transitions.quadOut,
														   onStart: function ()
														   {
															 linkReset.start(8);
															 sub_nav_selected[0].getFirst().setStyle('top','0');
															 sub_nav_selected[0].removeClass('selected');
															},
														   onComplete: function () 
														     {
															   load_content('info_sidebar', url);
															   sec_nav();
															  
														     }
														   });
								ulReset.start(0);
		
		
								}
								// end reset second menu
						        
								else {load_content('info_sidebar', url); }
								
								
								
										
							}
						return false;
					}
			}
	}

function scroller ()
	{
		var masca = id('masca');
		if(masca)	{	myScroll = new ScrollObj(6, 33, 215, "track", "up", "down", "drag", "masca", "continut"); }
		var masca2 = id('masca2');
	  if(masca2) { myScroll = new ScrollObj(6, 33, 215, "track2", "up2", "down2", "drag2", "masca2", "continut2"); } 
		var masca3 = id('masca3');
		if(masca3) { myScroll = new ScrollObj(6, 33, 215, "track3", "up3", "down3", "drag3", "masca3", "continut3"); }  
		var masca4 = id('masca4');
		if(masca4) { myScroll = new ScrollObj(6, 33, 238, "track4", "up4", "down4", "drag4", "masca4", "continut"); }    
	}
	
	
function proiect_nav ()
	{
		var meniu_proiect = id('meniu_proiect');
		if(!meniu_proiect) {return;}
		var div_scroll = $$('div.scroll');
		var proiect_links = meniu_proiect.getElementsByTagName('a');
		
		for(i=0; i<proiect_links.length; i++)
			{
				proiect_links[i].onclick = function ()
					{
						for(x=0; x<div_scroll.length; x++)
							{
								proiect_links[x].className = '';
								div_scroll[x].style.zIndex = '1';
							}

						var rel = this.getAttribute('rel');
						id(rel).style.zIndex = '100';
						this.className = 'selectat';
						return false;
					}
			}
	}
	
function tender_map()
	{
		var tender_map_nav = id('tender_map_nav');
		if(!tender_map_nav) {return};
		var tender_map =  id('tender_map');
		var unique_map = $$('.tender_map_js');
	    tender_map.removeChild(tender_map_nav);
		var container = id('container');
	    if(unique_map.length<1)
		{
		
		container.appendChild(tender_map_nav);
		tender_map_nav.className = 'tender_map_js';
		tender_map_nav.style.display = 'block'; }
  
		var tender_map_lis = tender_map_nav.getElementsByTagName('li');
		for (i=0; i<tender_map_lis.length; i++)
			{
				tender_map_lis[i].onmouseover = function ()
					{
						if(this.getElementsByTagName('ul').length>0)
							{
								this.getElementsByTagName('ul')[0].style.display = 'block';
								this.getElementsByTagName('a')[0].className = 'on';
								links = this.getElementsByTagName('a');
								for(i=0; i<links.length; i++)
									{
										links[i].onclick = function()
											{
												if(this.getAttribute('rel') && this.getAttribute('href')!='#')
													{   
													   url = this.getAttribute('href');
													   rel = this.getAttribute('rel'); 
													  myAccordion = null;
													   sec_nav();
													   var sub_nav_selected = $$(' #sec_menu a.selected');
														if(sub_nav_selected[0])
														{
														 var sub_nav_ul = sub_nav_selected[0].parentNode.getElementsByTagName('ul')[0];
														 var linkReset = new Fx.Style(sub_nav_selected[0], 'border-top-width',{transition: Fx.Transitions.quadOut});
														 
														var ulReset = new Fx.Style(sub_nav_ul, 'height',{transition: Fx.Transitions.quadOut,
																				   onStart: function ()
																				   {  
																					 linkReset.start(8);
																					 sub_nav_selected[0].getFirst().setStyle('top','0');
																					 sub_nav_selected[0].removeClass('selected');
																					}
																				   });
														ulReset.start(0);
								
								
														}
													

													   // start map menu adjust
													   var sec_menu_lks = $$('#sec_menu a.sub');
													   for(w=0; w<harta_array.length; w++)
													    {
														  if(this.className==harta_array[w])
														  {   
															 var real_sec_menu_lks = sec_menu_lks[w].parentNode.getElementsByTagName('ul')[0].getElementsByTagName('a');
															 var this_text = this.innerHTML;
															  
															  var abAdjust = new Fx.Style(sec_menu_lks[w], 'border-top-width',{transition: Fx.Transitions.quadOut});
															  
															  var ulAdjust = new Fx.Style(sec_menu_lks[w].parentNode.getElementsByTagName('ul')[0], 'height',{transition: Fx.Transitions.quadOut,
																onStart: function () {
																	abAdjust.start(13);
																	sec_menu_lks[w].addClass('selected');
																	sec_menu_lks[w].getFirst().setStyle('top','-51px');
																	for(q=0; q<real_sec_menu_lks.length; q++)
																	 {
																		if(this_text==real_sec_menu_lks[q].innerHTML)
																		{real_sec_menu_lks[q].style.textDecoration = 'underline';}
																	 }
																	},
																 onComplete: function () {
																	 if(url.indexOf("http")!=-1)
																	{
																		url = url.substr(SITE_ROOT.length, url.length);
																	}
																load_content(rel, SITE_ROOT + '_ajax/' + url);
																tender_map_nav.style.display = 'none';
																//main_nav();
																var sel_main_lk = $$('#main_menu .selected_link');
																if(sel_main_lk.length>0)
																{sel_main_lk[0].removeClass('selected_link')}
																	 }	
																});
                                                              ulAdjust.start(51); 


															
															 // return false;
														  }
														}
														// end map menu adjust
														
														
														
														
													}
												return false;								
											}
									}
								this.style.zIndex = '100000';
							}
					}
		 
				tender_map_lis[i].onmouseout = function ()
					{
						if(this.getElementsByTagName('ul').length>0)
							{
								this.getElementsByTagName('ul')[0].style.display = 'none';
								this.getElementsByTagName('a')[0].className = '';
								this.style.zIndex = '1';
							}
					}
			}
	}
	
  

addLoadEvent(externalLinks);
addLoadEvent(preload_images);
addLoadEvent(news_link);
addLoadEvent(tender_map);

addLoadEvent(sec_nav);
addLoadEvent(main_nav);
addLoadEvent(scroller);
addLoadEvent(proiect_nav);

