function popwindow(showurl, wd, ht) {
	settings = "titlebar=1,toolbar=0,location=1,menubar=0,scrollbars=1,resizable=1,channelmode=0,directories=0,status=1,width=" + wd + ",height=" + ht + ",top=200,left=250";
	window.open(showurl, "test_win1", settings);
}

function formDisplay(jsonData) {
	document.getElementById(jsonData.Display.td).innerHTML = jsonData.Display.Data;
	bObj.removeScriptTag();
}

function processConfirmForm(tdId, formid) {
	if (validate_pubconfirm(formid)) {
		var locfield = document.getElementById('location');
		var reffield = document.getElementById('ref');
		var formfield = document.getElementById('formname');		
		var countryfield = document.getElementById('country');
		var fnamefield = document.getElementById('firstname');
		var lnamefield = document.getElementById('lastname');
		var address1field = document.getElementById('address1');
		var address2field = document.getElementById('address2');
		var cityfield = document.getElementById('city');
		var statefield = document.getElementById('state');
		var zipfield = document.getElementById('zip');
		var phone1field = document.getElementById('phone1');
		var phone2field = document.getElementById('phone2');
		var emailfield = document.getElementById('email');
		var urlfield = document.getElementById('url');
		var category1field = document.getElementById('category1');
		var category2field = document.getElementById('category2');
		var usernamefield = document.getElementById('username');
		var paymentMethodfield = document.getElementById('paymentMethod');		
		var paypalEmailfield = document.getElementById('paypalEmail');
		
		var secfield = document.getElementById('sec');
		var g1field = document.getElementById('g1');
		var g2field = document.getElementById('g2');
		var g3field = document.getElementById('g3');
		var g4field = document.getElementById('g4');

		var domain = window.location.hostname;
		domain = domain.replace(/www\./ig,'');
		domain = domain.toLowerCase(); 


		var data = locfield.value + "|" + reffield.value + "|" + formfield.value + "|" + countryfield.value + "|" +fnamefield.value + "|" + lnamefield.value + "|" + address1field.value + "|" + address2field.value + "|" + cityfield.value + "|" + statefield.value + "|" + zipfield.value + "|" + phone1field.value + "|" + phone2field.value + "|" + emailfield.value + "|" + urlfield.value + "|" + category1field.value + "|" + category2field.value + "|" + usernamefield.value + "|" + paymentMethodfield.value + "|" + paypalEmailfield.value + "|" + domain + "|" + secfield.value + "|" + g1field.value + "|" + g2field.value + "|" + g3field.value + "|" + g4field.value;
		var zvar1 = genvar();

		var zvar2 = zvar1.substring(0, 6);
		var zvar3 = zvar1.substring(6, 18);
		var zvar4 = zvar1.substring(18);

		var ciphertext = encrypt(data, zvar1);

		var req  = 'http://lc.campaignstats.net/cgi-bin/pubform.cgi?plo='+zvar4+'&td='+tdId+'&abv='+zvar2+'&z='+ciphertext+'&uyr='+zvar3;
		bObj = new JSONscriptRequest(req);
		bObj.buildScriptTag();
		bObj.addScriptTag();
		
		submitbtn = document.getElementById('submit1');
		submitbtn.disabled = false;
		return false;
	}
}

function processForm(tdId, formid) {
	if (validate_pubsignup(formid) && validateNation()) {
		var locfield = document.getElementById('location');
		var reffield = document.getElementById('ref');
		var formfield = document.getElementById('formname');		
		var countryfield = document.getElementById('country');
		var fnamefield = document.getElementById('firstname');
		var lnamefield = document.getElementById('lastname');
		var address1field = document.getElementById('address1');
		var address2field = document.getElementById('address2');
		var cityfield = document.getElementById('city');
		var statefield = document.getElementById('state');
		var zipfield = document.getElementById('zip');
		var phone1field = document.getElementById('phone1');
		var phone2field = document.getElementById('phone2');
		var emailfield = document.getElementById('email');
		var urlfield = document.getElementById('url');
		var category1field = document.getElementById('category1');
		var category2field = document.getElementById('category2');
		var usernamefield = document.getElementById('username');
		var paymentMethodfield = document.getElementById('paymentMethod');		
		var paypalEmailfield = document.getElementById('paypalEmail');

		var domain = window.location.hostname;
		domain = domain.replace(/www\./ig,'');
		domain = domain.toLowerCase(); 

		var data = locfield.value + "|" + reffield.value + "|" + formfield.value + "|" + countryfield.value + "|" +fnamefield.value + "|" + lnamefield.value + "|" + address1field.value + "|" + address2field.value + "|" + cityfield.value + "|" + statefield.value + "|" + zipfield.value + "|" + phone1field.value + "|" + phone2field.value + "|" + emailfield.value + "|" + urlfield.value + "|" + category1field.value + "|" + category2field.value + "|" + usernamefield.value + "|" + paymentMethodfield.value + "|" + paypalEmailfield.value + "|" + domain;

		var tvar1 = genvar();
		
		var tvar2 = tvar1.substring(0, 6);
		var tvar3 = tvar1.substring(6, 18);
		var tvar4 = tvar1.substring(18);
	
		var ciphertext = encrypt(data, tvar1);

		var req  = 'http://lc.campaignstats.net/cgi-bin/pubform.cgi?plo='+tvar4+'&td='+tdId+'&abv='+tvar2+'&z='+ciphertext+'&uyr='+tvar3;
		bObj = new JSONscriptRequest(req);
		bObj.buildScriptTag();
		bObj.addScriptTag();

		submitbtn = document.getElementById('submit1');
		submitbtn.disabled = false;
		return false;
	}
}

function JSONscriptRequest(fullUrl) {
    this.fullUrl = fullUrl; 
    this.noCacheIE = '&noCacheIE=' + (new Date()).getTime();
    this.headLoc = document.getElementsByTagName("head").item(0);
    this.scriptId = 'JscriptId' + JSONscriptRequest.scriptCounter++;
}

JSONscriptRequest.scriptCounter = 1;

JSONscriptRequest.prototype.buildScriptTag = function () {

    this.scriptObj = document.createElement("script");
    
    this.scriptObj.setAttribute("type", "text/javascript");
    this.scriptObj.setAttribute("charset", "utf-8");
    this.scriptObj.setAttribute("src", this.fullUrl + this.noCacheIE);
    this.scriptObj.setAttribute("id", this.scriptId);
}
 
JSONscriptRequest.prototype.removeScriptTag = function () {
    this.headLoc.removeChild(this.scriptObj);  
}

JSONscriptRequest.prototype.addScriptTag = function () {
    this.headLoc.appendChild(this.scriptObj);
}

function popwindow(showurl, wd, ht) {
	settings = "titlebar=1,toolbar=0,location=1,menubar=0,scrollbars=1,resizable=1,channelmode=0,directories=0,status=1,width=" + wd + ",height=" + ht + ",top=200,left=250";
	window.open(showurl, "test_win1", settings);
}

function IsValidUrl(url) {
	if (url.substring(0,7).toLowerCase() != "http://" && url.substring(0,8).toLowerCase() != "https://") {
		return false;
	} else {
		return true;
	}
}

function IsValidEmail(email) {
	apos=email.indexOf("@");
	dotpos=email.lastIndexOf(".");
	if (apos<1||dotpos-apos<2) {
		return false;
	} else {
		return true;
	}
}

function IsAlphaNumericChar(achar) {
	var ccode = achar.charCodeAt(0);
	
	if ((ccode >= 48 && ccode <= 57) || (ccode >= 65 && ccode <= 90) || (ccode >= 97 && ccode <= 122) || (ccode==95)) {
		return true;
	}
	else {
		return false;
	}
}

function IsValidChars(sText, ValidChars) {
	var IsValid=true;
	var Char;

	for (var i = 0; i < sText.length && IsValid == true; i++)
	{
	Char = sText.charAt(i);
	if (ValidChars.indexOf(Char) == -1)
	   {
	   IsValid = false;
	   }
	}
	return IsValid;
}

function IsAlphaNumericString(astr) {
	for (var i = 0; i < astr.length; i++) {
		var achar = astr.charAt(i);
		if (IsAlphaNumericChar(achar)) {
		}
		else {
			return false;
		}
	}
	return true;
}

// field is required
function validate_inline_required(errfld, errclass, field, alerttxt)
{
	with (field)
	{	
		if (value==null||value=="") {
			errout = document.getElementById(errfld);
			errout.innerHTML = alerttxt;
			errout.className = errclass;
			return false;
		}
		else {
			return true;
		}
	}
}

// Only characters in charstr are allowed in field
function validate_inline_validchars(errfld, errclass, field, charstr, alerttxt) {
	with (field) 
	{
		if (! IsValidChars(value, charstr)) {
			errout = document.getElementById(errfld);
			errout.innerHTML = alerttxt;
			errout.className = errclass;
			return false;
		}
		else {
			return true;
		}
	}
}

// Field must have a valid Email address
function validate_inline_email(errfld, errclass, field, alerttxt) {
	with (field)
	{
		if (! IsValidEmail(value) ) {
			errout = document.getElementById(errfld);
			errout.innerHTML = alerttxt;
			errout.className = errclass;
			return false;
		}
		else {
			return true;
		}
	}
}

// URL must be valid (starts with http:// or https://)
function validate_inline_url(errfld, errclass, field, alerttxt) {
	with (field)
	{	
		if (! IsValidUrl(value) ) {
			errout = document.getElementById(errfld);
			errout.innerHTML = alerttxt;
			errout.className = errclass;
			return false;
		}
		else {
			return true;
		}
	}
}

// URL is REQUIRED treat http or https as BLANK
function validate_url_inline_required(errfld, errclass, field, alerttxt)
{
	with (field)
	{
		if (value==null||value==""||value=="http://"||value=="https://") {
			errout = document.getElementById(errfld);
			errout.innerHTML = alerttxt;
			errout.className = errclass;
			return false;
		}
		else {
			return true;
		}
	}
}

// Checkbox field MUST be checked
function validate_inline_checked(errfld, errclass, field, alerttxt)
{
	with (field)
	{	
		if (value==null||value==""||value!="ON"||checked==false) {
			errout = document.getElementById(errfld);
			errout.innerHTML = alerttxt;
			errout.className = errclass;
			return false;
		}
		else {
			return true;
		}
	}
}

