function initialize(response)
{
	setCurrentContext(LBL_WS_SETTINGS);
	var responseData = getResponseObject(response);
	
	var settingsTab = new YAHOO.widget.TabView('settings');
	settingsTab.getTab(0).addListener('click', handleTabSelected);

	formField('act_web_services_username').value = responseData.data['act_web_services_username'].value;
	formField('act_web_services_password').value = responseData.data['act_web_services_password'].value;
   	formField('act_web_services_url').value = responseData.data['act_web_services_url'].value;
   	formField('act_web_services_crm_id').value = responseData.data['act_web_services_crm_id'].value;
	formField('act_custom_field_display_list').value = responseData.data['act_custom_field_display_list'].value;
}

function handleTabSelected(e)
{
	clearStatusDescription();
	writeError('');
}

function saveGlobalSettings()
{
	progressBar.show();
	
	var url = baseIndexURL + controllerName + '/save_global_settings';
	var request = YAHOO.util.Connect.asyncRequest('POST', url, { success:processGlobalSaveResponse, failure:failureHandler }, 'act_web_services_crm_id=' + formField('act_web_services_crm_id').value + '&act_web_services_url=' + formField('act_web_services_url').value + '&act_custom_field_display_list=' + formField('act_custom_field_display_list').value + '&act_web_services_username=' + formField('act_web_services_username').value + '&act_web_services_password=' + formField('act_web_services_password').value);
}

function processGlobalSaveResponse(response)
{
	try
	{
		var responseData =  getResponseObject(response);
		statusDescription().innerHTML = responseData[STATUS_DESCRIPTION_KEY];
		
		if(responseData[STATUS_CODE_KEY] == 1)
		{
			statusDescription().className = SUCCESS_CLASS;
		}
		else if(responseData[STATUS_CODE_KEY] == 2)
		{	
			statusDescription().className = ERROR_CLASS;
		}
		else
		{
			clearStatusDescription();
			statusDescription().className = ERROR_CLASS;
		}
	}
	catch(e)
	{
		showException(e, response);
	}
}
  	
function saveLoginSettings()
{
	progressBar.show();
	
	var url = baseIndexURL + controllerName + '/save_login_settings';
	var request = YAHOO.util.Connect.asyncRequest('POST', url, { success:processLoginSaveResponse, failure:failureHandler }, 'successful_login_redirect=' + formField('successful_login_redirect').value + '&login_without_approval=' + Number(formField('login_without_approval').checked));
}

function processLoginSaveResponse(response)
{
	try
	{
		var responseData =  getResponseObject(response);
		statusDescription().innerHTML = responseData[STATUS_DESCRIPTION_KEY];
		
		if(responseData[STATUS_CODE_KEY] == 1)
		{
			statusDescription().className = SUCCESS_CLASS;
			
			formField('successful_login_redirect_error').innerHTML = "";
			formField('successful_login_redirect').className = "";
		}
		else if(responseData[STATUS_CODE_KEY] == 2)
		{
			formField('successful_login_redirect_error').innerHTML = responseData[ERROR_MESSAGES_KEY]['successful_login_redirect'];
			setErrorFieldStyle('successful_login_redirect');
			
			statusDescription().className = ERROR_CLASS;
		}
		else
		{
			clearStatusDescription();
			statusDescription().className = ERROR_CLASS;
		}
	}
	catch(e)
	{
		showException(e, response);
	}
}
	
function saveEmailSettings()
{
	progressBar.show();
	
	var url = baseIndexURL + controllerName + '/save_email_settings';
	var request = YAHOO.util.Connect.asyncRequest('POST', url, { success:processEmailSaveResponse, failure:failureHandler }, 'admin_name=' + formField('admin_name').value + '&admin_email=' + formField('admin_email').value + '&mail_server=' + formField('mail_server').value + '&email_type=' + formField('email_type').value + '&information_name=' + formField('information_name').value + '&information_email=' + formField('information_email').value);
}

