// $Revision: #71 $
var loc=document.location.search;
if(loc!="")loc=loc.substring(1,loc.length);
var params=loc.split('&');
var recipient_screen_name="";
var sender_screen_name="";
var ig_category="";
var ig_greeting="";
var ig_character="";
var ig_user_entered_text="";
var ig_back_from_a2=false;
var ig_aolform=false;
var ig_sender_email="";
var ig_from_email="";
var ig_rec_email="";
var ig_gid="";
var ig_checksum=0;
var noim=false;
var ig_aol_browser=(navigator.userAgent.toLowerCase()).indexOf("aol")!=-1;
var t_fields=new Array();
var t_fields_len=0;
var s_fields=new Array();
var s_fields_len=0;
var p_fields=new Array();
var p_fields_len=0;

function checkEmail(email)
{
	var re = /^[\w\.\-]+@[\w\.\-]+\.[\w\.\-]+/;
	return re.test(email);
}

function disableF11()
{
	if (122 == event.keyCode)
	{
		event.keyCode = 0;
		return false;
	}
}
document.onkeydown = disableF11;

function getAOLVersion()
{
	if (!ig_aol_browser)
		return 0;
	var aolver = 0;
	var nav = navigator.userAgent.toLowerCase();
	var idx = nav.indexOf("aol ");
	if(idx!=-1)
		aolver = parseFloat(nav.substring(idx+4,idx+7));
	return aolver;
}

function getKeyValue(whichkey)
{
	for (var i=0;i<params.length;i++)
		if(params[i].indexOf("=")!=-1)
		{
			var x=params[i].split('=');
			if(x[0]==whichkey)
				return unescape(x[1]);
		}
	return "";
}

function extractURLParams()
{
	recipient_screen_name		= getKeyValue("rec");
	sender_screen_name			= getKeyValue("sdr");
	var smt_temp = getKeyValue("smt");
	if(smt_temp!="")
	{
		var greeting_path_breakdown	= smt_temp.split("/");
		ig_character				= greeting_path_breakdown[1];
		ig_category					= greeting_path_breakdown[2];
		ig_greeting					= greeting_path_breakdown[3];
	}
	ig_back_from_a2				= getKeyValue("ba2")=="true"?true:false;
	ig_aolform					= getKeyValue("form")=="yes"?true:false;
	ig_gid						= getKeyValue("gid");
	ig_gid						= (ig_gid=="")?1:ig_gid;	// temporary to make us work with old and new Mercury forms.
	ig_checksum					= getKeyValue("chk");
	ig_sender_email				= getKeyValue("sdremail");
	ig_from_email				= getKeyValue("fromemail")=="yes"?true:false;
	ig_rec_email				= getKeyValue("recemail");
	noim						= ig_from_email;

	for(var i=1;i<=20;i++)
	{
		var val;
		val = getKeyValue("T"+(i<10?"0":"")+i);
		if(val!=""){t_fields[i]=val;t_fields_len=i}else t_fields[i]=""
		val = getKeyValue("S"+(i<10?"0":"")+i);
		if(val!=""){s_fields[i]=val;s_fields_len=i}else s_fields[i]=""
		val = getKeyValue("P"+(i<10?"0":"")+i);
		if(val!=""){p_fields[i]=val;p_fields_len=i}else p_fields[i]=""
	}
}

function checkEnter(event)
{ 	
	var code = 0;
	if (document.layers)
		code = event.which;
	else
		code = event.keyCode;
	if (code==13)
		return true;
	return false;
}

function despace(instr)
{
	var outstr="";
	for(var i=0;i<instr.length;i++)
		outstr+=(instr.substring(i,i+1)!=" "?instr.substring(i,i+1):"");
	return outstr;
}

function encodeUserText(a)
{
	var ret="";
	for(var i=0;i<a.length;i++)
	{
		var ch=a.substring(i,i+1);
		var next_ch=(i+1)<a.length?a.substring(i+1,i+2):0;
		switch (ch)
		{
			case '&':		ret+="%26";		break;
			case '#':		ret+="%23";		break;
			case '+':		ret+="%2B";		break;
			case '\x0d':
				ret+="%0A";
				if(next_ch=='\x0a')	i++;
				break;
			case '\x0a':
				ret+="%0A";
				if(next_ch=='\x0d')	i++;
				break;
			default:		ret+=ch;		break;
		}
	}
	return ret;
}