// Both fields cannot be the same
function validate_inline_nomatch(errfld, errclass, fieldA, fieldB, alerttxt)
{
	fieldAout = document.getElementById(fieldA);
	fieldBout = document.getElementById(fieldB);

	if (fieldAout.value==null||fieldAout.value==""||fieldBout.value==null||fieldBout.value==""||fieldAout.value==fieldBout.value) {
		errout = document.getElementById(errfld);
		errout.innerHTML = alerttxt;
		errout.className = errclass;
		return false;	
	}
}

// Text field MUST be a character in A-Za-z0-9
function validate_inline_alphanumeric(errfld, errclass, field, alerttxt) {
	with (field)
	{
		if (! IsAlphaNumericString(value)) {
			errout = document.getElementById(errfld);
			errout.innerHTML = alerttxt;
			errout.className = errclass;
			return false;
		}
		else {
			return true;
		}
	}
}

// Length of value in text field must be between minlen and maxlen INCLUSIVE
function validate_inline_length(errfld, errclass, field, minlen, maxlen, alerttxt)
{
	with (field) 
	{
		if (value.length < minlen || value.length > maxlen) {
			errout = document.getElementById(errfld);
			errout.innerHTML = alerttxt;
			errout.className = errclass;
			return false;
		}
		else {
			return true;
		}
	}
}

function validate_pubconfirm(thisform) {
	with (thisform)
	{
		if (validate_inline_required('jserr', 'pub_errormsg', sec,"<br><i>Security Code is required.</i><br>")==false)
		{
			sec.focus();
			return false;
		}
		if (validate_inline_alphanumeric('jserr', 'pub_errormsg', sec,"<br><i>Security Code must be alphanumeric.</i><br>")==false)
		{
			sec.focus();
			return false;
		}
	}
	return true;
}

function validate_pubsignup(thisform)
{
	with (thisform)
	{
		if (validate_inline_required('jserr', 'pub_errormsg', firstname,"<br><i>First name is required.</i><br>")==false)
		{
			firstname.focus();
			return false;
		}
		if (validate_inline_required('jserr', 'pub_errormsg', lastname,"<br><i>Last name is required.</i><br>")==false)
		{
			lastname.focus();
			return false;
		}
		if (validate_inline_required('jserr', 'pub_errormsg', address1,"<br><i>Address is required.</i><br>")==false)
		{
			address1.focus();
			return false;
		}
		if (validate_inline_required('jserr', 'pub_errormsg', city,"<br><i>City is required.</i><br>")==false)
		{
			city.focus();
			return false;
		}
		if (validate_inline_required('jserr', 'pub_errormsg', state,"<br><i>State is required.</i><br>")==false)
		{
			state.focus();
			return false;
		}
		if (validate_inline_required('jserr', 'pub_errormsg', country,"<br><i>Country is required.</i><br>")==false)
		{
			country.focus();
			return false;
		}
		if (validate_inline_required('jserr', 'pub_errormsg', zip,"<br><i>Zip code is required.</i><br>")==false)
		{
			zip.focus();
			return false;
		}

		if (validate_inline_required('jserr', 'pub_errormsg', phone1,"<br><i>Country/Area Code + Number required.</i><br>")==false)
		{
			phone1.focus();
			return false;
		}

		if (validate_inline_required('jserr', 'pub_errormsg', phone2,"<br><i>Country/Area Code + Number required.</i><br>")==false)
		{
			phone2.focus();
			return false;
		}

		if (validate_inline_validchars('jserr', 'pub_errormsg', phone1, "0123456789-.", "<br><i>Phone number must be numeric.</i><br>")==false)
		{
			phone1.focus();
			return false;
		}


		if (validate_inline_validchars('jserr', 'pub_errormsg', phone2, "0123456789-.", "<br><i>Phone number must be numeric.</i><br>")==false)
		{
			phone2.focus();
			return false;
		}

		if (validate_inline_required('jserr', 'pub_errormsg', email,"<br><i>Email is required and must be of the form user\@domain.com.</i><br>")==false)
		{
			email.focus();
			return false;
		}
		if (validate_inline_email('jserr', 'pub_errormsg', email,"<br><i>Email is required and must be of the form user\@domain.com.</i><br>")==false)
		{
			email.focus();
			return false;
		}


		if (validate_url_inline_required('jserr', 'pub_errormsg', url,"<br><i>Website URL is required and must begin with http://.</i><br>")==false)
		{
			url.focus();
			return false;
		}
		if (validate_inline_url('jserr', 'pub_errormsg', url,"<br><i>Website URL is required and must begin with http://.</i><br>")==false)
		{
			url.focus();
			return false;
		}

		if (validate_inline_nomatch('jserr', 'pub_errormsg', 'category1', 'category2', "<br><i>Categories must be unique.</i><br>")==false) {
			category2.focus();
			return false;
		}

		if (validate_inline_required('jserr', 'pub_errormsg', category1,"<br><i>One or more unique website categories are required.</i><br>")==false)
		{
			category1.focus();
			return false;
		}

		if (validate_inline_required('jserr', 'pub_errormsg', category2,"<br><i>One or more unique website categories are required.</i><br>")==false)
		{
			category2.focus();
			return false;
		}

		if (validate_inline_required('jserr', 'pub_errormsg', username,"<br><i>Username is required.</i><br>")==false)
		{
			username.focus();
			return false;
		}

		if (validate_inline_length('jserr', 'pub_errormsg', username, 1, 20, "<br><i>Username must be no greater than 20 characters.</i><br>")==false)
		{
			username.focus();
			return false;
		}

		if (validate_inline_required('jserr', 'pub_errormsg', paymentMethod,"<br><i>A valid payment method is required.</i><br>")==false)
		{
			paymentMethod.focus();
			return false;
		}

		if (paymentMethod.value == "PayPal") {
			if (validate_url_inline_required('jserr', 'pub_errormsg', paypalEmail,"<br><i>A valid email address, of the form user\@domain.com, is required for paypal payments.</i><br>")==false)
			{
				paypalEmail.focus();
				return false;
			}
			if (validate_inline_email('jserr', 'pub_errormsg', paypalEmail,"<br><i>A valid email address, of the form user\@domain.com, is required for paypal payments.</i><br>")==false)
			{
				paypalEmail.focus();
				return false;
			}
		}

		if (validate_inline_checked('jserr', 'pub_errormsg', terms,"<br><i>You must agree to the terms of the Adversal Network.</i><br>")==false)
		{
			terms.focus();
			return false;
		}

		submitDone = true;
		submit1.disabled = true;
	}
	return true;
}

function validateNation() {

	var countryfield = document.getElementById('country');
	
	var countrylist = "Anonymous Proxy" + "|" + "United Arab Emirates" + "|" + "Antigua and Barbuda" + "|" + "Asia/Pacific Region" + "|" +  
			"Brazil" + "|" + "Belarus" + "|" + "Congo, Democratic Republic" + "|" + "Congo" + "|" + "Chile" + "|" + "China" + "|" + 
			"Estonia" + "|" + "Hong Kong" + "|" + "Iraq" + "|" + "Kuwait" + "|" + "Liberia" + "|" + "Latvia" + "|" + 
			"Morocco" + "|" + "Myanmar" + "|" + "Mongolia" + "|" + "Malaysia" + "|" + "Nigeria" + "|" + "Pakistan" + "|" + "Qatar" + "|" + 
			"Russian Federation" + "|" + "Saudi Arabia" + "|" + "Sudan" + "|" + "Turkey" + "|" + "Ukraine";

	if (countrylist.indexOf(countryfield.value) >= 0) {
		// invalid country

		bodyout = document.getElementById('pub_main_div');
		
		bodyout.innerHTML = "<table class='requirements_table'>" +
			"<tr>" +
				"<td colspan='2' align='center'>" +
					"<font class='requirements'>REQUIREMENTS</font>" +
				"</td>" +
			"</tr>" +
			"<tr>" +
				"<td colspan='2' align='left' style='padding:0px 0px 0px 0px;'><font class='formText'>Your site must:</font>" +
				"</td>" +
			"</tr>" +
			"<tr>" +
				"<td align='right' style='padding:0px 0px 0px 0px;'><font class='formText'>&bull;&nbsp;&nbsp;</font></td>" +
				"<td align='left' style='padding:0px 0px 0px 0px;'><font class='formText'>have a minimum of 2,500 page views per month</font></td>" +
			"</tr>" +
			"<tr>" +
				"<td align='right' width='10%' style='padding:0px 0px 0px 0px;'><font class='formText'>&bull;&nbsp;&nbsp;</font></td>" +
				"<td align='left' width='90%' style='padding:0px 0px 0px 0px;'><font class='formText'>consist of 50% North American traffic</font></td>" +
			"</tr>" +
			"<tr>" +
				"<td align='right' style='padding:0px 0px 0px 0px;'><font style='font:bold 12px arial;color:#000000;'>&bull;&nbsp;&nbsp;</font></td>" +
				"<td align='left' style='padding:0px 0px 0px 0px;'><font class='formText'>have been online for at least 1 month</font></td>" +
			"</tr>" +
			"<tr>" +
				"<td align='right' style='padding:0px 0px 0px 0px;'><font style='font:bold 12px arial;color:#000000;'>&bull;&nbsp;&nbsp;</font></td>" +
				"<td align='left' style='padding:0px 0px 0px 0px;'><font class='formText'>be in English</font></td>" +
			"</tr>" +
			"<tr>" +
				"<td colspan='2' align='right' style='padding:0px 0px 0px 0px;'><font class='formText'>Read the full requirements <a href='javascript:void(0)' class='pub_link' onclick=''>here</a>.</font>" +
				"</td>" +
			"</tr>" +
			"</table>" +
			"<br>" +
			"<form name='signupform' method='post' action='' onsubmit=\"processForm('pub_main_div', this); return false;\">" +
				"<input type='hidden' name='location' id='location' value=''>" +
				"<input type='hidden' name='ref' id='ref' value='" + initForm + "'>" +
				"<input type='hidden' name='formname' id='formname' value='signup'/>" +
				"<table border='0' cellpadding='0' cellspacing='0' class='form_table '>" +
					"<tr><td id='jserr' class='pub_errormsg' colspan='2' valign='top' align='center'></td></tr>" +
					"<tr>" +
						"<td align='right'><font size='1'>&nbsp;</font></td>" +
						"<td align='left'><font size='1'>&nbsp;</font></td>" +
					"</tr>" +
				"</table>" +
			"</form>";

		errout = document.getElementById('jserr');
		errout.innerHTML = "Currently our website publishing program is not available in your country.";
		errout.className = 'pub_errormsg';
		
		return false;
	}
	else {
		errout = document.getElementById('jserr');
		errout.innerHTML = "";
		errout.className = 'pub_errormsg';

		submitbtn = document.getElementById('submit1');
		submitbtn.disabled = false;
		return true;
	}

}

