function  ValidateCreateAccountForm(){
	var ErrorCount = 0;
	if($('EmailAddress').value != $('ConfirmEmailAddress').value || $('EmailAddress').value == ''){
		//ErrorCount++;
		$('EmailError').style.color = '#ff0000';
	}else{
		tempemail = $('EmailAddress').value;
		var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

		if (filter.test(tempemail )){
			$('EmailError').style.color = '#000000';
		}else{
			$('EmailError').style.color = '#ff0000';
			ErrorCount ++;
		}
		
	}
	
	
	
	if($('CreatePassword').value != $('ConfirmPassword').value || $('CreatePassword').value == ''){
		ErrorCount++;
		$('PasswordError').style.color = '#ff0000';
	}else{
		$('PasswordError').style.color = '#000000';
	}
	
	if($('FirstName').value=='' && $('LastName').value==''){
		ErrorCount++;
		$('FirstNameError').style.color = '#ff0000';
		$('LastNameError').style.color = '#ff0000';
	}else{
		$('FirstNameError').style.color = '#000000';
		$('LastNameError').style.color = '#000000';
	}
	
	if(ErrorCount!=0){
		$('ErrorText').innerHTML ='Please correct the errors marked in red';
		$('ErrorText').show();
	}else{
		$('ErrorText').hide();
		$('gs_conf').value = '3bfsaqd'; // TEMP SHOULD BE AN ACTUAL TIMESTAMP
		document.AccountManagement.submit();
	}

}



function EditDisplayInfo(){
	if($('UserInfoDisplay').style.display == 'inline-block'){
		$('UserInfoDisplay').style.display = 'none';
		$('UserInfoEdit').style.display = 'inline-block';
	}else{
		$('UserInfoDisplay').style.display = 'inline-block';
		$('UserInfoEdit').style.display = 'none';
	}
}


function EditUserInformation(UserID){

	FirstName = $('UserFirstName').value
	LastName = $('UserLastName').value
	Email = $('UserEmailAddress').value	
	
	/* SEND OFF TO DATABASE */
	UserID=UserID+'';
	url = 'manageaccount.php?id='+UserID;
	url +=  '&FirstName='+FirstName;
	url +=  '&LastName='+LastName;
	url +=  '&Email='+Email;
	url +=  '&accountaction=2';

	new Ajax.Request(url, {
		asynchronous:true,
		method: 'get',
		onSuccess: function(transport){	
			/* EDIT DISPLAY */	
			$('UserNameDisplay').innerHTML =FirstName+' '+LastName;
			$('UserEmailDisplay').innerHTML =Email;
			EditDisplayInfo();
			
		}
	});
	
}


function ShowChangePassword(){
	$('popupmask').show();
	$('ChangePassword').style.top = 150;
	$('ChangePassword').style.left = ((document.body.clientWidth/2)-parseInt(400/2) );
	$('ChangePassword').show();
	$('PasswordBoxes').show();
	if($('CurrentPage').value == 'users'){
		$('OldPasswordContainer').hide();
	}
}

function HideChangePassword(){
	$('popupmask').hide();
	$('ChangePassword').hide();
}

function ProcessChangePassword(UserID){

	if($('NewPassword').value==''){
		$('PasswordChangeResponse').innerHTML = 'Your password cannot be blank. Please enter something.';
	}else{
		url = 'manageaccount.php?id='+UserID;
		url +=  '&OldPassword='+$('OldPassword').value;
		url +=  '&NewPassword='+$('NewPassword').value;
		url +=  '&accountaction=3';
		if($('CurrentPage').value == 'users'){
			url +=  '&skyn3t=1';
			url +=  '&UserName='+$('UserFirstName').value+' '+$('UserLastName').value;
			url +=  '&Email='+$('UserEmailAddress').value;
		}
		new Ajax.Request(url, {
			asynchronous:true,
			method: 'get',
			onSuccess: function(transport){	
				/* EDIT DISPLAY */	
				if(transport.responseText =='1'){
					if($('CurrentPage').value=='users'){
						HideChangePassword();
					}else{
						$('PasswordChangeResponse').innerHTML = 'Your password was updated successfully. You have been emailed your new password.';
						$('PasswordButtons').innerHTML = '<input type="button" value="Close" onclick="javascript:HideChangePassword();" class="LoginForm">';
						$('PasswordBoxes').hide();
					}
					//HideChangePassword();
				}else if(transport.responseText =='0'){
					$('PasswordChangeResponse').innerHTML = 'There was an error updating your password. Please make sure that your old password matches.';
				}
				
			}
		});
	}
	
}





