jQuery(document).ready(function($) {
	$( "button, input:submit, a.button").button();
	$(".article_tabs").tabs();
//	$("video").VideoJS();
	$(".local_menu").thundertree({
		autoHeight : false,
		navigation : true
	});
	
	/**
	 * Main Menus
	 */
	$("ul.sf-menu").supersubs({
		minWidth:10,
		maxWidth:45
	}).superfish({
		pathClass:  'current',
		delay: 50,
		speed: 'fast'
	}).supposition();
	
	/**
	 * Go to drop downs
	 */
	$('.goto_select_list select').change(function() {
		document.location = $(this).val();
	});
	$('.goto_select_list button').click(function() {
		document.location = $(this).parent().find('select').val();
		return false;
	});
	
	$('select#blockQueryFilter').change(function() {
		document.location = $(this).val();
	});
	
	/**
	 * Set default search hint
	 * Focus Unfocus Text boxes
	 */
	if ($('#search-box input#SearchQuery').val() == '') {
		$('#search-box input#SearchQuery').val('Start your search');
	}
	$('#search-box input[type=text]').focusin(function() {
		if ($(this).val() == 'Start your search') {
			$(this).val('');
		}
	}).focusout(function() {
		if ($(this).val() == '') {
			$(this).val('Start your search');
		}
	});
	$('#search-box FORM').submit(function() {
		if ($('#search-box input#SearchQuery').val() == '' || $('#search-box input#SearchQuery').val() == 'Start your search') {
			alert('Please provide a search query');
			return false;
		}
	});
	
	$('#mailform input[type=text]').focusin(function() {
		if ($(this).val() == 'Your Email Address') {
			$(this).val('');
		}
	}).focusout(function() {
		if ($(this).val() == '') {
			$(this).val('Your Email Address');
		}
	});
	if ($('#signup').length > 0) {
		var url_vars = getUrlVars();
		if (typeof url_vars['Email'] != 'undefined') {
			$('#signup input[name=Email]').val(url_vars['Email'].replace("%40", "@"));
		}
	}
	$('html').removeClass('thunderload');
	
	/**
	 * General Ajax popups
	 */
	$("a.ajax_link").live('click', function() {
		$('#dialog').html('<div class="loading">Loading..</div>');
		$("#dialog").load($(this).attr('href'), function() {
			$( "button, input:submit, a.button").button();
			if (typeof IN!='undefined') {
				IN.parse();
			}
		}).dialog({
			position: 'center',
			title: $(this).attr('title'),
			height: 550,
			width: 880,
			modal: true,
			draggable: false,
			resizable: true,
			buttons: {
				"Close window": function() {
					$( this ).dialog( "close" );
				}
			}
		});
		return false;
	});
	
	/**
	* Event tracking for Downloads, Views, Signups and Donations
	* 
	* The tracking code for document views/previews are instigated from the flexpaper content_templates and flexpaper.js onDocumentLoaded() method
	*/

	// Push download events 
	$('a[href^=\\/media\\/download]').live('click', function() {
		var nodeid = parseFloat($(this).url().segment(-1));
		_gaq.push(['_trackEvent', 'document', 'download', $.globals._trackEvent.current_slug, nodeid]);
//		console.log('Event tracked: document | download | ' + $.globals._trackEvent.current_slug + ' | ' + nodeid);
	});
	
	// Push button signup events
	$('input[value=sign-up]').live('click', function() {
		var nurl = $(this).parents('form[action]').attr('action');
		_gaq.push(['_trackEvent', 'button', 'signup', nurl]);
//		console.log('Event tracked: button | signup | ' + nurl);
	});
	
	// Push donate events - form button (@todo standalone button)
	$('input[value=donate]').live('click', function() {
		var durl = $(this).parents('form[action]').attr('action');
		_gaq.push(['_trackEvent', 'donate', 'form button', durl]);
//		console.log('Event tracked: donate | form button | ' + durl);
	});
	
	// Push donate events - text link, graphical ?>
	$('a[href^=https\\:\\/\\/www\\.secure\\.practicalaction\\.org], a[href^=https\\:\\/\\/practicalaction\\.org\\/donate]').click(function() {
		var daction = 'text link';
		if($(this).children('img').length > 0) {
			daction = 'graphical';
		}
		var durl = $(this).attr('href');
		_gaq.push(['_trackEvent', 'donate', daction, durl]);
//		console.log('Event tracked: donate | ' + daction + ' | ' + durl);
	});
});

function getUrlVars() {
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)
    {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }
    return vars;
}

/**
 * Social Tracking Callbacks
 */
function LinkedInShare() {
	if (typeof _gaq!='undefined') {
//		console.log('Linkedin Share: ' + $('link[rel=canonical]').attr('href'));
		_gaq.push(['_trackSocial', 'linkedin', 'share', $('link[rel=canonical]').attr('href')]);
	}
}

function PlusOneShare( type ) {
	if (typeof _gaq!='undefined') {
//		console.log('Plusone Share: ' + $('link[rel=canonical]').attr('href'));
		_gaq.push(['_trackSocial', 'plusone', type, $('link[rel=canonical]').attr('href')]);
	}
}

function TwitterShare(type) {
	if (typeof _gaq!='undefined') {
//		console.log('Twitter Share: ' + $('link[rel=canonical]').attr('href'));
		_gaq.push(['_trackSocial', 'twitter', type, $('link[rel=canonical]').attr('href')]);
	}
}

function FacebookShare(type) {
	if (typeof _gaq!='undefined') {
//		console.log('Facebook Share: ' + $('link[rel=canonical]').attr('href'));
		_gaq.push(['_trackSocial', 'facebook', type, $('link[rel=canonical]').attr('href')]);
	}
}

function addthisShare(evt) {
	switch (evt.data.service) {
		case 'tweet':
			TwitterShare('tweet');
			break;
		case 'facebook_like':
			FacebookShare('like');
			break;
		case 'google_plusone':
			PlusOneShare('share');
			break;
	}
}
