// (c)2000 SpellChecker.net,Inc.  All rights reserved.  www.SpellChecker.net
var spchver="1.1";
var sp_sh="http://spchk.fnismls.com/spellcheck/";
var schema_url="";
var spp_langs="";
var service_host=sp_sh,customerid="1:mMT4D3-xGJ9i3-TCEoh4-Ckm2U3-sXWdW1-f9u1r2-wq0o51-9v6lj4-x5xPf-kuDGE4";
var cust_dic_ids="";
var hide="";
var doc_blank="/lf/blank.html";
var doc_blankform="/lf/blankform.html";
var doc_process="script/ssrv.cgi";
var is_window_opened=false,opened=false,formNum=-1;var ctrlName='';
var isMSIE=(navigator.appName=='Microsoft Internet Explorer');
var isNN=navigator.appName=='Netscape';
var IsProxyVer=fIsProxyVer();
var botf,asc,spellWin,ssrv_host,port,ssrv,ssrvname,lang,ctrl,url,force_reload,intlang,ctrlObj,sp_i,sp_doc,sp_time,sp_old_doc_unload,sp_IsW98A4A5,sp_spw_name,sp_spw_params,sp_wurl,sp_asce,sp_iswopn;
function doSpell(p_lang,p_ctrl,p_url,p_force_reload,p_intlang,P_hide)
{
	if(isMSIE&&(parseInt (navigator.appVersion)< 4))
	{
		alert("Our SpellChecker feature does not support Internet Explorer 3.0.  However,it does support the following browsers:IE 4+,Netscape 4+.");
		return;
	}
	if(isNN&&isAppVer('3.0'))
	{
		alert('Sorry,currently we do not support Netscape Navigator 3.0,Internet Explorer 3.0.\nPlease upgrade your browser.');
		return;
	}
	lang=p_lang;
	ctrl=p_ctrl;
	url=p_url;
	force_reload=p_force_reload;
	intlang=p_intlang;
	hide=P_hide?P_hide:'';
	if(ctrl.constructor&&ctrl.constructor==String)
	{
		ctrlName=ctrl;
		formNum=-1;
		ctrlObj=eval(ctrl);
		wWidth=ctrlObj.clientWidth < wWidth?wWidth:ctrlObj.clientWidth;
		wHeight=(ctrlObj.clientHeight > wHeight?ctrlObj.clientHeight:wHeight);
	}
	else
	{
		sp_i=0;
		for(sp_i=0;sp_i < document.forms.length;sp_i++)
			if(document.forms[sp_i]==ctrl.form)
				break;
		if(sp_i==document.forms.length)
			formNum=-1;
		else
			formNum=sp_i;
		ctrlName=ctrl.name;
		ctrlObj=ctrl;
	}
	var tmp=ctrlObj.value?ctrlObj.value:ctrlObj.innerHTML;
	if(tmp==''||tmp==null)
	{
		alert('Nothing to check.');
		return;
	}
	var old_asc=asc;
	asc=(hide!='')&&!isHide('[s]');
	if(!isUsrAgent('AOL'))
		if(isMSIE&&asc&&!old_asc)
			is_window_opened=false;
		if(!asc&&sp_IsW98A4A5)
		{
			UnloadCW();
			changeUnload();
		}
		if(!sp_IsW98A4A5)
			sp_IsW98A4A5=IsW98A4A5();
		if(!sp_time)
			sp_time=getTime();
		changeUnload();
		CheckIE5Mac(url);
		if(is_window_opened)
			if(spellWin)
				if(isMSIE)
				{
					if(sp_IsW98A4A5&&(asc!=old_asc)&&(spellWin))
					{
						UnloadCW();
						changeUnload();
					}
					else if(!asc)
						is_window_opened=false;
					else
					{
						if(parent.parent.document.location!=spellWin.opener.parent.parent.location)
						{
							is_window_opened=false;
							setNullOpener();
							closeSpellWin();
						}
						else if(!spellWin.frames)
							is_window_opened=false;
					}
				}
				else if(!asc)
				{
					is_window_opened=false;
				}
				else if(!spellWin.frames)
					is_window_opened=false;
		if(is_window_opened)
			if(spellWin.frames)
				if(!isFEQ(5))
				{
					is_window_opened=false;
				}
		var wWidth=492,wHeight=(!isHide('[sw]'))?440:325;
		botf=167;
		var s='';
		if(lang=='')
			lang='en';
		if(window.name=='')
			window.name='sp_ch_opener_window';
		wndname=window.name;
		if(isHide('[eb]'))
			spellWin=window;
		else if(!is_window_opened)
		{
			sp_spw_name="spch"+getHostStr(document.location.host)+sp_time;
			sp_spw_params="width="+wWidth+",height="+wHeight+",toolbar=no,resizable=no";
			sp_wurl=getWindowURL();
			if(sp_IsW98A4A5&&spellWin&&(old_asc==asc))
				sp_wurl='';
			OpenSpellWin();
			if((isUsrAgent('MSIE 4.01')&&isUsrAgent('Windows NT'))||((isUsrAgent('MSIE4.01')||isUsrAgent('MSIE 5.01'))&&isUsrAgent('Windows 95')))
			{
				if(!isFEQ(0))
					spellWin.close();
				setTimeout('ReopenSPW()',99);
				return;
			}
			spellWin.opener=window;
			if(!sp_IsW98A4A5)
			{
				if(spellWin.frames.length > 0)
				{
					if(asc)
					{
						if(asc==isFEQ(5))
						{
							if(isMSIE)
							{
								if(parent.parent.document.location!=spellWin.opener.parent.parent.location)
									setNullOpener();
							}
							else if(spellWin.qw!=parent.parent.document.location)
								if(spellWin.frames)
									spellWin.frames[4].parentOpen=false;
							if(isAppVer("Mac")&&(!isMSIE)&&!isAppVer('4.03')&&!isAppVer('4.08'))
							{
								;
							}
							else if(spellWin.qw!=parent.parent.document.location)
								OpenSW();
						}
					}
					if(asc!=isFEQ(5))
					{
						if(isAppVer("Mac")&&(!isMSIE)&&!isAppVer('4.03')&&!isAppVer('4.08'))
						{}
						else if(isAppVer('MSIE 4.01')&&!isUsrAgent('AOL'))
						{
							if(!asc&&isFEQ(5))setNullOpener();
						}
						else if(asc==isFEQ(4))
							OpenSW();
					}
					spellWin.opener=window;
				}
			}
			else
			{
				if(old_asc==asc)
					if(spellWin.frames)
					{
						if(spellWin.frames[4])
							if(spellWin.frames[4].parentOpen)
								spellWin.frames[4].parentOpen=false;
					}
				spellWin.opener=window;
			}
		}
		if(sp_IsW98A4A5&&asc&&is_window_opened)
			if(!spellWin.frames[4].parentOpen)
			{
				UnloadCW();
				sp_wurl=url;
				ReopenSpellWin();
			}
		spellWin.focus();
		sp_doc=spellWin.document;
		if(!(isUsrAgent('AOL 4')||isUsrAgent('AOL 5')))
		{
			if(!is_window_opened||!isHide('[dc]'))
			{
				sp_doc.location=getSPWU();
				return;
			}
			ChkFrm();
			return;
		}
		if(!is_window_opened||!isHide('[dc]'))
		{
			if(isHide('[ch]'))
				s='<script>\nvar cFlag=0;\nfunction uHandler(){if(cFlag==1){cFlag=0;open("'+url+'?cmd=terminate&txt_ctrl='+ctrl.name+'");}}\nfunction lHandler(){cFlag=1;}</script\><title>SpellChecker.net</title><frameset onload="lHandler()" onUnload="uHandler()" rows="30,*,'+botf+',0" frameborder="No" framespacing=0 border=0>';
			else
			{
				s='<title>SpellChecker.net</title><head><script>'+(asc?'var qw="'+parent.parent.document.location+'";':'');if(isUsrAgent('AOL')||asc)s+='var un=true;function dounload(){if(frames.length==5){if(frames[4].parentOpen||(frames[4].parentOpen!=null))frames[4].parentOpen=false;if(un){opener.is_window_opened=false;opener.spellWin=null}}}';s+='</script></head><frameset rows="30,*,'+botf+',0'+((sp_IsW98A4A5||asc)?',0':'')+'" frameborder="No" framespacing=0 border=0'+((asc||isUsrAgent('AOL'))?' onunload="dounload()"':'')+'>';}s+=getFrame("navbar","about:blank",2,0,"no","no",0)+getFrame("mid","about:blank",0,0,"auto","no",0)+getFrame("bot","about:blank",1,1,"auto","no",0)+getFrame("spellsuggestall","about:blank",1,1,"no","no",0);if(sp_IsW98A4A5||asc)s+=getFrame("unload","about:blank",1,1,"no","no",0);s+='</frameset\>';sp_doc.open();sp_doc.write(s);sp_doc.close();if(sp_IsW98A4A5||asc)sp_doc=spellWin.frames[4].document.location=url+'?cmd=unload';sp_doc=spellWin.frames[1].document;spellWin.opener=window;}if(sp_doc){if(!is_window_opened||!isHide('[dc]')){var s='<body><form name=frmSpell method=post action="'+service_host+doc_process+'" lang='+lang+'>'+getHCtrl('sp_asce',sp_asce?lang:'')+getHCtrl('slang',lang)+getHCtrl('intlang',intlang)+getHCtrl('text','')+getHCtrl('cmd','spell')+getHCtrl('trg_url',url)+getHCtrl('trg_wnd',wndname)+getHCtrl('txt_ctrl',(formNum!=-1)?(force_reload?'document.forms['+sp_i+'][\''+ctrlName+'\']':''):(force_reload?ctrlName:''))+getHCtrl('svc_time',(new Date()).getTime())+getHCtrl('statinfo','')+getHCtrl('customerid',customerid?customerid:'')+getHCtrl('cust_dic_ids',cust_dic_ids?cust_dic_ids:'')+getHCtrl('schema_url',schema_url)+getHCtrl('spp_langs',spp_langs)+getHCtrl('hide',hide)+getHCtrl('ssrv_host',ssrv_host)+'</form><center><font face="Arial,Helvetica" size=3><b>Loading...</b><br>';if(isHide('[cp]'))s=s+'<a href="" onclick="parent.opener.parent.cTL.focus();parent.close()">Abort SpellChecker</a>&nbsp;&nbsp;<a href="" onclick="parent.opener.parent.cTL.form.submit();parent.opener.focus();document.location=\''+service_host+doc_process+'?ssrv_host='+ssrv_host+'&cmd=eos&customerid='+customerid+'&sessionid=0&hide='+hide+'\';return false">Send Without Checking</a>';s=s+'</font><center></center></body>';sp_doc.open();sp_doc.writeln(s);sp_doc.close();}var f_dst;if(!is_window_opened||!isHide('[dc]'))f_dst=sp_doc.forms[0];else{ChkFrm();return;}f_dst.text.value=ctrlObj.value?ctrlObj.value:ctrlObj.innerHTML;f_dst.submit();}is_window_opened=true;}function ReopenSPW(){sp_wurl=getSPWU();ReopenSpellWin();}function getSPWU(){return url+'?cmd=frm&qw='+(asc?escape(parent.parent.document.location):'')+'&ctrlname='+(isHide('[ch]')?ctrl.name:'')+'&firstframeh=30&thirdframeh='+botf+'&fifthframe='+(sp_IsW98A4A5||asc?1:'')+'&docblank='+escape(service_host+doc_blank)+'&docblankform='+escape(service_host+doc_blankform)+'&hide='+hide;}function ChkFrm(){if(!is_window_opened||!isHide('[dc]'))sp_doc=spellWin.frames[1].document;if(sp_doc){var f_dst;if(!is_window_opened||!isHide('[dc]'))f_dst=sp_doc.forms[0];else f_dst=spellWin.frames[4].document.forms[0];f_dst.action=service_host+doc_process;if(sp_asce)f_dst.sp_asce.value=lang;f_dst.cmd.value='spell';f_dst.slang.value=lang;f_dst.intlang.value=intlang;f_dst.text.value=ctrlObj.value?ctrlObj.value:ctrlObj.innerHTML;f_dst.trg_url.value=url;f_dst.trg_wnd.value=wndname;if(formNum!=-1)f_dst.txt_ctrl.value=force_reload?'document.forms['+sp_i+'][\''+ctrlName+'\']':'';else f_dst.txt_ctrl.value=force_reload?ctrlName:'';f_dst.svc_time.value=(new Date()).getTime();f_dst.customerid.value=customerid?customerid:'';f_dst.cust_dic_ids.value=cust_dic_ids?cust_dic_ids:'';f_dst.schema_url.value=schema_url;f_dst.spp_langs.value=spp_langs;f_dst.hide.value=hide;if(f_dst.ssrv_host)f_dst.ssrv_host.value=ssrv_host;f_dst.submit();}is_window_opened=true;}function getFrame(name,src,mw,mh,scrl,fb,fs){return ' <frame name="'+name+'" src="'+src+'" marginwidth="'+mw+'" marginheight="'+mh+'" noresize scrolling="'+scrl+'" frameborder="'+fb+'" framespacing="'+fs+'">';}function getHostStr(s){var r=getSplitStr(s,".");r=getSplitStr(r,":");r=getSplitStr(r,"-");return r;}function getSplitStr(s,d){var r="";var a=s.split(d);for(var i=0;i<a.length;i++){if(r!="")r=r+"_";r=r+a[i];}return r;}function getServerName(u){u=getSS(u,'//',2,true);u=getSS(u,'/',0,false);u=getSS(u,':',0,false);return u;
}

