/*################################################################################
	D E B U G
################################################################################*/

var debugModus = 0	; // Debugmodus EIN = 1 || AUS = 0

function debug(txt)
{
	if(!debugModus || typeof(console) != "object") { return; }
	else { console.log(txt); }
}
debug("debugModus = true");


/*################################################################################
	$$$
################################################################################*/

// get Elements by Name

function $$$(obj)
{
	var obj = document.getElementsByName(obj);
	obj = (obj.length==1)?obj[0]:obj;
	return obj;
}


/*################################################################################
	F U N C T I O N S
################################################################################*/

/*---------------------------------------------------------------------
	BrowserWeiche
---------------------------------------------------------------------*/

 function checkBrowserName(name){  
   var agent = navigator.userAgent.toLowerCase();  
   if (agent.indexOf(name.toLowerCase())>-1) {  
     return true;  
   }  
   return false;  
 } 



/*---------------------------------------------------------------------
	showSubNavigation
---------------------------------------------------------------------*/

function showSubNavigation() {
	$$('.sve__mainNavi').each(function(naviNode){
		var layerID = naviNode.id+'DIV';
		var winWidth = window.getSize().x;
		
		if(layerID.indexOf("kontakt") != -1 && winWidth < 1450) {
			var layerX = naviNode.getPosition($('sve__mainNavi')).x-65;
		} else {
			var layerX = naviNode.getPosition($('sve__mainNavi')).x-1;
		}
		var layerY = naviNode.getPosition($('sve__mainNavi')).y+104;
		
		
		if(checkBrowserName('MSIE')) {
		
			if($(layerID) != null) {
				naviNode.addEvent('mouseenter', function() {
					$$('.sve__subSubNavi').setStyle('visibility', 'hidden');
					$(layerID).setStyles({
						'left' : layerX,
						'top' : layerY,
						'visibility' : 'visible'
					});
					naviNode.addClass("Over");
				});
				
				$(layerID).addEvent('mouseenter', function() {
					$(layerID).setStyle('visibility', 'visible');
				});
				
				$(layerID).addEvent('mouseleave', function() {
					$(layerID).setStyle('visibility', 'hidden');
					naviNode.removeClass("Over");
				});
				
				$('sve__header').addEvent('mouseenter', function() {
					$(layerID).setStyle('visibility', 'hidden');
					naviNode.removeClass("Over");
				});
			}
			
			naviNode.addEvent('mouseenter', function() {
				$$('.subNaviDiv').setStyle('visibility', 'hidden');
				$$('.sve__mainNavi').removeClass("Over");
			});
		
		} else {
			
			naviNode.addEvent('mouseenter', function() {
				$$('.subNaviDiv').setStyle('visibility', 'hidden');
				$$('.sve__mainNavi').removeClass("Over");
			});
			
			if($(layerID) != null) {
				naviNode.addEvent('mouseenter', function() {
					$$('.sve__subSubNavi').setStyle('visibility', 'hidden');
					$(layerID).setStyles({
						'left' : layerX,
						'top' : layerY,
						'visibility' : 'visible'
					});
					naviNode.addClass("Over");
				});
				
				$(layerID).addEvent('mouseenter', function() {
					$(layerID).setStyle('visibility', 'visible');
				});
				
				$(layerID).addEvent('mouseleave', function() {
					$(layerID).setStyle('visibility', 'hidden');
					naviNode.removeClass("Over");
				});
				
				$('sve__header').addEvent('mouseenter', function() {
					$(layerID).setStyle('visibility', 'hidden');
					naviNode.removeClass("Over");
				});
			}
			
		}
	
	});	
}

/*---------------------------------------------------------------------
	showSubSubNavigation
---------------------------------------------------------------------*/

