var spn_redirect_url;
var spn_url_get;

var spn_jquery_loaded = false;

function spn_wait_and_redirect (wait,url)
{
	spn_redirect_url = url;
	setTimeout('spn_redirect_after_wait()',wait);
}

function spn_redirect_after_wait ()
{
	window.location = spn_redirect_url;
}

function spn_url_get_init ()
{
	url = document.URL;
	/*alert(url);
	url_length = url.length;
	
	last_slash_index = url.lastIndexOf("/");
	
	if (last_slash_index == (url_length - 1))
		spn_url_get = "";
	else
		spn_url_get = url.substring(last_slash_index+1,url_length);*/
		
	spn_url_get = url;
}

var spn_form_return_url;

function spn_form_init_return_url (return_url_id)
{
	if (return_url_id == null) { return; }
	spn_form_return_url = document.getElementById(return_url_id);
	if (spn_form_return_url == null) { return; }
	if (spn_form_return_url.value == "") { spn_form_return_url.value = spn_url_get; }
}

var spn_task_return_url;

function spn_form_init (form,method,action,return_url_id)
{
	if (form == null) { return; }
	if (method == null) { return; }
	if (action == null) { return; }
	if (return_url_id == null) { alert("spn_form_init - return_url_id is null"); return; }
	
	form.method = method;
	form.action = action;
	
	spn_task_return_url = document.getElementById(return_url_id);
	if (spn_task_return_url == null) { return; }
	
	if (spn_task_return_url.value == "")
	{
		spn_task_return_url.value = spn_url_get;
	}
}

var spn_form_error_div;

function spn_form_error_div_init (div_id)
{
	div = document.getElementById(div_id);
	if (div != null)
		spn_form_error_div = div;
}

function spn_form_error_div_show (msg)
{
	if (spn_form_error_div == null)
		return;
		
	spn_form_error_div.style.display = "";
	spn_form_error_div.innerHTML = msg;
}

function spn_form_error_div_hide ()
{
	if (spn_form_error_div == null)
		return;
		
	spn_form_error_div.style.display = "none";
}

//=========================
// returns an array
// 0 = text_clean
// 1 = invalid_text_found
// 2 = invalid_text
// 3 = text_too_long
function spn_form_input_text_salt_shake (salt,input_text_box,max_characters,default_result_action)
{
	
	if (salt == null) { alert("spn_string_salt_shake - salt was empty"); return; }
	
	
	if (input_text_box == null) { return; }
	
	input_text = input_text_box.value;
	
	if (input_text == null) { alert("spn_string_salt_shake - text was empty"); return; }
	
	var result = new Array();
	
	salt_length = salt.length;
	input_text_length = input_text.length;
	
	input_text_clean = "";
	
	invalid_input_text_found = false;
	invalid_input_text = "";
	
	salt_found = false;
	
	input_text_too_long = false;
	
	for (i = 0; i < input_text_length; i++)
	{
		input_text_c = input_text.substr(i,1);
		salt_found = false;
		
		for (j = 0; j < salt_length; j++)
		{	
			salt_c = salt.substr(j,1);
			
			if (input_text_c == salt_c)
			{
				// valid character add it to the clean string
				input_text_clean += input_text_c;
				salt_found = true;
				break;
			}
		}
		
		if (!salt_found)
		{
			invalid_input_text_found = true;
			invalid_input_text += input_text_c;
		}
	}
	
	if (input_text_clean.length > max_characters)
	{
		input_text_clean = input_text_clean.substr(0,max_characters);
		input_text_too_long = true;
	}
	
	if (default_result_action)
	{
		if (invalid_input_text_found)
			alert(invalid_input_text + " is not allowed. Input allowed: " + salt);
		else if (input_text_too_long)
			alert("That is too much text, max " + max_characters + " characters.");
	}
	
	input_text_box.value = input_text_clean;
	
	result[0] = input_text_clean;
	result[1] = invalid_input_text_found;
	result[2] = invalid_input_text;
	result[3] = input_text_too_long;
	
	return result;
}


spn_url_get_init();

function spn_display_confirmation (msg,yes_url)
{
	var box = confirm(msg);
	
	if (box)
		window.location = yes_url;
}

function spn_form_select_change (select,hidden_input_id)
{
	var options = select.options;
	var option = options[select.selectedIndex];
	var hidden_input = document.getElementById(hidden_input_id);
	if (hidden_input != null)
		hidden_input.value = option.value;
}
