var ActionItems = {
	signupYes_inpt:{  click: function(e){showAllInfo(true);} },
	signupNo_inpt:{ click: function(e){showAllInfo(false);} }
}

var slide = false;
var showingAll = true;
$(document).ready(function()
{
	if( $.browser.msie && ($.browser.version < 7.0) )
		slide = false;
		
	if( ErrorMsg != '' )
		showErrorMsg();

	$("#copyInfo").click(function()
	{
		$("#ccFirstName").val( $("#FirstName").val() );
		$("#ccLastName").val( $("#LastName").val() );
		$("#ccStreet").val( $("#street").val() );
		$("#ccCity").val( $("#city").val() );
		$("#ccState").val( $("#state").val() );
		$("#ccZip").val( $("#zip").val() );
	});
});

function showErrorMsg()
{
	var theMessage = '';
	switch(ErrorMsg)
	{
		case 'processing':
			theMessage = 'There was an error processing your request.  Please try again.  If the error persists please call customer service.';
			break;

		case 'nopass':
			theMessage = 'Please enter a password';
			break;
		
		case 'passmatch':
			theMessage = 'Password and Verification do not match';
			break;
		
		case 'noname':
			theMessage = 'Please enter your name';
			break;
		
		case 'noemail':
			theMessage = 'Please enter an email address';
			break;
		
		case 'missingccinfo':
			theMessage = 'Please enter a Credit Card and a valid Expiration Date';
			break;
				
		case 'dupemail':
			theMessage = 'There is already an account set up for this email address.';
			modalAlert('500px');
			return;

		case 'invalidamount':
			theMessage = 'The amount cannot be less than $1.00.';
			break;

		case 'idmissmatch':
		case 'invalidemail':
		case '!!!':
			theMessage = ErrorReason;
			break;
		
		default:
			return;
	}
	alert(theMessage);
	
	// previous method was to show on the right and fade away
	//$('#ErrorMsg').jGrowl(theMessage, { header: 'Error:', life: 3000, theme:'alert' });
}


function showAllInfo(show)
{
	if( showingAll == show )
		return;
	
	showingAll = show;
	speed = 800;
	if( show )
	{
		if( slide )
			$("#signup_form .su").stop().slideDown(speed);
		else
			$("#signup_form .su").stop().css("display","block");
	}
	else
	{
		if( slide )
			$("#signup_form .su").stop().slideUp(speed);
		else
			$("#signup_form .su").stop().css("display","none");
	}
}




var errors = false;
function flagError(i,err)
{
	if( err )
   	{
       	$(i).css('background','#f2d6a0');
       	errors = true;
	}
}

function submitPage()
{
 	var emailRegxp = new RegExp(/^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})$/);
	var phoneLRRegxp = /^\d{10}$/;
    var zipregex = new RegExp(/^\d{5}-\d{4}|\d{5}|[A-Z]\d[A-Z]\s{0,1}\d[A-Z]\d$/);
    var ccregex = new RegExp(/^(?:(5[1-5]\d{14})|(4(?:\d{15}|\d{12}))|(3[47]\d{13})|(3(?:0[0-5]|6[0-9]|8[0-9])\d{11})|(6011\d{12}))\s*$/);
    var cvcregex = new RegExp(/^\d{3,4}$/);
	errors = false;
	$('form input,form select').css('background','#fff');
	
	var f = {fname:2, lname:2, phone:10, addr1:2, city:2, state:2, country:1, email:2, initials:1};
	for( n in f )
		flagError('#'+n, ($F('#'+n).length<f[n]) );
    flagError('#email', !emailRegxp.test($F('#email')) );
    flagError('#zip', !zipregex.exec($F('#zip')) );
    
    if($E('#payCredit_inpt,').checked)
    {
		var cc = {bnumber:10, bexpmonth:1, bexpYear:1};
		for( n in cc )
			flagError('#'+n, ($F('#'+n).length<cc[n]) );
		flagError('#bnumber', !ccregex.exec($F('#bnumber')) );
		flagError('#bcvc', !cvcregex.exec($F('#bcvc')) );
    }

    if(errors)
        alert('Please fix the highlighted fields');
	else
		process();
}

var currentlyProcessing = false;
function process()
{
    if(currentlyProcessing)
        return;
    currentlyProcessing = true;
	document.theform.submit()
}

function SetDropDown(el, value)
{
	if( !el || (value == "") )
		return;

	index = el.selectedIndex;
	if( el[index].value == value )
		return;
	
	FormLength = el.length;
	for( i=0; i < FormLength; i++ )
	{
		if( el[i].value == value )
		{
			el[i].selected = true;
			break;
		}
	}
}


function modalAlert(width)
{
	width = width?width:500;
	$('#modalAlert').css('width',width);
	
	$('#modalAlert').css('margin-top','-'+($('#modalAlert').height() /2 +10)+'px').jqm({
		modal: false,
		overlay:40,
		closeClass: 'closeDiag',
		onHide: function(h) { 
		  h.o.remove(); // remove overlay
		  h.w.fadeOut(888); // hide window
		}
	}).jqmAddClose('.closeDiag').jqmShow(); //.jqDrag('.title')
	
	var email = $('#email').val()
	$('#loginEmail').val(email);
	$('#forgotEmail').val(email);
	
}