function showSubSubNavigation() {
	$$('.sve__subNavi').each(function(subnaviNode) {
		var parentDIV = subnaviNode.getParent('div[class*=subNaviDiv]').id;
		var subLayerID = subnaviNode.id+'DIV';
		var winWidth = window.getSize().x;
		
		/*subnaviNode.addEvent('mouseenter', function() {
			$$('.sve__subSubNavi').setStyle('visibility', 'hidden');
		}); */
		
		if($(subLayerID) != null) {
			subnaviNode.addEvent('mouseenter', function() {
				//alert(subLayerID);
				$$('.sve__subNavi').removeClass('Over');
				$$('.sve__subSubNavi').setStyle('visibility', 'hidden');
				if(parentDIV.indexOf("kontakt") != -1 && winWidth < 1450) {
					var subLayerX = subnaviNode.getPosition($(parentDIV)).x-184;
				} else {
					var subLayerX = subnaviNode.getPosition($(parentDIV)).x+158;
				}
				
				var subLayerY = subnaviNode.getPosition($(parentDIV)).y-12;
				$(subLayerID).setStyles({
					'left' : subLayerX,
					'top' : subLayerY,
					'visibility' : 'visible'
				});
				subnaviNode.addClass('Over');
			});
			
			$(subLayerID).addEvent('mouseenter', function() {
				$(subLayerID).setStyle('visibility', 'visible');
			});
			
			$(parentDIV).addEvent('mouseleave', function() {
				$(subLayerID).setStyle('visibility', 'hidden');
				$(parentDIV).setStyle('visiibility', 'hidden');
				$$('.sve__subNavi').removeClass('Over');
			});
		} else {
			subnaviNode.addEvent('mouseenter', function() {
				//alert('gibts nich')
				$$('.sve__subSubNavi').setStyle('visibility', 'hidden');
				$$('.sve__subNavi').removeClass('Over');
			});	
		}
	});
}

/*---------------------------------------------------------------------
	scaleBoxes
---------------------------------------------------------------------*/

function scaleBoxes() {
	var scaledBoxes = $$('.scale');
	var maxHeight = scaledBoxes[0].getSize().y;
	
	for(i=0;i<scaledBoxes.length;i++) {
		if(maxHeight < scaledBoxes[i].getSize().y) {
			maxHeight = scaledBoxes[i].getSize().y;
		}
	}
	
	for(i=0;i<scaledBoxes.length;i++) {
		scaledBoxes[i].setStyle("height", maxHeight);
	}
}

/*---------------------------------------------------------------------
	stretchMainContainer
---------------------------------------------------------------------*/

function stretchMainContainer() {
	var windowHeight = window.getSize().y;
	var contentHeight = $('sve__contentContainer').getSize().y + 284;
	
	if(windowHeight > contentHeight) {
		$('sve__pageContainer').setStyle('height', windowHeight-60);
	} else {
		$('sve__pageContainer').setStyle('height', contentHeight);
	}
}


/*---------------------------------------------------------------------
	slider
---------------------------------------------------------------------*/
function homeSlider() {
	var	scrollBar 	= $('scrollBar'),
		toSlide 		= $('slideCont'),
		distance		= ($$('.sve__bigButtons').length * 252) - 10;
	
	$('slideCont').setStyle('width', distance +10);
	
	new Slider(scrollBar, scrollBar.getElement('.knob'), {
		steps: distance - $('slideMask').getSize().x,
		range: [0], 
		onChange: function(value){
			toSlide.setStyle('left', '-'+value+'px');
		}
	}).set(toSlide.getStyle('left').toInt());
}

/*---------------------------------------------------------------------
	docSlicer
---------------------------------------------------------------------*/
function docSlider() {
	var	scrollBar 	= $('scrollBar'),
		toSlide 		= $('slideCont'),
		distance		= ($$('.sve__merkblaetterIcons').length * 125) +182;
	
	$('slideCont').setStyle('width', distance +30);
	
	new Slider(scrollBar, scrollBar.getElement('.knob'), {
		steps: distance - $('slideMask').getSize().x,
		range: [0], 
		onChange: function(value){
			toSlide.setStyle('left', '-'+value+'px');
		}
	}).set(toSlide.getStyle('left').toInt());
}

