ReactSite = {};

(function(){
	var $ = jQuery,
		fancyBoxArgs = {
			padding: 0,
			titleShow: false,
			ajax: {type: 'POST', data: {xhr: 1}},
			onComplete: function(){ $('#quote-form').bind('submit', _quoteFormHandler); }
		};

	this.init = function()
	{
		_quoteFormOverlay();
		_feedbackButton();
	}

	this.fixIE = function()
	{
		$('#content').find('.comparison-table tr:nth-child(odd)').addClass('odd');

		if($.browser.version < 8)
			_replaceHr();
	}

	var _replaceHr = function()
	{
		var hrs = $('hr'),
			bg,
			img = $('<img>').attr('class', 'hr');

		for(var i = 0, hr; hr = hrs.get(i); i++)
		{
			bg = $(hr).css('background-image');

			if(bg == 'none')
				continue;

			bg = bg.substr(5, bg.length -7);
			$(hr).replaceWith(img.attr('src', bg).clone());
		}
	}

	var _quoteFormOverlay = function()
	{
		var btn = $('#quote-button');

		if(btn.length == 0)
			return;

		btn.fancybox(fancyBoxArgs);
	}

	var _quoteFormHandler = function(e)
	{
		e.preventDefault();
		var postData = $(this).serializeArray();
		postData.push({name: 'xhr', value: 1});
		$.fancybox.showActivity();
		$.ajax({
			url: this.action,
			type: 'POST',
			cache: false,
			data: postData,
			success: function(result){
				var data = fancyBoxArgs;
				data.content = result;
				$.fancybox(data);
			}
		});
	}

	var _feedbackButton = function()
	{
		$('div#feedback').slideDown('slow');

		$('div#feedback a').fancybox({
			// type: 'iframe',
			padding: 0,
			ajax: {type: 'POST', data: {xhr: 1}},
			onComplete: function() {
				// Do this the old way. jQuery's appendTo triggers 'things'.
				var discuss = document.getElementById('discuss');
				var content = document.getElementById('form-wrapper');
				content.appendChild(discuss);
			},
			onCleanup: function() {
				var discuss = document.getElementById('discuss');
				document.body.appendChild(discuss);
			}
		});
	}
}).apply(ReactSite);

ReactSite.init();