document.write("<div class='pub_main_div' id='pub_main_div'>" +
			"<table class='requirements_table'>" +
			"<tr>" +
				"<td colspan='2' align='center'>" +
					"<font class='requirements'>REQUIREMENTS</font>" +
				"</td>" +
			"</tr>" +
			"<tr>" +
				"<td colspan='2' align='left' style='padding:0px 0px 0px 0px;'><font class='formText'>Your site must:</font>" +
				"</td>" +
			"</tr>" +
			"<tr>" +
				"<td align='right' style='padding:0px 0px 0px 0px;'><font class='formText'>&bull;&nbsp;&nbsp;</font></td>" +
				"<td align='left' style='padding:0px 0px 0px 0px;'><font class='formText'>have a minimum of 2,500 page views per month</font></td>" +
			"</tr>" +
			"<tr>" +
				"<td align='right' width='10%' style='padding:0px 0px 0px 0px;'><font class='formText'>&bull;&nbsp;&nbsp;</font></td>" +
				"<td align='left' width='90%' style='padding:0px 0px 0px 0px;'><font class='formText'>consist of 50% North American traffic</font></td>" +
			"</tr>" +
			"<tr>" +
				"<td align='right' style='padding:0px 0px 0px 0px;'><font style='font:bold 12px arial;color:#000000;'>&bull;&nbsp;&nbsp;</font></td>" +
				"<td align='left' style='padding:0px 0px 0px 0px;'><font class='formText'>have been online for at least 1 month</font></td>" +
			"</tr>" +
			"<tr>" +
				"<td align='right' style='padding:0px 0px 0px 0px;'><font style='font:bold 12px arial;color:#000000;'>&bull;&nbsp;&nbsp;</font></td>" +
				"<td align='left' style='padding:0px 0px 0px 0px;'><font class='formText'>be in English</font></td>" +
			"</tr>" +
			"<tr>" +
				"<td colspan='2' align='right' style='padding:0px 0px 0px 0px;'><font class='formText'>Read the full requirements <a href='javascript:void(0)' class='pub_link' onclick=\"popwindow('publisher_terms.html',525,600);\">here</a>.</font>" +
				"</td>" +
			"</tr>" +
			"</table>" +
			"<br>" +
			"<form name='signupform' method='post' action='' onsubmit=\"processForm('pub_main_div', this); return false;\">" +
				"<input type='hidden' name='location' id='location' value=''>" +
				"<input type='hidden' name='ref' id='ref' value='" + initForm + "'>" +
				"<input type='hidden' name='formname' id='formname' value='signup'/>" +
				"<table border='0' cellpadding='0' cellspacing='0' class='form_table '>" +
					"<tr><td id='jserr' class='pub_errormsg' colspan='2' valign='top' align='center'></td></tr>" +
					"<tr>" +
						"<td align='right'><font size='1'>&nbsp;</font></td>" +
						"<td align='left'><font size='1'>&nbsp;</font></td>" +
					"</tr>" +
					"<tr>" +
						"<td align='right'>" +
						"<font class='formText'>Country:&nbsp;&nbsp;&nbsp;</font>" +
						"</td>" +
						"<td  align='left'>" +
						"<select name='country' id='country' class='pub_inpts' OnChange='validateNation();'>" +
							"<option value='United States' selected>United States</option><option value='United Kingdom'>United Kingdom</option><option value='Canada'>Canada</option><option value='Afghanistan'>Afghanistan</option><option value='Albania'>Albania</option><option value='Algeria'>Algeria</option><option value='American Samoa'>American Samoa</option><option value='Andorra'>Andorra</option><option value='Angola'>Angola</option><option value='Anguilla'>Anguilla</option><option value='Antarctica'>Antarctica</option><option value='Antigua and Barbuda'>Antigua and Barbuda</option><option value='Argentina'>Argentina</option><option value='Armenia'>Armenia</option><option value='Aruba'>Aruba</option><option value='Asia/Pacific Region'>Asia/Pacific Region</option><option value='Australia'>Australia</option><option value='Austria'>Austria</option><option value='Azerbaijan'>Azerbaijan</option><option value='Bahamas'>Bahamas</option><option value='Bahrain'>Bahrain</option><option value='Bangladesh'>Bangladesh</option><option value='Barbados'>Barbados</option><option value='Belarus'>Belarus</option><option value='Belgium'>Belgium</option><option value='Belize'>Belize</option><option value='Benin'>Benin</option><option value='Bermuda'>Bermuda</option><option value='Bhutan'>Bhutan</option><option value='Bolivia'>Bolivia</option><option value='Bosnia and Herzegovina'>Bosnia and Herzegovina</option><option value='Botswana'>Botswana</option><option value='Bouvet Island'>Bouvet Island</option><option value='Brazil'>Brazil</option><option value='British Indian Ocean Territory'>British Indian Ocean Territory</option><option value='Brunei Darussalam'>Brunei Darussalam</option><option value='Bulgaria'>Bulgaria</option><option value='Burkina Faso'>Burkina Faso</option><option value='Burundi'>Burundi</option><option value='Cambodia'>Cambodia</option><option value='Cameroon'>Cameroon</option><option value='Canada'>Canada</option><option value='Cape Verde'>Cape Verde</option><option value='Cayman Islands'>Cayman Islands</option><option value='Central African Republic'>Central African Republic</option><option value='Chad'>Chad</option><option value='Chile'>Chile</option><option value='China'>China</option><option value='Colombia'>Colombia</option><option value='Comoros'>Comoros</option><option value='Congo'>Congo</option><option value='Congo, Democratic Republic'>Congo, Democratic Republic</option><option value='Cook Islands'>Cook Islands</option><option value='Costa Rica'>Costa Rica</option><option value='Cote D'Ivoire'>Cote D'Ivoire</option><option value='Croatia'>Croatia</option><option value='Cuba'>Cuba</option><option value='Cyprus'>Cyprus</option><option value='Czech Republic'>Czech Republic</option><option value='Denmark'>Denmark</option><option value='Djibouti'>Djibouti</option><option value='Dominica'>Dominica</option><option value='Dominican Republic'>Dominican Republic</option><option value='Ecuador'>Ecuador</option><option value='Egypt'>Egypt</option><option value='El Salvador'>El Salvador</option><option value='Equatorial Guinea'>Equatorial Guinea</option><option value='Eritrea'>Eritrea</option><option value='Estonia'>Estonia</option><option value='Ethiopia'>Ethiopia</option><option value='Europe'>Europe</option><option value='Falkland Islands (Malvinas)'>Falkland Islands (Malvinas)</option><option value='Faroe Islands'>Faroe Islands</option><option value='Fiji'>Fiji</option><option value='Finland'>Finland</option><option value='France'>France</option><option value='French Guiana'>French Guiana</option><option value='French Polynesia'>French Polynesia</option><option value='French Southern Territories'>French Southern Territories</option><option value='Gabon'>Gabon</option><option value='Gambia'>Gambia</option><option value='Georgia'>Georgia</option><option value='Germany'>Germany</option><option value='Ghana'>Ghana</option><option value='Gibraltar'>Gibraltar</option><option value='Greece'>Greece</option><option value='Greenland'>Greenland</option><option value='Grenada'>Grenada</option><option value='Guadeloupe'>Guadeloupe</option><option value='Guam'>Guam</option><option value='Guatemala'>Guatemala</option><option value='Guinea'>Guinea</option><option value='Guinea-Bissau'>Guinea-Bissau</option><option value='Guyana'>Guyana</option><option value='Haiti'>Haiti</option><option value='Heard Island and McDonald Islands'>Heard Island and McDonald Islands</option><option value='Holy See (Vatican City State)'>Holy See (Vatican City State)</option><option value='Honduras'>Honduras</option><option value='Hong Kong'>Hong Kong</option><option value='Hungary'>Hungary</option><option value='Iceland'>Iceland</option><option value='India'>India</option><option value='Indonesia'>Indonesia</option><option value='Iran, Islamic Republic of'>Iran, Islamic Republic of</option><option value='Iraq'>Iraq</option><option value='Ireland'>Ireland</option><option value='Israel'>Israel</option><option value='Italy'>Italy</option><option value='Jamaica'>Jamaica</option><option value='Japan'>Japan</option><option value='Jordan'>Jordan</option><option value='Kazakstan'>Kazakstan</option><option value='Kenya'>Kenya</option><option value='Kiribati'>Kiribati</option><option value='Korea, Republic of'>Korea, Republic of</option><option value='Kuwait'>Kuwait</option><option value='Kyrgyzstan'>Kyrgyzstan</option><option value='Lao People's Democratic Republic'>Lao People's Democratic Republic</option><option value='Latvia'>Latvia</option><option value='Lebanon'>Lebanon</option><option value='Lesotho'>Lesotho</option><option value='Liberia'>Liberia</option><option value='Libyan Arab Jamahiriya'>Libyan Arab Jamahiriya</option><option value='Liechtenstein'>Liechtenstein</option><option value='Lithuania'>Lithuania</option><option value='Luxembourg'>Luxembourg</option><option value='Macau'>Macau</option><option value='Macedonia'>Macedonia</option><option value='Madagascar'>Madagascar</option><option value='Malawi'>Malawi</option><option value='Malaysia'>Malaysia</option><option value='Maldives'>Maldives</option><option value='Mali'>Mali</option><option value='Malta'>Malta</option><option value='Marshall Islands'>Marshall Islands</option><option value='Martinique'>Martinique</option><option value='Mauritania'>Mauritania</option><option value='Mauritius'>Mauritius</option><option value='Mayotte'>Mayotte</option><option value='Mexico'>Mexico</option><option value='Micronesia, Federated States of'>Micronesia, Federated States of</option><option value='Moldova, Republic of'>Moldova, Republic of</option><option value='Monaco'>Monaco</option><option value='Mongolia'>Mongolia</option><option value='Montserrat'>Montserrat</option><option value='Morocco'>Morocco</option><option value='Mozambique'>Mozambique</option><option value='Myanmar'>Myanmar</option><option value='Namibia'>Namibia</option><option value='Nauru'>Nauru</option><option value='Nepal'>Nepal</option><option value='Netherlands'>Netherlands</option><option value='Netherlands Antilles'>Netherlands Antilles</option><option value='New Caledonia'>New Caledonia</option><option value='New Zealand'>New Zealand</option><option value='Nicaragua'>Nicaragua</option><option value='Niger'>Niger</option><option value='Nigeria'>Nigeria</option><option value='Niue'>Niue</option><option value='Norfolk Island'>Norfolk Island</option><option value='Northern Mariana Islands'>Northern Mariana Islands</option><option value='Norway'>Norway</option><option value='Oman'>Oman</option><option value='Pakistan'>Pakistan</option><option value='Palau'>Palau</option><option value='Palestinian Territory, Occupied'>Palestinian Territory, Occupied</option><option value='Panama'>Panama</option><option value='Papua New Guinea'>Papua New Guinea</option><option value='Paraguay'>Paraguay</option><option value='Peru'>Peru</option><option value='Philippines'>Philippines</option><option value='Poland'>Poland</option><option value='Portugal'>Portugal</option><option value='Puerto Rico'>Puerto Rico</option><option value='Qatar'>Qatar</option><option value='Reunion'>Reunion</option><option value='Romania'>Romania</option><option value='Russian Federation'>Russian Federation</option><option value='Rwanda'>Rwanda</option><option value='Saint Kitts and Nevis'>Saint Kitts and Nevis</option><option value='Saint Lucia'>Saint Lucia</option><option value='Saint Pierre and Miquelon'>Saint Pierre and Miquelon</option><option value='Saint Vincent and the Grenadines'>Saint Vincent and the Grenadines</option><option value='Samoa'>Samoa</option><option value='San Marino'>San Marino</option><option value='Sao Tome and Principe'>Sao Tome and Principe</option><option value='Saudi Arabia'>Saudi Arabia</option><option value='Senegal'>Senegal</option><option value='Serbia and Montenegro'>Serbia and Montenegro</option><option value='Seychelles'>Seychelles</option><option value='Sierra Leone'>Sierra Leone</option><option value='Singapore'>Singapore</option><option value='Slovakia'>Slovakia</option><option value='Slovenia'>Slovenia</option><option value='Solomon Islands'>Solomon Islands</option><option value='Somalia'>Somalia</option><option value='South Africa'>South Africa</option><option value='Spain'>Spain</option><option value='Sri Lanka'>Sri Lanka</option><option value='Sudan'>Sudan</option><option value='Suriname'>Suriname</option><option value='Swaziland'>Swaziland</option><option value='Sweden'>Sweden</option><option value='Switzerland'>Switzerland</option><option value='Syrian Arab Republic'>Syrian Arab Republic</option><option value='Taiwan'>Taiwan</option><option value='Tajikistan'>Tajikistan</option><option value='Tanzania, United Republic of'>Tanzania, United Republic of</option><option value='Thailand'>Thailand</option><option value='Togo'>Togo</option><option value='Tokelau'>Tokelau</option><option value='Tonga'>Tonga</option><option value='Trinidad and Tobago'>Trinidad and Tobago</option><option value='Tunisia'>Tunisia</option><option value='Turkey'>Turkey</option><option value='Turkmenistan'>Turkmenistan</option><option value='Turks and Caicos Islands'>Turks and Caicos Islands</option><option value='Tuvalu'>Tuvalu</option><option value='Uganda'>Uganda</option><option value='Ukraine'>Ukraine</option><option value='United Arab Emirates'>United Arab Emirates</option><option value='United Kingdom'>United Kingdom</option><option value='United States'>United States</option><option value='United States Minor Outlying Islands'>United States Minor Outlying Islands</option><option value='Uruguay'>Uruguay</option><option value='Uzbekistan'>Uzbekistan</option><option value='Vanuatu'>Vanuatu</option><option value='Venezuela'>Venezuela</option><option value='Vietnam'>Vietnam</option><option value='Virgin Islands, British'>Virgin Islands, British</option><option value='Virgin Islands, U.S.'>Virgin Islands, U.S.</option><option value='Wallis and Futuna'>Wallis and Futuna</option><option value='Yemen'>Yemen</option><option value='Zambia'>Zambia</option><option value='Zimbabwe'>Zimbabwe</option></select>" +
						"</td>" +
					"</tr>" +
					"<tr>" +
						"<td align='right' width='39%'><font size='1'>&nbsp;</font></td>" +
						"<td align='left' width='61%' align='left'><font size='1'>&nbsp;</font></td>" +
					"</tr>" +
					"<tr>" +
						"<td align='right'>" +
							"<font class='formText'>First Name:&nbsp;&nbsp;&nbsp;</font>" +
						"</td>" +
						"<td align='left'><input name='firstname' id='firstname' maxlength='50'  size='20' value='' class='pub_inpts'/></td>" +
					"</tr>" +
					"<tr>" +
						"<td align='right'><font size='1'>&nbsp;</font></td>" +
						"<td  align='left'><font size='1'>&nbsp;</font></td>" +
					"</tr>" +
					"<tr>" +
						"<td align='right'>" +
							"<font class='formText'>Last Name:&nbsp;&nbsp;&nbsp;</font>" +
						"</td>" +
						"<td align='left'><input name='lastname' id='lastname' maxlength='50' size='20' value='' class='pub_inpts'/></td>" +
					"</tr>" +
					"<tr>" +
						"<td align='right'><font size='1'>&nbsp;</font></td>" +
						"<td  align='left'><font size='1'>&nbsp;</font></td>" +
					"</tr>" +
					"<tr>" +
						"<td align='right' style='padding: 0px 0px 5px 0px;'>" +
							"<font class='formText'>Address:&nbsp;&nbsp;&nbsp;</font>" +
						"</td>" +
						"<td align='left' style='padding: 0px 0px 5px 0px;'><input name='address1' id='address1' maxlength='50' size='25' value='' class='pub_inpts'/></td>" +
					"</tr>" +
					"<tr>" +
						"<td align='right'>&nbsp;</td>" +
						"<td align='left'><input name='address2' id='address2' maxlength='50' size='25' value='' class='pub_inpts'/></td>" +
					"</tr>" +
					"<tr>" +
						"<td align='right'><font size='1'>&nbsp;</font></td>" +
						"<td  align='left'><font size='1'>&nbsp;</font></td>" +
					"</tr>" +
					"<tr>" +
						"<td align='right'>" +
							"<font class='formText'>City:&nbsp;&nbsp;&nbsp;</font>" +
						"</td>" +
						"<td align='left'><input name='city' id='city' maxlength='50' size='20' value='' class='pub_inpts'/></td>" +
					"</tr>" +
					"<tr>" +
						"<td align='right'><font size='1'>&nbsp;</font></td>" +
						"<td  align='left'><font size='1'>&nbsp;</font></td>" +
					"</tr>" +
					"<tr>" +
						"<td align='right'>" +
							"<font class='formText'>State/Province:&nbsp;&nbsp;&nbsp;</font>" +
						"</td>" +
						"<td align='left'><input name='state' id='state' maxlength='20' size='20' value='' class='pub_inpts'/></td>" +
					"</tr>" +
					"<tr>" +
						"<td align='right'><font size='1'>&nbsp;</font></td>" +
						"<td align='left'><font size='1'>&nbsp;</font></td>" +
					"</tr>" +
					"<tr>" +
						"<td align='right'>" +
							"<font class='formText'>Zip:&nbsp;&nbsp;&nbsp;</font>" +
						"</td>" +
						"<td align='left'><input name='zip' id='zip' maxlength='9' size='20' value='' class='pub_inpts'/></td>" +
					"</tr>" +
					"<tr>" +
						"<td align='right'><font size='1'>&nbsp;</font></td>" +
						"<td align='left'><font size='1'>&nbsp;</font></td>" +
					"</tr>" +
					"<tr>" +
						"<td align='right'>" +
							"<font size='2' class='formText'>Phone Number:&nbsp;&nbsp;&nbsp;</font>" +
						"</td>" +
						"<td align='left'><input name='phone1' id='phone1' maxlength='3' size='5' value='' class='pub_inpts'>&nbsp;<input name='phone2' id='phone2' maxlength='12' size='16' value='' class='pub_inpts'></td>" +
					"</tr>" +
					"<tr>" +
						"<td align='right'><font size='1'>&nbsp;</font></td>" +
						"<td align='left'><p style='margin: 8px 0px 2px 0px;'><span class='form_notes'>Intl. number: include country code </span></td>" +
					"</tr>" +
					"<tr>" +
						"<td align='right'><font size='1'>&nbsp;</font></td>" +
						"<td align='left'><font size='1'>&nbsp;</font></td>" +
					"</tr>" +
					"<tr>" +
						"<td align='right'>" +
							"<font class='formText'>Email Address:&nbsp;&nbsp;&nbsp;</font>" +
						"</td>" +
						"<td align='left'><input name='email' id='email' maxlength='50' size='20' value='' class='pub_inpts'/></td>" +
					"</tr>" +
					"<tr>" +
						"<td align='right'><font size='1'>&nbsp;</font></td>" +
						"<td><font size='1'>&nbsp;</font></td>" +
					"</tr>" +
					"<tr>" +
						"<td align='right'>" +
							"<font class='formText'>Website URL:&nbsp;&nbsp;&nbsp;</font>" +
						"</td>" +
						"<td align='left'><input name='url' id='url' maxlength='255' size='30' value='' class='pub_inpts'/></td>" +
					"</tr>" +
					"<tr>" +
						"<td align='right'><font size='1'>&nbsp;</font></td>" +
						"<td align='left'><font size='1'>&nbsp;</font></td>" +
					"</tr>" +
					"<tr>" +
						"<td align='right' style='padding: 0px 0px 5px 0px;'>" +
							"<font class='formText'>Website Categories:&nbsp;&nbsp;&nbsp;</font>" +
						"</td>" +
						"<td align='left' style='padding: 0px 0px 5px 0px;'>" +
							"<select name='category1' id='category1' class='pub_inpts' >" +
								"<option value='0000'>Art</option><option value='0001'> &nbsp;&nbsp;&nbsp;&nbsp; Digital</option><option value='0002'> &nbsp;&nbsp;&nbsp;&nbsp; Literary</option><option value='0003'>Autos</option><option value='0004'> &nbsp;&nbsp;&nbsp;&nbsp; Cars and Trucks </option><option value='0005'> &nbsp;&nbsp;&nbsp;&nbsp; Motorcycles</option><option value='0006'> &nbsp;&nbsp;&nbsp;&nbsp; Vans and RVs</option><option value='0007'> &nbsp;&nbsp;&nbsp;&nbsp; Watercraft</option><option value='0008'>Beauty</option><option value='0009'> &nbsp;&nbsp;&nbsp;&nbsp; Cosmetics</option><option value='0010'> &nbsp;&nbsp;&nbsp;&nbsp; Fashion</option><option value='0011'> &nbsp;&nbsp;&nbsp;&nbsp; Personal Care</option><option value='0012'>Business</option><option value='0013'> &nbsp;&nbsp;&nbsp;&nbsp; Careers and Employment</option><option value='0014'> &nbsp;&nbsp;&nbsp;&nbsp; Home Business</option><option value='0015'> &nbsp;&nbsp;&nbsp;&nbsp; MLM</option><option value='0016'> &nbsp;&nbsp;&nbsp;&nbsp; Opportunities</option><option value='0017'> &nbsp;&nbsp;&nbsp;&nbsp; Services</option><option value='0018'>Computers </option><option value='0019'> &nbsp;&nbsp;&nbsp;&nbsp; Hardware</option><option value='0020'> &nbsp;&nbsp;&nbsp;&nbsp; Programming</option><option value='0021'> &nbsp;&nbsp;&nbsp;&nbsp; Security</option><option value='0022'> &nbsp;&nbsp;&nbsp;&nbsp; Software</option><option value='0023'>Education</option><option value='0024'> &nbsp;&nbsp;&nbsp;&nbsp; Higher Education</option><option value='0025'> &nbsp;&nbsp;&nbsp;&nbsp; K-12</option><option value='0026'>Entertainment</option><option value='0027'> &nbsp;&nbsp;&nbsp;&nbsp; Anime</option><option value='0028'> &nbsp;&nbsp;&nbsp;&nbsp; Books</option><option value='0029'> &nbsp;&nbsp;&nbsp;&nbsp; Comics</option><option value='0030'> &nbsp;&nbsp;&nbsp;&nbsp; Humor</option><option value='0031'> &nbsp;&nbsp;&nbsp;&nbsp; Movies</option><option value='0032'> &nbsp;&nbsp;&nbsp;&nbsp; Music</option><option value='0033'> &nbsp;&nbsp;&nbsp;&nbsp; TV</option><option value='0034'>Family</option><option value='0035'> &nbsp;&nbsp;&nbsp;&nbsp; Babies</option><option value='0036'> &nbsp;&nbsp;&nbsp;&nbsp; Kids</option><option value='0037'> &nbsp;&nbsp;&nbsp;&nbsp; Pets</option><option value='0038'> &nbsp;&nbsp;&nbsp;&nbsp; Teens</option><option value='0039'>Finance</option><option value='0040'> &nbsp;&nbsp;&nbsp;&nbsp; Credit Cards</option><option value='0041'> &nbsp;&nbsp;&nbsp;&nbsp; Debt Consolidation</option><option value='0042'> &nbsp;&nbsp;&nbsp;&nbsp; Insurance</option><option value='0043'> &nbsp;&nbsp;&nbsp;&nbsp; Investing</option><option value='0044'> &nbsp;&nbsp;&nbsp;&nbsp; Loan and Mortgage</option><option value='0045'> &nbsp;&nbsp;&nbsp;&nbsp; Real Estate</option><option value='0046'>Free Stuff</option><option value='0047'>Gambling</option><option value='0048'> &nbsp;&nbsp;&nbsp;&nbsp; Casino</option><option value='0049'> &nbsp;&nbsp;&nbsp;&nbsp; Sports</option><option value='0050'>Games</option><option value='0051'> &nbsp;&nbsp;&nbsp;&nbsp; Card Games</option><option value='0052'> &nbsp;&nbsp;&nbsp;&nbsp; Online Games</option><option value='0053'> &nbsp;&nbsp;&nbsp;&nbsp; Video Games</option><option value='0054'>Health</option><option value='0055'> &nbsp;&nbsp;&nbsp;&nbsp; Diet</option><option value='0056'> &nbsp;&nbsp;&nbsp;&nbsp; Fitness</option><option value='0057'> &nbsp;&nbsp;&nbsp;&nbsp; Mens Health</option><option value='0058'> &nbsp;&nbsp;&nbsp;&nbsp; Nutrition</option><option value='0059'> &nbsp;&nbsp;&nbsp;&nbsp; Wellness</option><option value='0060'> &nbsp;&nbsp;&nbsp;&nbsp; Womens Health</option><option value='0061'>Hobbies</option><option value='0062'> &nbsp;&nbsp;&nbsp;&nbsp; Arts and Crafts</option><option value='0063'> &nbsp;&nbsp;&nbsp;&nbsp; Photography</option><option value='0064'>Home</option><option value='0065'> &nbsp;&nbsp;&nbsp;&nbsp; Decor</option><option value='0066'> &nbsp;&nbsp;&nbsp;&nbsp; Garden and Landscape</option><option value='0067'> &nbsp;&nbsp;&nbsp;&nbsp; Improvement</option><option value='0068'> &nbsp;&nbsp;&nbsp;&nbsp; Security</option><option value='0069'>Internet</option><option value='0070'> &nbsp;&nbsp;&nbsp;&nbsp; Blogs</option><option value='0071'> &nbsp;&nbsp;&nbsp;&nbsp; Communities</option><option value='0072'> &nbsp;&nbsp;&nbsp;&nbsp; Security</option><option value='0073'> &nbsp;&nbsp;&nbsp;&nbsp; Services</option><option value='0074'> &nbsp;&nbsp;&nbsp;&nbsp; Web Design</option><option value='0075'> &nbsp;&nbsp;&nbsp;&nbsp; Web Development</option><option value='0076'> &nbsp;&nbsp;&nbsp;&nbsp; Web Hosting</option><option value='0077'>News and Information</option><option value='0078'> &nbsp;&nbsp;&nbsp;&nbsp; Business</option><option value='0079'> &nbsp;&nbsp;&nbsp;&nbsp; Current and World</option><option value='0080'> &nbsp;&nbsp;&nbsp;&nbsp; Entertainment</option><option value='0081'> &nbsp;&nbsp;&nbsp;&nbsp; Technology</option><option value='0082'>Recreation</option><option value='0083'> &nbsp;&nbsp;&nbsp;&nbsp; Travel</option><option value='0084'> &nbsp;&nbsp;&nbsp;&nbsp; Vacation and Tourism</option><option value='0085'>Science</option><option value='0086'>Shopping</option><option value='0087'> &nbsp;&nbsp;&nbsp;&nbsp; Clothing</option><option value='0088'> &nbsp;&nbsp;&nbsp;&nbsp; Electronics</option><option value='0089'> &nbsp;&nbsp;&nbsp;&nbsp; Games Movies and Music</option><option value='0090'> &nbsp;&nbsp;&nbsp;&nbsp; Gifts</option><option value='0091'> &nbsp;&nbsp;&nbsp;&nbsp; Home and Garden</option><option value='0092'> &nbsp;&nbsp;&nbsp;&nbsp; Toys</option><option value='0093'>Society</option><option value='0094'> &nbsp;&nbsp;&nbsp;&nbsp; Dating</option><option value='0095'> &nbsp;&nbsp;&nbsp;&nbsp; Social Networking</option><option value='0096'> &nbsp;&nbsp;&nbsp;&nbsp; Wedding</option><option value='0097'>Sports</option><option value='0098'> &nbsp;&nbsp;&nbsp;&nbsp; Baseball</option><option value='0099'> &nbsp;&nbsp;&nbsp;&nbsp; Basketball</option><option value='0100'> &nbsp;&nbsp;&nbsp;&nbsp; Football</option><option value='0101'> &nbsp;&nbsp;&nbsp;&nbsp; Golf</option><option value='0102'> &nbsp;&nbsp;&nbsp;&nbsp; Hockey</option><option value='0103'> &nbsp;&nbsp;&nbsp;&nbsp; Racing</option><option value='0104'> &nbsp;&nbsp;&nbsp;&nbsp; Soccer</option><option value='0105'> &nbsp;&nbsp;&nbsp;&nbsp; Wrestling</option></select>" +
						"</td>" +
					"</tr>" +
					"<tr>" +
						"<td align='right'><font size='1'>&nbsp;</font></td>" +
						"<td align='left'>" +
							"<select name='category2' id='category2' class='pub_inpts'>" +
								"<option value='0000'>Art</option><option value='0001'> &nbsp;&nbsp;&nbsp;&nbsp; Digital</option><option value='0002'> &nbsp;&nbsp;&nbsp;&nbsp; Literary</option><option value='0003'>Autos</option><option value='0004'> &nbsp;&nbsp;&nbsp;&nbsp; Cars and Trucks </option><option value='0005'> &nbsp;&nbsp;&nbsp;&nbsp; Motorcycles</option><option value='0006'> &nbsp;&nbsp;&nbsp;&nbsp; Vans and RVs</option><option value='0007'> &nbsp;&nbsp;&nbsp;&nbsp; Watercraft</option><option value='0008'>Beauty</option><option value='0009'> &nbsp;&nbsp;&nbsp;&nbsp; Cosmetics</option><option value='0010'> &nbsp;&nbsp;&nbsp;&nbsp; Fashion</option><option value='0011'> &nbsp;&nbsp;&nbsp;&nbsp; Personal Care</option><option value='0012'>Business</option><option value='0013'> &nbsp;&nbsp;&nbsp;&nbsp; Careers and Employment</option><option value='0014'> &nbsp;&nbsp;&nbsp;&nbsp; Home Business</option><option value='0015'> &nbsp;&nbsp;&nbsp;&nbsp; MLM</option><option value='0016'> &nbsp;&nbsp;&nbsp;&nbsp; Opportunities</option><option value='0017'> &nbsp;&nbsp;&nbsp;&nbsp; Services</option><option value='0018'>Computers </option><option value='0019'> &nbsp;&nbsp;&nbsp;&nbsp; Hardware</option><option value='0020'> &nbsp;&nbsp;&nbsp;&nbsp; Programming</option><option value='0021'> &nbsp;&nbsp;&nbsp;&nbsp; Security</option><option value='0022'> &nbsp;&nbsp;&nbsp;&nbsp; Software</option><option value='0023'>Education</option><option value='0024'> &nbsp;&nbsp;&nbsp;&nbsp; Higher Education</option><option value='0025'> &nbsp;&nbsp;&nbsp;&nbsp; K-12</option><option value='0026'>Entertainment</option><option value='0027'> &nbsp;&nbsp;&nbsp;&nbsp; Anime</option><option value='0028'> &nbsp;&nbsp;&nbsp;&nbsp; Books</option><option value='0029'> &nbsp;&nbsp;&nbsp;&nbsp; Comics</option><option value='0030'> &nbsp;&nbsp;&nbsp;&nbsp; Humor</option><option value='0031'> &nbsp;&nbsp;&nbsp;&nbsp; Movies</option><option value='0032'> &nbsp;&nbsp;&nbsp;&nbsp; Music</option><option value='0033'> &nbsp;&nbsp;&nbsp;&nbsp; TV</option><option value='0034'>Family</option><option value='0035'> &nbsp;&nbsp;&nbsp;&nbsp; Babies</option><option value='0036'> &nbsp;&nbsp;&nbsp;&nbsp; Kids</option><option value='0037'> &nbsp;&nbsp;&nbsp;&nbsp; Pets</option><option value='0038'> &nbsp;&nbsp;&nbsp;&nbsp; Teens</option><option value='0039'>Finance</option><option value='0040'> &nbsp;&nbsp;&nbsp;&nbsp; Credit Cards</option><option value='0041'> &nbsp;&nbsp;&nbsp;&nbsp; Debt Consolidation</option><option value='0042'> &nbsp;&nbsp;&nbsp;&nbsp; Insurance</option><option value='0043'> &nbsp;&nbsp;&nbsp;&nbsp; Investing</option><option value='0044'> &nbsp;&nbsp;&nbsp;&nbsp; Loan and Mortgage</option><option value='0045'> &nbsp;&nbsp;&nbsp;&nbsp; Real Estate</option><option value='0046'>Free Stuff</option><option value='0047'>Gambling</option><option value='0048'> &nbsp;&nbsp;&nbsp;&nbsp; Casino</option><option value='0049'> &nbsp;&nbsp;&nbsp;&nbsp; Sports</option><option value='0050'>Games</option><option value='0051'> &nbsp;&nbsp;&nbsp;&nbsp; Card Games</option><option value='0052'> &nbsp;&nbsp;&nbsp;&nbsp; Online Games</option><option value='0053'> &nbsp;&nbsp;&nbsp;&nbsp; Video Games</option><option value='0054'>Health</option><option value='0055'> &nbsp;&nbsp;&nbsp;&nbsp; Diet</option><option value='0056'> &nbsp;&nbsp;&nbsp;&nbsp; Fitness</option><option value='0057'> &nbsp;&nbsp;&nbsp;&nbsp; Mens Health</option><option value='0058'> &nbsp;&nbsp;&nbsp;&nbsp; Nutrition</option><option value='0059'> &nbsp;&nbsp;&nbsp;&nbsp; Wellness</option><option value='0060'> &nbsp;&nbsp;&nbsp;&nbsp; Womens Health</option><option value='0061'>Hobbies</option><option value='0062'> &nbsp;&nbsp;&nbsp;&nbsp; Arts and Crafts</option><option value='0063'> &nbsp;&nbsp;&nbsp;&nbsp; Photography</option><option value='0064'>Home</option><option value='0065'> &nbsp;&nbsp;&nbsp;&nbsp; Decor</option><option value='0066'> &nbsp;&nbsp;&nbsp;&nbsp; Garden and Landscape</option><option value='0067'> &nbsp;&nbsp;&nbsp;&nbsp; Improvement</option><option value='0068'> &nbsp;&nbsp;&nbsp;&nbsp; Security</option><option value='0069'>Internet</option><option value='0070'> &nbsp;&nbsp;&nbsp;&nbsp; Blogs</option><option value='0071'> &nbsp;&nbsp;&nbsp;&nbsp; Communities</option><option value='0072'> &nbsp;&nbsp;&nbsp;&nbsp; Security</option><option value='0073'> &nbsp;&nbsp;&nbsp;&nbsp; Services</option><option value='0074'> &nbsp;&nbsp;&nbsp;&nbsp; Web Design</option><option value='0075'> &nbsp;&nbsp;&nbsp;&nbsp; Web Development</option><option value='0076'> &nbsp;&nbsp;&nbsp;&nbsp; Web Hosting</option><option value='0077'>News and Information</option><option value='0078'> &nbsp;&nbsp;&nbsp;&nbsp; Business</option><option value='0079'> &nbsp;&nbsp;&nbsp;&nbsp; Current and World</option><option value='0080'> &nbsp;&nbsp;&nbsp;&nbsp; Entertainment</option><option value='0081'> &nbsp;&nbsp;&nbsp;&nbsp; Technology</option><option value='0082'>Recreation</option><option value='0083'> &nbsp;&nbsp;&nbsp;&nbsp; Travel</option><option value='0084'> &nbsp;&nbsp;&nbsp;&nbsp; Vacation and Tourism</option><option value='0085'>Science</option><option value='0086'>Shopping</option><option value='0087'> &nbsp;&nbsp;&nbsp;&nbsp; Clothing</option><option value='0088'> &nbsp;&nbsp;&nbsp;&nbsp; Electronics</option><option value='0089'> &nbsp;&nbsp;&nbsp;&nbsp; Games Movies and Music</option><option value='0090'> &nbsp;&nbsp;&nbsp;&nbsp; Gifts</option><option value='0091'> &nbsp;&nbsp;&nbsp;&nbsp; Home and Garden</option><option value='0092'> &nbsp;&nbsp;&nbsp;&nbsp; Toys</option><option value='0093'>Society</option><option value='0094'> &nbsp;&nbsp;&nbsp;&nbsp; Dating</option><option value='0095'> &nbsp;&nbsp;&nbsp;&nbsp; Social Networking</option><option value='0096'> &nbsp;&nbsp;&nbsp;&nbsp; Wedding</option><option value='0097'>Sports</option><option value='0098'> &nbsp;&nbsp;&nbsp;&nbsp; Baseball</option><option value='0099'> &nbsp;&nbsp;&nbsp;&nbsp; Basketball</option><option value='0100'> &nbsp;&nbsp;&nbsp;&nbsp; Football</option><option value='0101'> &nbsp;&nbsp;&nbsp;&nbsp; Golf</option><option value='0102'> &nbsp;&nbsp;&nbsp;&nbsp; Hockey</option><option value='0103'> &nbsp;&nbsp;&nbsp;&nbsp; Racing</option><option value='0104'> &nbsp;&nbsp;&nbsp;&nbsp; Soccer</option><option value='0105'> &nbsp;&nbsp;&nbsp;&nbsp; Wrestling</option></select>" +
						"</td>" +
					"</tr>" +
					"<tr>" +
						"<td align='right'><font size='1'>&nbsp;</font></td>" +
						"<td align='left'><font size='1'>&nbsp;</font></td>" +
					"</tr>" +
					"<tr>" +
						"<td align='right'>" +
							"<font size='2' class='formText'>Desired Username:&nbsp;&nbsp;&nbsp;</font>" +
						"</td>" +
						"<td align='left'><input name='username' id='username' maxlength='20' size='20' value='' class='pub_inpts'/></td>" +
					"</tr>" +
					"<tr>" +
						"<td align='right'><font size='1'>&nbsp;</font></td>" +
						"<td align='left'><font size='1'>&nbsp;</font></td>" +
					"</tr>" +
					"<tr>" +
						"<td align='right'><font size='1'>&nbsp;</font></td>" +
						"<td align='left'><font size='1'>&nbsp;</font></td>" +
					"</tr>" +
					"<tr>" +
						"<td align='right'>" +
							"<font class='formText'>Pay me by:&nbsp;&nbsp;&nbsp;</font>" +
						"</td>" +
						"<td align='left'>" +
							"<select name='paymentMethod' id='paymentMethod' class='pub_inpts'>" +
								"<option value='PayPal'>PayPal</option><option value='Check'>Check</option></select>" +
						"</td>" +
					"</tr>" +
					"<tr>" +
						"<td><font size='1'>&nbsp;</font></td>" +
						"<td align='left'><font size='1'>&nbsp;</font></td>" +
					"</tr>" +
					"<tr>" +
						"<td align='right'>" +
							"<font class='formText'>Paypal Address:&nbsp;&nbsp;&nbsp;</font>" +
						"</td>" +
						"<td align='left'><input name='paypalEmail' id='paypalEmail' maxlength='50' size='20' value='' class='pub_inpts'/></td>" +
					"</tr>" +
					"<tr>" +
						"<td align='right'><font size='1'>&nbsp;</font></td>" +
						"<td align='left'><font size='1'>&nbsp;</font></td>" +
					"</tr>" +
					"<tr>" +
						"<td colspan='2' align='center'>" +
							"<input type='checkbox' name='terms' id='terms' value='ON'>" +
							"<font class='formText'>I agree to the <a class='pub_link' href='javascript:void(0)' onclick=\"popwindow('publisher_terms.html',525,600);\">Terms</a>." +
							"</font>" +
						"</td>" +
					"</tr>" +
					"<tr>" +
						"<td align='right'><font size='1'>&nbsp;</font></td>" +
						"<td align='left'><font size='1'>&nbsp;</font></td>" +
					"</tr>" +
					"<tr>" +
						"<td colspan='2' align='center' id='submittd'>" +
							"<input type='submit' name='submit1' id='submit1' value='Submit' class='pub_submit'" +
						"</td>" +
					"</tr>" +
					"<tr>" +
						"<td align='right'><font size='1'>&nbsp;</font></td>" +
						"<td  align='left'><font size='1'>&nbsp;</font></td>" +
					"</tr>" +
				"</table>" +
			"</form>" +
		"</div>");


