function quote_init(){
	var htmlRequest = new Request.HTML({
		url : "/Quotes/getQuote",
		update : "quotes_destination"
	}).send();
        $$("input.mobile-quotes-search").each(function(el) {
                el.addEvent("click", submit_quote_query_mobile);
            });
}

function social_quote_init(){

	var jsonRequest = new Request.JSON({url: '/Quotes/getQuoteJSON', onSuccess: function(quote){
		$('quotes_destination').innerHTML = quote.formatted_quote;
		$('quote_social').innerHTML = quote.quote_social;
		console.log(quote);
	}}).get();
	
	$$("input.mobile-quotes-search").each(function(el) {
		el.addEvent("click", submit_quote_query_mobile);
	});
}

function submit_quote_query(next_page){
	if (next_page == true) {
		$('page_number').value = parseInt($('page_number').value) + 1;
		$('page_continuity').value = "true";
	} else if (next_page == false) {
		$('page_number').value = parseInt($('page_number').value) - 1;
		$('page_continuity').value = "true";
	}
	new Form.Request('quote_form', 'quote_detail', {resetForm : false}).send(); 
}

function submit_quote_query_mobile(event){
    event.stop(); // block normal form submit
    $("get-more-quotes").setStyle("display", "none");
    $("quote_detail").set("text", "Searching...");
    var post_data = {
        "quote_search" : $("quote_search_field").value,
        "category"     : $("quote_category_field").value
    };
    var htmlRequest = new Request.HTML({
        url    : "/QuoteSearchMobile/search",
        update : "quote_detail",
        data   : post_data
	});
    htmlRequest.addEvent("success", function(responseTree, responseElements, responseHTML, responseJavaScript) {
            if ('' === responseHTML) {
                $("quote_detail").set("text", "No matching quotes found.  Please try another search.");
            } else {
                $("get-more-quotes").setStyle("display", "block");
            }
        });
    htmlRequest.send();
}

function submit_quote_mail(){
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

	var sender_string = $('sender').value.replace(/^\s*|\s*$/g,'');
	var recipient_string = $('recipient').value;

	var sender_test = filter.test(sender_string);

	var recipient_test = true;
	var recipients = recipient_string.split(",");
	for (var i = 0; i < recipients.length; i++){
		if (!filter.test(recipients[i].replace(/^\s*|\s*$/g,''))){
			recipient_test = false;
			break;
		}
	}

	if (!recipient_test || !sender_test) {
	
		var error_string = !recipient_test ? "Please enter a valid 'To' email.\n" : "";
		error_string += (recipient_test && sender_test) ? "\n" : "";
		error_string += !sender_test ? "Please enter a valid 'From' email." : "";

		alert(error_string);
	} else {
		new Form.Request('mail_quote_form', 'quote_response').send(); 
	}
}

function show_manage_favorite_quotes(quote_id){
	HTMLRequest = new Request.HTML({
		url : "/QuoteSearch/showFavoriteQuotes",
		data : {quoteId : quote_id},
		onSuccess: function(responseTree, responseElements, responseHTML, responseJavaScript){
			if (responseHTML!="notLoggedIn"){
				var fav_quotes = $$(".favorite_quote_"+quote_id);
				fav_quotes.each(function(quote){
					quote.empty();
					quote.set('html', responseHTML);
				});
			}
		}
	}).post();
}

function manage_favorite_quotes(action, quote_id){
	var request = new Request({
		url : "/QuoteSearch/setFavoriteQuotes",
		data : {action : action,
				quoteId : quote_id},
		onSuccess : function(responseText){
			show_manage_favorite_quotes(quote_id)
		}
	}).post();
}


