/**
 * Functions used in home page
 * @author Benjamin A. Dezile
 */

var un_avail = true;

/**
 * Make sure only one checkbox is check for the profile-pop choice<br><br>
 * @author Benjamin A. Dezile
 * @param val	on|off
 * @param feat  Feature to show help for [blank|auto|mostpop]
 */
function checkCB(val, feat_cb)
{
$('#popType_auto_cb').attr('checked', false);
$('#popType_mostpop_cb').attr('checked', false);		
$('#popType_blank_cb').attr('checked', false);
$('#popType_'+feat_cb+'_cb').attr('checked', ((val == 'on')?true:false)); 
return;
}


/**
 * Check the 'join us' form and move on to the next step if valid
 * @author Benjamin A. Dezile
 */
function checkJoinForm()
{

/* Grab data */
var un = $('#username').val();
var email = $('#email').val();
var pw = $('#pw').val();
var pwc = $('#pwc').val();
var gender = $('#gender').val();
var dob_y = $('#year').val();
var dob_m = $('#month').val();
var dob_d = $('#day').val();
var country = $('#country').val();
var city = (($('#city').html() != null)?$('#city').val():"");
var zip = (($('#zip').html() != null)?$('#zip').val():"");
var state = (($('#state').html() != null)?$('#state').val():"");
var unv = $('#un_validation').html();

/* Check */
$('#errMsg').html('');
if (un == '') { $('#errMsg').html('Username missing!'); return; }
else if (!un_avail) { $('#errMsg').html('Username not available!'); return; }
else if (email == '') { $('#errMsg').html('Email missing!'); return; }
else if (pw == '') { $('#errMsg').html('Password missing!'); return; }
else if (pwc == '') { $('#errMsg').html('Please confirm password!'); return; }
else if (pw != pwc) { $('#errMsg').html('Password/Confirmation mismatch!'); return; }
else if (gender == '') { $('#errMsg').html('Gender missing!'); return; }
else if (dob_y == '') { $('#errMsg').html('Year of birth missing!'); return; }
else if (dob_m == '') { $('#errMsg').html('Month of missing!'); return; }
else if (dob_d == '') { $('#errMsg').html('Day of birth missing!'); return; }
else if (country == '') { $('#errMsg').html('Country missing!'); return; }
else if (city == '' || city == 'City') { $('#errMsg').html('City missing!'); return; }
else if (zip == '' || zip == 'Zip') { $('#errMsg').html('Zip code missing!'); return; }	

/* Display captcha & profile pop */
var b = $('#coverLayerInner');
b.css('display','block');
b.css('left',screen.availWidth/2-b.attr('clientWidth')/2);	
$('#coverLayer').css('height',screen.height);
$('#coverLayer').css('display','block');		
$('#recaptcha_response_field').val('');
$('#errMsg2').html('');

return;
}

 
/**
 * Check if the username chosen is available
 * @author Benjamin A. Dezile
 * @param un	Username
 */
function checkUserName(un)
{
var xmlHttp = newXmlHttp();
if (xmlHttp != null)
	{

	var v = $('#un_validation');
	var err = $('#errMsg');
	
	xmlHttp.onreadystatechange = function() {
	if (xmlHttp.readyState == 4) 
		{
		/* Update display */
		var resp = xmlHttp.responseText;
		if (resp.indexOf('true') < 0) 
			{
			v.html("<img src='"+URLRoot+"img/welcome/red_dot.png' title='Username not available' />");
			un_avail = false;
			}
		}
	};
	
	/* Send request [user availability] */
	err.html('');
	v.html('');
	un_avail = true;
	xmlHttp.open("GET", URLRoot+'ajax/createNewUser?action=check&name='+$.URLEncode(un), true);
	xmlHttp.send(null);

	}
return;
}

	
/** 
 * Cancel the 'join us' process
 * @author Benjamin A. Dezile
 */
function cancelJoin()
{
$('#coverLayerInner').css('display','none');
$('#coverLayer').css('display','none');
$('#tos').attr('checked','');
$('#saveBut').attr('disabled','disabled');
return;	
}

	
/** 
 * Process the 'join us' form
 * @author Benjamin A. Dezile
 */
