window.addEvent('domready', function() {
	captureForm();
	tdi_hackSearchForm();
	addRollOver('#nav', '_ov');
	addRollOverForm('_ov');
	tdi_video();
	tdi_newsletter();
	tdi_post_stats();
	injectFlash();
	addRollOver('.tdi_service_btn', '_ov', true);
	tdi_services();
	tdi_serviceAction();
	tdi_social();
	addRollOver('.tdi_social_btn', '_ov', true);
	addRollOver('.poll_archive_link','_ov', true);

});

function injectFlash() {
	var logoPath = _tdi_tpl_url + '/media/header.swf';
	var tabsPath = _tdi_tpl_url + '/media/tabs.swf';
	var bannerPath = _tdi_tpl_url + '/media/banner.swf';

	var logo = new Swiff(logoPath, {
		id :'swf_logo',
		width :642,
		height :115,
		container :$('logo'),
		params :{
			'play' :'true',
			'loop' :'true',
			'scale' :'showall',
			'devicefont' :'false'
		},
		vars :{
			'homepageLink' :_tdi_url
		}

	});

	if ($('curiousTabsContainer')) {
		var tabs = new Swiff(
				tabsPath,
				{
					id :'swf_tabs',
					width :'100%',
					height :'100%',
					container :$('curiousTabsContainer'),
					params :{
						'play' :'true',
						'loop' :'true',
						'scale' :'showall',
						'devicefont' :'false'
					},
					vars :{
						'touaregLink' :_tdi_url + '/tag/touareg-tdi/?tab=cars',
						'jettaLink' :_tdi_url + '/tag/2009-jetta-tdi-clean-diesel/?tab=cars',
						'jettawagonLink' :_tdi_url + '/tag/2009-jetta-wagon-tdi-clean-diesel/?tab=cars',
						'golfLink' :_tdi_url + '/tag/golf-tdi-clean-diesel/?tab=cars',
						'moneyLink' :_tdi_url + '/category/saving-money/',
						'impactLink' :_tdi_url + '/category/my-impact/',
						'dieselLink' :_tdi_url + '/category/clean-diesel/',
						'technologyLink' :_tdi_url + '/category/technology/',
						'startTab' :_tdi_tab
					}
				});
	}

	if ($('tdi_banner')) {
		var banner = new Swiff(bannerPath, {
			id :'swf_banner',
			width :350,
			height :320,
			container :$('tdi_banner'),
			params :{
				'play' :'true',
				'loop' :'true',
				'scale' :'showall',
				'devicefont' :'false'
			}

		});
	}
}

function addRollOver(el, ov, dis) {
	$$(el + ' img').each( function(itm, index) {

		var loc = location.href;
		var lnk = itm.getParent('a');
		var href = lnk.getProperty('href');
		var src = itm.getProperty('src').split('/');
		var ind = src.length - 1;
		var file = src.getLast().split('.');

		src[ind] = file[0] + ov + '.' + file[1];
		src = src.join('/');

		if (loc === href && !dis) {
			itm.setProperty('src', src);
		} else {
			var ovImg = new Element('img', {
				'src' :src
			});
			itm.addEvents({
				'mouseover' : function() {
					rollOver(this, ov);
				},
				'mouseout' : function() {
					rollOver(this, ov);
				}
			});
		}
	});
}

function rollOver(obj, ov) {
	var path = obj.getProperty('src').split('/');
	var ind = path.length - 1;
	var file = path.getLast();

	file = file.split('.');

	if (file[0].indexOf(ov) > -1) {
		path[ind] = file[0].replace(ov, '') + '.' + file[1];
	} else {
		path[ind] = file[0] + ov + '.' + file[1];
	}
	path = path.join('/');
	obj.setProperty('src', path);

}