//        This JavaScript is Copyright (c) 2000, Peter J Billam
//              c/o P J B Computing, www.pjb.com.au
// It was generated by the Crypt::Tea_JS.pm Perl module and is free software;
// you can redistribute and modify it under the same terms as Perl itself.

// -- conversion routines between string, bytes, ascii encoding, & blocks --
function binary2ascii (s) {
 return bytes2ascii( blocks2bytes(s) );
}
function binary2str (s) {
 return bytes2str( blocks2bytes(s) );
}
function ascii2binary (s) {
 return bytes2blocks( ascii2bytes(s) );
}
function str2binary (s) {
 return bytes2blocks( str2bytes(s) );
}
function str2bytes(s) {   // converts string to array of bytes
 var is = 0;  var ls = s.length;  var b = new Array();
 while (1) {
  if (is >= ls) break;
  if (c2b[s.charAt(is)] == null) { b[is] = 0xF7;
   alert ('is = '+is + '\nchar = '+s.charAt(is) + '\nls = '+ls);
  } else { b[is] = c2b[s.charAt(is)];
  }
  is++;
 }
 return b;
}
function bytes2str(b) {   // converts array of bytes to string
 var ib = 0;  var lb = b.length;  var s = '';
 while (1) {
  if (ib >= lb) break;
  s += b2c[0xFF&b[ib]];   // if its like perl, could be faster with join
  ib++;
 }
 return s;
}
function ascii2bytes(a) { // converts pseudo-base64 to array of bytes
 var ia = -1;  var la = a.length;
 var ib = 0;  var b = new Array();
 var carry;
 while (1) {   // reads 4 chars and produces 3 bytes
  while (1) { ia++; if (ia>=la) return b; if (a2b[a.charAt(ia)]!=null) break; }
  b[ib]  = a2b[a.charAt(ia)]<<2;
  while (1) { ia++; if (ia>=la) return b; if (a2b[a.charAt(ia)]!=null) break; }
  carry=a2b[a.charAt(ia)];  b[ib] |= carry>>>4; ib++;
  // if low 4 bits of carry are 0 and its the last char, then break
  carry = 0xF & carry;
  if (carry == 0 && ia == (la-1)) return b;
  b[ib]  = carry<<4;
  while (1) { ia++; if (ia>=la) return b; if (a2b[a.charAt(ia)]!=null) break; }
  carry=a2b[a.charAt(ia)];  b[ib] |= carry>>>2; ib++;
  // if low 2 bits of carry are 0 and its the last char, then break
  carry = 3 & carry;
  if (carry == 0 && ia == (la-1)) return b;
  b[ib]  = carry<<6;
  while (1) { ia++; if (ia>=la) return b; if (a2b[a.charAt(ia)]!=null) break; }
  b[ib] |= a2b[a.charAt(ia)];   ib++;
 }
 return b;
}
function bytes2ascii(b) { // converts array of bytes to pseudo-base64 ascii
 var ib = 0;   var lb = b.length;  var s = '';
 var b1; var b2; var b3;
 var carry;
 while (1) {   // reads 3 bytes and produces 4 chars
  if (ib >= lb) break;   b1 = 0xFF & b[ib];
  s += b2a[63 & (b1>>>2)];
  carry = 3 & b1;
  ib++;  if (ib >= lb) { s += b2a[carry<<4]; break; }  b2 = 0xFF & b[ib];
  s += b2a[(0xF0 & (carry<<4)) | (b2>>>4)];
  carry = 0xF & b2;
  ib++;  if (ib >= lb) { s += b2a[carry<<2]; break; }  b3 = 0xFF & b[ib];
  s += b2a[(60 & (carry<<2)) | (b3>>>6)] + b2a[63 & b3];
  ib++;
  if (ib % 36 == 0) s += "\n";
 }
 return s;
}
function bytes2blocks(bytes) {
 var blocks = new Array(); var ibl = 0;
 var iby = 0; var nby = bytes.length;
 while (1) {
  blocks[ibl]  = (0xFF & bytes[iby])<<24; iby++; if (iby >= nby) break;
  blocks[ibl] |= (0xFF & bytes[iby])<<16; iby++; if (iby >= nby) break;
  blocks[ibl] |= (0xFF & bytes[iby])<<8;  iby++; if (iby >= nby) break;
  blocks[ibl] |=  0xFF & bytes[iby];      iby++; if (iby >= nby) break;
  ibl++;
 }
 return blocks;
}
function blocks2bytes(blocks) {
 var bytes = new Array(); var iby = 0;
 var ibl = 0; var nbl = blocks.length;
 while (1) {
  if (ibl >= nbl) break;
  bytes[iby] = 0xFF & (blocks[ibl] >>> 24); iby++;
  bytes[iby] = 0xFF & (blocks[ibl] >>> 16); iby++;
  bytes[iby] = 0xFF & (blocks[ibl] >>> 8);  iby++;
  bytes[iby] = 0xFF & blocks[ibl]; iby++;
  ibl++;
 }
 return bytes;
}
function digest_pad (bytearray) {
 // add 1 char ('0'..'15') at front to specify no of \x00 pad chars at end
 var newarray = new Array();  var ina = 0;
 var iba = 0; var nba = bytearray.length;
 var npads = 15 - (nba % 16); newarray[ina] = npads; ina++;
 while (iba < nba) { newarray[ina] = bytearray[iba]; ina++; iba++; }
 var ip = npads; while (ip>0) { newarray[ina] = 0; ina++; ip--; }
 return newarray;
}
function pad (bytearray) {
 // add 1 char ('0'..'7') at front to specify no of rand pad chars at end
 // unshift and push fail on Netscape 4.7 :-(
 var newarray = new Array();  var ina = 0;
 var iba = 0; var nba = bytearray.length;
 var npads = 7 - (nba % 8);
 newarray[ina] = (0xF8 & rand_byte()) | (7 & npads); ina++;
 while (iba < nba) { newarray[ina] = bytearray[iba]; ina++; iba++; }
 var ip = npads; while (ip>0) { newarray[ina] = rand_byte(); ina++; ip--; }
 return newarray;
}
function rand_byte() {   // used by pad
 return Math.floor( 256*Math.random() );  // Random needs js1.1 . Seed ?
 // for js1.0 compatibility, could try following ...
 if (! rand_byte_already_called) {
  var now = new Date();  seed = now.milliseconds;
  rand_byte_already_called = true;
 }
 seed = (1029*seed + 221591) % 1048576;  // see Fortran77, Wagener, p177
 return Math.floor(seed / 4096);
}
function unpad (bytearray) {
 // remove no of pad chars at end specified by 1 char ('0'..'7') at front
 // unshift and push fail on Netscape 4.7 :-(
 var iba = 0;
 var newarray = new Array();  var ina = 0;
 var npads = 0x7 & bytearray[iba]; iba++; var nba = bytearray.length - npads;
 while (iba < nba) { newarray[ina] = bytearray[iba]; ina++; iba++; }
 return newarray;
}