function joinProcess()
{
var xmlHttp = newXmlHttp();
if (xmlHttp != null)
	{

	/* Data check */
	var form = document.joinForm;
	if ($('#recaptcha_response_field').val() == '')
		{
		$('#errMsg2').html('Security code missing!');
		return;
		}
	
	/* Gather data from form */
	var un = $('#username').val();
	var pw = $('#pw').val();
	var email = $('#email').val();
	var gender = $('#gender').val();
	var year = $('#year').val();
	var month = $('#month').val();
	var day = $('#day').val();
	var country = $('#country').val();
	var city = $('#city').val();
	var zip = $('#zip').val();
	var challenge = $('#recaptcha_challenge_field').val();
	var response = $('#recaptcha_response_field').val();
	var qs = "action=create&"; 
	qs += "un="+$.URLEncode(un)+"&";
	qs += "pw="+$.URLEncode(pw)+"&";
	qs += "email="+$.URLEncode(email)+"&";
	qs += "gender="+$.URLEncode(gender)+"&";
	qs += "dob_y="+$.URLEncode(year)+"&";
	qs += "dob_m="+$.URLEncode(month)+"&";
	qs += "dob_d="+$.URLEncode(day)+"&";				
	qs += "country="+$.URLEncode(country)+"&";
	if ($('#state').html() != null) qs += "state="+$.URLEncode($('#state').val())+"&";
	qs += "captcha_ch="+$.URLEncode(challenge)+"&";
	qs += "captcha_resp="+$.URLEncode(response)+"&";			
	qs += "fn=&";
	qs += "ln=&";
	qs += "phone=&";
	qs += "address=&";
	qs += "city="+$.URLEncode(city)+"&";
	qs += "zip="+$.URLEncode(zip)+"&";		
	qs += "ppop=";
    
	if ($('#popType_auto_cb').attr('checked')) qs += "auto";   		
	else if ($('#popType_mostpop_cb').attr('checked')) qs += "mostpop";	
	else qs += "blank";
	
	/* AJAX Listener */
	xmlHttp.onreadystatechange = function() {
	if (xmlHttp.readyState == 4) 
		{
		/* Update display */
		var resp = xmlHttp.responseText;
		$('#cancelBut').attr('disabled', '');
		$('#saveBut').attr('disabled', '');	
		if (resp.indexOf("true") >= 0)
			{
			$('#errMsg2').html();
			alert('Your account has been created successfully\n\nA confirmation email will be sent to your email address in a few minutes. It will contain a link allowing you to activate your account.\n\nThanks,\nThe KoobiMark Team.\n');
			document.location = URLRoot;
			}
		else $('#errMsg2').html(resp);
		}
	};
	
	/* Send request */
	$('#errMsg2').html("<img src='"+URLRoot+"img/loader/default.gif' />");
	$('#cancelBut').attr('disabled', 'disabled');
	$('#saveBut').attr('disabled', 'disabled');	
	xmlHttp.open("GET", URLRoot+"ajax/createNewUser?"+qs, true);
	xmlHttp.send(null);		

	}
return;	
}
 

/**
 * Generate a box to select a day [1-31]
 * @author Benjamin A. Dezile
 * @return
 */
function daySelectBox()
{
var box = document.createElement("select");
var recvr = $('#day_field');
box.id = 'day';
box.className = 'joinField';
for (var i=0;i<31;i++) 
    {
    var child = document.createElement("option");
    if (i == 0)
        {
        var child0 = document.createElement("option");
        child0.value = '';
        child0.innerHTML = 'Day';
        box.appendChild(child0);
        }
    child.value = i+1;
    child.innerHTML = i+1;
    box.appendChild(child);		
    }
recvr.append(box);	
return;
}


/**
* Generate a box to select a month [January-December]
* @author Benjamin A. Dezile
* @return
*/
function monthSelectBox()
{
var recvr = $('#month_field');
var mList = new Array('January','February','March','April','May','June','July','August','September','October','November','December');
var box = document.createElement("select");
box.id = 'month';
box.className = 'joinField';
for (var i=0;i<mList.length;i++)
    {
    var child = document.createElement("option");
    if (i == 0)
        {
        var child0 = document.createElement("option");
        child0.value = '';
        child0.innerHTML = 'Month';
        box.appendChild(child0);			
        }
    child.value = mList[i];
    child.innerHTML = mList[i];
    box.appendChild(child);
    }
recvr.append(box);
return;
}

