// Synthetix faqtAgent V1.4   
// This computer source code is Copyright 2001-2009, Synthetix Ltd.

String.prototype.replaces=strReplace;
String.prototype.matches=strMatch;

var isNav = (navigator.appName.indexOf("Netscape") !=-1);

function handlerMM(e)
{
	xpos = (isNav) ? e.pageX : event.clientX + document.body.scrollLeft;
	ypos = (isNav) ? e.pageY : event.clientY + document.body.scrollTop;
}

document.onmousemove = handlerMM;

function strReplace(str,wit)
{
	return this.split(str).join(wit);
}
 
function convert_html_ents(val)
{
	hte=new Array("’","<RSQUO>","&","<AMPS>","©","<CPR>","€","<EURO>","®","<RIGHTS>","™","<TM>","–","<LDASH>","—","<LGRDASH>","£","<POUND>","$","<DOLLAR>");
	for(x=0;x<hte.length;x+=2)
	{
		val=val.replaces(hte[x],hte[x+1]);
	}
	return(val);
}

function strMatch(strM)
{
	return this.indexOf(strM);
}

function page_forward(val)
{
	document.getElementById("page_forward").innerHTML=val;
}

function page_back(val)
{
	document.getElementById("page_back").innerHTML=val;
}

function record(durl)
{
	if(qs_typing==true)
	{
		if((current_screen=="search")&&(current_qs_page==1))
		{
			qs_typing=true;
			dataActionA[back_step]=new Array(durl,master_category,master_subcategory,quickanswer_required,slave_category,slave_subcategory,current_qs_page,current_all_page,rss_category,rss_subcategory,current_screen,rss_heading,feedback_on);
		}
		else
		{
			qs_typing=false;
			dataActionA[++back_step]=new Array(durl,master_category,master_subcategory,quickanswer_required,slave_category,slave_subcategory,current_qs_page,current_all_page,rss_category,rss_subcategory,current_screen,rss_heading,feedback_on);
		}
	}
	else
	{
		if(qs_typing==false)
		{
			if((current_screen=="search")&&(current_qs_page==1))
			{
				qs_typing=true;
			}
			dataActionA[++back_step]=new Array(durl,master_category,master_subcategory,quickanswer_required,slave_category,slave_subcategory,current_qs_page,current_all_page,rss_category,rss_subcategory,current_screen,rss_heading,feedback_on);
		}
	}
}

function back_button()
{
	if(back_step>1)
	{
		page_back("<a href='#' class='page_back_style_css' onClick='step_back()'>< Back</a>");
	}
	else
	{
		page_back("");
	}
}

function step_back()
{
	tooltip_off();
	back_step-=1;
	master_category=dataActionA[back_step][1];
	master_subcategory=dataActionA[back_step][2];
	quickanswer_required=dataActionA[back_step][3];
	slave_category=dataActionA[back_step][4];
	slave_subcategory=dataActionA[back_step][5];
	current_qs_page=dataActionA[back_step][6];
	current_all_page=dataActionA[back_step][7];
	rss_category=dataActionA[back_step][8];
	rss_subcategory=dataActionA[back_step][9];
	current_screen=dataActionA[back_step][10];
	rss_heading=dataActionA[back_step][11];
	feedback_on=dataActionA[back_step][12];
	
	dataAction(dataActionA[back_step][0]);
}

function send_feedback()
{
	feedback=document.getElementById("fbtext").value;
	if((feedback!="")&&(feedback!="Type here."))
	{
		dataAction("http://www.synthetix.net/send_feedback.php?agent_id="+agent_id+"&username="+username+"&cid="+cid+"&faq="+server_answer[0]+"&feedback="+escape(feedback)+"&eml="+feedback_e);
		close_rating_window();
	}
}

function show_tooltip()
{
	xcoord=xpos+20;
	if(xcoord<(windowWidth-220))
	{
		document.getElementById("tooltip").style.left=xcoord;
		document.getElementById("tooltip").style.top=ypos-10;
		if(tips_off!=true)
		{
			clearTimeout(tt_show_Timer);
			tt_mvisibility=0;
			document.getElementById("tooltip").style.visibility="visible";
			tt_makeVisible();
		}
	}
}

function show_preview_text(val)
{
	document.getElementById("tooltip").innerHTML="<table border=0 cellpadding=9 width=241 height=107><tr><td width=29></td><td valign=top>"+val+"</td></tr></table>";
	if(tips_off!=true) tt_show_Timer=setTimeout("show_tooltip()",900);
}

function show_preview_answer()
{
	document.getElementById("tooltip").innerHTML="<table border=0 cellpadding=9 width=241 height=107><tr><td width=29></td><td valign=top>"+preview_answer+"</td></tr></table>";
	if(tips_off!=true) tt_show_Timer=setTimeout("show_tooltip()",900);
}

function get_answer_preview(lab)
{
	tips_off=false;
	dataAction("http://"+server_answers+"/fa_answer_preview.php?agent_id="+agent_id+"&label="+lab+"&preview_length="+preview_length);
}

function tooltip_on(val)
{
	tips_off=false;
	show_preview_text(val);
}

function tooltip_off()
{
	tips_off=true;
	tt_mvisibility=0;
	clearTimeout(tt_show_Timer);
	clearTimeout(tt_visTimer);
	document.getElementById("tooltip").style.visibility="hidden";
}

