var xmlhttp;
var form;
var domain_ids = new Array();
var domain_list = new Array();
function in_array(what, where)
{
	var res=false;
	for(var i=0;i<where.length;i++)
	{
		if(what == where[i])
		{
			res=true;
			break;
		}
	}
	return res;
}
function add_domain(domain_id, domain)
{
	if(document.getElementById(domain_id).checked == true)
	{
		domain_ids.splice(domain_ids.length, 0, domain_id);
		update_manage_list(domain_ids.length, domain, 'add');
	}
	else
	{
		domain_ids.splice(domain_ids.indexOf(domain_id), 1)
		update_manage_list(domain_ids.indexOf(domain_id), domain, 'rem');
	}
}
function update_manage_list(key, domain, action)
{
	if(action == 'rem')
	{
		domain_list.splice(key, 1)
		regenerate_manage_domain_list();
	}
	else
	{
		domain_list.splice(key, 0, domain);
		regenerate_manage_domain_list();
	}
}
function regenerate_manage_domain_list()
{
	if(domain_list.length > 0)
	{
		list = domain_list.slice();
		list = list.sort();
		list = list.join('<br />');
	}
	else
	{
		list = '';
	}
	document.getElementById('managed_domains_list').innerHTML = list;
}
function showHref(elementID)
{
	createXMLHttpRequest();
	url = document.getElementById(elementID).href + '&ajax=true';
	xmlhttp.open('GET', url, true);
	xmlhttp.send('');
	xmlhttp.onreadystatechange = domain_callback;
	return false;
}
function domain_callback()
{
	if(xmlhttp.readyState == 4)
	{
		if(xmlhttp.status == 200)
		{
			document.getElementById('content').innerHTML=xmlhttp.responseText;
			form = document.getElementById('domains');
			for (var i=0; i < form.elements.length; i++)
			{
				if(in_array(form.elements[i].value, domain_ids))
				{
					form.elements[i].checked = true ;
				}
			}
			regenerate_manage_domain_list();
		}
		else
		{
			document.getElementById('content').innerHTML='There has been a problem';
		}
	}
}
function update_domains()
{
	createXMLHttpRequest();
	form = document.getElementById('domains');
	url = form.action+'?ajax=true';
	query = 'act='+document.getElementById('act').value+'&';
	len = domain_ids.length;
	for ( i=0; i < len; i++ )
	{
		query = query+'domain_id[]='+domain_ids[i]+'&';
	}
	xmlhttp.open('POST', url, true);
	xmlhttp.setRequestHeader('Content-Type', form.encoding);
	xmlhttp.send(query);
	xmlhttp.onreadystatechange = callback;
	return false;
}
function createXMLHttpRequest()
{
	if(window.ActiveXObject)
	{
		xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
	}
	else if(window.XMLHttpRequest)
	{
		xmlhttp = new XMLHttpRequest();
	}
}
function get_request(form_name, callback_method)
{
	createXMLHttpRequest();
	form = document.getElementById(form_name);
	if(form.method == 'get')
	{
		url = form.action+'?ajax=true&'+query_string();
		xmlhttp.open('GET', url, true);
		xmlhttp.send('');
	}
	else
	{
		url = form.action+'?ajax=true';
		xmlhttp.open('POST', url, true);
		xmlhttp.setRequestHeader('Content-Type', form.encoding);
		xmlhttp.send(query_string());
	}
	if(callback_method == 'domain')
	{
		xmlhttp.onreadystatechange = domain_callback;
	}
	else
	{
		xmlhttp.onreadystatechange = callback;
	}
	return false;
}
function query_string()
{
	var str = '';
	for (var i=0; i < form.elements.length; i++)
	{
		if(form.elements[i].type == 'checkbox' && form.elements[i].checked == false){}
		else
		{
			str = str+form.elements[i].name+'='+form.elements[i].value+'&';
		}
	}
	return str;
}
function callback()
{
	if(xmlhttp.readyState == 4)
	{
		if(xmlhttp.status == 200)
		{
			document.getElementById('content').innerHTML=xmlhttp.responseText;
			nicEditors.allTextAreas();
		}
		else
		{
			document.getElementById('content').innerHTML='There has been a problem';
		}
	}
}
bkLib.onDomLoaded(function() { new nicEditor().panelInstance('description'); });