function addRollOverForm(ov) {
	$$('form').each( function(el, ind) {

		var btns = $(el).getElements('input[type=image]');

		btns.each( function(itm, index) {

			var src = itm.getProperty('src').split('/');
			var ind = src.length - 1;
			var file = src.getLast().split('.');

			src[ind] = file[0] + ov + '.' + file[1];
			src = src.join('/');

			var ovImg = new Element('img', {
				'src' :src
			});
			itm.addEvents({
				'mouseover' : function() {
					rollOver(this, ov);
				},
				'mouseout' : function() {
					rollOver(this, ov);
				}
			});

		});
	});
}

function captureForm() {
	$$('form.tdi_frm').addEvent('submit', function(e) {
		e.stop();
		var f = this;
		var name = f.get('name');
		if (!name) {
			name = f.getAttributeNode('name').nodeValue;
		}

		var url = name.split('_');
		url = _tdi_tpl_url + '/ajx/' + url[1] + '.ajx.php?ajx=true';

		if ($('actionMsg')) {
			$('actionMsg').destroy();
		}
		ajx_loading(f);
		f.set('send', {
			'url' :url,
			'method' :'post',
			onComplete : function(rsp) {
				formAction(f, rsp);
				remove_ajx_loading();
			}
		});
		f.send();
	});
}

function formAction(el, action) {
	var act = action.split('|');
	var e = new Element('div', {
		'id' :'actionMsg'
	});
	switch (act[0]) {
		case 'confirmation' :
			e.set('html', act[1]);
			e.set('class', 'confirmationMgs');
			e.inject(el, 'before');
			el.destroy();
			break;
		case 'warning' :
			e.set('html', act[1]);
			e.set('class', 'warningMgs');
			e.inject(el, 'before');
			break;
	}
}

function ajx_loading(el) {
	if ($('ajx_loading')) {
		return;
	}
	var target = el.getParent();
	var loading = new Element('div', {
		'id' :'ajx_loading'
	});
	loading.set('opacity', 0.15);
	loading.inject(target, 'top');
}

function remove_ajx_loading() {
	if (!$('ajx_loading')) {
		return;
	}
	$('ajx_loading').destroy();
}

function tdi_hackSearchForm() {
	if (!$('searchform')) {
		return false;
	}
	$('s').set('value', 'Enter a keyword');

	$('s').addEvent('focus', function() {
		this.set('value', '');
	});
	if ($('searchsubmit')) {
		$('searchsubmit').destroy();
	}

	var submit = new Element('input', {
		'type' :'image',
		'id' :'searchsubmit',
		'src' :_tdi_tpl_url + '/img/btn_search.png'
	});
	submit.inject('searchform', 'bottom');
}

function tdi_video() {
	if (!$('tdi_video')) {
		return false;
	}
	var els = $('tdi_video_btns').getElements('div');
	els.each( function(el) {
		el.addEvent('click', function(e) {
			var id = el.get('id');
			id = id.split('_');
			id = id[2];

			$('tdi_video_1').setStyle('display', 'none');
			$('tdi_video_2').setStyle('display', 'none');
			$('tdi_video_3').setStyle('display', 'none');
			$('tdi_video_' + id).setStyle('display', 'block');
		});
		var img = el.getElement('img');
		img.set('opacity', '0');

		el.addEvent('mouseover', function() {
			img.fade('in');
		});
		el.addEvent('mouseout', function() {
			img.fade('out');
		});

	});
}

function tdi_newsletter() {
	if (!$('wpsb_email')) {
		return false;
	}
	$('wpsb_email').set('value', 'Enter your email');
	$('wpsb_email').addEvent('focus', function() {
		this.set('value', '');
		this.setStyle('color', '#1F67AF');
	});
}