/*---------------------------------------------------------------------
	servicesSlider (Navi Leistungen)
---------------------------------------------------------------------*/
function servicesSlider() {
	var	scrollBar 	= $('scrollBarServices'),
	toSlide 		= $('slideContServices'),
	distance		= ((parseInt($$('.sve__leistungen').length/3)+1) * 126) - 10;
	
	$('slideContServices').setStyle('width', distance +10);
	
	var slider = new Slider(scrollBar, scrollBar.getElement('.knob'), {
		steps: distance - $('slideMaskServices').getSize().x,
		range: [0], 
		onChange: function(value){
			toSlide.setStyle('left', '-'+value+'px');
	}
	});
	slider.set(toSlide.getStyle('left').toInt());
	return slider;
}


/*---------------------------------------------------------------------
	changePerformanceYear
---------------------------------------------------------------------*/
function changePerformanceYear(table,imgID)
	{
		$$('.performanceTble').setStyle('display', 'none');
		$(table).setStyle('display', 'block');
		
		$$('.performanceYear').removeClass('active');
		
		$(imgID).addClass('active');
							
	}
	

/*---------------------------------------------------------------------
	articleScroller
---------------------------------------------------------------------*/
function articleScroller() {
	var	scrollBar 	= $('verticalScrollBar'),
		toSlide 		= $('slideCont'),
		distance		= $('slideCont').getSize().y - $('slideMask').getSize().y;
	
	new Slider(scrollBar, scrollBar.getElement('.knob'), {
		steps: distance,
		mode: 'vertical',
		onChange: function(value){
			toSlide.setStyle('top', '-'+value+'px');
		}
	}).set(toSlide.getStyle('top').toInt());
}


/*---------------------------------------------------------------------
	scrollLeistungen
---------------------------------------------------------------------*/
function scrollLeistungen() {
	$('sve__scrollLeft').addEvent("click", function() {
		$('sve__naviLeistungen').tween('left',0);
		$('sve__scrollLeft').setStyle('display','none');
		$('sve__scrollRight').setStyle('display','block');
	});
	
	$('sve__scrollRight').addEvent("click", function() {
		$('sve__naviLeistungen').tween('left',-252);
		$('sve__scrollLeft').setStyle('display','block');
		$('sve__scrollRight').setStyle('display','none');
	});
}

/*---------------------------------------------------------------------
	articleOverlay
---------------------------------------------------------------------*/
function articleOverlay() {
	var	windowHeight 	= window.getSize().y;
		windowWidth	= window.getSize().x;
		xPos			= (windowWidth-850) / 2;
		articleHeight	= windowHeight - 24;
		
	$('sve__overlay').setStyles( {
		'display': 'block',
		'height' : windowHeight
	});
	$('sve__overlay').setOpacity(0.85)
	
	$('sve__article').setStyles({
		'display' : 'block',
		'left' : xPos,
		'height' : articleHeight
	});
	
	$('sve__articleCont').setStyle(
			'height', articleHeight);
	
	$('slideMask').setStyle('height', articleHeight-60);
	
	$('verticalScrollBar').setStyle('height', articleHeight-96);
	articleScroller();
	
	$('sve__closeArticle').addEvent("click", function() {
		$('sve__overlay').setStyle('display', 'none');
		$('sve__article').setStyle('display', 'none');
	});
	
}




/*---------------------------------------------------------------------
	perf_articleScroller
---------------------------------------------------------------------*/
function perf_articleScroller(slideNum) {
	var	scrollBar 		= $('perf_verticalScrollBar'),
		toSlide 		= $('perf_slideCont_' + slideNum),
		distance		= $('perf_slideCont_' + slideNum).getSize().y - $('perf_slideMask').getSize().y;
	
	new Slider(scrollBar, scrollBar.getElement('.knob'), {
		steps: distance,
		mode: 'vertical',
		onChange: function(value){
			toSlide.setStyle('top', '-'+value+'px');
		}
	}).set(toSlide.getStyle('top').toInt());
}

