var $j = jQuery.noConflict();

$j(document).ready(function() {

	$j('[href$=newsletter-signup]').click(function(event) {
		event.preventDefault();
		Newsletter.showSignupDialog(this.href);
	});

	$j('#ShopatronBuyButton').click(function(event) {
		event.preventDefault();
		window.open(this.href);
	});
	
	$j('.PopUp').live('click',function(event){
		event.preventDefault();
		window.open(this.href);
	});

});

var Newsletter = {};

Newsletter.showSignupDialog = function(HREF){
	
	//alert('Coming Soon');
	//return false;
	
	$j.get(
		HREF,
		{cmd: 'SubscribeTerms'},
		function(Data){
	
			// Get the button text.  Since they are not literals, use array notation.
			var DialogButtons = {}
			DialogButtons[Data.OKButton] = function() { Newsletter.SubmitForm(HREF) };
			DialogButtons[Data.CancelButton] = function() {
				$j(this).dialog('destroy');
				$j('#NewsletterSignupForm').remove();
			};

			$j('<form>', {id: 'NewsletterSignupForm', action: '#', method: 'post'})
				.append($j('<p>')
					.append($j('<label>').text(Data.EmailAddress))
					.append($j('<input>',{id: 'NewsletterEmail', name: 'NewsletterEmail', type: 'text'}))
				)
				.append($j('<p>')
					.append($j('<label>').text(Data.FirstName))
					.append($j('<input>',{id: 'NewsletterFirstName', name: 'FirstName', type: 'text'}))
				)
				.append($j('<p>')
					.append($j('<label>').text(Data.LastName))
					.append($j('<input>',{id: 'NewsletterLastName', name: 'LastName', type: 'text'}))
				)
				.append($j('<p>')
					.append($j('<label>').text(Data.OptIn))
					.append($j('<input>',{id: 'OptIn', name: 'OptIn', type: 'checkbox', value: 1}))
				)
				.append($j('<p>')
					.append($j('<a>',{id: 'NewsletterPrivacyLink', href: 'http://www.johnsonoutdoors.com/corporate/contact/PrivacyPolicy.aspx', className: 'PopUp'}).text(Data.Privacy))
				)
				.dialog({
				modal: true,
				title: Data.NewsletterSignup,
				width:360,
				buttons:DialogButtons
			});		
			
		},
		'json'
	);
	
	
}

Newsletter.SubmitForm = function(HREF){
	
	$j.get(
		HREF,
		$j('#NewsletterSignupForm').serialize() + '&cmd=Subscribe',
		function(Data) {
			if (Data.Success) {
				$j('#NewsletterSignupForm').dialog('destroy');
				$j('#NewsletterSignupForm').remove();
				Newsletter.ShowMessage('Success', Data.Message);
			} else {
				Newsletter.ShowMessage('Error', Data.Error);
			}
		},
		'json'
	);
	
}

Newsletter.ShowMessage = function(Title, Message) {

	MessageBox = $j('<div>' + Message + '</div>');
	$j(document.body).append(MessageBox);
	MessageBox.dialog({
		title: Title,
		buttons: {
			Close: function() { $j(this).remove()}
		},
		modal: true
	});

}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function OverviewTechnicalClick(ClickedHeader){
	ClickedHeader.className = 'active'
	if(ClickedHeader.id == 'OverviewHeader'){
		try{ $('TechnicalHeader').className = 'inactive' }catch(err){}
		try{ $('ParameterHeader').className = 'inactive' }catch(err){}
		$('OverviewText').className = 'VisibleText'
		$('TechnicalText').className = 'HiddenText'
		$('ParameterText').className = 'HiddenText'
	}else if(ClickedHeader.id == 'TechnicalHeader'){
		$('OverviewHeader').className = 'inactive'
		try{ $('ParameterHeader').className = 'inactive' }catch(err){}
		$('OverviewText').className = 'HiddenText'
		$('TechnicalText').className = 'VisibleText'
		$('ParameterText').className = 'HiddenText'
	}else{
		$('OverviewHeader').className = 'inactive'
		try{$('TechnicalHeader').className = 'inactive'} catch(err){}
		$('OverviewText').className = 'HiddenText'
		$('TechnicalText').className = 'HiddenText'
		$('ParameterText').className = 'VisibleText'
	}
}

function SendEmail(URL) {
	new Ajax.Request(URL,
  {
   method: 'post',
   parameters: $('ContactForm').serialize(),
   onSuccess: function(transport){
    Response = transport.responseText.evalJSON()
		alert(Response.Message)
		if(Response.Success){
			$('SubmitButton').disabled = true
		}
  }
    
  });
}

function ToggleSendToFriendForm(){
	
	if ($('ContactForm').className == 'HiddenForm')
		$('ContactForm').className = 'VisibleForm'
	else
		$('ContactForm').className= 'HiddenForm'
}

function ToggleDownloads(){
	
	if ($('DownloadList').className == 'HiddenForm')
		$('DownloadList').className = 'VisibleForm'
	else
		$('DownloadList').className= 'HiddenForm'
}