function processEmailSaveResponse(response)
{
	try
	{
		var responseData =  getResponseObject(response);
		statusDescription().innerHTML = responseData[STATUS_DESCRIPTION_KEY];
		
		if(responseData[STATUS_CODE_KEY] == 1)
		{
			statusDescription().className = SUCCESS_CLASS;
			
			formField('admin_name_error').innerHTML = "";
			formField('admin_email_error').innerHTML = "";
			formField('mail_server_error').innerHTML = "";
			formField('information_name_error').innerHTML = "";
			formField('information_email_error').innerHTML = "";
			
			formField('admin_name').className = "";
			formField('admin_email').className = "";
			formField('mail_server').className = "";
			formField('information_name').className = "";
			formField('information_email').className = "";
		}
		else if(responseData[STATUS_CODE_KEY] == 2)
		{
			formField('admin_name_error').innerHTML = responseData[ERROR_MESSAGES_KEY]['admin_name'];
			formField('admin_email_error').innerHTML = responseData[ERROR_MESSAGES_KEY]['admin_email'];
			formField('mail_server_error').innerHTML = responseData[ERROR_MESSAGES_KEY]['mail_server'];
			formField('information_name_error').innerHTML = responseData[ERROR_MESSAGES_KEY]['information_name'];
			formField('information_email_error').innerHTML = responseData[ERROR_MESSAGES_KEY]['information_email'];
			
			setErrorFieldStyle('admin_name');
			setErrorFieldStyle('admin_email');
			setErrorFieldStyle('mail_server');
			setErrorFieldStyle('information_name');
			setErrorFieldStyle('information_email');
			
			statusDescription().className = ERROR_CLASS;
		}
		else
		{
			clearStatusDescription();
			statusDescription().className = ERROR_CLASS;
		}
	}
	catch(e)
	{
		showException(e, response);
	}
}
  	
function saveOrdersSettings()
{
	progressBar.show();
	
	var url = baseIndexURL + controllerName + '/save_orders_settings';
	var request = YAHOO.util.Connect.asyncRequest('POST', url, { success:processOrdersSaveResponse, failure:failureHandler }, 'next_order_num=' + formField('next_order_num').value + '&order_number_prefix=' + formField('order_number_prefix').value);
}

function processOrdersSaveResponse(response)
{
	try
	{
		var responseData =  getResponseObject(response);
		statusDescription().innerHTML = responseData[STATUS_DESCRIPTION_KEY];
		
		if(responseData[STATUS_CODE_KEY] == 1)
		{
			statusDescription().className = SUCCESS_CLASS;
			
			formField('next_order_num_error').innerHTML = "";
			formField('order_number_prefix_error').innerHTML = "";
			
			formField('next_order_num').className = "";
			formField('order_number_prefix').className = "";
		}
		else if(responseData[STATUS_CODE_KEY] == 2)
		{
			formField('next_order_num_error').innerHTML = responseData[ERROR_MESSAGES_KEY]['next_order_num'];
			formField('order_number_prefix_error').innerHTML = responseData[ERROR_MESSAGES_KEY]['order_number_prefix'];
			
			setErrorFieldStyle('next_order_num');
			setErrorFieldStyle('order_number_prefix');
			
			statusDescription().className = ERROR_CLASS;
		}
		else
		{
			clearStatusDescription();
			statusDescription().className = ERROR_CLASS;
		}
	}
	catch(e)
	{
		showException(e, response);
	}
}
  	
function saveProductsSettings()
{
	progressBar.show();
	
	var url = baseIndexURL + controllerName + '/save_products_settings';
	var request = YAHOO.util.Connect.asyncRequest('POST', url, { success:processProductsSaveResponse, failure:failureHandler }, 'default_product_sort_order_direction=' + formField('default_product_sort_order_direction').value + '&default_product_sort_order_field=' + formField('default_product_sort_order_field').value);
}