function getSS(s,e,p,r,a)
{
	var x=s.indexOf(e);
	if(x==-1)
	{
		if(a)
			return a;
		return s;
	}
	if(r)
		return s.substring(x+p);
	else 
		return s.substring(p,x);
}

function CheckIE5Mac(url)
{
	if(IsProxyVer)
	{
		if(service_host==sp_sh)
		{
			if(!asc)
				ssrv_host=getServerName(service_host);
			var fval=url.split('/');
			service_host='';
			for(i=0;i<fval.length-1;i++)
			{
				if(service_host!='')
					service_host+='/';
				service_host+=fval[i];
			}
			ssrvname=fval[fval.length-1];
			service_host+='/';
		}
		doc_blank=ssrvname+"?doc=blank&ssrv_host="+ssrv_host;
		doc_blankform=ssrvname+"?doc=blankform&ssrv_host="+ssrv_host;
		doc_process=ssrvname;
	}
	else
	{
		ssrv_host='';
		port='';
		ssrv='';
		ssrvname='';
	}
}

function fIsProxyVer()
{
	return ((isAppVer("MSIE 5")||isAppVer("MSIE 4.01"))&&isAppVer("Mac"))||isAppVer('4.5 ')||isAppVer('4.5;')||(navigator.userAgent.indexOf("Netscape6")!=-1);
}