function close_rating_window()
{
	document.getElementById("ratingbox").style.visibility="hidden";
	document.getElementById("ratingclose").style.visibility="hidden";
}

function rating(score)
{
	fb_status=true;
	show_server_answer();
	dataAction("http://www.synthetix.net/submit_rating.php?answer_id="+answer_id+"&rating="+score);
	if(score<3)
	{
		if(score==1) score_text="Very Poor";
		if(score==2) score_text="Poor";
		rate_html="<table width=100% height=100% border=1 class=ratingborder cellpadding=10 cellspacing=0><tr><td class='ratingfont'><h2>Feedback</h2>You rated the answer to the FAQ:<BR><BR><b>\""+server_answer[0]+"\"</b><BR><BR>...as <b>"+score_text+"</b>.<BR><BR>You can help us to improve the answer by providing some short feedback in the space below.<BR><BR><textarea id='fbtext' onClick='clear_textarea();' cols=30 rows=3>Type here.</textarea><BR><BR><img src='images/bullet.gif'>&nbsp;<a href='#' onClick='send_feedback();'>Submit Feedback</a><BR><img src='images/bullet.gif'>&nbsp;<a href='#' onClick='close_rating_window();'>Cancel and close window</a></td></tr></table>";  
		document.getElementById("ratingbox").style.visibility="visible";
		document.getElementById("ratingclose").style.visibility="visible";
		document.getElementById("ratingbox").innerHTML=rate_html; 
		mvisibility=0;
		rating_makeVisible();
	}
}

function clear_textarea()
{
	if(document.getElementById("fbtext").value=="Type here.")
	{
		document.getElementById("fbtext").value="";
		document.getElementById("fbtext").focus();
	}
}

function set_category(cat)
{
	if(cat!="All")
	{
		temp_catA=cat.split("|");
		master_category=temp_catA[0];
		master_subcategory=temp_catA[1];
		// Now show pop questions for this category
	}
	else
	{
		master_category="All";
		master_subcategory="";
		// Now show master pop questions
	}
}

function rand(x,y)
{
	return Math.floor(Math.random()*(y-x+1))+x;
}

function text_size(size)
{
	document.getElementById("faq_space").style.fontSize=size+'pt';
}

function go_print()
{
	window.open("print.html","print_box","toolbar=yes,location=yes,status=yes,top=100,left=100,width=800,height=600,scrollbars=yes,resizable=yes");
}

function go_contact()
{
	getAnswer("contact",0,"Popular Related Questions",false)
}

function clear_form_onclick()
{
	if(clearform==true)
	{
		clearform=false;
		document.agent.input_form.value="";
		document.agent.input_form.focus();
	}
}

function ad_click(adtext,label,adurl)
{
	if(banner_advertising==true)
	{
		dataAction("http://www.synthetix.net/admanager/adclick.php?agentid="+agent_id+"&adtext="+adtext+"&adurl="+banner_url+adurl);
		gotoLabel(label,adtext);
	}
}

function ad_impression(adtext,adurl)
{
	if(banner_advertising==true)
	{
		dataAction("http://www.synthetix.net/admanager/adserve.php?agentid="+agent_id+"&adtext="+adtext+"&adurl="+banner_url+adurl);
	}
}