/*---------------------------------------------------------------------
	performance Overlay
---------------------------------------------------------------------*/
function perf_articleOverlay(num) {
	var	windowHeight 	= window.getSize().y;
		windowWidth	= window.getSize().x;
		xPos			= (windowWidth-850) / 2;
		articleHeight	= windowHeight - 24;
		
	$('perf_sve__overlay').setStyles( {
		'display': 'block',
		'height' : windowHeight
	});
	$('perf_sve__overlay').setOpacity(0.85)
	
	$('perf_sve__article').setStyles({
		'display' : 'block',
		'left' : xPos,
		'height' : articleHeight
	});
	
	$('perf_sve__articleCont').setStyle('height' , articleHeight)
			
	$('perf_slideCont_'+num).setStyle('display','block')
	
	$('perf_slideMask').setStyle('height', articleHeight-60);
	
	$('perf_verticalScrollBar').setStyle('height', articleHeight-96);
	perf_articleScroller(num);
	
	$('sve__closeArticle').addEvent("click", function() {
		$('perf_sve__overlay').setStyle('display', 'none');
		$('perf_sve__article').setStyle('display', 'none');
		$('perf_slideCont_'+num).setStyle('display', 'none');
	});
	
}






/*---------------------------------------------------------------------
	printDivContent
---------------------------------------------------------------------*/

function printDivContent(divToPrint) {
	var DocumentContainer = divToPrint;
	var WindowObject = window.open('', 'PrintWindow',
	'width=750,height=650,top=50,left=50,toolbars=no,scrollbars=yes,status=no,resizable=yes');
	WindowObject.document.writeln(DocumentContainer.innerHTML);
	WindowObject.document.close();
	WindowObject.focus();
	WindowObject.print();
	WindowObject.close();
}


/*---------------------------------------------------------------------
	printPerformance
---------------------------------------------------------------------*/

function printPerformance() {
	
	$$('.printContent').each(function(scrollContent) {
		if(scrollContent.getStyle('display') == "block") {
			perfToPrint = scrollContent.id;
		}
	});
	
	var DocumentContainer = $(perfToPrint);
	var WindowObject = window.open('', 'PrintWindow',
	'width=750,height=650,top=50,left=50,toolbars=no,scrollbars=yes,status=no,resizable=yes');
	WindowObject.document.writeln(DocumentContainer.innerHTML);
	WindowObject.document.close();
	WindowObject.focus();
	WindowObject.print();
	WindowObject.close();
}

/*---------------------------------------------------------------------
	SEARCH functions: show and hide search layer, showResults
---------------------------------------------------------------------*/

function showSearchLayer() {
	
	var searchField = $$('.search');
	var leftPosition = $('sve_search').getPosition().x-307;
	var activeZone = $('sve_searchLayer').getElement('div[class*=BIG_naviBody]');
	var killzone = $('serviceNavigation');
	var killzone2 = $('sve_searchLayer').getElement('img[class*=qn_TL]');
	var killzone3 = $('sve_searchLayer').getElement('img[class*=qn_TR]');
	
	$('sve_searchLayer').setStyles({
			'left' : leftPosition,
			'display' : 'block'
	});
	
	$('searchInput').focus();	
	$$('.BIG_navigation').setStyle('display','none');
}

function hideSearchLayer() {
	$('sve_searchLayer').setStyle("display","none");
}

function showResults(res) {
	//console.log(res);
	var heading;
	var text;
	var link;

	$('sve_searchResults_content').empty();
	
	res.each(function(item){
		//console.log(item.link);
		
		heading = new Element('h5', {
			html: item.heading
		});
		
		link = new Element('a', {
			href: item.link
		});
		heading.inject(link);
		link.inject($('sve_searchResults_content'));
		text = new Element('p', {
			html: item.text	
		}).inject($('sve_searchResults_content'));
	});
	
	$('sve_searchResults_content').style.display = "block";
	$('sve_searchResults_furtherResults').style.display = "block";
}



