var fCountTotal = 2;
var isNav, isIE, goodToGo;
goodToGo = false;

if (parseInt(navigator.appVersion) >= 4) {
	if (navigator.appName == "Netscape"){
		isNav = true;
	} else {
		isIE = true;
	}
}

function showKeyValue(evt) {
	var keyValue;
	if (isNav) {
		keyValue = evt.which;
	} else {
		keyValue = window.event.keyCode;
	}
	if (keyValue == 13) {
		submitForm();
	}
	return false;
}

function checkForm(form)
{			
	var error = "";
	if (form.firstName.value.length == 0){
		form.firstName.focus();
		error += "Please enter your first name. \n";
	}

	if (form.lastName.value.length == 0){
		form.lastName.focus();
		error += "Please enter your last name. \n";
	}
	
	if (form.csUsername.value.length == 0){
		form.csUsername.focus();
		error += "Please enter your Capital Spreads user name. \n";
	}

	if (form.csEmail.value.length == 0){
		form.csEmail.focus();
		error += "Please enter a valid email used with Capital Spreads. \n";
	} else {
	    checkEmail(form.csEmail.value);
	}

	if (form.friendFirstName.value.length == 0){
		form.friendFirstName.focus();
		error += "Please enter your friends name. \n";
	}

	if (form.friendEmail.value.length == 0){
		form.friendEmail.focus();
		error += "Please enter a valid email for your friend. \n";
	}

	if (form.terms.checked==false){
		form.terms.focus();
		error += "Please accept the terms and conditions. \n";
	}
	
	if (error != ""){
		alert(error);
	    return (false);
	} else {
	    return (true);
	}
}



function checkEmail(emailValue) {
	var tlds = ".ac .ad .ae .af .ag .ai .al .am .an .ao .aq .ar .as .at .au .aw .ax .az .ba .bb .bd .be .bf .bg .bh .bi .bj .bm .bn .bo .br .bs .bt .bu .bv .bw .by .bz .ca .cc .cd .cf .cg .ch .ci .ck .cl .cm .cn .co .cr .cs .cu .cv .cx .cy .cz .dd .de .dj .dk .dm .do .dz .ec .ee .eg .eh .er .es .et .eu .fi .fj .fk .fm .fo .fr .ga .gb .gd .ge .gf .gg .gh .gi .gl .gm .gn .gp .gq .gr .gs .gt .gu .gw .gy .hk .hm .hn .hr .ht .hu .id .ie .il .im .in .io .iq .ir .is .it .je .jm .jo .jp .ke .kg .kh .ki .km .kn .kp .kr .kw .ky .kz .la .lb .lc .li .lk .lr .ls .lt .lu .lv .ly .ma .mc .md .mg .mh .mk .ml .mm .mn .mo .mp .mq .mr .ms .mt .mu .mv .mw .mx .my .mz .na .nc .ne .nf .ng .ni .nl .no .np .nr .nu .nz .om .pa .pe .pf .pg .ph .pk .pl .pm .pn .pr .ps .pt .pw .py .qa .re .ro .ru .rw .sa .sb .sc .sd .se .sg .sh .si .sj .sk .sl .sm .sn .so .sr .st .su .sv .sy .sz .tc .td .tf .tg .th .tj .tk .tl .tm .tn .to .tp .tr .tt .tv .tw .tz .ua .ug .uk .um .us .uy .uz .va .vc .ve .vg .vi .vn .vu .wf .ws .ye .yt .yu .za .zm .zr .zw .com .net .org .mil .gov .edu .nato .info .int .name .biz .museum .pro";
	var myRegex = new RegExp("^[A-Za-z0-9._\-]+[@]\([A-Za-z0-9\-]+[.])+[a-zA-Z0-9._-]+$")
	var endofString = emailValue.split('.');
	var ending = endofString.length - 1;
	var tld = endofString[ending];
	//
	var atPos = emailValue.indexOf('@',0);
	//
	if (atPos == -1) {
		alert('Please enter a valid email.');
		return false;
	} else if (atPos == 0) {
		alert('Please enter a valid email.');
		return false;
	} else if (emailValue.indexOf('@', atPos + 1) > - 1) {
		alert('Please enter a valid email.');
		return false;
	} else if (emailValue.indexOf('.', atPos) == -1) {
		alert('Please enter a valid email.');
		return false;
	} else if (emailValue.indexOf('@.',0) != -1) {
		alert('Please enter a valid email.');
		return false;
	} else if (emailValue.indexOf('.@',0) != -1){
		alert('Please enter a valid email.');
		return false;
	} else if (emailValue.indexOf('..',0) != -1) {
		alert('Please enter a valid email.');
		return false;
	} else if (! emailValue.match(myRegex)){
		alert('Please enter a valid email.');
		return false;
	} else if (tlds.search(tld) < 0) {
		alert('Please enter a valid email.');
		return false;
	} else {
		return true;
	}
}

function resetReferForm() {
    document.referForm.firstName.value = "";
    document.referForm.lastName.value = "";
    document.referForm.csUsername.value = "";
    document.referForm.csEmail.value = "";
    document.referForm.friendFirstName.value = "";
    document.referForm.friendEmail.value = "";
}



function getFriend(fCount)	{
	newFriend = "<fieldset class='friends'><div class='inputrow'><label for='friend-name-" + fCount + "'>Your friend's name</label><input id='friend-name-" + fCount + "' name='friend-name-" + fCount + "' type='text' /></div><div class='inputrow'><label for='friend-email-" + fCount + "'>Your friend's email address</label><input id='friend-email-" + fCount + "' name='friend-email-" + fCount + "' type='text' /></div><a href='#' class='remove-friend'>- remove this friend</a></fieldset>";
	return newFriend;
}



$(document).ready(function() {
	
	$('#addFriend').click(function () { 
		friend = getFriend(fCountTotal);
		$(this).before(friend).fadeIn('fast');
		fCountTotal += 1;
		return false;
	});

	$('a.remove-friend').live("click", function(){
		$(this).parent().fadeOut(300, function() { $(this).remove(); });
		return false;
	});


	/*******************************************/
	// hover state boxes for sidebar speaker panels

	$('a.tooltip').hover(function() {
	  $("p.tooltip-info").hide();
	  $(this).parent().find("p.tooltip-info").fadeIn('fast');
	  $('p.tooltip-active').removeClass('tooltip-active');
	  $(this).parent().find('p.tooltip-info').addClass('tooltip-active');
	}, function() {
	  $(this).parent().find("p.tooltip-info").fadeOut('slow');
	  $('p.tooltip-active').removeClass('tooltip-active');
	});
	
});