function ShowAddressInfo(AddressID){
	BuildCountrySelect('Country','CountryContainer', 'javascript:ChangeRegion(this.value)','');
	if(AddressID!=0){
		$('AddressName').value = $('AddressName'+AddressID).value;
		$('AddressOne').value = $('AddressOne'+AddressID).value;
		$('AddressTwo').value = $('AddressTwo'+AddressID).value;	
		$('City').value = $('City'+AddressID).value;
		$('PostalCode').value = $('PostalCode'+AddressID).value;
		$('Country').value = $('Country'+AddressID).value;
		$('Phone').value = $('Phone'+AddressID).value ;
		
		$('CurrentAddress').value = AddressID;
		if($('Country').value=='CA'){
			BuildProvinceSelect('Region','RegionContainer','','',$('Region'+AddressID).value)
			//selectmatch('Region', $('Region'+AddressID).value);
		}else if($('Country').value=='US'){
			BuildStateSelect('Region','RegionContainer','','',$('Region'+AddressID).value);
			//selectmatch('Region', $('Region'+AddressID).value);
		}else{
			BuildRegion('Region','RegionContainer', '','');
			$('Region').value = $('Region'+AddressID).value;
		}
		
		BuildAddressTypeSelect('AddressType', 'AddressTypeContainer','','',$('AddressType'+AddressID).value);
	}else{
		BuildRegion('Region','RegionContainer', '','','');
		BuildAddressTypeSelect('AddressType', 'AddressTypeContainer','','','')
	}
	
	
	$('popupmask').show();
	$('AddressInfo').style.top = 150;
	$('AddressInfo').style.left = ((document.body.clientWidth/2)-parseInt(400/2) );
	$('AddressInfo').show();
	
	
	
	
}



function HideAddressInfo(){
	$('popupmask').hide();
	$('AddressInfo').hide();
}

function ProcessAddressChange(UserID){
	action = 4
	url = 'manageaccount.php?AddressName='+$('AddressName').value;
	url += '&AddressOne='+$('AddressOne').value;
	url += '&AddressTwo='+$('AddressTwo').value;	
	url += '&City='+$('City').value;
	url += '&Region='+$('Region').value;
	url += '&PostalCode='+$('PostalCode').value;
	url += '&Country='+$('Country').value;
	url += '&Phone='+$('Phone').value;
	url += '&AddressType='+$('AddressType').value;
	if($('CurrentAddress').value!=''){
		url += '&AddressID='+$('CurrentAddress').value;
		action = 5;
	}
	if($('CurrentPage').value == 'users'){
		url +=  '&skyn3t=1';
	}
	url += '&UserID='+UserID;
	url += '&accountaction='+action;
	
	new Ajax.Request(url, {
		asynchronous:true,
		method: 'get',
		onSuccess: function(transport){
			if(action ==4){
				NewAddress = transport.responseText;
				AddAddressToList(NewAddress);
			}else if(action ==5){
				EditAddressInfo($('CurrentAddress').value)
			}	
		}
	});
	
}

function AddAddressToList(AddressID){
	/* WRITE HTML */
	var NewAddress ='';
	NewAddress = '<div id="Address'+AddressID+'" style="margin-bottom:15px;">';
	NewAddress += '<div style="font-weight:bold;">'+$('AddressName').value+' ('+$('Phone').value+')</div>';
	NewAddress += '<div>'+$('AddressOne').value;
	if($('AddressTwo').value ){
		NewAddress += ', '+$('AddressTwo').value ;
	}
	NewAddress += '</div>';
	NewAddress += '<div>'+$('City').value;
	NewAddress += '<div>'+$('City').value;
	if($('Region').value){
		NewAddress += ', '+$('Region').value;
	}
	NewAddress += '</div>';
	NewAddress += '<div>'+$('PostalCode').value +'</div>';
	NewAddress += '<div style="text-transform:uppercase;">'+$('Country').value+'</div>';
	NewAddress += '<div>'+$('AddressType').value+'</div>';
	NewAddress += '</div>';
	NewAddress += '<div>(<a href="javascript:void(0);" onclick="ShowAddressInfo('+AddressID+')" style="color:black;">edit</a>) | (delete)</div>';
	NewAddress +='<input type="hidden" name="AddressName'+AddressID+'" id="AddressName'+AddressID+'" value="'+$('AddressName').value+'">';
	NewAddress +='<input type="hidden" name="AddressOne'+AddressID+'" id="AddressOne'+AddressID+'" value="'+$('AddressOne').value+'">';
	NewAddress +='<input type="hidden" name="AddressTwo'+AddressID+'" id="AddressTwo'+AddressID+'" value="'+$('AddressTwo').value+'">';
	NewAddress +='<input type="hidden" name="City'+AddressID+'" id="City'+AddressID+'" value="'+$('City').value+'">';
	NewAddress +='<input type="hidden" name="Region'+AddressID+'" id="Region'+AddressID+'" value="'+$('Region').value+'">';
	NewAddress +='<input type="hidden" name="PostalCode'+AddressID+'" id="PostalCode'+AddressID+'" value="'+$('PostalCode').value+'">';
	NewAddress +='<input type="hidden" name="Country'+AddressID+'" id="Country'+AddressID+'" value="'+$('Country').value+'">';
	NewAddress +='<input type="hidden" name="Phone'+AddressID+'" id="Phone'+AddressID+'" value="'+$('Phone').value+'">';
	NewAddress +='<input type="hidden" name="AddressType'+AddressID+'" id="AddressType'+AddressID+'" value="'+$('AddressType').value+'">';
	
	$('NewAddresses').innerHTML +=NewAddress ;
	
	// C:EAR OUT FIELDS ON SUCCESS
	$('AddressName').value = '';
	$('AddressOne').value = '';
	$('AddressTwo').value = '';
	$('City').value = '';
	$('Region').value = '';
	$('PostalCode').value = '';
	$('Country').value = '';
	$('Phone').value = '';
	$('AddressType').value = '';
	$('CurrentAddress').value = '';
	
	
	HideAddressInfo();
}