function processProductsSaveResponse(response)
{
	try
	{
		var responseData =  getResponseObject(response);
		statusDescription().innerHTML = responseData[STATUS_DESCRIPTION_KEY];
		
		if(responseData[STATUS_CODE_KEY] == 1)
		{
			statusDescription().className = SUCCESS_CLASS;
		}
		else if(responseData[STATUS_CODE_KEY] == 2)
		{
			statusDescription().className = ERROR_CLASS;
		}
		else
		{
			clearStatusDescription();
			statusDescription().className = ERROR_CLASS;
		}
	}
	catch(e)
	{
		showException(e, response);
	}
}

function saveFavouritesSettings()
{
	progressBar.show();
	
	var url = baseIndexURL + controllerName + '/save_favourites_settings';
	var request = YAHOO.util.Connect.asyncRequest('POST', url, { success:processFavouritesSaveResponse, failure:failureHandler }, 'initialize_favourites=' + Number(formField('initialize_favourites').checked) + '&enforce_single_favourites=' + Number(formField('enforce_single_favourites').checked));
}

function processFavouritesSaveResponse(response)
{
	try
	{
		var responseData =  getResponseObject(response);
		statusDescription().innerHTML = responseData[STATUS_DESCRIPTION_KEY];
		
		if(responseData[STATUS_CODE_KEY] == 1)
		{
			statusDescription().className = SUCCESS_CLASS;
		}
		else if(responseData[STATUS_CODE_KEY] == 2)
		{
			statusDescription().className = ERROR_CLASS;
		}
		else
		{
			clearStatusDescription();
			statusDescription().className = ERROR_CLASS;
		}
	}
	catch(e)
	{
		showException(e, response);
	}
}

function saveDirectoriesSettings()
{
	progressBar.show();
	
	var url = baseIndexURL + controllerName + '/save_directories_settings';
	var request = YAHOO.util.Connect.asyncRequest('POST', url, { success:processDirectoriesSaveResponse, failure:failureHandler }, 'image_directory=' + formField('image_directory').value + '&related_files_directory=' + formField('related_files_directory').value);
}

function processDirectoriesSaveResponse(response)
{
	try
	{
		var responseData =  getResponseObject(response);
		statusDescription().innerHTML = responseData[STATUS_DESCRIPTION_KEY];
		
		if(responseData[STATUS_CODE_KEY] == 1)
		{
			statusDescription().className = SUCCESS_CLASS;
			
			formField('image_directory_error').innerHTML = "";
			formField('related_files_directory_error').innerHTML = "";
			
			formField('image_directory').className = "";
			formField('related_files_directory').className = "";
		}
		else if(responseData[STATUS_CODE_KEY] == 2)
		{
			formField('image_directory_error').innerHTML = responseData[ERROR_MESSAGES_KEY]['image_directory'];
			formField('related_files_directory_error').innerHTML = responseData[ERROR_MESSAGES_KEY]['related_files_directory'];
			
			setErrorFieldStyle('image_directory');
			setErrorFieldStyle('related_files_directory');
			
			statusDescription().className = ERROR_CLASS;
		}
		else
		{
			clearStatusDescription();
			statusDescription().className = ERROR_CLASS;
		}
	}
	catch(e)
	{
		showException(e, response);
	}
}

function saveAccountingSettings()
{
	progressBar.show();
	
	var url = baseIndexURL + controllerName + '/save_accounting_settings';
	var request = YAHOO.util.Connect.asyncRequest('POST', url, { success:processAccountingSaveResponse, failure:failureHandler }, 'guest_shopper_customer_id=' + formField('guest_shopper_customer_id').value);
}

function processAccountingSaveResponse(response)
{
	try
	{
		var responseData =  getResponseObject(response);
		statusDescription().innerHTML = responseData[STATUS_DESCRIPTION_KEY];
		
		if(responseData[STATUS_CODE_KEY] == 1)
		{
			statusDescription().className = SUCCESS_CLASS;
		}
		else if(responseData[STATUS_CODE_KEY] == 2)
		{
			statusDescription().className = ERROR_CLASS;
		}
		else
		{
			clearStatusDescription();
			statusDescription().className = ERROR_CLASS;
		}
	}
	catch(e)
	{
		showException(e, response);
	}
}