function send_log(usr,question,ans,correct,faq)
{
	var clicks=0;

	if(clickmode=="search_result")
	{
		question="[User entered] "+document.agent.input_form.value+" [and choose search result] "+question;
		clicks=0;
	}
		
	if(clickmode=="click_only")
	{
		question="[Clicked on] "+question;
		clicks=1;
	}

	ans=remove_tags(ans);
	ans=ans.replaces("<BR>"," ");
	ans=ans.replaces("<h>"," ");
	ans=ans.replaces("</h>"," ");
	ans=insert_variables(ans);
	ans=ans.replaces("&pound;","£");
	ans=ans.replaces(" & "," and ");
	ans=convert_html_ents(ans);
	//ans=escape(ans);
	
	aiddate=new Date();
	answer_id=agent_id+aiddate.getTime()+rand(1,999999);
	
	ans=ans.replace("%"," percent");
	question=question.replace("%"," percent");
	
	logval="?agent_id="+agent_id+"&aid="+answer_id+"&username="+usr+"&question="+question+"&answer="+ans+"&topic="+slave_category+"&subtopic="+slave_subcategory+"&correct="+correct+"&clicks="+clicks+"&sid="+sid+"&type="+agenttype+"&count="+interaction_count+"&cid="+cid+"&faq="+faq;
	logval=logval.replace(/\#/g,"");

	if((log_allowed==true)&&(slave_category!="All"))
	{
		print_format_dialogue+="<b class='dialogue'>Question:</b><BR><BR>"+question+"<BR>";
		print_format_dialogue+="<BR><b class='dialogue'>Answer:</b><BR><BR>"+ans+"<BR><BR><HR><BR>";
		dataAction(logurl+logval);
	}
}

function url(urlAdrs)
{
	urlAdrs=urlAdrs.replace("<PIPE>","|");
	urlAdrs=urlAdrs.replace("<pipe>","|");
	var newWindow = window.open(urlAdrs, '_blank');
	newWindow.focus();
}

function actions(comI)
{
	log_allowed=true;
	link_text="";
	
	temp_comA=comI.split(";")
	comA=new Array();
	for(x=0;x<temp_comA.length;x++)
	{
		comA[x]=temp_comA[x].split(":");
	}
	
	for(actL=0;actL<comA.length;actL++)
	{
		arg1 = comA[actL][1];
		arg2 = comA[actL][2];
		arg3 = comA[actL][3];	
		
		switch(comA[actL][0].toUpperCase())
		{
			case "NOLOG":
				log_allowed=false;
			break;
			
			case "CAT":
				slave_category=arg1;
				slave_subcategory="";
			break;
			
			case "SUBCAT":
				slave_subcategory=arg1;
			break;
			
			case "URL":
				link_text+="<BR>";

				if((arg1=="http")||(arg1=="https"))
				{
					link_url_only=arg1+":"+arg2;
				}
				else
				{
					link_url_only=arg1;
				}
				
				if(link_url_only.length>max_url_length)
				{
					link_seg = (max_url_length/2)-2;
					link_url_text = link_url_only.substring(0,link_seg) + "...." + link_url_only.substring(link_url_only.length-link_seg,link_url_only.length);
				}
				else
				{
					link_url_text = link_url_only;
				}
				
				icon_type="htm"; icon_text="web page";
				if(link_url_only.matches(".doc")>0) { icon_type="doc"; icon_text="Microsoft Word document"; }
				if(link_url_only.matches(".xls")>0) { icon_type="xls"; icon_text="Microsoft Excel spreadsheet"; }
				if(link_url_only.matches(".pdf")>0) { icon_type="pdf"; icon_text="Adobe PDF document"; }
				if(link_url_only.matches(".ppt")>0) { icon_type="ppt"; icon_text="Microsoft Powerpoint presentation"; }
				
				preview_text="Click to open this "+icon_text+" in a new window.";
				
				link_text += "<table border=0 cellpadding=0 cellspacing=0><tr><td valign=top><img src='images/"+icon_type+"_icon.gif'>&nbsp;</td><td valign=top><a href='#'onMouseOver='tooltip_on(preview_text)' onMouseOut='tooltip_off()'  onClick='url(\""+link_url_only+"\")'>Link (click to open in a new window)</a></td></tr></table>";
			break;
		}
	}
	return(link_text);
}

function lock_increment()
{
	clearTimeout(lockTimer);
	if(lock_count<10)
	{
		lock_count++;
		lockTimer=setTimeout("lock_increment()",600);
	}
	else
		http_search_lock=false;
}

function http_search_lock_true()
{
	http_search_lock=true;
	lock_count=0;
	lock_increment();
}

function http_search_lock_false()
{
	clearTimeout(lockTimer);
	http_search_lock=false
}

function catch_server_response()
{
	if(quickanswer_required==true)
	{
		quickanswer_required=false;
		search_resultsA=server_search_results[0].split("|");
		getAnswer(search_resultsA[1],3,"Popular Related Questions",true);
	}
	else
	{
		show_server_search_results();
	}
}

function show_server_listall_results()
{
	tooltip_off();
	current_screen="listall";
	document.getElementById("contact").innerHTML="<table border=0 cellpadding=0 cellspacing=0><tr><td valign=center><a href='#' onClick='javascript:go_contact()'><img src='images/contact_us.gif' border=0></a></td><td width=3></td><td valign=center><a href='#' onClick='javascript:go_contact();'>My question is not listed</a></td></tr></table>";
	destroyScripts();
	http_search_lock_false();
	if(server_search_results.length>0)
	{
		faqlist="<b class='hdng'>Found "+result_count+" result(s). Choose one from the list below:</b><BR><BR>";
		faqlist+="<table cellpadding=0 cellspacing=0 border=0>";
		for(x=0;x<server_search_results.length;x++)
		{
			server_search_results[x]=server_search_results[x].replace("&dots;","...");
			search_resultsA=server_search_results[x].split("|");
			faq_no=((current_all_page * results_per_page) - (results_per_page-x)+1);
			faqlist+="<tr><td valign=top class='number'>"+faq_no+".&nbsp;</td><td valign=top><a href='#' class='faq_option' onMouseOver='get_answer_preview(\""+search_resultsA[1]+"\");' onMouseOut='tooltip_off()' onClick='clickmode=\"search_result\";getAnswer(\""+search_resultsA[1]+"\",3,\"Popular Related Questions\",true);'>"+search_resultsA[0]+"</a></td></tr>";
			
			if(all_cat_name!="")
				faqlist+="<tr><td></td><td valign=top class='search_result_cat_tweenie_css'>"+all_cat_name+"&nbsp;&raquo;&nbsp;"+search_resultsA[2]+"&nbsp;&raquo;&nbsp;"+search_resultsA[3]+"</td></tr>"
			else
				faqlist+="<tr><td></td><td valign=top class='search_result_cat_tweenie_css'>"+search_resultsA[2]+"&nbsp;&raquo;&nbsp;"+search_resultsA[3]+"</td></tr>";	
			faqlist+="<tr><td height="+search_result_spacing+"></td></tr>";
		}
		counter(result_count);
		faqlist+="</table>";

		// Page controls
		
		back_button();
	
		if(faq_no<result_count)
		{
			page_forward("<a href='#' class='page_forward_style_css'onClick='show_all_FAQs(++current_all_page,slave_category,slave_subcategory);'>See more results></a>");
		}
		else
		{
			page_forward("");
		}
		
		// Present results
		
		if(result_count>0)
		{
			if(fade_off==true)
			{
				document.getElementById("faq_space").innerHTML=faqlist;
				fade_off=false;
			}
			else
			{
				document.getElementById("faq_fadebox").style.visibility="visible";
				faq_mvisibility=0;
				fade_in();
			}
		}
		update_cat_list(true);
	}
	if(http_search_queue.length>0)
	{
		fade_off=true;
		http_search_lock_true();
		http_temp=http_search_queue[http_search_queue.length-1];
		http_search_queue=new Array();
		dataAction_record(http_temp);
	}
}

function show_server_search_results()
{
	
	tooltip_off();
	current_screen="search";
	document.getElementById("contact").innerHTML="<table border=0 cellpadding=0 cellspacing=0><tr><td valign=center><a href='#' onClick='javascript:go_contact()'><img src='images/contact_us.gif' border=0></a></td><td width=3></td><td valign=center><a href='#' onClick='javascript:go_contact();'>My question is not listed</a></td></tr></table>";
	destroyScripts();
	http_search_lock_false();
	if(server_search_results.length>0)
	{
		faqlist="<b class='hdng'>Found "+result_count+" result(s). Choose one from the list below:</b><BR><BR>";
		faqlist+="<table cellpadding=0 cellspacing=0 border=0>";
		for(x=0;x<server_search_results.length;x++)
		{
			server_search_results[x]=server_search_results[x].replace("&dots;","...");
			search_resultsA=server_search_results[x].split("|");
			faq_no=((current_qs_page * results_per_page) - (results_per_page-x)+1);
			
			if((x==0)&&(recommendation==true))
			{
				faqlist+="<tr><td valign=top class='number'>"+faq_no+".&nbsp;</td><td valign=top><a href='#' class='recommended_option' onMouseOver='get_answer_preview(\""+search_resultsA[1]+"\")' onMouseOut='tooltip_off()' onClick='clickmode=\"search_result\";getAnswer(\""+search_resultsA[1]+"\",3,\"Popular Related Questions\",true);'>"+search_resultsA[0]+"</a></td></tr>";
			}
			else
			{
				faqlist+="<tr><td valign=top class='number'>"+faq_no+".&nbsp;</td><td valign=top><a href='#' class='faq_option' onMouseOver='get_answer_preview(\""+search_resultsA[1]+"\")' onMouseOut='tooltip_off()' onClick='clickmode=\"search_result\";getAnswer(\""+search_resultsA[1]+"\",3,\"Popular Related Questions\",true);'>"+search_resultsA[0]+"</a></td></tr>";
			}
			if(all_cat_name!="")
				faqlist+="<tr><td></td><td valign=top class='search_result_cat_tweenie_css'>"+all_cat_name+"&nbsp;&raquo;&nbsp;"+search_resultsA[2]+"&nbsp;&raquo;&nbsp;"+search_resultsA[3]+"</td></tr>"
			else
				faqlist+="<tr><td></td><td valign=top class='search_result_cat_tweenie_css'>"+search_resultsA[2]+"&nbsp;&raquo;&nbsp;"+search_resultsA[3]+"</td></tr>";
			faqlist+="<tr><td height="+search_result_spacing+"></td></tr>";
		}
		counter(result_count);
		faqlist+="</table>";

		// Page controls
		
		back_button();
	
		if(faq_no<result_count)
		{
			page_forward("<a href='#' class='page_forward_style_css'onClick='quicksearch(++current_qs_page,last_search);'>See more results ></a>");
		}
		else
		{
			page_forward("");
		}
		
		// Present results
		
		if(result_count>0)
		{
			if(fade_off==true)
			{
				document.getElementById("faq_space").innerHTML=faqlist;
				fade_off=false;
			}
			else
			{
				document.getElementById("faq_fadebox").style.visibility="visible";
				faq_mvisibility=0;
				fade_in();
			}
		}
		update_cat_list(true);
	}
	else
	{
		faqlist="<b class='hdng'>Found 0 result(s).</b><BR><BR>Results will appear automatically as you type.";
		document.getElementById("faq_space").innerHTML=faqlist;
		update_cat_list(false);
	}
	
	if(http_search_queue.length>0)
	{
		fade_off=true;
		http_search_lock_true();
		http_temp=http_search_queue[http_search_queue.length-1];
		http_search_queue=new Array();
		dataAction_record(http_temp);
	}
}

function quicksearch(page,search_terms)
{
	current_screen="search";
	current_qs_page=page;
	document.getElementById("faq_fadebox").style.visibility="hidden";
	keystring=document.agent.input_form.value;
	if(keystring=="")
	{
		server_search_results=new Array(); // Reset
	}
	
	if(search_terms) keystring=search_terms;
	
	if(keystring!="")
	{
		last_search=keystring; // memory of this search for back button
		if(http_search_lock==false)
		{
			http_search_lock_true();
			http_search_queue=new Array();
			if(filters==true)
				dataAction_record("http://"+server_answers+"/fa_quicksearch.php?query="+keystring+"&results_per_page="+results_per_page+"&page="+page+"&category="+master_category+"&subcategory="+master_subcategory+"&callcentre="+callcentre)
			else
				dataAction_record("http://"+server_answers+"/fa_quicksearch.php?query="+keystring+"&results_per_page="+results_per_page+"&page="+page+"&category=All&subcategory=&callcentre="+callcentre);
		}
		else
		{
			if(filters==true)
				http_search_queue.push("http://"+server_answers+"/fa_quicksearch.php?query="+keystring+"&results_per_page="+results_per_page+"&page="+page+"&category="+master_category+"&subcategory="+master_subcategory+"&callcentre="+callcentre+"&rand="+rand(1,9999))
			else
				http_search_queue.push("http://"+server_answers+"/fa_quicksearch.php?query="+keystring+"&results_per_page="+results_per_page+"&page="+page+"&category=All&subcategory=&callcentre="+callcentre+"&rand="+rand(1,9999));
		}
	}	
}

function quickanswer(search_terms)
{
	quickanswer_required=true;
	if(filters==true)
		dataAction("http://"+server_answers+"/fa_quicksearch.php?query="+search_terms+"&results_per_page="+results_per_page+"&page=1&category="+master_category+"&subcategory="+master_subcategory+"&callcentre="+callcentre+"&rand="+rand(1,9999))
	else
		dataAction("http://"+server_answers+"/fa_quicksearch.php?query="+search_terms+"&results_per_page="+results_per_page+"&page=1&category=All&subcategory=&callcentre="+callcentre+"&rand="+rand(1,9999));
}

function insert_links(st)
{
	st_tag_strip=new Array("<b>","</b>","<br>","<i>","</i>","<h>","</h>","<small>","</small>","<B>","</B>","<BR>","<I>","</I>","<H>","</H>","<SMALL>","</SMALL>");
	
	st_temp=st;
	for(x=0;x<st_tag_strip.length;x++)
		st_temp=st_temp.replaces(st_tag_strip[x],"");

	stage1=st_temp.split("</link>");

	y=0;
	stage2=new Array();
	link_textA=new Array();
	for(x=0;x<stage1.length;x++)
	{
		if(stage1[x].match(">"))
		{
			stage2[y]=stage1[x].split(">");
			link_textA[y]=stage2[y][1];
			y++;
		}
	}
	
	stage3=new Array();
	for(z=0;z<stage2.length;z++)
		stage3[z]=stage2[z][0].split("<");
	
	linkA=new Array();
	for(za=0;za<stage3.length;za++)
	{
		linkA[za]=stage3[za][1].split(" href=")
		linkA[za][2]=link_textA[za];
	}
	
	for(x=0;x<linkA.length;x++)
	{
		switch(linkA[x][0])
		{
			case "link_above":
				old_link="<"+linkA[x][0]+" href="+linkA[x][1]+">"+linkA[x][2]+"</link>";
				new_link="<a target='_blank' class='inline' href='"+linkA[x][1]+"'>"+linkA[x][2]+"</a>";
				st=st.replace(old_link,new_link);
			break;
			
			case "link_email":
				old_link="<"+linkA[x][0]+" href="+linkA[x][1]+">"+linkA[x][2]+"</link>";
				new_link="<a href='mailto:"+linkA[x][1]+"' class='inline'>"+linkA[x][2]+"</a>";
				st=st.replace(old_link,new_link);
			break;
			
			case "link_label":
				old_link="<"+linkA[x][0]+" href="+linkA[x][1]+">"+linkA[x][2]+"</link>";
				new_link="<a href='#' class='inline' onMouseOver='get_answer_preview(\""+linkA[x][1]+"\");' onMouseOut='tooltip_off()' onMouseDown=getAnswer('"+linkA[x][1]+"',0)>"+linkA[x][2]+"</a>";
				st=st.replace(old_link,new_link);
			break;
		}
	}
	return st;
}

function insert_tags(st)
{
	spA=new	Array(
	"<bl>","<BR><table border=0 cellpadding=0 cellspacing=0>",
	"<bp>","<tr><td valign=top><img src='images/plain_bullet.gif'></td><td width=3></td><td class='bullet'>",
	"</bp>","</td></tr>",
	"</bl>","</table>",
	"<h>","<b class='hdng'>",
	"</h>","</b><BR><BR>",
	"&apos;","'",
	"&dots;","..."
	);
	
	for(x=0;x<spA.length;x+=2)
		st=st.replaces(spA[x],spA[x+1]);
	return st;
}

function insert_variables(st)
{
	spA=new	Array(
	"&answer",answer,
	"&clientname",clientname,
	"&percent;","%"
	);

	for(x=0;x<spA.length;x+=2)
		st=st.replaces(spA[x],spA[x+1]);
	
	return st;
}

function tt_makeVisible()
{
	clearTimeout(tt_visTimer);
	setOpacity(tooltip,tt_mvisibility);
	if(tt_mvisibility!=100)
	{
		tt_mvisibility+=10;
		tt_visTimer=setTimeout("tt_makeVisible()",10);
	}
	else
		setOpacity(tooltip,100);
}

function rating_makeVisible()
{
	clearTimeout(visTimer);
	setOpacity(ratingbox,mvisibility);
	if(mvisibility!=100)
	{
		mvisibility+=20;
		visTimer=setTimeout("rating_makeVisible()",10);
	}
	else
		setOpacity(ratingbox,96);
}

function setOpacity(obj,opacity)
{
  opacity = (opacity == 100)?99.999:opacity;
  obj.style.filter = "alpha(opacity:"+opacity+")";
  obj.style.KHTMLOpacity = opacity/100;
  obj.style.MozOpacity = opacity/100;
  obj.style.opacity = opacity/100;
}

function fade_in_2()
{
	clearTimeout(faq_visTimer);
	setOpacity(faq_fadebox,faq_mvisibility);
	if(faq_mvisibility!=20)
	{
		faq_mvisibility-=20;
		faq_visTimer=setTimeout("fade_in_2()",20);
	}
	else
		document.getElementById("faq_fadebox").style.visibility="hidden";
}

function fade_in()
{
	clearTimeout(faq_visTimer);
	setOpacity(faq_fadebox,faq_mvisibility);
	if(faq_mvisibility!=100)
	{
		faq_mvisibility+=20;
		faq_visTimer=setTimeout("fade_in()",20);
	}
	else
	{
		document.getElementById("faq_space").scrollTop = 0;
		document.getElementById("faq_space").innerHTML=faqlist;
		fade_in_2();
	}
}

function count_down()
{
	clearTimeout(countTimer);
	if(visual_count>result_count+1)
	{
		visual_count-=4;
		document.getElementById("result_count_div").innerHTML=visual_count+"<BR><small>Results</small>";
		countTimer=setTimeout("count_down()",0);
	}
	else
	{
		document.getElementById("result_count_div").innerHTML=result_count+"<BR><small>Results</small>";
	}
}

function count_up()
{
	clearTimeout(countTimer);
	if(visual_count<result_count-1)
	{
		visual_count+=4;
		document.getElementById("result_count_div").innerHTML=visual_count+"<BR><small>Results</small>";
		countTimer=setTimeout("count_up()",0);
	}
	else
	{
		document.getElementById("result_count_div").innerHTML=result_count+"<BR><small>Results</small>";
	}
}

function counter(count_val)
{
	if(counter_on==true)
	{
		document.getElementById("result_count_div").style.visibility="visible";
		setOpacity(result_count_div,70);
		if(visual_count<result_count) count_up();
		if(visual_count>result_count) count_down()
	}
}

function remove_tags(val)
{
	tagA=new Array(
	"<name>",
	"</name>",
	"<h>",
	"</h>",
	"<b>",
	"</b>"
	);
	for(x=0;x<tagA.length;x++)
		val=val.replaces(tagA[x],"");
	return val;
}

function destroyScripts()
{
	for(i=0;i<_scripts.length;i++)
		if(_scripts[i].parentNode)
			_scripts[i].parentNode.removeChild(_scripts[i]);
}

function dataAction_record(durl)
{
	record(durl);
	var script  = document.createElement('script');
	script.src  = durl+"&rand="+rand(1,9999);
	script.type = 'text/javascript';
	script      = document.getElementsByTagName('head')[0].appendChild(script);
	_scripts.push(script);
}

function dataAction(durl)
{
	var script  = document.createElement('script');
	script.src  = durl+"&rand="+rand(1,9999);
	script.type = 'text/javascript';
	script      = document.getElementsByTagName('head')[0].appendChild(script);
	_scripts.push(script);
}

function dd_cat()
{
	tooltip_off();
	if(filters==true)
	{
		if(current_screen=="listall") show_all_FAQs(1,master_category,master_subcategory);
		if(current_screen=="search") quicksearch(1,last_search);
		if(current_screen=="answers") get_rss(master_category,master_subcategory,10);
		if(current_screen=="RSS") get_rss(master_category,master_subcategory,10);
	}
	else
	{
		show_all_FAQs(1,master_category,master_subcategory);
	}
}

function show_cat_list()
{
	prev_cat_dd_val="";
	
	if(all_cat_name=="")
		temp_all_cat_name="All"
	else
		temp_all_cat_name=all_cat_name;
		
	if(filters==true)
		cat_dd_list="<font color='#ffffff'>in&nbsp;</font><select class='dd' name=category_list onChange=\"set_category(this.value);dd_cat();\"><option value='All' class='cat_dd'>"+temp_all_cat_name+"</option>"
	else
		cat_dd_list="Browse <b>all</b> FAQs by category:&nbsp;<select class='subcat_dd' name=category_list onChange=\"set_category(this.value);dd_cat();\"><option value='All' class='cat_dd'>"+temp_all_cat_name+"</option>";
	for(x=0;x<categoryA.length;x++)
	{
		cat_dd_val=categoryA[x][0];
		subcat_dd_val=categoryA[x][1];
		if(cat_dd_val!=prev_cat_dd_val) cat_dd_list+="<option value='"+cat_dd_val+"|' class='cat_dd'>"+cat_dd_val+"</option>";
		cat_dd_list+="<option value='"+cat_dd_val+"|"+subcat_dd_val+"' class='subcat_dd'>&nbsp;&nbsp;&nbsp;"+subcat_dd_val+"</option>";
		prev_cat_dd_val=cat_dd_val;
	}
	cat_dd_list+="</select>";
	document.getElementById("cat_list").innerHTML=cat_dd_list;
}

function update_cat_list(results_on)
{
	cat_countA=cat_count.split("^");
	prev_cat_dd_val="";
	if(all_cat_name=="") temp_all_cat_name="All";
	
	if(filters==true)
		cat_dd_list="<font color='#ffffff'>in&nbsp;</font><select class='dd' name=category_list onChange=\"set_category(this.value);dd_cat();\"><option value='All' class='cat_dd'>"+temp_all_cat_name+"</option>"
	else
		cat_dd_list="Browse <b>all</b> FAQs by category:&nbsp;<select class='subcat_dd' name=category_list onChange=\"set_category(this.value);dd_cat();\"><option value='All' class='cat_dd'>"+temp_all_cat_name+"</option>";
	
	for(x=0;x<categoryA.length;x++)
	{
		cat_dd_val=categoryA[x][0];
		subcat_dd_val=categoryA[x][1];
		cc_show="";
		for(y=0;y<cat_countA.length;y+=2)
		{
			if(cat_countA[y]==(cat_dd_val+"|"+subcat_dd_val))
			{
				cc_show=" ("+cat_countA[y+1]+")";
			}
		}
		
		if(results_on==false) cc_show="";

		if((master_category==cat_dd_val)&&(master_subcategory==""))
		{
			if(cat_dd_val!=prev_cat_dd_val) cat_dd_list+="<option value='"+cat_dd_val+"|' class='cat_dd' SELECTED>"+cat_dd_val+"</option>";
			cat_dd_list+="<option value='"+cat_dd_val+"|"+subcat_dd_val+"' class='subcat_dd'>&nbsp;&nbsp;&nbsp;"+subcat_dd_val+cc_show+"</option>";
		}
		else if((master_category==cat_dd_val)&&(master_subcategory==subcat_dd_val))
		{
			if(cat_dd_val!=prev_cat_dd_val) cat_dd_list+="<option value='"+cat_dd_val+"|' class='cat_dd' SELECTED>"+cat_dd_val+"</option>";
			cat_dd_list+="<option value='"+cat_dd_val+"|"+subcat_dd_val+"' class='subcat_dd' SELECTED>&nbsp;&nbsp;&nbsp;"+subcat_dd_val+cc_show+"</option>";
		}
		else
		{
			if(cat_dd_val!=prev_cat_dd_val) cat_dd_list+="<option value='"+cat_dd_val+"|' class='cat_dd'>"+cat_dd_val+"</option>";
			cat_dd_list+="<option value='"+cat_dd_val+"|"+subcat_dd_val+"' class='subcat_dd'>&nbsp;&nbsp;&nbsp;"+subcat_dd_val+cc_show+"</option>";
		}
		prev_cat_dd_val=cat_dd_val;
	}
	cat_dd_list+="</select>";
	document.getElementById("cat_list").innerHTML=cat_dd_list;
}

function get_cat_list()
{
	dataAction("http://"+server_answers+"/fa_categories.php?rand="+rand(1,9999));
}

function set_rating_text(val)
{
	document.getElementById("rating_text").innerHTML=val;
}

function start()
{
	username="User "+rand(1,9999);
	cid=rand(1,9999999);
	document.agent.input_form.value=default_input_string;
	print_format_dialogue="";
	destroyScripts();
	interaction_count=0;
	logValue="";
	startTime=getElapsedTime(0);
	get_cat_list();
	getAnswer("intro",start_rss_num,"People are asking...",false);
}

function show_all_FAQs(page,cat,subcat)
{
	current_screen="FAQ List";
	slave_category=cat;
	slave_subcategory=subcat;
	current_all_page=page;
	document.getElementById("faq_fadebox").style.visibility="hidden";
	dataAction_record("http://"+server_answers+"/fa_listall.php?query=&results_per_page="+results_per_page+"&page="+page+"&category="+cat+"&subcategory="+subcat+"&callcentre="+callcentre);
}

function show_RSS_answer()
{
	current_screen="RSS";
	document.getElementById("result_count_div").style.visibility="hidden";
	if(filters==true) page_forward("<a href='#' class='page_forward_style_css' onClick='show_all_FAQs(1,\"All\",\"\")'>See ALL FAQs ></a>");
	back_button();
	
	// Related questions RSS feed
	
	if(all_cat_name=="") temp_all_cat_name="All Areas";
	if(rss_subcategory!="") faqlist="<h>Most Popular Questions</h>Here's what people are asking about in <b>"+rss_category+"&nbsp;&raquo&nbsp;"+rss_subcategory+"</b>.<BR><BR>";
	if(rss_category=="All")  faqlist="<h>Most Popular Questions</h>Here's what people are asking about in <b>"+temp_all_cat_name+"</b>.<BR><BR>";
	if(rss_subcategory=="")  faqlist="<h>Most Popular Questions</h>Here's what people are asking about in <b>"+rss_category+"</b>.<BR><BR>";
	
	rss_array=rss_content.split("|");
	rss_length=rss_array.length-1;
	headline_found=false;
	faqlist+="<table cellpadding=0 cellspacing=0 border=0>";
	for(x=0;x<rss_length;x+=2)
	{
		if(rss_array[x]!="")
		{
			faqlist+="<tr><td valign=top><img src='images/bullet.gif'>&nbsp;</td><td valign=top><a href='#'class='faq_option' onMouseOver='tooltip_on(\""+rss_array[x+1]+"\")' onMouseOut='tooltip_off()' onClick='clickmode=\"click_only\";quickanswer(\""+escape(rss_array[x])+"\")'>"+rss_array[x]+"</a></td></tr>";
			headline_found=true;
		}
	}
	if(headline_found==false) faqlist+="<tr><td valign=top></td><td valign=top>There are no related FAQs available at present.</td></tr>";
	faqlist+="</table>";
	
	// Post-process complete answer

	faqlist=insert_links(faqlist);
	faqlist=insert_tags(faqlist);
	faqlist=insert_variables(faqlist);
	
	// Remove search results from category dropdown
	
	update_cat_list(false);
	
	// Make answer visible
	
	document.getElementById("faq_fadebox").style.visibility="visible";
	faq_mvisibility=0;
	fade_in();
}

function get_rss(rss_cat,rss_subcat,rss_n)
{
	current_screen="RSS";
	rss_category=rss_cat;
	rss_subcategory=rss_subcat;
	dataAction_record("http://"+server_answers+"/fa_rss.php?agent_id="+agent_id+"&cat="+rss_category+"&subcat="+rss_subcategory+"&rss_num="+rss_n+"&server_rss="+server_rss+"&preview_length="+preview_length);
}

function show_server_answer()
{
	document.getElementById("result_count_div").style.visibility="hidden";
	current_screen="answers";
	clearform=true;
	page_forward("");
	back_button();
	if(!fb_status) document.getElementById("faq_fadebox").style.visibility="visible";
	if(!fb_status) faq_mvisibility=0;

	// Heading
	
	if(server_answer[0]!="")
		faqlist = "<h>" + server_answer[0] + "</h>"
	else
		faqlist = "";
	
	// Answer text / HTML
	
	server_answer[1]=server_answer[1].replaces("&x","&#x");
	server_answer[1]=server_answer[1].replaces("&1","&#1");
	faqlist += server_answer[1]+"<BR>";
	
	// Actions
	
	faqlist += actions(server_answer[2]);
	
	// Rating text
	
	if(feedback_on==true)
	{
		if(!fb_status)
		{
			faqlist+=rate_text;
		}
		else
		{
			faqlist+=rate_text_off;
		}
	}
	else
	{
		//faqlist+="<BR>";
	}
	
	// Related questions RSS feed
		
	rss_array=server_answer[3].split("|");
	rss_length=rss_array.length-1;

	rsslist="<BR><b class='hdng'>"+rss_heading+"</b>&nbsp;&nbsp;<a href='#' onClick='get_rss(slave_category,slave_subcategory,10);'>[more]</a><BR><BR>";
	rsslist+="<table cellpadding=0 cellspacing=0 border=0>";
	headline_found=false;
	for(x=0;x<rss_length;x+=2)
	{
		if((rss_array[x]!="")&&(rss_array[x]!=server_answer[0]))
		{
			rsslist+="<tr><td valign=top><img src='images/bullet.gif'>&nbsp;</td><td valign=top><a href='#'class='faq_option' onMouseOver='tooltip_on(\""+rss_array[x+1]+"\")' onMouseOut='tooltip_off()' onClick='clickmode=\"click_only\";quickanswer(\""+escape(rss_array[x])+"\")'>"+rss_array[x]+"</a></td></tr>";
			headline_found=true;
		}
	}
	if(headline_found==false) rsslist+="<tr><td valign=top></td><td valign=top>There are no related FAQs available at present.</td></tr>";
	rsslist+="</table>";

	if(headline_found==true)
		faqlist+=rsslist;

	// Post-process complete answer

	faqlist=insert_links(faqlist);
	faqlist=insert_tags(faqlist);
	faqlist=insert_variables(faqlist);
	
	// Show category list without results
	
	update_cat_list(false);
	
	// Conditional actions for special labels
	
	if(global_label!="intro")
	{
		document.getElementById("contact").innerHTML="<table border=0 cellpadding=0 cellspacing=0><tr><td valign=center><a href='#' onClick='javascript:go_contact()'><img src='images/contact_us.gif' border=0></a></td><td width=3></td><td valign=center><a href='#' onClick='javascript:go_contact();'>I still need help</a></td></tr></table>";
		send_log(username,server_answer[0],server_answer[1],1,server_answer[0]);
	}

	if(global_label=="contact")
	{
		faqlist=faqlist.replaces("<question>",document.agent.input_form.value);
	}
	
	// Make answer visible
	
	if(!fb_status)
	{
		fade_in();
	}
	else
	{
		document.getElementById("faq_space").innerHTML=faqlist;
	}
	fb_status=false;
}

function getAnswer(lb,n,h,f)
{
	tooltip_off();
	current_screen="answers";
	global_label=lb;
	rss_heading=h;
	feedback_on=f;
	interaction_count++;
	rss_num=n;
	dataAction_record("http://"+server_answers+"/fa_answer.php?agent_id="+agent_id+"&label="+lb+"&rss_num="+rss_num+"&server_rss="+server_rss+"&preview_length="+preview_length);
}

function getElapsedTime(subtraction)
{
	var current=new Date();
	return current.getTime()-subtraction;
}