/**
* Generate a box to select a year [1900-Today]
* @author Benjamin A. Dezile
* @return
*/
function yearSelectBox()
{
var box = document.createElement("select");
var recvr = $('#year_field');
box.id = 'year';
box.className = 'joinField';
var today = new Date();
var cy = parseInt(today.getFullYear(), 10);
for (var i=cy;i>=1900;i--) 
    {
    var child = document.createElement("option");
    if (i == cy)
        {
        var child0 = document.createElement("option");
        child0.value = '';
        child0.innerHTML = 'Year';
        box.appendChild(child0);
        }
    child.value = i;
    child.innerHTML = i;
    box.appendChild(child);
    }
recvr.append(box);
return;
}


/**
* Generate a box to select a country
* @author Benjamin A. Dezile
* @return
*/
function countrySelectBox()
{
var countryList = new Array('Afghanistan','Albania','Algeria','American Samoa','Andorra','Angola','Anguilla','Antartica','Antigua And Barbuda',		'Argentina','Armenia','Aruba','Australia','Austria','Azerbaijan','Bahamas','Bahrain','Bangladesh','Barbados','Belarus','Belgium','Belize','Benin','Bermuda','Bhutan','Bolivia','Bosnia And Herzegowina','Botswana','Bouvet Island','Brazil','British Indian Ocena Territory','Brunei Darussalam','Bulgaria','Burkina Fase','Burundi','Cambodia','Cameroon','Canada','Cape Verde','Cayman Islands','Central African Republic','Chad','Chile','China','Christmas Islands','Cocos (Keeling) Islands','Colombia','Comoros','Congo','Cook Islands','Costa Rica','Cote D&rsquo;Ivoire','Croatia','Cyprius','Czech Republic','Denmark','Djibouti','Dominica','Dominican Republic','East Timor','Ecuador','Egypt','El Salvador','Equatorial Guinea','Eritrea','Estonia','Ethiopia','Falkland Islands','Faroe Islands','Fidji','Finland','France','French Guiana','French Polynesia','French Southern Territories','Gabon','Gambia','Georgia','Germany','Ghana','Gilbraltar','Greece','Greenland','Grenada','Guadeloupe','Guam','Guatemala','Guinea','Guinea-Bissau','Guyana','Haiti','Heard And Mc Donald Islands','Honduras','Hong Kong','Hungary','Iceland','India','Indonesia','Ireland','Israel','Italy','Jamaica','Japan','Jordan','Kazakhstan','Kenya','Kiribati','South Korea','Kuwait','Kyrgyzstan','Lao Peoples Republic','Latvia','Lebanon','Lesotho','Liberia','Liechtenstein','Lithuania','Luxembourg','Macau','Macedonia','Magdagascar','Malawi','Malaysia','Maldives','Mali','Malta','Marshall Islands','Martinique','Mauritania','Mauritius','Mayotte','Mexico','Micronesia','Moldova','Monaco','Mongolia','Montserrat','Marocco','Mozambique','Myanmar','Namibia','Nauru','Nepal','Netherlands','Netherlands Antilles','New Caledonia','New Zeland','Nicaragua','Niger','Nigeria','Niue','Norfolk Island','Northern Mariana Islands','Norway','Oman','Pakistan','Palau','Palestinian Territory','Panama','Papua New Guinea','Paraguay','Peru','Philippines','Pitcairn','Poland','Portugal','Puerto Rico','Qatar','Reunion','Romania','Russian Federation','Rwanda','Saint Kitts And Nevis','Saint Lucia','Saint Vincent And The Grenadines','Samoa','San Marino','Sao Tome And Principe','Saudi Arabia','Senegal','Seychelles','Sierra Leone','Singapore','Slovakia','Slovenia','Solomon Islands','Somalia','South Africa','South Georgia','The South Sandwich Islands','Spain','Sri Lanka','St Helena','St Pierre And Miquelon','Surinam','Svalbard And Jan Mayen Islands','Swaziland','Sweden','Switzerland','Syrian Arab Republic','Taiwan','Tajikistan','Tanzania','Thailand','Togo','Tokelay','Tonga','Trinidad And Tobago','Tunisia','Turkey','Turkmenistan','Turks And Caicos Islands','Tuvalu','Uganda','Ukraine','United Arab Emirates','United Kingdom','United States','U.S. Minor Outlying Islands','Uruguay','Uzbekistan','Vanuatu','Vatican City','Venezuela','Vietnam','Virgin Islands (British)','Virgin Islands (U.S.)','Wallis And Futuna Islands','Western Sahara','Yemen','Yugoslavia','Zaire','Zambia','Zimbabwe');
var recvr = $('#country_field');
var box = document.createElement("select");
box.id = 'country';
box.className = 'joinField';
box.onchange = function() { 
	var cbox = "<input type='text' id='city' style='width:75px;' class='joinField' value='City' onfocus=\"if (this.value=='City') this.value='';\" onblur=\"if (this.value=='') this.value='City';\" />";
	var zbox = "<input type='text' id='zip' size='5' maxlength='5' class='joinField' value='Zip' onfocus=\"if (this.value=='Zip') this.value='';\" onblur=\"if (this.value=='') this.value='Zip';\" />";
	if (this.value == 'United States') 
		{ 
		var stateList = new Array('Alabama','Alaska','American Samoa','Arizona','Arkansas','California','Colorado','Connecticut','Delaware','District of Columbia','Federated States of Micronesia','Florida','Georgia','Guam','Hawaii','Idaho','Illinois','Indiana','Iowa','Kansas','Kentucky','Louisiana','Maine','Marshall Islands','Maryland','Massachusetts','Michigan','Minnesota','Mississippi','Missouri','Montana','Nebraska','Nevada','New Hampshire','New Jersey','New Mexico','New York','North Carolina','North Dakota','Northern Mariana Islands','Ohio','Oklahoma','Oregon','Pennsylvania','Puerto Rico','Rhode Island','South Carolina','South Dakota','Tennessee','Texas','Utah','Vermont','Vigin Islands','Virginia','Washington','West Virginia','Wisconsin','Wyoming');
		var stateInitList = new Array('AL','AK','AS','AZ','AR','CA','CO','CT','DE','DC','FM','FL','GA','GU','HI','ID','IL','IN','IA','KS','KY','LA','ME','MH','MD','MA','MI','MN','MS','MO','MT','NE','NV','NH','NJ','NM','NY','NC','ND','MP','OH','OK','OR','PA','PR','RI','SC','SD','TN','TX','UT','VT','VI','VA','WA','WV','WI','WY');
		var box = document.createElement("select");
		box.id = 'state';
		box.className = 'joinField';
		for (var i=0;i<stateList.length;i++)
			{
			var child = document.createElement("option");
			if (i == 0)
				{
				var child0 = document.createElement("option");
				child0.value = '';
				child0.innerHTML = 'State';			
				box.appendChild(child0);
				}										
			child.value = stateInitList[i];
			child.innerHTML = stateList[i];
			box.appendChild(child);
			}
		var text = ""+		
		"<table cellpadding='0' cellspacing='0'>"+
		"	<tr><td colspan='3'><div id='state_sbox'></div></td></tr>"+
		"	<tr height='5'><td colspan='3'></td></tr>"+
		"	<tr>"+
		"		<td align='left' width='10' style='padding-right:5px;'>"+cbox+"</td>"+
		"		<td align='left' width='10'>"+zbox+"</td>"+
		"		<td></td>"+									
		"	</tr>"+
		"</table>";
		$('#state_field').html(text);
		$('#state_sbox').append(box);										
		}
	else if (this.value == '') $('#state_field').html(''); 
	else 
		{
		var text = ""+		
		"<table cellpadding='0' cellspacing='0'>"+
		"	<tr>"+
		"		<td align='left' width='10' style='padding-right:5px;'>"+cbox+"</td>"+
		"		<td align='left' width='10'>"+zbox+"</td>"+
		"		<td></td>"+									
		"	</tr>"+
		"</table>";	
		$('#state_field').html(text);							
		}								
	return;
	};
for (var i=0;i<countryList.length;i++)
    {
    var child = document.createElement("option");
    if (i == 0)
        {
        var child0 = document.createElement("option");
        child0.value = '';
        child0.innerHTML = 'Choose...';			
        box.appendChild(child0);
        var child1 = document.createElement("option");
        child1.value = 'United States';
        child1.innerHTML = 'United States';
        box.appendChild(child1);
        }
    child.value = countryList[i];
    child.innerHTML = countryList[i];
    box.appendChild(child);
    }
recvr.append(box);	
return;
}



