jQuery.noConflict();
jQuery(document).ready(function($){

	var hasRated = false;
	var searchUri = 'http://faqs.newmediacampaigns.com/questions';
	var singleUri = 'http://faqs.newmediacampaigns.com/questions/show/';

	//Disable direct form submission
	$('#search-form').submit(function(){
		$('#search-form-button').click();
		return false;
	});
	$('#rating-form').submit(function(){
		$('#rating-form-button').click();
		return false;
	});
	
	//Submit search
	$('#search-form-button').click(function(){
		var query = $('#search-form-query').val();
		$.ajax({
			type: 'GET',
			url: 'http://faqs.newmediacampaigns.com/questions?ajax=true&phrase=' + query + '&callback=?',
			dataType: 'jsonp',
			success:function(json){
				$('#search-results').html(json['body']);
				$('#search-spinner').fadeOut('fast',function(){ $('#search-results').fadeIn('fast') });
			}
		});
		$('#search-results').fadeOut('fast', function(){ $('#search-spinner').show() });
	});
	
	//Submit rating
	$('#rating-form-button').live('click',function(){
		if( hasRated == false ){
			var questionId = $('#rating-form-id').val();
			var questionRating = $('#rating-form input[type=radio]:checked').val();
			$.ajax({
				type: 'GET',
				url: 'http://faqs.newmediacampaigns.com/questions/rate/' + questionId + '?ajax=true&rating=' + questionRating + '&callback=?',
				dataType: 'jsonp',
				success:function(json){}
			});
			$(this).parent().parent().parent().append('<p><strong>Thank you for your rating!</strong></p>');
			hasRated = true;
		} else {
			alert('We appreciate your valuable input, but it appears you have already rated this question.');
		}
	});
	
	//If query id specified in URL, go ahead and show the requested question
	var initialQuestionId = getUrlParam('id');
	if( initialQuestionId != ''){
		$.ajax({
			type: 'GET',
			url: 'http://faqs.newmediacampaigns.com/questions/show/' + initialQuestionId + '?ajax=true&callback=?',
			dataType: 'jsonp',
			success:function(json){
				$('#search-results').html(json['body']);
				$('#search-spinner').fadeOut('fast',function(){ $('#search-results').fadeIn('fast') });
			}
		});
		$('#search-results').fadeOut('fast', function(){ $('#search-spinner').show() });
	}
	
	//If query phrase is specified in URL, go ahead and show the search results
	var initialQuery = getUrlParam('query');
	if( initialQuery != ''){
		$('#search-form-query').val(initialQuery);
		$('#search-form-button').click();
	}
	
	//Retrieve URL parameters
	function getUrlParam(name){
		name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
		var regexS = "[\\?&]"+name+"=([^&#]*)";
		var regex = new RegExp( regexS );
		var results = regex.exec( window.location.href );
		if( results == null )
			return "";
		else
			return results[1];
	}
	
});