$(document).ready(function(){

var feedUrl = "http://www.carnival.com/Funville/blogs/faqs/rss.aspx";

jQuery.getFeed({
        url: feedUrl,
        success: function(feed) {
        	
        	










//set some link at the top as "top" anchor
$("a.showPhoneNumberLink").attr("name","top");

/////////////////////////SET TERM GROUP OBJECT////////////////////////

var group = {
		g_staterooms:	{
				title:"staterooms",
				tags:["balconies","cruising with your family","luggage and valuables","stateroom amenities"]
				},
		g_amenities:	{
				title:"ship amenities",
				tags:["internet and communications","laundry services","onboard rentals","spa carnival"]
				},
		g_programs:	{
				title:"programs & special events",
				tags:["camp carnival","private parties","religious services","special occasions"]
				},
		g_payment:	{
				title:"payment, fees & rates",
				tags:["accepted forms of payment","access to money onboard","funship dollars","gratuities"]
				},
		g_health:	{
				title:"health, safety & regulations",
				tags:["age restrictions","onboard medical services","security measures"]
				}
		};
		
var tab1text = $("#tab1").text().replace(/\([^\)]*\)/, "").replace(/\s+$/, "").toLowerCase();
var tab2text = $("#tab2").text().replace(/\([^\)]*\)/, "").replace(/\s+$/, "").toLowerCase();
var tab3text = $("#tab3").text().replace(/\([^\)]*\)/, "").replace(/\s+$/, "").toLowerCase();

var tabArr = [{id:"#tab1",text:tab1text},{id:"#tab2",text:tab2text},{id:"#tab3",text:tab3text}];


//////////////////////////SIDEBAR LIST////////////////////////////

var sideTopics = "!";

$(".topic-block li a").each(function(){

	sideTopics += $(this).attr("href").toLowerCase().replace("?faq=","")+"!";

});

sideTopics = sideTopics.replace(/\+/g," ");
//alert(sideTopics);

	

///////////////////////////COUNT OCCURRENCES//////////////////////


//create this function
String.prototype.count=function(s1) { 
	return (this.length - this.replace(new RegExp(s1,"g"), '').length) / s1.length;
}


////////////////////////LOOKAROUND FUNCTION/////////////////////////

function lookAround(_term,tit){

	var index = tit.indexOf(_term);
	if (index != -1){

		var termParts = tit.split(_term);
		if(index != 0){
			var leadChar = termParts[0].split("");
			var len = leadChar.length;
			var leadChar = leadChar[len-1];
		} else {
			var leadChar = "";
		}

		var trailChar = (termParts[1].split(""))[0];
		var alphaNum = /[0-9a-z]/;
		var alphaNumS = /[0-9a-rt-z]/;

		if(alphaNum.test(leadChar) || alphaNumS.test(trailChar)){
			return false;
		} else {
			return true;
		}

	}

} 


//////////////////////SINGLE/MULTI WORD FUNCTIONS/////////////////

var oneWord = function(word){
	
	if (word.indexOf(" ") == -1 && word.length>0){
		return true;
	} else if (word.indexOf(" ") != -1) {
		var wordArr = word.split(" ");
		if (wordArr[1] == ""){
		return true;
		} else {
		return false;
		}
	}

}


var multiWord = function(word){

	if (word.indexOf(" ") != -1){
		var wordArr = word.split(" ");
		if (wordArr[1] != ""){
		return true;
		} else {
		return false;
		}
	}

}


/////////////////////////REMOVE ARRAY ELEMENT/////////////////////

function removeByElement(_arrayName,_arrayElement) {

	for(var i=0; i<_arrayName.length;i++ ) { 
        
        if(_arrayName[i]==_arrayElement){_arrayName.splice(i,1);}
        
        } 
}



////////////////////////MOST POPULAR//////////////////////////////

  
var popularResults = function(){

	$("#tab-popular").html("Most Popular (<span id='num-popular'>0</span>)");
        $('#faq .faqbox ul#listing').html('');
	$('#qablock').html('');
	
  
  
  $("#loading").show("fast",function(){
  
  //jQuery.getFeed({
  //      url: feedUrl,
  //      success: function(feed) {
			
            var list = '';
	    var qa = '';
	    var catList = '';
            
            for(var i = 0; i < feed.items.length; i++) {
            
                var item = feed.items[i];
                var cat = item.categories.toLowerCase();               
                
                
                catList += cat;
                
                
                if (cat.indexOf("popular") != "-1"){
                
			list += '<li>'
			+ '<a href="'
			+ '#q-'+i+'" '
			+ 'onclick="var s=s_gi(\'carnivalprod\'); var loc=window.location.toString(); if(loc.indexOf(\'uatcarnival.com\')>-1 || loc.indexOf(\'syscarnival.com\')>-1 || loc.indexOf(\'dev.carnival.com\')>-1){var s=s_gi(\'carnivaldev\');} s.tl(this,\'o\',\'[faq:'+(item.title).replace(/\'/g,"").replace(/\"/g,"").replace(/\./g,"")+']\');'
			+ '">'
			+ item.title
			+ '</a>'
			+ '</li>';

			qa += '<div class="block">'
			+ '<span class="top"><a name="q-'+i+'" href="#top"><img src="images/top.gif" border="0" /> Top</a></span>'
			+ '<span class="question">'+item.title+'</span>'
			+ '<span class="answer">'+item.description+'</span>'
			+ '</div>';
			
		}	
				
				
            } //end for
            
            
            $("#loading").hide();
            $('#faq .faqbox ul#listing').html(list);
	    $('#qablock').html(qa);
	    $("#qablock div.block:even").css("background-color", "#ebf4fb");
	    var popNum = catList.count('popular');
	    $("#num-popular").html(popNum);	
	    
	    for(var i=0; i < tabArr.length; i++){
	    $(tabArr[i].id).find("span").html(catList.count(tabArr[i].text));
	    }
	    
	    //scrollTo
	    $("span.top a").click(function(){
	    	$.scrollTo("a[name='top']", 1000);
		return false;
	    });

	    
	    //target blank all links in answer
	    $("span.answer a").attr("target","_blank");	    
	    
			
//        } // end success function   
//    });

});


}



//////////////////////FILTER FUNCTION/////////////////////////////



////////tags only///////

var filterResults = function(_term,_via){
	
        $('#faq .faqbox ul#listing').html('');
	$('#qablock').html('');	
	_term = _term.toLowerCase();
	var _search = $("#search-faq").val().toLowerCase();
	
	if (_via != "tab"){
		
		
		if (_term.count('"') == 2){ //if term is quoted
		
			_term = (_term.split('"'))[1];
			
			//alert(_term+" is in the support topics");
			$("#tab-popular").html("Search Results");
			$("#faq .tabs ul li").removeClass("selected");
			$("#tab-popular").parent().addClass("selected");
			$("#close").show();

						
		
			$("#loading").show("fast",function(){
			
				//jQuery.getFeed({
				//url: feedUrl,
				//success: function(feed) {

					var list = '';
					var qa = '';
					var catList = '';
					var catList2 = '';

					for(var i = 0; i < feed.items.length; i++) {

					var item = feed.items[i];
					var cat = item.categories.toLowerCase();
					var tit = item.title.toLowerCase();
					var des = item.description.toLowerCase();


					catList += cat;




					if (cat.indexOf(_term) != -1){
					//if (lookAround(_term,tit)){

					//alert(cat);
					catList2 += cat;

					list += '<li>'
					+ '<a href="'
					+ '#q-'+i+'" '
					+ 'onclick="var s=s_gi(\'carnivalprod\'); var loc=window.location.toString(); if(loc.indexOf(\'uatcarnival.com\')>-1 || loc.indexOf(\'syscarnival.com\')>-1 || loc.indexOf(\'dev.carnival.com\')>-1){var s=s_gi(\'carnivaldev\');} s.tl(this,\'o\',\'[faq:'+(item.title).replace(/\'/g,"").replace(/\"/g,"").replace(/\./g,"")+']\');'
					+ '">'
					+ item.title
					+ '</a>'
					+ '</li>';



					qa += '<div class="block">'
					+ '<span class="top"><a name="q-'+i+'" href="#top"><img src="images/top.gif" border="0" /> Top</a></span>'
					+ '<span class="question">'+item.title+'</span>'
					+ '<span class="answer">'+item.description+'</span>'
					+ '</div>';

					}	


					} //end for

					$("#loading").hide();


					var resultNum = list.count('<li>');

					if (_search != ""){
					for(var i=0; i < tabArr.length; i++){
					$(tabArr[i].id).find("span").html(catList2.count(tabArr[i].text));
					}
					} else {
					for(var i=0; i < tabArr.length; i++){
					$(tabArr[i].id).find("span").html(catList.count(tabArr[i].text));
					}
					}


					if (list.length > 0) {
					$('#faq .faqbox ul#listing').html(list);
					if (resultNum == 1){
					$('#faq .faqbox ul#listing').prepend('<li class="resultcount">'+resultNum+' result</li>');
					} else {
					$('#faq .faqbox ul#listing').prepend('<li class="resultcount">'+resultNum+' results</li>');
					}

					s.prop34 = _search;
					s.prop35 = resultNum;

					//alert("term: "+s.prop34+", results: "+s.prop35);

					$('#qablock').html(qa);
					$("#qablock div.block:even").css("background-color", "#ebf4fb");
					} else {
					var notFound = '<div id="notfound">'
					+ '<h3>Sorry, your search for &quot;<strong><em>'+$("#search-faq").val()+'</em></strong>&quot; did not match any of our FAQs.</h3>'
					+ '<ul>'
					+ '<li class="first">Suggestions:</li>'
					+ '<li>- Make sure all words are spelled correctly.</li>'
					+ '<li>- Try different keywords.</li>'
					+ '<li>- Try selecting from our list of Support Topics.</li>'
					+ '</ul></div>';

					$("#faq .faqbox ul#listing").html(notFound);
					}

					//scrollTo
					$("span.top a").click(function(){
					$.scrollTo("a[name='top']", 1000);
					return false;
					});


					//target blank all links in answer
					$("span.answer a").attr("target","_blank");			    

				//} // end success function   
				//});// end getfeed				
			
			}); //end show() callback			
		
		} else { // if term is NOT quoted
		
		
			if(sideTopics.indexOf("!"+_term+"!") != -1){

				//alert(_term+" is in the support topics");
				$("#tab-popular").html("Search Results");
				$("#faq .tabs ul li").removeClass("selected");
				$("#tab-popular").parent().addClass("selected");
				$("#close").show();
				
				if (_term == "g_staterooms"){_term = group.g_staterooms.tags;}
				else if (_term == "g_amenities"){_term = group.g_amenities.tags;}
				else if (_term == "g_programs"){_term = group.g_programs.tags;}
				else if (_term == "g_payment"){_term = group.g_payment.tags;}
				else if (_term == "g_health"){_term = group.g_health.tags;}
				else {_term = [_term]};				



				$("#loading").show("fast",function(){

					//jQuery.getFeed({
					//url: feedUrl,
					//success: function(feed) {

						var list = '';
						var qa = '';
						var catList = '';
						var catList2 = '';

						for(var i = 0; i < feed.items.length; i++) {

						var item = feed.items[i];
						var cat = item.categories.toLowerCase();
						var tit = item.title.toLowerCase();
						var des = item.description.toLowerCase();


						catList += cat;




						if (cat.indexOf(_term[0]) != -1 || cat.indexOf(_term[1]) != -1 || cat.indexOf(_term[2]) != -1 || cat.indexOf(_term[3]) != -1){

						//alert(cat);
						catList2 += cat;

						list += '<li>'
						+ '<a href="'
						+ '#q-'+i+'" '
						+ 'onclick="var s=s_gi(\'carnivalprod\'); var loc=window.location.toString(); if(loc.indexOf(\'uatcarnival.com\')>-1 || loc.indexOf(\'syscarnival.com\')>-1 || loc.indexOf(\'dev.carnival.com\')>-1){var s=s_gi(\'carnivaldev\');} s.tl(this,\'o\',\'[faq:'+(item.title).replace(/\'/g,"").replace(/\"/g,"").replace(/\./g,"")+']\');'
						+ '">'
						+ item.title
						+ '</a>'
						+ '</li>';



						qa += '<div class="block">'
						+ '<span class="top"><a name="q-'+i+'" href="#top"><img src="images/top.gif" border="0" /> Top</a></span>'
						+ '<span class="question">'+item.title+'</span>'
						+ '<span class="answer">'+item.description+'</span>'
						+ '</div>';

						}	


						} //end for

						$("#loading").hide();


						var resultNum = list.count('<li>');

						if (_search != ""){
						for(var i=0; i < tabArr.length; i++){
						$(tabArr[i].id).find("span").html(catList2.count(tabArr[i].text));
						}
						} else {
						for(var i=0; i < tabArr.length; i++){
						$(tabArr[i].id).find("span").html(catList.count(tabArr[i].text));
						}
						}


						if (list.length > 0) {
						$('#faq .faqbox ul#listing').html(list);
						if (resultNum == 1){
						$('#faq .faqbox ul#listing').prepend('<li class="resultcount">'+resultNum+' result</li>');
						} else {
						$('#faq .faqbox ul#listing').prepend('<li class="resultcount">'+resultNum+' results</li>');
						}

						s.prop34 = _search;
						s.prop35 = resultNum;

						//alert("term: "+s.prop34+", results: "+s.prop35);

						$('#qablock').html(qa);
						$("#qablock div.block:even").css("background-color", "#ebf4fb");
						} else {
						var notFound = '<div id="notfound">'
						+ '<h3>Sorry, your search for &quot;<strong><em>'+$("#search-faq").val()+'</em></strong>&quot; did not match any of our FAQs.</h3>'
						+ '<ul>'
						+ '<li class="first">Suggestions:</li>'
						+ '<li>- Make sure all words are spelled correctly.</li>'
						+ '<li>- Try different keywords.</li>'
						+ '<li>- Try selecting from our list of Support Topics.</li>'
						+ '</ul></div>';

						$("#faq .faqbox ul#listing").html(notFound);
						}

						//scrollTo
						$("span.top a").click(function(){
						$.scrollTo("a[name='top']", 1000);
						return false;
						});


						//target blank all links in answer
						$("span.answer a").attr("target","_blank");			    

					//} // end success function   
					//});// end getfeed				

				}); //end show() callback

			} else { //if NOT in support topics
			
				//alert(_term+" is not in the support topics");
				$("#tab-popular").html("Search Results");
				$("#faq .tabs ul li").removeClass("selected");
				$("#tab-popular").parent().addClass("selected");
				$("#close").show();
				
				if(_term.indexOf(" ") == -1){
				_term = [_term];
				}else{
				_term = _term.split(" ");
				removeByElement(_term,"is");
				removeByElement(_term,"the");
				removeByElement(_term,"for");
				removeByElement(_term,"i");
				removeByElement(_term,"to");
				removeByElement(_term,"if");
				removeByElement(_term,"in");
				removeByElement(_term,"on");
				removeByElement(_term,"are");
				removeByElement(_term,"am");
				removeByElement(_term,"a");
				removeByElement(_term,"and");
				removeByElement(_term,"carnival");
				}
				//alert(_term);
				$("#loading").show("fast",function(){

					//jQuery.getFeed({
					//url: feedUrl,
					//success: function(feed) {

						var list = '';
						var qa = '';
						var catList = '';
						var catList2 = '';

						for(var i = 0; i < feed.items.length; i++) {

						var item = feed.items[i];
						var cat = item.categories.toLowerCase();
						var tit = item.title.toLowerCase();
						var des = item.description.toLowerCase();


						catList += cat;




						if (cat.indexOf(_term[0]) != -1 || cat.indexOf(_term[1]) != -1 || cat.indexOf(_term[2]) != -1 || cat.indexOf(_term[3]) != -1 || cat.indexOf(_term[4]) != -1 || cat.indexOf(_term[5]) != -1 || cat.indexOf(_term[6]) != -1 || cat.indexOf(_term[7]) != -1 || cat.indexOf(_term[8]) != -1 || cat.indexOf(_term[9]) != -1 || cat.indexOf(_term[10]) != -1 || cat.indexOf(_term[11]) != -1 || cat.indexOf(_term[12]) != -1 || cat.indexOf(_term[13]) != -1 || cat.indexOf(_term[14]) != -1){
						//if (lookAround(_term[0],tit) || lookAround(_term[1],tit) || lookAround(_term[2],tit) || lookAround(_term[3],tit) || lookAround(_term[4],tit) || lookAround(_term[5],tit) || lookAround(_term[6],tit) || lookAround(_term[7],tit) || lookAround(_term[8],tit) || lookAround(_term[9],tit) || lookAround(_term[10],tit) || lookAround(_term[11],tit) || lookAround(_term[12],tit) || lookAround(_term[13],tit) || lookAround(_term[14],tit)){

						//alert(cat);
						catList2 += cat;

						list += '<li>'
						+ '<a href="'
						+ '#q-'+i+'" '
						+ 'onclick="var s=s_gi(\'carnivalprod\'); var loc=window.location.toString(); if(loc.indexOf(\'uatcarnival.com\')>-1 || loc.indexOf(\'syscarnival.com\')>-1 || loc.indexOf(\'dev.carnival.com\')>-1){var s=s_gi(\'carnivaldev\');} s.tl(this,\'o\',\'[faq:'+(item.title).replace(/\'/g,"").replace(/\"/g,"").replace(/\./g,"")+']\');'
						+ '">'
						+ item.title
						+ '</a>'
						+ '</li>';



						qa += '<div class="block">'
						+ '<span class="top"><a name="q-'+i+'" href="#top"><img src="images/top.gif" border="0" /> Top</a></span>'
						+ '<span class="question">'+item.title+'</span>'
						+ '<span class="answer">'+item.description+'</span>'
						+ '</div>';

						}	


						} //end for

						$("#loading").hide();


						var resultNum = list.count('<li>');

						if (_search != ""){
						for(var i=0; i < tabArr.length; i++){
						$(tabArr[i].id).find("span").html(catList2.count(tabArr[i].text));
						}
						} else {
						for(var i=0; i < tabArr.length; i++){
						$(tabArr[i].id).find("span").html(catList.count(tabArr[i].text));
						}
						}


						if (list.length > 0) {
						$('#faq .faqbox ul#listing').html(list);
						if (resultNum == 1){
						$('#faq .faqbox ul#listing').prepend('<li class="resultcount">'+resultNum+' result</li>');
						} else {
						$('#faq .faqbox ul#listing').prepend('<li class="resultcount">'+resultNum+' results</li>');
						}

						s.prop34 = _search;
						s.prop35 = resultNum;

						//alert("term: "+s.prop34+", results: "+s.prop35);

						$('#qablock').html(qa);
						$("#qablock div.block:even").css("background-color", "#ebf4fb");
						} else {
						var notFound = '<div id="notfound">'
						+ '<h3>Sorry, your search for &quot;<strong><em>'+$("#search-faq").val()+'</em></strong>&quot; did not match any of our FAQs.</h3>'
						+ '<ul>'
						+ '<li class="first">Suggestions:</li>'
						+ '<li>- Make sure all words are spelled correctly.</li>'
						+ '<li>- Try different keywords.</li>'
						+ '<li>- Try selecting from our list of Support Topics.</li>'
						+ '</ul></div>';

						$("#faq .faqbox ul#listing").html(notFound);
						}

						//scrollTo
						$("span.top a").click(function(){
						$.scrollTo("a[name='top']", 1000);
						return false;
						});


						//target blank all links in answer
						$("span.answer a").attr("target","_blank");			    

					//} // end success function   
					//});// end getfeed				

				}); //end show() callback		

			} //end not in support topics
			
		} //end not quoted
	
	} else if (_via == "tab") {
	
		if (_search == ""){
			
			//$("#tab1 span, #tab2 span, #tab3 span").html("0");
			//$("#tab-popular").html("Most Popular (<span id='num-popular'>0</span>)");
			$("#loading").show("fast",function(){

				//jQuery.getFeed({
				//url: feedUrl,
				//success: function(feed) {

					var list = '';
					var qa = '';
					var catList = '';
					var catList2 = '';

					for(var i = 0; i < feed.items.length; i++) {

					var item = feed.items[i];
					var cat = item.categories.toLowerCase();
					var tit = item.title.toLowerCase();
					var des = item.description.toLowerCase();
					var tabCat = _term;// $(".tabs ul li.selected a").text().replace(/\([^\)]*\)/, "").replace(/\s+$/, "");
	


					catList += cat;




					if (cat.indexOf(tabCat.toLowerCase()) != -1){

					//alert(cat);
					catList2 += cat;

					list += '<li>'
					+ '<a href="'
					+ '#q-'+i+'" '
					+ 'onclick="var s=s_gi(\'carnivalprod\'); var loc=window.location.toString(); if(loc.indexOf(\'uatcarnival.com\')>-1 || loc.indexOf(\'syscarnival.com\')>-1 || loc.indexOf(\'dev.carnival.com\')>-1){var s=s_gi(\'carnivaldev\');} s.tl(this,\'o\',\'[faq:'+(item.title).replace(/\'/g,"").replace(/\"/g,"").replace(/\./g,"")+']\');'
					+ '">'
					+ item.title
					+ '</a>'
					+ '</li>';



					qa += '<div class="block">'
					+ '<span class="top"><a name="q-'+i+'" href="#top"><img src="images/top.gif" border="0" /> Top</a></span>'
					+ '<span class="question">'+item.title+'</span>'
					+ '<span class="answer">'+item.description+'</span>'
					+ '</div>';

					}	


					} //end for

					$("#loading").hide();


					var resultNum = list.count('<li>');

					if (_search != ""){
					for(var i=0; i < tabArr.length; i++){
					$(tabArr[i].id).find("span").html(catList2.count(tabArr[i].text));
					}
					} else {
					for(var i=0; i < tabArr.length; i++){
					$(tabArr[i].id).find("span").html(catList.count(tabArr[i].text));
					}
					}


					if (list.length > 0) {
					$('#faq .faqbox ul#listing').html(list);
					

					s.prop34 = _search;
					s.prop35 = resultNum;

					//alert("term: "+s.prop34+", results: "+s.prop35);

					$('#qablock').html(qa);
					$("#qablock div.block:even").css("background-color", "#ebf4fb");
					} else {
					var notFound = '<div id="notfound">'
					+ '<h3>Sorry, your search for &quot;<strong><em>'+tabCat+'</em></strong>&quot; did not match any of our FAQs.</h3>'
					+ '<ul>'
					+ '<li class="first">Suggestions:</li>'
					+ '<li>- Make sure all words are spelled correctly.</li>'
					+ '<li>- Try different keywords.</li>'
					+ '<li>- Try selecting from our list of Support Topics.</li>'
					+ '</ul></div>';

					$("#faq .faqbox ul#listing").html(notFound);
					}

					//scrollTo
					$("span.top a").click(function(){
					$.scrollTo("a[name='top']", 1000);
					return false;
					});


					//target blank all links in answer
					$("span.answer a").attr("target","_blank");			    

				//} // end success function   
				//});// end getfeed				

			}); //end show() callback
		
		} else { //if search bar is populated
		
			if (_search.count('"') == 2){ //if term is quoted

				_search = (_search.split('"'))[1];

				//alert(_term+" is in the support topics");
				$("#close").show();



				$("#loading").show("fast",function(){

					//jQuery.getFeed({
					//url: feedUrl,
					//success: function(feed) {

						var list = '';
						var qa = '';
						var catList = '';
						var catList2 = '';

						for(var i = 0; i < feed.items.length; i++) {

						var item = feed.items[i];
						var cat = item.categories.toLowerCase();
						var tit = item.title.toLowerCase();
						var des = item.description.toLowerCase();
						var tabCat = _term;//$(".tabs ul li.selected a").text().replace(/\([^\)]*\)/, "").replace(/\s+$/, "");


						catList += cat;




						if (cat.indexOf(tabCat.toLowerCase()) != -1 && cat.indexOf(_search) != -1){
						//if (cat.indexOf(tabCat.toLowerCase()) != -1 && tit.indexOf(_search) != -1){

						//alert(cat);
						catList2 += cat;

						list += '<li>'
						+ '<a href="'
						+ '#q-'+i+'" '
						+ 'onclick="var s=s_gi(\'carnivalprod\'); var loc=window.location.toString(); if(loc.indexOf(\'uatcarnival.com\')>-1 || loc.indexOf(\'syscarnival.com\')>-1 || loc.indexOf(\'dev.carnival.com\')>-1){var s=s_gi(\'carnivaldev\');} s.tl(this,\'o\',\'[faq:'+(item.title).replace(/\'/g,"").replace(/\"/g,"").replace(/\./g,"")+']\');'
						+ '">'
						+ item.title
						+ '</a>'
						+ '</li>';



						qa += '<div class="block">'
						+ '<span class="top"><a name="q-'+i+'" href="#top"><img src="images/top.gif" border="0" /> Top</a></span>'
						+ '<span class="question">'+item.title+'</span>'
						+ '<span class="answer">'+item.description+'</span>'
						+ '</div>';

						}	


						} //end for

						$("#loading").hide();


						var resultNum = list.count('<li>');




						if (list.length > 0) {
						$('#faq .faqbox ul#listing').html(list);


						s.prop34 = _search;
						s.prop35 = resultNum;

						//alert("term: "+s.prop34+", results: "+s.prop35);

						$('#qablock').html(qa);
						$("#qablock div.block:even").css("background-color", "#ebf4fb");
						} else {
						var notFound = '<div id="notfound">'
						+ '<h3>Sorry, your search for &quot;<strong><em>'+_search+'</em></strong>&quot; under &quot;<strong><em>'+tabCat+'</em></strong>&quot; did not match any of our FAQs.</h3>'
						+ '<ul>'
						+ '<li class="first">Suggestions:</li>'
						+ '<li>- Make sure all words are spelled correctly.</li>'
						+ '<li>- Try different keywords.</li>'
						+ '<li>- Try selecting from our list of Support Topics.</li>'
						+ '</ul></div>';

						$("#faq .faqbox ul#listing").html(notFound);
						}

						//scrollTo
						$("span.top a").click(function(){
						$.scrollTo("a[name='top']", 1000);
						return false;
						});


						//target blank all links in answer
						$("span.answer a").attr("target","_blank");			    

					//} // end success function   
					//});// end getfeed				

				}); //end show() callback			

			} else { // if term is NOT quoted


				if(sideTopics.indexOf("!"+_search+"!") != -1){

					//alert(_search+" is in the support topics");
					$("#close").show();


					_search = [_search];				



					$("#loading").show("fast",function(){

						//jQuery.getFeed({
						//url: feedUrl,
						//success: function(feed) {

							var list = '';
							var qa = '';
							var catList = '';
							var catList2 = '';

							for(var i = 0; i < feed.items.length; i++) {

							var item = feed.items[i];
							var cat = item.categories.toLowerCase();
							var tit = item.title.toLowerCase();
							var des = item.description.toLowerCase();
							var tabCat = _term;//$(".tabs ul li.selected a").text().replace(/\([^\)]*\)/, "").replace(/\s+$/, "");


							catList += cat;




							if (cat.indexOf(tabCat.toLowerCase()) != -1 && cat.indexOf(_search[0]) != -1){

							//alert(cat);
							catList2 += cat;

							list += '<li>'
							+ '<a href="'
							+ '#q-'+i+'" '
							+ 'onclick="var s=s_gi(\'carnivalprod\'); var loc=window.location.toString(); if(loc.indexOf(\'uatcarnival.com\')>-1 || loc.indexOf(\'syscarnival.com\')>-1 || loc.indexOf(\'dev.carnival.com\')>-1){var s=s_gi(\'carnivaldev\');} s.tl(this,\'o\',\'[faq:'+(item.title).replace(/\'/g,"").replace(/\"/g,"").replace(/\./g,"")+']\');'
							+ '">'
							+ item.title
							+ '</a>'
							+ '</li>';



							qa += '<div class="block">'
							+ '<span class="top"><a name="q-'+i+'" href="#top"><img src="images/top.gif" border="0" /> Top</a></span>'
							+ '<span class="question">'+item.title+'</span>'
							+ '<span class="answer">'+item.description+'</span>'
							+ '</div>';

							}	


							} //end for

							$("#loading").hide();


							var resultNum = list.count('<li>');




							if (list.length > 0) {
							$('#faq .faqbox ul#listing').html(list);
							

							s.prop34 = _search;
							s.prop35 = resultNum;

							//alert("term: "+s.prop34+", results: "+s.prop35);

							$('#qablock').html(qa);
							$("#qablock div.block:even").css("background-color", "#ebf4fb");
							} else {
							var notFound = '<div id="notfound">'
							+ '<h3>Sorry, your search for &quot;<strong><em>'+$("#search-faq").val()+'</em></strong>&quot; under &quot;<strong><em>'+tabCat+'</em></strong>&quot; did not match any of our FAQs.</h3>'
							+ '<ul>'
							+ '<li class="first">Suggestions:</li>'
							+ '<li>- Make sure all words are spelled correctly.</li>'
							+ '<li>- Try different keywords.</li>'
							+ '<li>- Try selecting from our list of Support Topics.</li>'
							+ '</ul></div>';

							$("#faq .faqbox ul#listing").html(notFound);
							}

							//scrollTo
							$("span.top a").click(function(){
							$.scrollTo("a[name='top']", 1000);
							return false;
							});


							//target blank all links in answer
							$("span.answer a").attr("target","_blank");			    

						//} // end success function   
						//});// end getfeed				

					}); //end show() callback

				} else { //search NOT in support topics
				
				
						//alert(_search+" is not in the support topics");
						

						$("#close").show();
						
					if(_search==group.g_staterooms.title || _search==group.g_amenities.title || _search==group.g_programs.title || _search==group.g_payment.title || _search==group.g_health.title){
						
						//alert("is one of the titles");
						
						if(_search == group.g_staterooms.title){_search=group.g_staterooms.tags}
						else if (_search == group.g_amenities.title){_search=group.g_amenities.tags}
						else if (_search == group.g_programs.title){_search=group.g_programs.tags}
						else if (_search == group.g_payment.title){_search=group.g_payment.tags}
						else if (_search == group.g_health.title){_search=group.g_health.tags}
						
						$("#loading").show("fast",function(){

							//jQuery.getFeed({
							//url: feedUrl,
							//success: function(feed) {

								var list = '';
								var qa = '';
								var catList = '';
								var catList2 = '';

								for(var i = 0; i < feed.items.length; i++) {

								var item = feed.items[i];
								var cat = item.categories.toLowerCase();
								var tit = item.title.toLowerCase();
								var des = item.description.toLowerCase();
								var tabCat = _term;//$(".tabs ul li.selected a").text().replace(/\([^\)]*\)/, "").replace(/\s+$/, "");



								catList += cat;





								if (cat.indexOf(_search[0]) != -1 || cat.indexOf(_search[1]) != -1 || cat.indexOf(_search[2]) != -1 || cat.indexOf(_search[3]) != -1){
								
								if(cat.indexOf(tabCat.toLowerCase()) != -1){
								
								//alert(tabCat);
								catList2 += cat;

								list += '<li>'
								+ '<a href="'
								+ '#q-'+i+'" '
								+ 'onclick="var s=s_gi(\'carnivalprod\'); var loc=window.location.toString(); if(loc.indexOf(\'uatcarnival.com\')>-1 || loc.indexOf(\'syscarnival.com\')>-1 || loc.indexOf(\'dev.carnival.com\')>-1){var s=s_gi(\'carnivaldev\');} s.tl(this,\'o\',\'[faq:'+(item.title).replace(/\'/g,"").replace(/\"/g,"").replace(/\./g,"")+']\');'
								+ '">'
								+ item.title
								+ '</a>'
								+ '</li>';



								qa += '<div class="block">'
								+ '<span class="top"><a name="q-'+i+'" href="#top"><img src="images/top.gif" border="0" /> Top</a></span>'
								+ '<span class="question">'+item.title+'</span>'
								+ '<span class="answer">'+item.description+'</span>'
								+ '</div>';


								}
								}


								} //end for

								$("#loading").hide();


								var resultNum = list.count('<li>');




								if (list.length > 0) {
								$('#faq .faqbox ul#listing').html(list);


								s.prop34 = _search;
								s.prop35 = resultNum;

								//alert("term: "+s.prop34+", results: "+s.prop35);

								$('#qablock').html(qa);
								$("#qablock div.block:even").css("background-color", "#ebf4fb");
								} else {
								var notFound = '<div id="notfound">'
								+ '<h3>Sorry, your search for &quot;<strong><em>'+$("#search-faq").val()+'</em></strong>&quot; under &quot;<strong><em>'+tabCat+'</em></strong>&quot; did not match any of our FAQs.</h3>'
								+ '<ul>'
								+ '<li class="first">Suggestions:</li>'
								+ '<li>- Make sure all words are spelled correctly.</li>'
								+ '<li>- Try different keywords.</li>'
								+ '<li>- Try selecting from our list of Support Topics.</li>'
								+ '</ul></div>';

								$("#faq .faqbox ul#listing").html(notFound);
								}

								//scrollTo
								$("span.top a").click(function(){
								$.scrollTo("a[name='top']", 1000);
								return false;
								});


								//target blank all links in answer
								$("span.answer a").attr("target","_blank");			    

							//} // end success function   
							//});// end getfeed				

						}); //end show() callback						
						
					}else{	

						if(_search.indexOf(" ") == -1){
						_search = [_search];						
						}else{
						_search = _search.split(" ");
						removeByElement(_search,"is");
						removeByElement(_search,"the");
						removeByElement(_search,"for");
						removeByElement(_search,"i");
						removeByElement(_search,"to");
						removeByElement(_search,"if");
						removeByElement(_search,"in");
						removeByElement(_search,"on");
						removeByElement(_search,"are");
						removeByElement(_search,"am");
						removeByElement(_search,"a");
						removeByElement(_search,"and");
						removeByElement(_search,"carnival");
						}
						
						
						
						
						//alert(_search);
						$("#loading").show("fast",function(){

							//jQuery.getFeed({
							//url: feedUrl,
							//success: function(feed) {

								var list = '';
								var qa = '';
								var catList = '';
								var catList2 = '';

								for(var i = 0; i < feed.items.length; i++) {

								var item = feed.items[i];
								var cat = item.categories.toLowerCase();
								var tit = item.title.toLowerCase();
								var des = item.description.toLowerCase();
								var tabCat = _term;//$(".tabs ul li.selected a").text().replace(/\([^\)]*\)/, "").replace(/\s+$/, "");



								catList += cat;





								if(cat.indexOf(_search[0]) != -1 || cat.indexOf(_search[1]) != -1 || cat.indexOf(_search[2]) != -1 || cat.indexOf(_search[3]) != -1 || cat.indexOf(_search[4]) != -1 || cat.indexOf(_search[5]) != -1 || cat.indexOf(_search[6]) != -1 || cat.indexOf(_search[7]) != -1 || cat.indexOf(_search[8]) != -1 || cat.indexOf(_search[9]) != -1 || cat.indexOf(_search[10]) != -1 || cat.indexOf(_search[11]) != -1 || cat.indexOf(_search[12]) != -1 || cat.indexOf(_search[13]) != -1 || cat.indexOf(_search[14]) != -1){
								//if (cat.indexOf(tabCat.toLowerCase()) != -1 && lookAround(_search[0],tit) || lookAround(_search[1],tit) || lookAround(_search[2],tit) || lookAround(_search[3],tit) || lookAround(_search[4],tit) || lookAround(_search[5],tit) || lookAround(_search[6],tit) || lookAround(_search[7],tit) || lookAround(_search[8],tit) || lookAround(_search[9],tit) || lookAround(_search[10],tit) || lookAround(_search[11],tit) || lookAround(_search[12],tit) || lookAround(_search[13],tit) || lookAround(_search[14],tit)){
								if(cat.indexOf(tabCat.toLowerCase()) != -1){

								//alert(tabCat);
								catList2 += cat;

								list += '<li>'
								+ '<a href="'
								+ '#q-'+i+'" '
								+ 'onclick="var s=s_gi(\'carnivalprod\'); var loc=window.location.toString(); if(loc.indexOf(\'uatcarnival.com\')>-1 || loc.indexOf(\'syscarnival.com\')>-1 || loc.indexOf(\'dev.carnival.com\')>-1){var s=s_gi(\'carnivaldev\');} s.tl(this,\'o\',\'[faq:'+(item.title).replace(/\'/g,"").replace(/\"/g,"").replace(/\./g,"")+']\');'
								+ '">'
								+ item.title
								+ '</a>'
								+ '</li>';



								qa += '<div class="block">'
								+ '<span class="top"><a name="q-'+i+'" href="#top"><img src="images/top.gif" border="0" /> Top</a></span>'
								+ '<span class="question">'+item.title+'</span>'
								+ '<span class="answer">'+item.description+'</span>'
								+ '</div>';


								}
								}


								} //end for

								$("#loading").hide();


								var resultNum = list.count('<li>');




								if (list.length > 0) {
								$('#faq .faqbox ul#listing').html(list);


								s.prop34 = _search;
								s.prop35 = resultNum;

								//alert("term: "+s.prop34+", results: "+s.prop35);

								$('#qablock').html(qa);
								$("#qablock div.block:even").css("background-color", "#ebf4fb");
								} else {
								var notFound = '<div id="notfound">'
								+ '<h3>Sorry, your search for &quot;<strong><em>'+$("#search-faq").val()+'</em></strong>&quot; under &quot;<strong><em>'+tabCat+'</em></strong>&quot; did not match any of our FAQs.</h3>'
								+ '<ul>'
								+ '<li class="first">Suggestions:</li>'
								+ '<li>- Make sure all words are spelled correctly.</li>'
								+ '<li>- Try different keywords.</li>'
								+ '<li>- Try selecting from our list of Support Topics.</li>'
								+ '</ul></div>';

								$("#faq .faqbox ul#listing").html(notFound);
								}

								//scrollTo
								$("span.top a").click(function(){
								$.scrollTo("a[name='top']", 1000);
								return false;
								});


								//target blank all links in answer
								$("span.answer a").attr("target","_blank");			    

							//} // end success function   
							//});// end getfeed				

						}); //end show() callback
					}//end if not a g_ title

				} //end not in support topics

			} //end not quoted		
		
		} // end if search bar is populated
	
	} // end if via tab


}









///////////////////////TABS FUNCTIONALITY///////////////////////

var tabLink = $("#faq .tabs ul li a");

tabLink.each(function(){
					  
	$(this).click(function(){
	tabLink.not(this).parent().removeClass("selected");
	$(this).parent().addClass("selected");
	$(this).blur();
	return false;
	});
					  
});

$("#tab-popular").click(function(){
	$("#search-faq-btn").click();
});



for(var i=0; i < tabArr.length; i++){
  $(tabArr[i].id).click(function(){
	var text = $(this).text().replace(/\([^\)]*\)/, "").replace(/\s+$/, "").toLowerCase();
   	filterResults(text, 'tab');
  });
}





/////////////////////SEARCH CLICK///////////////////////////

$("#search-faq").bind("keypress", function(event){
											 
	if (event.keyCode == 13){
		$("#search-faq-btn").click();
		event.stopPropagation();
		event.preventDefault();
	}
									 										 
});


$("#search-faq-btn").click(function(){

	$("#tab-popular").html("Search Results");
	$("#faq .tabs ul li").removeClass("selected");
	$("#tab-popular").parent().addClass("selected");
	
	
	var term = $("#search-faq").val();
	
	
	if (term.length < 3 && term != ""){
		$("#close").show();
		var tooShort = '<div id="notfound">'
				+ '<h3>Sorry, your search for &quot;<strong><em>'+term+'</em></strong>&quot; did not match any of our FAQs.</h3>'
				+ '<ul>'
				+ '<li class="first">Suggestions:</li>'
				+ '<li>- Try a longer search term.</li>'
				+ '<li>- Make sure all words are spelled correctly.</li>'
				+ '<li>- Try different keywords.</li>'
				+ '<li>- Try selecting from our list of Support Topics.</li>'
				+ '</ul></div>';
		$('#qablock').html('');
		$("#faq .faqbox ul#listing").html(tooShort);
	} else if (term == ""){
		$("#close").hide();
		popularResults();
	} else if (term == group.g_staterooms.title){
		window.open('?faq=g_staterooms','_parent');
	} else if (term == group.g_amenities.title){
		window.open('?faq=g_amenities','_parent');
	} else if (term == group.g_programs.title){
		window.open('?faq=g_programs','_parent');
	} else if (term == group.g_payment.title){
		window.open('?faq=g_payment','_parent');	
	} else if (term == group.g_health.title){
		window.open('?faq=g_health','_parent');		
	} else {
		$("#close").show();
		filterResults(term,'');
	}
	

});



/////////////////////CLOSE CLICK/////////////////////

$("#close").click(function(){

	$("#search-faq").val("");
	$("#faq .tabs ul li").removeClass("selected");
	$("#tab-popular").parent().addClass("selected");
	popularResults();
	$(this).hide();
	return false;

});



//////////////////////QUERY WHEN PAGE LOADS/////////////////////////


var url = window.location.href;

url = url.toLowerCase();

if (url.indexOf("?faq=") != "-1"){

	var q = url.split("=");
	q = q[1];
	q = q.replace(/\+/g," ");
	
	if(q.indexOf("#")!="-1"){
		q = q.split("#");
		q = q[0];
	}
	
	if (q == "g_staterooms"){
	$("#search-faq").val(group.g_staterooms.title);
	} else if (q == "g_amenities"){
	$("#search-faq").val(group.g_amenities.title);
	} else if (q == "g_programs"){
	$("#search-faq").val(group.g_programs.title);
	} else if (q == "g_payment"){
	$("#search-faq").val(group.g_payment.title);
	} else if (q == "g_health"){
	$("#search-faq").val(group.g_health.title);
	} else {
	$("#search-faq").val(q);
	}
	
	//$("#search-faq-btn").click();
	
	filterResults(q,'query');
	
	
} else {

popularResults();

}







}});//////// END OF INITIAL GETFEED




});