function tdi_post_stats() {
	if (!$('tdi_post_stats')) {
		return false;
	}

	$('tdi_mostCommented_lnk').addEvent('click', function() {

		this.setStyle('z-index', 11);
		$('tdi_mostRecommended_lnk').setStyle('z-index', 10);

		var com = $('tdi_mostCommented_lnk').getElement('img');
		com.set('src', _tdi_tpl_url + '/img/tdi_mostCommented_lnk_ov.png');
		var rec = $('tdi_mostRecommended_lnk').getElement('img');
		rec.set('src', _tdi_tpl_url + '/img/tdi_mostRecommended_lnk.png');

		$('tdi_mostCommented').setStyle('z-index', 1);
		$('tdi_mostRecommended').setStyle('z-index', 0);
	});

	$('tdi_mostRecommended_lnk').addEvent('click', function() {

		this.setStyle('z-index', 11);
		$('tdi_mostCommented_lnk').setStyle('z-index', 10);

		var com = $('tdi_mostCommented_lnk').getElement('img');
		com.set('src', _tdi_tpl_url + '/img/tdi_mostCommented_lnk.png');
		var rec = $('tdi_mostRecommended_lnk').getElement('img');
		rec.set('src', _tdi_tpl_url + '/img/tdi_mostRecommended_lnk_ov.png');

		$('tdi_mostRecommended').setStyle('z-index', 1);
		$('tdi_mostCommented').setStyle('z-index', 0);
	});
}

function tdi_services() {
	if (!$('tdi_services')) {
		return false;
	}

	$('tdi_comparator_lnk').addEvent('click', function() {
		$('tdi_comparator_lnk').setStyle('z-index', 12);
		$('tdi_locator_lnk').setStyle('z-index', 11);
		$('tdi_calculator_lnk').setStyle('z-index', 10);

		var comp = $('tdi_comparator_lnk').getElement('img');
		comp.set('src', _tdi_tpl_url + '/img/tdi_comparator_lnk_ov.png');
		var loc = $('tdi_locator_lnk').getElement('img');
		loc.set('src', _tdi_tpl_url + '/img/tdi_locator_lnk.png');
		var cal = $('tdi_calculator_lnk').getElement('img');
		cal.set('src', _tdi_tpl_url + '/img/tdi_calculator_lnk.png');

		$('tdi_comparator').setStyle('z-index', 2);
		$('tdi_locator').setStyle('z-index', 1);
		$('tdi_calculator').setStyle('z-index', 0);

	});

	$('tdi_locator_lnk').addEvent('click', function() {
		$('tdi_comparator_lnk').setStyle('z-index', 11);
		$('tdi_locator_lnk').setStyle('z-index', 12);
		$('tdi_calculator_lnk').setStyle('z-index', 10);

		var comp = $('tdi_comparator_lnk').getElement('img');
		comp.set('src', _tdi_tpl_url + '/img/tdi_comparator_lnk.png');
		var loc = $('tdi_locator_lnk').getElement('img');
		loc.set('src', _tdi_tpl_url + '/img/tdi_locator_lnk_ov.png');
		var cal = $('tdi_calculator_lnk').getElement('img');
		cal.set('src', _tdi_tpl_url + '/img/tdi_calculator_lnk.png');

		$('tdi_comparator').setStyle('z-index', 1);
		$('tdi_locator').setStyle('z-index', 2);
		$('tdi_calculator').setStyle('z-index', 0);
	});

	$('tdi_calculator_lnk').addEvent('click', function() {
		$('tdi_comparator_lnk').setStyle('z-index', 10);
		$('tdi_locator_lnk').setStyle('z-index', 11);
		$('tdi_calculator_lnk').setStyle('z-index', 12);

		var comp = $('tdi_comparator_lnk').getElement('img');
		comp.set('src', _tdi_tpl_url + '/img/tdi_comparator_lnk.png');
		var loc = $('tdi_locator_lnk').getElement('img');
		loc.set('src', _tdi_tpl_url + '/img/tdi_locator_lnk.png');
		var cal = $('tdi_calculator_lnk').getElement('img');
		cal.set('src', _tdi_tpl_url + '/img/tdi_calculator_lnk_ov.png');

		$('tdi_comparator').setStyle('z-index', 0);
		$('tdi_locator').setStyle('z-index', 1);
		$('tdi_calculator').setStyle('z-index', 2);
	});
}