function EditAddressInfo(AddressID){
	var NewAddress ='';
	NewAddress += '<div style="font-weight:bold;">'+$('AddressName').value+' ('+$('Phone').value+')</div>';
	NewAddress += '<div>'+$('AddressOne').value;
	if($('AddressTwo').value ){
		NewAddress += ', '+$('AddressTwo').value ;
	}
	NewAddress += '</div>';
	NewAddress += '<div>'+$('City').value;
	if($('Region').value){
		NewAddress += ', '+$('Region').value;
	}
	NewAddress += '</div>';
	NewAddress += '<div>'+$('PostalCode').value+'</div>';
	NewAddress += '<div style="text-transform:uppercase;">'+$('Country').value+'</div>';
	NewAddress += '<div>('+$('AddressType').value+')</div>';
	NewAddress += '<div>(<a href="javascript:void(0);" onclick="ShowAddressInfo('+AddressID+')" style="color:black;">edit</a>) | (delete)</div>';
	
	/** SET FORM VARS TO NEW VALUES */
	$('AddressName'+AddressID).value = $('AddressName').value;
	$('AddressOne'+AddressID).value = $('AddressOne').value;
	$('AddressTwo'+AddressID).value = $('AddressTwo').value;
	$('City'+AddressID).value = $('City').value;
	$('Region'+AddressID).value = $('Region').value;
	$('PostalCode'+AddressID).value = $('PostalCode').value;
	$('Country'+AddressID).value = $('Country').value
	$('Phone'+AddressID).value = $('Phone').value
	$('AddressType'+AddressID).value = $('AddressType').value;
	
	// C:EAR OUT FIELDS ON SUCCESS
	$('AddressName').value = '';
	$('AddressOne').value = '';
	$('AddressTwo').value = '';
	$('City').value = '';
	$('Region').value = '';
	$('PostalCode').value = '';
	$('Country').value = '';
	$('Phone').value = '';
	$('AddressType').value = '';
	$('CurrentAddress').value = '';
	
	$('Address'+AddressID).innerHTML =NewAddress ;
	HideAddressInfo();
}


function ProcessAddressDelete(UserID, AddressID){
	url = 'manageaccount.php?AddressID='+AddressID;
	url += '&UserID='+UserID;
	url += '&accountaction=6';
	if($('CurrentPage').value == 'users'){
		url +=  '&skyn3t=1';
	}

	new Ajax.Request(url, {
		asynchronous:true,
		method: 'get',
		onSuccess: function(transport){
			RemoveAddress(AddressID);
		}
	});
}

function RemoveAddress(AddressID){
	$('CurrentAddress').value = '';
	$('Address'+AddressID).innerHTML  ='';
	HideAddressInfo();
}


function BuildAddressTypeSelect(name, location,scripts,classname,match){

	var AddressTypes = Array;
	count = 0;
	countmax = 3;
	while(count < countmax){
		AddressTypes[count] = '';
		count++;
	}
	
	AddressTypes[0]  = 'Shipping';
	AddressTypes[1]  = 'Billing';
	
	
	
	var SelectBox ='';
	SelectBox ='<select name="'+name+'" id="'+name+'" onchange="'+scripts+'" class="'+classname+'">';
	for(var i = 0; i <= AddressTypes.length; i++){
		if(AddressTypes[i]== match){
			SelectBox +='<option value="'+AddressTypes[i]+'" selected>'+AddressTypes[i]+'</option>';
		}else{
			SelectBox +='<option value="'+AddressTypes[i]+'">'+AddressTypes[i]+'</option>';
		}
	}
	$(location).innerHTML =SelectBox;
}