// --- TEA stuff, translated from the Perl Tea_JS.pm see www.pjb.com.au/comp ---

// In JavaScript we express an 8-byte block as an array of 2 32-bit ints
function asciidigest (str) {
 return binary2ascii( binarydigest(str) );
}
function binarydigest (str, keystr) {  // returns 22-char ascii signature
 var key = new Array(); // key = binarydigest(keystr);
 key[0]=0x61626364; key[1]=0x62636465; key[2]=0x63646566; key[3]=0x64656667;

 // Initial Value for CBC mode = "abcdbcde". Retain for interoperability.
 var c0 = new Array(); c0[0] = 0x61626364; c0[1] = 0x62636465;
 var c1 = new Array(); c1 = c0;

 var v0 = new Array(); var v1 = new Array(); var swap;
 var blocks = new Array(); blocks = bytes2blocks(digest_pad(str2bytes(str))); 
 var ibl = 0;   var nbl = blocks.length;
 while (1) {
  if (ibl >= nbl) break;
  v0[0] = blocks[ibl]; ibl++; v0[1] = blocks[ibl]; ibl++;
  v1[0] = blocks[ibl]; ibl++; v1[1] = blocks[ibl]; ibl++;
  // cipher them XOR'd with previous stage ...
  c0 = tea_code( xor_blocks(v0,c0), key );
  c1 = tea_code( xor_blocks(v1,c1), key );
  // mix up the two cipher blocks with a 32-bit left rotation ...
  swap=c0[0]; c0[0]=c0[1]; c0[1]=c1[0]; c1[0]=c1[1]; c1[1]=swap;
 }
 var concat = new Array();
 concat[0]=c0[0]; concat[1]=c0[1]; concat[2]=c1[0]; concat[3]=c1[1];
 return concat;
}
function encrypt (str,keystr) {  // encodes with CBC (Cipher Block Chaining)
 if (! keystr) { alert("encrypt: no key"); return false; }
 var key = new Array();  key = binarydigest(keystr);
 if (! str) return "";
 var blocks = new Array(); blocks = bytes2blocks(pad(str2bytes(str)));
 var ibl = 0;  var nbl = blocks.length;
 // Initial Value for CBC mode = "abcdbcde". Retain for interoperability.
 var c = new Array(); c[0] = 0x61626364; c[1] = 0x62636465;
 var v = new Array(); var cblocks = new Array();  var icb = 0;
 while (1) {
  if (ibl >= nbl) break;
  v[0] = blocks[ibl];  ibl++; v[1] = blocks[ibl];  ibl++;
  c = tea_code( xor_blocks(v,c), key );
  cblocks[icb] = c[0]; icb++; cblocks[icb] = c[1]; icb++;
 }
 return binary2ascii(cblocks);
}
function decrypt (ascii, keystr) {   // decodes with CBC
 if (! keystr) { alert("decrypt: no key"); return false; }
 var key = new Array();  key = binarydigest(keystr);
 if (! ascii) return "";
 var cblocks = new Array(); cblocks = ascii2binary(ascii);
 var icbl = 0;  var ncbl = cblocks.length;
 // Initial Value for CBC mode = "abcdbcde". Retain for interoperability.
 var lastc = new Array(); lastc[0] = 0x61626364; lastc[1] = 0x62636465;
 var v = new Array(); var c = new Array();
 var blocks = new Array(); var ibl = 0;
 while (1) {
  if (icbl >= ncbl) break;
  c[0] = cblocks[icbl];  icbl++;  c[1] = cblocks[icbl];  icbl++;
  v = xor_blocks( lastc, tea_decode(c,key) );
  blocks[ibl] = v[0];  ibl++;  blocks[ibl] = v[1];  ibl++;
  lastc[0] = c[0]; lastc[1] = c[1];
 }
 return bytes2str(unpad(blocks2bytes(blocks)));
}
function xor_blocks(blk1, blk2) { // xor of two 8-byte blocks
 var blk = new Array();
 blk[0] = blk1[0]^blk2[0]; blk[1] = blk1[1]^blk2[1];
 return blk;
}
function tea_code (v, k) {
 // NewTEA. 2-int (64-bit) cyphertext block in v. 4-int (128-bit) key in k.
 var v0  = v[0]; var v1 = v[1];
 var sum = 0; var n = 32;
 while (n-- > 0) {
  v0 += (((v1<<4)^(v1>>>5))+v1) ^ (sum+k[sum&3]) ; v0 = v0|0 ;
  sum -= 1640531527; // TEA magic number 0x9e3779b9 
  sum = sum|0;  // force it back to 32-bit int
  v1 += (((v0<<4)^(v0>>>5))+v0) ^ (sum+k[(sum>>>11)&3]); v1 = v1|0 ;
 }
 var w = new Array(); w[0] = v0; w[1] = v1; return w;
}
function tea_decode (v, k) {
 // NewTEA. 2-int (64-bit) cyphertext block in v. 4-int (128-bit) key in k.
 var v0 = v[0]; var v1 = v[1];
 var sum = 0; var n = 32;
 sum = -957401312 ; // TEA magic number 0x9e3779b9<<5 
 while (n-- > 0) {
  v1 -= (((v0<<4)^(v0>>>5))+v0) ^ (sum+k[(sum>>>11)&3]); v1 = v1|0 ;
  sum += 1640531527; // TEA magic number 0x9e3779b9 ;
  sum = sum|0; // force it back to 32-bit int
  v0 -= (((v1<<4)^(v1>>>5))+v1) ^ (sum+k[sum&3]); v0 = v0|0 ;
 }
 var w = new Array(); w[0] = v0; w[1] = v1; return w;
}

