Array.prototype.getMax = function()
{
	var max = Number.MIN_VALUE, v, len = this.length, i = 0;
	for (; i < len; ++i)
	if (typeof (v = this[i]) == 'number')
		max = Math.max(max, v);
		return max;
}
Array.prototype.getMin = function()
{
	var min = Number.MAX_VALUE, v, len = this.length, i = 0;
	for (; i < len; ++i)
	if (typeof (v = this[i]) == 'number')
		min = Math.min(min, v);
		return min;
}
$(function() {
	// zebra tables
	$('table:not(.no-zebra) tbody').each(function(){
		$(this).find('tr:even').addClass('highlighted');
	})
	// end zebra tables

	// homepage box fix
	if($('body').hasClass('homepage')){
		$("#primaryboxes div.box").each(function(i,e){
			$(e).addClass('pos_'+(i+1));
			if ((i+1) == $("#primaryboxes div.box").size()){
				$(e).addClass('last');
			}
		});
	}
	// end - homepage
	
	//	boxes equal height
	$('.boxes .double').each(function(){
		var Double = $(this);
		var heights = new Array();
		var Boxes = Double.find('.box');
		Boxes.each(function(){
			heights.push($(this).find('.boxPresentation').height());
		})
		var BPMaxHeight = heights.getMax();
		Boxes.each(function(){
			$(this).find('.boxPresentation').height(BPMaxHeight);
		})
	});

	//	end boxes equal height

	// ie7 'indexof' alternative
	gpxGlobal = {};
	gpxGlobal.indexOf = function(needle, haystack){
		haystack = haystack ? haystack : [];
		for(var i = 0;i<haystack.length;i++){
			if (haystack[i]==needle){
				var pos = i;
				break
			}
		}
		return pos ? pos : -1;
	}

	
	articleFunctions = {}
	articleFunctions.destinationImage = "";
	
	
	/*
	articleFunctions.bodyChildren = $('#primary div.articleBody').children();
	articleFunctions.hashedNumber = document.location.hash.replace("#","");
	articleFunctions.showTab = function(nr){
		var counter = -1;
		$("ul.extraMenu li span").removeClass("selected");
		$("ul.extraMenu li span.submenuItem:eq("+nr+")").addClass("selected");
		for (var i=0;i<articleFunctions.bodyChildren.length;i++){
			counter += $(articleFunctions.bodyChildren[i]).hasClass("page_break") ? 1 : 0;
			if (counter == nr){
				$(articleFunctions.bodyChildren[i]).show();
			}else{
				$(articleFunctions.bodyChildren[i]).hide();
			}
		} 
	}
	// article submenu
	if ($('body').hasClass('article') && $("ul.extraMenu").size()){
		articleFunctions.showTab(articleFunctions.hashedNumber.length != 0 ? articleFunctions.hashedNumber-1 : 0);
		$("ul.extraMenu a").each(function(i,e){
			$(e).click(function(e){
				articleFunctions.showTab(i);
			});
		});
	}
	*/


	// submenu dropdown
	if ($("#menu div.submenu").size()){
		$("div.dropmenu ul.subdomains").hide();
		
		$("#menu div.mainmenu ul li a").hover(function(){
			$("div.upperSubmenu ul.subdomains").hide();
		});
		
		$("#menu div.mainmenu ul li.highlighted a").each(function(i,e){
			$(e).hover(function(){
				var id = $(this).attr("ref")
				var popup = $("div.upperSubmenu ul.drop"+id);
				$("div.upperSubmenu ul.subdomains").hide();
				if (popup){
					$(popup).show();
					var poz = $(this).parent().attr('offsetLeft');
					poz += $(this).parent().hasClass('pos_1') ? 10 : 0
					$('div.upperSubmenu').css("left",poz);
				}
			});
		
		});
		
		$('div.upperSubmenu ul').hover(function(){},function(){
			$("div.upperSubmenu ul.subdomains").hide();
		})
		
		$("#menu div.submenu ul.submenu a").each(function(i,e){
			$(e).hover(function(){
				var id = $(this).attr("ref")
				var popup = $("div.dropmenu ul.drop"+id);
				$("div.dropmenu ul.subdomains").hide();
				if (popup){
					$(popup).show();
					$('div.dropmenu').css("left",$(this).parent().attr('offsetLeft'));
				}
			});
		});

		$('div.dropmenu ul').hover(function(){},function(){
			$("div.dropmenu ul.subdomains").hide();
		})

		$('div.mainmenu').hover(function(){
			$("div.dropmenu ul.subdomains").hide();
		},function(){})

		if($('#menu ul.subdomains').size()){
			$('#logo,#main,#footer').hover(function(){
				$('#menu ul.subdomains').hide();
			},function(){});
		}


	}

	// homepage center slideshow 
	homepageSlideshow = {};
	homepageSlideshow.container = $('#content #primarylinks');
	homepageSlideshow.position = 0;
	homepageSlideshow.maxposition = $(homepageSlideshow.container).children().length;
	homepageSlideshow.allowClick = true;
	homepageSlideshow.leftB = $("#primary div.slideShowControls span.left");
	homepageSlideshow.rightB = $("#primary div.slideShowControls span.right");
	
	if ($('body').hasClass('homepage') && $("#primary div.slideShowControls").size()){
		$("#primary div.slideShowControls span a").click(function(e){
			if (homepageSlideshow.allowClick){
				homepageSlideshow.allowClick = false;
				homepageSlideshow.position = ($(this).attr('ref') == 'left') ? ((homepageSlideshow.position <0) ? homepageSlideshow.position+1 : homepageSlideshow.position ) : ((homepageSlideshow.position > 3-homepageSlideshow.maxposition) ? homepageSlideshow.position-1 : homepageSlideshow.position)
				switch(true){
					case homepageSlideshow.position == 0:	
						homepageSlideshow.leftB.addClass('hidden');
						homepageSlideshow.rightB.removeClass('hidden');
						break;
					case homepageSlideshow.position == (3-homepageSlideshow.maxposition):
						homepageSlideshow.rightB.addClass('hidden');
						homepageSlideshow.leftB.removeClass('hidden');
						break;
					default:
						homepageSlideshow.rightB.removeClass('hidden');
						homepageSlideshow.leftB.removeClass('hidden');
						break;
				}
				$(homepageSlideshow.container).animate({ left: (homepageSlideshow.position*305)}, 1000,  function(){homepageSlideshow.allowClick = true;});
			}	
			e.preventDefault();
		});
	}

	// searchform behaviour
	searchObj = {};
	searchObj.button = $('#searchForm #src-f-searchstring');
	searchObj.defaultValue = $(searchObj.button).val();
	searchObj.currValue = searchObj.defaultValue
	$(searchObj.button).focus(function(){
		searchObj.currValue = $(this).val();
		$(this).val(searchObj.currValue != searchObj.defaultValue && searchObj.currValue != "" ? searchObj.currValue : "");
	});
	$(searchObj.button).blur(function(){
		searchObj.currValue = $(this).val();
		$(this).val(searchObj.currValue != searchObj.defaultValue && searchObj.currValue != "" ? searchObj.currValue : searchObj.defaultValue);
	});
	// end searchform behaviour


	// slideshow by redecs	
	$('div.banner-slide').each(function() {
		var slidesCount = 0;
		var lastSlide = null;
		var enableAutomaticSlide = true;
		var animationInProgress = false;
		var container =  this;
		var slideDuration = 6;//seconds

		$(this).children('div').each(function(i, currentSlide) {
			slidesCount++;
			lastSlide = 'slide'+slidesCount;
			$(this).addClass('slide'+slidesCount);
			if(i == 0) {
				$(this).addClass('current');
			}
			else if(i > 0) {
				$(this).hide();
			}
		});

		if(slidesCount > 1) {
			var slideTimer
			var nav = document.createElement('div');
			nav.className = 'nav';
			var a = document.createElement('a');
			a.innerHTML = '&nbsp;';
			a.className = 'prev';
			a.onclick = function(e) {
				if(!animationInProgress) {
					var currentSlide = parseInt($(container).find('div.nav > span.current').text());
					var nextSlide = (currentSlide - 1) >= 1 ? currentSlide - 1 : slidesCount;
					changeSlide(currentSlide, nextSlide);
				}
				e.stopPropagation();
				return false;
			};
			nav.appendChild(a);
			var span = document.createElement('span');
			span.className = 'current';
			span.innerHTML = '1';
			nav.appendChild(span);
			span = document.createElement('span');
			span.className = 'separator';
			span.innerHTML = '/';
			nav.appendChild(span);
			span = document.createElement('span');
			span.className = 'slides';
			span.innerHTML = slidesCount;
			nav.appendChild(span);
			span = null;
			a = document.createElement('a');
			a.innerHTML = '&nbsp;';
			a.className = 'next';
			a.onclick = function(e) {
				if(!animationInProgress) {
					var currentSlide = parseInt($(container).find('div.nav > span.current').text());
					var nextSlide = (currentSlide + 1) <= slidesCount ? currentSlide + 1 : 1;
					changeSlide(currentSlide, nextSlide);
					clearInterval(slideTimer);
				}
				e.stopPropagation();
				return false;
			};
			nav.appendChild(a);
			a = null;
			$(this).append(nav);
			nav = null;
			fader = document.createElement('div');
			fader.className = 'fader';
			fader.innerHTML = "&nbsp;"
			$(this).append(fader);
			fader = null;
		}
		$(this).children('div.nav').children('span').hide();

		var changeSlide = function(oldSlide, newSlide) {
			animationInProgress = true;
			$(container).find('div.slide'+oldSlide).removeClass('current').fadeOut(500, function() {
				$(container).find('div.slide'+newSlide).addClass('current').fadeIn(250, function() {
					animationInProgress = false;
				});
			});
			$(container).find('div.nav > span.current').text(newSlide);
		}

		if($(container).hasClass('automatic-slide')) {
			var slideShow = function() {
				if(enableAutomaticSlide) {
					slideTimer = setInterval(function() {
						if(!animationInProgress) {
							var currentSlide = parseInt($(container).find('div.nav > span.current').text());
							var nextSlide = (currentSlide + 1) <= slidesCount ? currentSlide + 1 : 1;
							changeSlide(currentSlide, nextSlide);
						}
					}, slideDuration*1000);
				}
			}
			slideShow();
		}
	});
	// end slideshow by redecs




	// pngfix for ie6
	if ($.browser.msie && $.browser.version < 7){
		$('#page').pngFix( );
		alert("Navigati acest site cu un browser extrem de vechi, ineficient si ne-sigur.\nVa recomandam sa faceti upgrade sau descarcati un browser competent!");
	}
	// end pngfix for ie6


	// article visuals
	if ($("body").hasClass('article-default')){
		if ($('#primary div.mainVisual').size()){
			articleFunctions.destinationImage = $('#primary div.mainVisual img');
			/*
			CLICK ON PICTURE FOR DOWNLOAD CODE
			$('#primary div.mainVisual a.imageLink').click(function(e){
				alert($('#primary div.mainVisual img').attr('ref'));
				e.preventDefault();
			});
			*/
			if ($('#primary div.articleExtras ul.relatedPics').size()){
				$('#primary div.articleExtras ul.relatedPics li a').click(function(e){
					$(articleFunctions.destinationImage).attr('src',$(this).attr('href'));
					e.preventDefault();
				});
			}
		}
	}


	// tabbed domain
	if ($("body").hasClass('tabbedBoxes')){

		tabbedObject = {}
		tabbedObject.hashID = document.location.hash.substr(0,3) == '#id' ?  document.location.hash.substr(3,10) : null;
		tabbedObject.switchTab = function(id){
			$('#content ul.extraMenu li > span').removeClass('selected');
			$('#content ul.extraMenu li span.tabID_'+id).addClass('selected');
			$('#primary div.wrapper').hide();
			$('#primary div.wid_'+id).show();
		}
		
		$('#content ul.extraMenu li > span a').click(function(e){
			var hash = $(this).attr('href');
			var link = document.location;
			//if (hash.indexOf('#') != -1 && link.toString().indexOf(hash.split('#')[0]) != -1){
			if (gpxGlobal.indexOf('#',hash) != -1 && gpxGlobal.indexOf(hash.split('#')[0],link) != -1){
				tabbedObject.switchTab($(this).attr('href').split('#')[1].substr(2,10));
				e.preventDefault();
			}
		});

		if (tabbedObject.hashID){
			tabbedObject.switchTab(tabbedObject.hashID);
		}
		
		if($('ul.appMenu').size()){
			$('ul.appMenu').css('left',$('ul.extraMenu').width()+80);
		}
	}
	// end - tabbed domain
	
	
	
	// lead generation form
	if($('#LEAD_GENERATION').size() && false){
		leadObject = {}
		leadObject.firstElement = '<option value="">- selectati -</option>';
		
		leadObject.countySelect = $('#LEAD_GENERATION select.county');	
		leadObject.citySelect = $('#LEAD_GENERATION select.city');
		leadObject.subsidSelect = $('#LEAD_GENERATION select.subsid');
		
		leadObject.selectedCounty = leadObject.countySelect.val() != "" ? leadObject.countySelect.val() : "";
		leadObject.selectedCity = leadObject.citySelect.val() != "" ? leadObject.citySelect.val() : "";
		leadObject.selectedSubsidy = leadObject.subsidSelect.val() != "" ? leadObject.subsidSelect.val() : "";

		leadObject.subsidData = [];
				
		leadObject.getData = function(data, el, func, clicked){
			var preloader = clicked.parent().children()[1];
			if (preloader){
				$(preloader).removeClass('hidden');
			}
			
			$.ajax({
				url: document.location.toString().indexOf("brom") != -1 ? "/?avr=1&avp=1633" : "/webservices/subsidies/",
				data:data,
				type: "GET",
				context: document.getElementById('data'),
				success: function (htmlData, response) {
					if (response == 'success'){
						var dataArr = htmlData.replace('</span>','').replace('<span id=\"data\">','').split("|");
						if (func){
							func(el,dataArr);
						}
					}else{
						alert("Mesajul nu a fost trimis, va rugam mai incercati odata!");
					}
					
					if (preloader){
						$(preloader).addClass('hidden');
					}
				}
			});
		}
		
		leadObject.resetElement = function(el){
			el.html(leadObject.firstElement).attr('disabled','disabled');
		}
		
		leadObject.generateOptions = function(el, data){
			var htmlString = '';
			for(var i=0;i<data.length;i++){
				htmlString += '<option value="'+data[i]+'">'+data[i]+'</option>';
			}
			
			el.html(leadObject.firstElement+htmlString).removeAttr('disabled');
		}
		
		leadObject.generateDetails = function(el, data){
			leadObject.subsidData = data;
			$('#LEAD_GENERATION div.actions input.mail0').val(leadObject.subsidData[5]);
			$('#LEAD_GENERATION div.actions input.mail1').val(leadObject.subsidData[6]);
		}
				
		leadObject.countySelect.change(function(){
			if($(this).val() != ''){
				if(leadObject.selectedCity.length>0){
					leadObject.resetElement(leadObject.citySelect);
					leadObject.resetElement(leadObject.subsidSelect);
				}
				leadObject.selectedCounty = $(this).val();
				leadObject.getData('county='+leadObject.selectedCounty, leadObject.citySelect,leadObject.generateOptions, $(this));
			}else{
				leadObject.resetElement(leadObject.citySelect);
				leadObject.resetElement(leadObject.subsidSelect);
			}
		});
		
		
		leadObject.citySelect.change(function(){
			if($(this).val() != ''){
				if(leadObject.selectedSubsidy.length>0){
					leadObject.resetElement(leadObject.subsidSelect);
				}
				leadObject.selectedCity = $(this).val();
				leadObject.getData('county='+leadObject.selectedCounty+"&city="+leadObject.selectedCity, leadObject.subsidSelect,leadObject.generateOptions, $(this));
			}else{
				leadObject.resetElement(leadObject.subsidSelect);
			}
		});
		
		leadObject.subsidSelect.change(function(){
			if($(this).val() != ''){
				leadObject.selectedSubsidy = $(this).val();
				leadObject.getData('county='+leadObject.selectedCounty+"&city="+leadObject.selectedCity+"&subsidy="+leadObject.selectedSubsidy, null, leadObject.generateDetails, $(this));
			}
		});
		
	}
	// end - lead generation form	
	
	
	// carrer form
	if($('#CAREER_FORM').size()){
		careerObject = {}
		careerObject.education = [1];
		careerObject.educationVisible = 1;
		careerObject.history = [1];
		careerObject.historyVisible = 1;
		
		// defaults
		for (var i=1;i<4;i++){
			var val = $("#CAREER_FORM #showeducation_"+i).val();
			val = val!='' ? 1 : 0;
			careerObject.education.push(val);
			careerObject.educationVisible += val;
			
		}
		if(careerObject.educationVisible >= careerObject.education.length){
			$("#CAREER_FORM a.education_act").hide();
		}
		
		for (var i=1;i<5;i++){
			var val = $("#CAREER_FORM #showhistory_"+i).val();
			val = val!='' ? 1 : 0;
			careerObject.history.push(val);
			careerObject.historyVisible += val;
		}
		if(careerObject.historyVisible == careerObject.history.length){
			$("#CAREER_FORM a.history_act").hide();
		}
		// end - defaults 
		
		$("#CAREER_FORM a.add_element").click(function(e){
			var val = $(this).attr('href').replace('#','');
			var pos = gpxGlobal.indexOf(0,careerObject[val]);
			
			if (pos != -1){
				careerObject[val+"Visible"]++;
				careerObject[val][pos] = 1;
				$("#CAREER_FORM #show"+val+"_"+pos).val(1);
				$("#CAREER_FORM div."+val+"_"+pos).removeClass('hidden');
				if (careerObject[val+"Visible"]==careerObject[val].length){
					$(this).hide();
				}
			}
			e.preventDefault();
		});
		
		$("#CAREER_FORM a.del_element").click(function(e){
			var val = $(this).attr('href').replace(/[0-9-_]/ig,'').replace('#','');
			var obj = $(this).attr('href').replace('#','');
			var pos = obj.replace(/[a-z-_]/ig,"");
			$("#CAREER_FORM div."+obj).addClass('hidden');
			$("#CAREER_FORM #show"+val+"_"+pos).val(0);
			careerObject[val+"Visible"]--;
			careerObject[val][pos] = 0;
			
			if (careerObject[val+"Visible"]<careerObject[val].length){
				$("#CAREER_FORM a."+val+"_act").show();
				
			}
			e.preventDefault();
		});
		
		$.datepicker.setDefaults($.datepicker.regional['ro']);
		$("#CAREER_FORM input.datepicker").datepicker({
			dateFormat: 'd MM yy',
			changeMonth: true,
			changeYear: true,
			yearRange: '1950:2012',
			onSelect:function(selectedDate,inst){
				// console.log(inst);
			}
		});
//		$('input.datepicker[name="CAREER_FORM[dob]"]').datepicker('option','maxDate','-18y');
//		$('input.datepicker[name="CAREER_FORM[start_on]"]').datepicker('option','maxDate','+0d');
		
		$("#CAREER_FORM div.type_selector input.radio").click(function(e){
			if ($(this).val() == 'employ'){
				$('#CAREER_FORM div.curriculum').removeClass('hidden');
			}else{
				$('#CAREER_FORM div.curriculum').addClass('hidden');
			}
		});
	}
	// end - carrer form
	
	
	// form legend toggle 
	if($("form legend a.legend_action").size()){
		var legendAllowClick = true;

		$("form legend a.legend_action").click(function(e){
			var el = $(this).parent().parent().children()[1];
			if (legendAllowClick){
				legendAllowClick = false;
				if($(this).hasClass('selected')){
					$(this).removeClass('selected');
					$(el).hide("fast", function(){ legendAllowClick = true;});
				}else{
					$(this).addClass('selected');
					$(el).show("fast", function(){ legendAllowClick = true;});
				}
			}
			e.preventDefault();
		});
		
		var currFieldset;
		var err;
		for(var i=0;i<$("form fieldset").size();i++){
			currFieldset= $("form fieldset").eq(i);
			err = 0;
			$("form fieldset:eq("+i+") p.error").each(function(i,e){
				if (!$(this).hasClass('hidden')){
					err++;
				}
			});
			
			if (err !=0){
				$("form fieldset:eq("+i+") legend a.legend_action").addClass('selected');
				$("form fieldset:eq("+i+") div.form_wrap").removeClass('hidden').show();
			}else{
				$("form fieldset:eq("+i+") legend a.legend_action").removeClass('selected');
				$("form fieldset:eq("+i+") div.form_wrap").addClass('hidden').hide();
			}
		}
	}
	// end - // form legend toggle 
	
	
	
	// indecsi bancari 
	if($('#RATES_FORM').size()){
		var currDate = $('#RATES_FORM #curr_date');
		$('#RATES_FORM #calendar').datepicker({
			onSelect: function(){
				currDate.val($(this).val());
				document.getElementById('RATES_FORM').submit();
			},
			setDate: currDate.val(),
			maxDate: "+0d",
			changeMonth: true,
			changeYear: true,
			yearRange: '2004:2011'
		}).val(currDate.val());
	}
	// end - indecsi bancari
	
	
	// dictionar
	if($('body').hasClass('dictionary')){
		dictionaryObj = {};
		dictionaryObj.position = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"];
		dictionaryObj.currentPosition = 0;
		dictionaryObj.hash = document.location.hash.replace('#','');
		dictionaryObj.currentIndex = dictionaryObj.hash != "" ? $('ul.dictionary_index li a') : $('ul.dictionary_index li.index-A a');
		dictionaryObj.leftButton = $('div.dictionary_nav a.prev');
		dictionaryObj.rightButton = $('div.dictionary_nav a.next');
		dictionaryObj.setCurrentIndex = function(index, nr){
			dictionaryObj.currentIndex = $("ul.dictionary_index li.index-"+index+" a");
			dictionaryObj.hash = index;
			dictionaryObj.currentPosition = nr != -1 ? nr : 0;
			
			// console.log(dictionaryObj.currentPosition + " " + nr);
			
			$("ul.dictionary_index li a").removeClass('selected');
			$("div.dictionary_content div.element").addClass('hidden').hide();
			
			dictionaryObj.currentIndex.addClass('selected');
			dictionaryObj.currentContent = $("div.dictionary_content div.dictionary-"+index);
			dictionaryObj.currentContent.removeClass('hidden').show();
			
			
			switch(true){
				case dictionaryObj.currentPosition==0:
					dictionaryObj.leftButton.hide();
					break;
				case dictionaryObj.currentPosition==dictionaryObj.position.length-1:
					dictionaryObj.rightButton.hide();
					break;
				default:
					dictionaryObj.leftButton.show();
					dictionaryObj.rightButton.show();
					break;
			}
			dictionaryObj.leftButton.children()[0].innerHTML = dictionaryObj.position[(nr-1)];
			dictionaryObj.rightButton.children()[0].innerHTML = dictionaryObj.currentPosition > 0 ? dictionaryObj.position[(nr+1)] : dictionaryObj.position[1];
			document.location.href = "#"+index;
			
		}
		
		$("ul.dictionary_index li a").click(function(e){
			var index = $(this).attr('href').replace('#','');
			dictionaryObj.setCurrentIndex(index, gpxGlobal.indexOf(index,dictionaryObj.position));
		});
		
		$("div.dictionary_nav a").click(function(e){
			dictionaryObj.currentPosition = $(this).hasClass('prev') ? (dictionaryObj.currentPosition-1 > 0 ? dictionaryObj.currentPosition-1 : 0) : (dictionaryObj.currentPosition+1 < dictionaryObj.position.length-1 ? dictionaryObj.currentPosition+1 : dictionaryObj.position.length-1);
			dictionaryObj.setCurrentIndex(dictionaryObj.position[dictionaryObj.currentPosition], dictionaryObj.currentPosition);
			e.preventDefault();
		});
		
		if (dictionaryObj.hash != ''){
			dictionaryObj.setCurrentIndex(dictionaryObj.hash, gpxGlobal.indexOf(dictionaryObj.hash,dictionaryObj.position) != -1 ? gpxGlobal.indexOf(dictionaryObj.hash,dictionaryObj.position) : 0,dictionaryObj.position);
		}
	}
	// end - dictionar
});
