﻿var Site = {

	dropDownTimeOut : null,
	dropDownToDie : null,
	dropDownImgToRevert : null,

	start : function() {
		Site.fixPngs();
		Site.adjustBgShadow();
		Site.setupNavBar();
		$$('body')[0].setStyle('visibility', 'visible');
	},
	
	setupNavBar : function() {
		var imgs = $$('#nav img');
		var hover = new Array(imgs.length);
		imgs.each(function(img, i) {
			hover[i] = $(new Image());
			hover[i].src = img.src.substr(0, img.src.length - 4) + '_hover' + img.src.substr(img.src.length - 4);
			hover[i].setProperties({
				'alt' : img.getProperty('alt'),
				'class' : img.getProperty('class')
			});
			
			if (i == 0) {
				Site.setupNavDropDownFx(img, $('aboutDropDown'));
			} else if (i == 2) {
				Site.setupNavDropDownFx(img, $('solutionsDropDown'));
			} else {
				img.addEvent('mouseover', function() {
					if (img.src.indexOf('_hover') == -1)
						img.src = img.src.substr(0, img.src.length - 4) + '_hover' + img.src.substr(img.src.length - 4);
				});
				img.addEvent('mouseout', function() {
					var idx = img.src.indexOf('_hover');
					if (idx != -1)
						img.src = img.src.substring(0, idx) + img.src.substr(idx + 6);
				});
			}
		});
	},
	
	setupNavDropDownFx : function(img, dropdown) {
		img.addEvent('mouseenter', function() {
			clearTimeout(Site.dropDownTimeOut);
			Site.dropDownTimeOut = null;
			
			if (img != Site.dropDownImgToRevert || dropdown != Site.dropDownToDie)
				Site.destroyDropDown();
			Site.dropDownToDie = dropdown;
			Site.dropDownImgToRevert = img;
			
			if (img.src.indexOf('_hover') == -1)
				img.src = img.src.substr(0, img.src.length - 4) + '_hover' + img.src.substr(img.src.length - 4);
			dropdown.setStyle('display', 'block');
		});
		dropdown.addEvent('mouseenter', function() {
			clearTimeout(Site.dropDownTimeOut);
			Site.dropDownTimeOut = null;
		});
		
		img.addEvent('mouseleave', function() {
			if (Site.dropDownTimeOut == null)
				Site.dropDownTimeOut = setTimeout(Site.destroyDropDown, 500);
		});
		dropdown.addEvent('mouseleave', function() {
			if (Site.dropDownTimeOut == null)
				Site.dropDownTimeOut = setTimeout(Site.destroyDropDown, 500);
		});
	},
	
	destroyDropDown : function() {
		try {
			var idx = Site.dropDownImgToRevert.src.indexOf('_hover');
			if (idx != -1)
				Site.dropDownImgToRevert.src = Site.dropDownImgToRevert.src.substring(0, idx) + Site.dropDownImgToRevert.src.substr(idx + 6);
			Site.dropDownToDie.setStyle('display', 'none');
		} catch (e) {}
	},
	
	adjustBgShadow : function() {
		var width = $('bgshadow').getSize().x;
		$('bgshadow').setStyles({
			'height' : $('viewport').getSize().y + 'px',
			'width' : width + 'px'
		});
		$('bgshadowfooter').setStyles({
			'top' : $('viewport').getSize().y + 'px'
		});
	},

	fixPngs : function() {
		if (window.ie && !window.ie7) {
			var pngs = new Array();
			
			for (var i = 0; i < document.images.length; ++i) {
				var img = $(document.images[i]);
				var imgName = img.src.toUpperCase();
				if (imgName.substr(imgName.length-3) == 'PNG' && img.getProperty('id') != 'headerImg')
					pngs.push(img);
			}
			for (var i = 0; i < pngs.length; ++i) {
				var img = pngs[i];
				img.replaceWith(new Element('span').setStyles({
					'display' : 'block',
					'width' : img.width + 'px',
					'height' : img.height + 'px',
					'filter' : 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + img.src + '", sizingMethod="scale")'
				}).setProperties({
					'title' : img.getProperty('alt'),
					'class' : img.getProperty('class'),
					'id' : img.getProperty('id')
				}));
			}
		}
	},
	
	setupMenu: function(section, feature) {
		var ribbons = $$('#menubar li');
		var sections = $$('#menubar li.section');
		var features = $$('#menubar li.feature');
		var slidefxs = [];
		
		ribbons.each(function(el, i) {

			/*slidefxs[i] = new Fx.Styles(el.getChildren()[0], {
					duration: 100,
					transition: Fx.Transitions.linear,
					wait: false
				});*/
				el.getChildren()[0].addEvent('mouseover', function() {
					el.getChildren()[0].setStyle('font-weight', 'bold');
				});
				el.getChildren()[0].addEvent('mouseout', function() {
					el.getChildren()[0].setStyle('font-weight', 'normal');
				});

		});
		
		sections.each(function(el, i) {
			if (i == section) {
				var text = el.getChildren()[0].get('text');
				el.empty();
				new Element('div').injectInside(el).set('text', text);
			} 
		});
		
		features.each(function(el, i) {
			if (i == feature) {
				var text = el.getChildren()[0].get('text');
				el.empty();
				new Element('div').injectInside(el).set('text', text);
			} 
		});
		
	},
	
	createImg : function (path, alt) {
		var img = new Image();
		img.src = path;
	
		if (path.indexOf('.png') > -1 && window.ie6)
			return new Element('span').setStyles({
				'width' : img.width + 'px',
				'height' : img.height + 'px',
				'filter' : 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + path + '", sizingMethod="scale")'
			}).setProperties({
				'title' : alt
			});
		
		return $(img).setProperties({
			'alt' : alt
		});
	},
	
	createHeaderTabs : function (links) {
	  var tab_container = new Element('div').injectInside($$('.header')[0]).setProperties({
	    'class' : 'page1024 blockCenter'
	  }).setStyles({
			'padding-right' : '3em',
			'position' : 'relative'
	  });
		var tabs = new Element('ul').injectInside(tab_container).setProperties({
		  'id' : 'tabs',
		  'class' : 'headerTabs'
		});
		links.each(function(link, i) {
		  var tab = new Element('li').injectInside(tabs).setHTML(link);
		  
		  var mouseoverfx = new Fx.Styles(tab.getChildren()[0], {
				duration: 100,
				transition: Fx.Transitions.linear,
				wait: false
			});
			tab.getChildren()[0].addEvent('mouseover', function() {
				mouseoverfx.start.delay(25, mouseoverfx, {
					'margin-top' : 0
				});
			});
			tab.getChildren()[0].addEvent('mouseout', function() {
				mouseoverfx.start.delay(25, mouseoverfx, {
					'margin-top' : -5
				});
			});
		});
	},
	
	initTabs : function (activeTabIndex) {
    var timer = 100;
	  var tabs = $$('.headerTabs li');
	  
		for (var i = 0; i < tabs.length; ++i) {
	    if (i == tabs.length - activeTabIndex - 1) {

	      tabs[i].removeEvents();
	      var text = tabs[i].getChildren()[0].getText();
	      tabs[i].empty();
	      var content = new Element('div').injectInside(tabs[i]).setProperties({
					'class' : 'superLightGrayBg emetricBlue'
	      }).setHTML(text);
				var colorfxs = new Fx.Styles(content, {
					duration: 400,
					transition: Fx.Transitions.quadOut,
					wait: false
				});
				var slidefxs = new Fx.Styles(tabs[i].getChildren()[0], {
					duration: 400,
					transition: Fx.Transitions.quadOut,
					wait: false
				});
	      
	      var fg = content.getStyle('background-color');
	      var bg = content.getStyle('color');
			
				slidefxs.start.delay(timer, slidefxs, {
					'margin-top' : 0
				});
				colorfxs.start.delay(timer, colorfxs, {
					'background-color' : bg,
					'color' : '#fff'
				});

      } else {
				var slidefxs = new Fx.Styles(tabs[i].getChildren()[0], {
					duration: 400,
					transition: Fx.Transitions.quadOut,
					wait: false
				});
	      slidefxs.start.delay(timer, slidefxs, {
					'margin-top' : -5
				});
			}
	  }
	}

};

window.addEvent('load', Site.start);