// ------------- assocarys used by the conversion routines -----------
c2b = new Object();
c2b["\x00"]=0;  c2b["\x01"]=1;  c2b["\x02"]=2;  c2b["\x03"]=3;
c2b["\x04"]=4;  c2b["\x05"]=5;  c2b["\x06"]=6;  c2b["\x07"]=7;
c2b["\x08"]=8;  c2b["\x09"]=9;  c2b["\x0A"]=10; c2b["\x0B"]=11;
c2b["\x0C"]=12; c2b["\x0D"]=13; c2b["\x0E"]=14; c2b["\x0F"]=15;
c2b["\x10"]=16; c2b["\x11"]=17; c2b["\x12"]=18; c2b["\x13"]=19;
c2b["\x14"]=20; c2b["\x15"]=21; c2b["\x16"]=22; c2b["\x17"]=23;
c2b["\x18"]=24; c2b["\x19"]=25; c2b["\x1A"]=26; c2b["\x1B"]=27;
c2b["\x1C"]=28; c2b["\x1D"]=29; c2b["\x1E"]=30; c2b["\x1F"]=31;
c2b["\x20"]=32; c2b["\x21"]=33; c2b["\x22"]=34; c2b["\x23"]=35;
c2b["\x24"]=36; c2b["\x25"]=37; c2b["\x26"]=38; c2b["\x27"]=39;
c2b["\x28"]=40; c2b["\x29"]=41; c2b["\x2A"]=42; c2b["\x2B"]=43;
c2b["\x2C"]=44; c2b["\x2D"]=45; c2b["\x2E"]=46; c2b["\x2F"]=47;
c2b["\x30"]=48; c2b["\x31"]=49; c2b["\x32"]=50; c2b["\x33"]=51;
c2b["\x34"]=52; c2b["\x35"]=53; c2b["\x36"]=54; c2b["\x37"]=55;
c2b["\x38"]=56; c2b["\x39"]=57; c2b["\x3A"]=58; c2b["\x3B"]=59;
c2b["\x3C"]=60; c2b["\x3D"]=61; c2b["\x3E"]=62; c2b["\x3F"]=63;
c2b["\x40"]=64; c2b["\x41"]=65; c2b["\x42"]=66; c2b["\x43"]=67;
c2b["\x44"]=68; c2b["\x45"]=69; c2b["\x46"]=70; c2b["\x47"]=71;
c2b["\x48"]=72; c2b["\x49"]=73; c2b["\x4A"]=74; c2b["\x4B"]=75;
c2b["\x4C"]=76; c2b["\x4D"]=77; c2b["\x4E"]=78; c2b["\x4F"]=79;
c2b["\x50"]=80; c2b["\x51"]=81; c2b["\x52"]=82; c2b["\x53"]=83;
c2b["\x54"]=84; c2b["\x55"]=85; c2b["\x56"]=86; c2b["\x57"]=87;
c2b["\x58"]=88; c2b["\x59"]=89; c2b["\x5A"]=90; c2b["\x5B"]=91;
c2b["\x5C"]=92; c2b["\x5D"]=93; c2b["\x5E"]=94; c2b["\x5F"]=95;
c2b["\x60"]=96; c2b["\x61"]=97; c2b["\x62"]=98; c2b["\x63"]=99;
c2b["\x64"]=100; c2b["\x65"]=101; c2b["\x66"]=102; c2b["\x67"]=103;
c2b["\x68"]=104; c2b["\x69"]=105; c2b["\x6A"]=106; c2b["\x6B"]=107;
c2b["\x6C"]=108; c2b["\x6D"]=109; c2b["\x6E"]=110; c2b["\x6F"]=111;
c2b["\x70"]=112; c2b["\x71"]=113; c2b["\x72"]=114; c2b["\x73"]=115;
c2b["\x74"]=116; c2b["\x75"]=117; c2b["\x76"]=118; c2b["\x77"]=119;
c2b["\x78"]=120; c2b["\x79"]=121; c2b["\x7A"]=122; c2b["\x7B"]=123;
c2b["\x7C"]=124; c2b["\x7D"]=125; c2b["\x7E"]=126; c2b["\x7F"]=127;
c2b["\x80"]=128; c2b["\x81"]=129; c2b["\x82"]=130; c2b["\x83"]=131;
c2b["\x84"]=132; c2b["\x85"]=133; c2b["\x86"]=134; c2b["\x87"]=135;
c2b["\x88"]=136; c2b["\x89"]=137; c2b["\x8A"]=138; c2b["\x8B"]=139;
c2b["\x8C"]=140; c2b["\x8D"]=141; c2b["\x8E"]=142; c2b["\x8F"]=143;
c2b["\x90"]=144; c2b["\x91"]=145; c2b["\x92"]=146; c2b["\x93"]=147;
c2b["\x94"]=148; c2b["\x95"]=149; c2b["\x96"]=150; c2b["\x97"]=151;
c2b["\x98"]=152; c2b["\x99"]=153; c2b["\x9A"]=154; c2b["\x9B"]=155;
c2b["\x9C"]=156; c2b["\x9D"]=157; c2b["\x9E"]=158; c2b["\x9F"]=159;
c2b["\xA0"]=160; c2b["\xA1"]=161; c2b["\xA2"]=162; c2b["\xA3"]=163;
c2b["\xA4"]=164; c2b["\xA5"]=165; c2b["\xA6"]=166; c2b["\xA7"]=167;
c2b["\xA8"]=168; c2b["\xA9"]=169; c2b["\xAA"]=170; c2b["\xAB"]=171;
c2b["\xAC"]=172; c2b["\xAD"]=173; c2b["\xAE"]=174; c2b["\xAF"]=175;
c2b["\xB0"]=176; c2b["\xB1"]=177; c2b["\xB2"]=178; c2b["\xB3"]=179;
c2b["\xB4"]=180; c2b["\xB5"]=181; c2b["\xB6"]=182; c2b["\xB7"]=183;
c2b["\xB8"]=184; c2b["\xB9"]=185; c2b["\xBA"]=186; c2b["\xBB"]=187;
c2b["\xBC"]=188; c2b["\xBD"]=189; c2b["\xBE"]=190; c2b["\xBF"]=191;
c2b["\xC0"]=192; c2b["\xC1"]=193; c2b["\xC2"]=194; c2b["\xC3"]=195;
c2b["\xC4"]=196; c2b["\xC5"]=197; c2b["\xC6"]=198; c2b["\xC7"]=199;
c2b["\xC8"]=200; c2b["\xC9"]=201; c2b["\xCA"]=202; c2b["\xCB"]=203;
c2b["\xCC"]=204; c2b["\xCD"]=205; c2b["\xCE"]=206; c2b["\xCF"]=207;
c2b["\xD0"]=208; c2b["\xD1"]=209; c2b["\xD2"]=210; c2b["\xD3"]=211;
c2b["\xD4"]=212; c2b["\xD5"]=213; c2b["\xD6"]=214; c2b["\xD7"]=215;
c2b["\xD8"]=216; c2b["\xD9"]=217; c2b["\xDA"]=218; c2b["\xDB"]=219;
c2b["\xDC"]=220; c2b["\xDD"]=221; c2b["\xDE"]=222; c2b["\xDF"]=223;
c2b["\xE0"]=224; c2b["\xE1"]=225; c2b["\xE2"]=226; c2b["\xE3"]=227;
c2b["\xE4"]=228; c2b["\xE5"]=229; c2b["\xE6"]=230; c2b["\xE7"]=231;
c2b["\xE8"]=232; c2b["\xE9"]=233; c2b["\xEA"]=234; c2b["\xEB"]=235;
c2b["\xEC"]=236; c2b["\xED"]=237; c2b["\xEE"]=238; c2b["\xEF"]=239;
c2b["\xF0"]=240; c2b["\xF1"]=241; c2b["\xF2"]=242; c2b["\xF3"]=243;
c2b["\xF4"]=244; c2b["\xF5"]=245; c2b["\xF6"]=246; c2b["\xF7"]=247;
c2b["\xF8"]=248; c2b["\xF9"]=249; c2b["\xFA"]=250; c2b["\xFB"]=251;
c2b["\xFC"]=252; c2b["\xFD"]=253; c2b["\xFE"]=254; c2b["\xFF"]=255;
b2c = new Object();
for (b in c2b) { b2c[c2b[b]] = b; }