function tdi_serviceAction() {
	if (!$('tdi_services')) {
		return false;
	}

	hideMap();
	var els = $('content').getElements('div.box_content');
	$$('a.ajx_pop')
			.addEvent(
					'click',
					function(e) {
						e.stop();
						var scroll = window.getScroll();
						var src = this.get('href');
						var iframe = '<iframe src ="' + src + '" width="100%" height="100%" frameborder="0" allowtransparency="true"></iframe>';
						var div = new Element('div', {
							'id' :'popupContainer',
							'html' :iframe,
							'styles' :{
								'top' :scroll.y + 'px'
							}
						});
						els.each( function(itm) {
							itm.addClass('hideEls');
						});
						div.inject('wrapper');
					});

}

function hideMap() {
	if (!$('popupContainer')) {
		return false;
	}
	$('popupContainer').destroy();
	var els = $('content').getElements('div.box_content');
	els.each( function(itm) {
		itm.removeClass('hideEls');
	});

}

function tdi_social() {
	if (!$('tdi_social')) {
		return false;
	}

	$('tdi_facebook_lnk').addEvent('click', function() {

		$('tdi_facebook_lnk').setStyle('z-index', 12);
		$('tdi_twitter_lnk').setStyle('z-index', 11);
		$('tdi_flickr_lnk').setStyle('z-index', 10);

		var fb = $('tdi_facebook_lnk').getElement('img');
		fb.set('src', _tdi_tpl_url + '/img/tdi_facebook_lnk_ov.png');
		var twr = $('tdi_twitter_lnk').getElement('img');
		twr.set('src', _tdi_tpl_url + '/img/tdi_twitter_lnk.png');
		var fcr = $('tdi_flickr_lnk').getElement('img');
		fcr.set('src', _tdi_tpl_url + '/img/tdi_flickr_lnk.png');

		$('tdi_facebook').setStyle('z-index', 2);
		$('tdi_twitter').setStyle('z-index', 1);
		$('tdi_flickr').setStyle('z-index', 0);
	});

	$('tdi_twitter_lnk').addEvent('click', function() {
		$('tdi_facebook_lnk').setStyle('z-index', 10);
		$('tdi_twitter_lnk').setStyle('z-index', 12);
		$('tdi_flickr_lnk').setStyle('z-index', 11);

		var fb = $('tdi_facebook_lnk').getElement('img');
		fb.set('src', _tdi_tpl_url + '/img/tdi_facebook_lnk.png');
		var twr = $('tdi_twitter_lnk').getElement('img');
		twr.set('src', _tdi_tpl_url + '/img/tdi_twitter_lnk_ov.png');
		var fcr = $('tdi_flickr_lnk').getElement('img');
		fcr.set('src', _tdi_tpl_url + '/img/tdi_flickr_lnk.png');

		$('tdi_facebook').setStyle('z-index', 0);
		$('tdi_twitter').setStyle('z-index', 2);
		$('tdi_flickr').setStyle('z-index', 1);
	});

	$('tdi_flickr_lnk').addEvent('click', function() {
		$('tdi_facebook_lnk').setStyle('z-index', 10);
		$('tdi_twitter_lnk').setStyle('z-index', 11);
		$('tdi_flickr_lnk').setStyle('z-index', 12);

		var fb = $('tdi_facebook_lnk').getElement('img');
		fb.set('src', _tdi_tpl_url + '/img/tdi_facebook_lnk.png');
		var twr = $('tdi_twitter_lnk').getElement('img');
		twr.set('src', _tdi_tpl_url + '/img/tdi_twitter_lnk.png');
		var fcr = $('tdi_flickr_lnk').getElement('img');
		fcr.set('src', _tdi_tpl_url + '/img/tdi_flickr_lnk_ov.png');

		$('tdi_facebook').setStyle('z-index', 0);
		$('tdi_twitter').setStyle('z-index', 1);
		$('tdi_flickr').setStyle('z-index', 2);
	});
}