function build_fields()
{
	var standard =	"rec="+escape(despace(recipient_screen_name))+
					(sender_screen_name!=""?("&sdr="+escape(despace(sender_screen_name))):"")+
					"&smt=en/"+ig_character+"/"+ig_category+"/"+ig_greeting;
	var val="";
	for(var i=1;i<=20;i++)
	{
		if(i<=t_fields_len&&t_fields[i]!="")val+="&T"+(i<10?"0":"")+i+"="+escape(t_fields[i]);
		if(i<=p_fields_len&&p_fields[i]!="")val+="&P"+(i<10?"0":"")+i+"="+escape(p_fields[i]);
		if(i<=s_fields_len&&s_fields[i]!="")val+="&S"+(i<10?"0":"")+i+"="+escape(s_fields[i]);
	}
	var extras = "";
	extras += ig_sender_email==""?"":"&sdremail="+ig_sender_email;
	extras += ig_checksum==0?"":"&chk="+ig_checksum;
	return standard+val+extras;
}

function qualifyURL(u,i)
{
	var jsp = (u.toLowerCase()).indexOf(".jsp")!=-1;
	var ret = (jsp?ig_jsphost:ig_contenthost)+u;
	if((ig_aol_browser||ig_aolform)&&arguments.length==2)
		ret = "aol://6500:formid=" +i+ "&action=display&url=" + escape(ret);
//	alert("qualifyURL="+ret);
	return ret;
}

function go_to_html(i,u)
{
	if(arguments.length==2)
		self.location.href=qualifyURL(u,i);
	else
		self.location.href=qualifyURL(i);
}

function pop_html(i,u,n,o)
{
	if(ig_aol_browser)
		go_to_html(i,u);
	else if(arguments.length==4)
		window.open(qualifyURL(u,i),n,o);
	else
		window.open(qualifyURL(i),u,n);
}

function selfclose()
{
	if(ig_aolform)
		self.location.href="aol://6500:formid="+ig_gid+"&action=close";
	else if(document.getElementById && !document.all)
		window.close();
	else
	{
		top.opener=null;
		top.focus();
		top.close();
	}
}

function getIframeTarg(i)
{
	if(document.all)
		return document.all[i];
	else
		return document.getElementById(i);
}

function go_to_comms_jsp(u)
{
	getIframeTarg('comms').src = qualifyURL(u);
}

function svgescape(s)
{
	var x="";
	for(var i=0;i<s.length;i++)
	{
		var j=s.substring(i,i+1);
		switch(j)
		{
			case '('	: x+="&#40;"; break;
			case ')'	: x+="&#41;"; break;
			case '!'	: x+="&#33;"; break;
			case '&'	: x+="&#38;"; break;
			case '"'	: x+="&#34;"; break;
			case "#"	: x+="&#35;"; break;
			case "'"	: x+="&#39;"; break;
			case '<'	: x+="&#60;"; break;
			case '>'	: x+="&#62;"; break;
			case ','	: x+="&#44;"; break;
			case '\\'	: x+="&#92;"; break;
			case '\x0d' :
			case '\x0a' : x+="&#10;"; break;
			default		: x+=j;       break;
		}
	}
	return x;
}

function checkScreenName(inScreenName, mo) {
	var screenName = inScreenName.replace(/\s/g, "");
	var result = true;
	var max=16;
	var approved_email_domains = new Array("@ibm.com","@mac.com");
	var emailsn = false;
	var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ";
	
	if(mo==2)
		emailsn = true;
	else if (mo==1)
		for(var i=0;i<approved_email_domains.length;i++)
		{
			if(screenName.substring(screenName.length-approved_email_domains[i].length,screenName.length)==approved_email_domains[i])
			{
				emailsn = true;
				break;
			}
		}
	if(emailsn)
	{
		max=97;
		chars += "@.-";
	}
	
	if((screenName.length<3)||(screenName.length>max))
		result = false;
	
	for (var i=0;i<screenName.length;i++)
	{
		if (chars.indexOf(screenName.charAt(i))==-1)
			result = false;
	}

	var letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
	if ((letters.indexOf(screenName.charAt(0))==-1)&&(emailsn==false))
		result = false;

	if ((screenName == null) || (screenName == ""))
		result = false;

	return result;
}

extractURLParams();

var ig_aolver = getAOLVersion();

self.focus();