function getWindowURL()
{
	if(isUsrAgent('Windows 98')&&isUsrAgent('MSIE 5.5')&&isUsrAgent('AOL 5.0'))
		return '';
	if((isUsrAgent('AOL 5.0')&&!isUsrAgent('MSIE 5.5'))||(isUsrAgent('AOL 5.0')&&!isUsrAgent('MSIE 5.0'))||(document.location.protocol=='https:'))
		return url;
	return '';
}

function getTime()
{
	if(sp_IsW98A4A5)
	{
		var t=new Date();
		return t.getTime();
	}
	return '';
}

function changeUnload()
{
	if(sp_IsW98A4A5&&!asc)
		if(sp_old_doc_unload==null)
			if(document.readyState=='complete')
			{
				if(!document.body.onunload)
					sp_old_doc_unload=0;
				else 
					sp_old_doc_unload=document.body.onunload;
				document.body.onunload=new_unload;
			}
}

function UnloadCW()
{
	if(is_window_opened)
		if(spellWin)
		{
			if(spellWin.frames)
				spellWin.frames[4].parentOpen=false;
			spellWin.un=false;
			spellWin.close();
			is_window_opened=false;
			spellWin=null;
		}
}

function new_unload()
{
	UnloadCW();
	if(sp_old_doc_unload&&(sp_old_doc_unload!=0))
	{
		sp_old_doc_unload();
		document.body.onunload=sp_old_doc_unload;
	}
	sp_old_doc_unload=null;
}

function IsW98A4A5()
{
	return isUsrAgent('Windows 98')&&(isUsrAgent('AOL 4.0')||isUsrAgent('AOL 5.0'));
}

function getHCtrl(n,v)
{
	return '<input type=hidden name='+n+' value="'+v+'">';
}

function isUsrAgent(s)
{
	return navigator.userAgent.indexOf(s)!=-1;
}

function isAppVer(s)
{
	return navigator.appVersion.indexOf(s)!=-1;
}

function isHide(s)
{
	return hide.indexOf(s)!=-1;
}

function setNullOpener()
{
	spellWin.opener.is_window_opened=false;
	spellWin.opener.spellWin=null;
}

function closeSpellWin()
{
	spellWin.close();
	spellWin=null;
}

function OpenSpellWin()
{
	spellWin=window.open(sp_wurl,sp_spw_name,sp_spw_params);
}

function ReopenSpellWin()
{
	var nsw=window.open(sp_wurl,sp_spw_name,sp_spw_params);
	spellWin=nsw;
}

function OpenSW()
{
	closeSpellWin();
	OpenSpellWin();
	if(!isAppVer("Mac"))
		ReopenSpellWin();
}

function isFEQ(v)
{
	return spellWin.frames.length==v;
}