// ascii to 6-bit bin to ascii
a2b = new Object();
a2b["A"]=0;  a2b["B"]=1;  a2b["C"]=2;  a2b["D"]=3;
a2b["E"]=4;  a2b["F"]=5;  a2b["G"]=6;  a2b["H"]=7;
a2b["I"]=8;  a2b["J"]=9;  a2b["K"]=10; a2b["L"]=11;
a2b["M"]=12; a2b["N"]=13; a2b["O"]=14; a2b["P"]=15;
a2b["Q"]=16; a2b["R"]=17; a2b["S"]=18; a2b["T"]=19;
a2b["U"]=20; a2b["V"]=21; a2b["W"]=22; a2b["X"]=23;
a2b["Y"]=24; a2b["Z"]=25; a2b["a"]=26; a2b["b"]=27;
a2b["c"]=28; a2b["d"]=29; a2b["e"]=30; a2b["f"]=31;
a2b["g"]=32; a2b["h"]=33; a2b["i"]=34; a2b["j"]=35;
a2b["k"]=36; a2b["l"]=37; a2b["m"]=38; a2b["n"]=39;
a2b["o"]=40; a2b["p"]=41; a2b["q"]=42; a2b["r"]=43;
a2b["s"]=44; a2b["t"]=45; a2b["u"]=46; a2b["v"]=47;
a2b["w"]=48; a2b["x"]=49; a2b["y"]=50; a2b["z"]=51;
a2b["0"]=52; a2b["1"]=53; a2b["2"]=54; a2b["3"]=55;
a2b["4"]=56; a2b["5"]=57; a2b["6"]=58; a2b["7"]=59;
a2b["8"]=60; a2b["9"]=61; a2b["-"]=62; a2b["_"]=63;

b2a = new Object();
for (b in a2b) { b2a[a2b[b]] = ''+b; }

function genvar(){var j="";while(1){var i=Math.random().toString();j+=i.substring(i.lastIndexOf(".")+1);if(j.length>31)return j.substring(0, 32);}}