/*---------------------------------------------------------------------
	sozialeSicherheit
---------------------------------------------------------------------*/
function sozialeSicherheit() {
	$$('.sozSich').each(function(trigger){
		trigger.addEvent('click', function(){
			var div = trigger.id+'DIV';
			
			$$('.scale').setStyle('height', '');
			
			$$('.sozContent').setStyle('display','none');
			$(div).setStyle('display','block');
			window.setTimeout("scaleBoxes()", 50);
		});
	});
}




/*========================================================================================
	showIndividualNavi
========================================================================================*/

function initAccordion() {
	var id = 0;
	var activeId = null;
	$$('.toggler').each(function(el)
	{
		if(el.hasClass("togglerNaviActive")) { activeId = id; }
		id++;
	});
	activeId = (activeId === null) ? -1 : activeId;
	var accordionNavi = new Accordion($$('.toggler'), $$('.element'),{
		opacity: false,
		alwaysHide: true,
		show: activeId,
		onActive: function(toggler, element){
			//toggler.toggleClass("accordionActive");
			element.setStyle('padding', '6px 6px 3px');
			toggler.setStyle('color', '#63A1D8');
			return false;			
		},
		onBackground: function(toggler, element){
			toggler.setStyle('color', '#63A1D8');
			element.setStyle('padding', '0');
		},
		
		onComplete : function() {
			stretchMainContainer();
		}
	});
	/* $('mainNavigation').height = "auto";
	$('mainNavigation').overflow = "visible";
	$('mainNavigation').zoom = "1"; */
	if($('naviAccordion')){
		setTimeout(function() { $('naviAccordion').style.visibility = "visible"; }, 100);
	}
	
	$$('.toggler').each(function(clicker) {
		clicker.addEvent('click', function() {
			var clickerID = clicker.id;
			if(clicker.hasClass('accordionActive')) {
				$$('.toggler').removeClass("accordionActive");
				return false;
			} else {
				$$('.toggler').removeClass("accordionActive");
				$(clickerID).addClass("accordionActive");
				return false;
			}
			
			
		});
	});
	
}



function changeLanguageCalculator(lang) {
	$('sve__rentenrechner').src = "http://www.sve.ch/rentenrechner/pen_start.php?language="+lang;
}


/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	Call all Functions
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
//slider for services 
var aServiceSlider = null;

window.addEvent("load", function() {
//	if($('naviAccordion') == null) { stretchMainContainer(); }
	stretchMainContainer();
	showSubNavigation();
	showSubSubNavigation();
	if($('naviAccordion') == null) {
		if($$('.scale').length != 0) { scaleBoxes(); }
	}
	if($('sve__scrollRight') != null) { scrollLeistungen(); }
	if($('sozialeSicherheit') != null) { sozialeSicherheit(); }
});

window.addEvent("domready", function() {

	if($('scrollBar') != null) { homeSlider(); }
	if($$('.sve__merkblaetterIcons').length != 0) { docSlider(); }
	if($('scrollBarServices')!= null) { aServiceSlider = servicesSlider(); }
	
	if($('naviAccordion') != null && $('leftSlot') != null ) { 
		$('leftSlot').setStyle('visibility','hidden');
		$('rightSlot').setStyle('visibility','hidden') 
	}
	
	initAccordion();
});

window.addEvent('resize', function() {
	stretchMainContainer();
});



// ** checkLen ################################################################
function checkLen(id,counter) {
	if($(id).value.length>counter) {
		$(id).value=$(id).value.substring(0,counter);
	}
	
	var currentCount = counter - $(id).value.length;
	$(id+'Counter').innerHTML = currentCount;
}

