function toggle(id) {
	e=$(id);	if (e) { e.style.display=='none'?show(e):hide(e);}
	return false;
}

function show(id) {
  e=$(id);	if (e) { e.style.display = ''; }
	return false;
}

function hide(id)
{
	e=$(id);if (e) { e.style.display = 'none';}
	return false;
}

//AJAX CALLS
function check_username_available()
{
	var username = $('username');
	hide('check-username');
	if (username) {
		var url = '/account/ajax-handlers.php';
		var params = {'handler': 'check_username_available','arg0': username.value}
		params = Object.toQueryString(params);
		new Ajax(url, {
			method: 'post',
			onFailure: check_username_available,
			onSuccess: check_username_available_result,
			postBody: params
		}).request();
	}
}

function check_username_available_result(txtDoc)
{
	var box1, box2;

	//box1 will try to find an existing error div generated by php
	//and hide it if neccesary
	box1 = document.getElementById('ac_error_username');
	if (box1) {	hide('ac_error_username'); }
					
	//box2 will try to find the hidden div in the page change it's 
	//content and become visible
	box2 = document.getElementById('check-username');
	if (box2) {
		if (txtDoc == 'SUCCESS') {
			box2.innerHTML = "<div class='success'><p><b>Yes!</b> That username is available.</p></div>";
		} else {
			box2.innerHTML = "<div class='error'><p>"+txtDoc+"</p></div>";
		}
		show('check-username');
	}
}

function forgot_pass()
{
  var email = document.getElementById('email');
	hide('lp-msg');
  if (email) {
		var url = '/account/ajax-handlers.php';
		var params = {'handler': 'forgot_pass','arg0': email.value}
		params = Object.toQueryString(params);
		new Ajax(url, {
			method: 'post',
			onFailure: forgot_pass,
			onSuccess: forgot_pass_result,
			postBody:params
		}).request();
	}
}

function forgot_pass_result(txtDoc)
{
	var box1;
	var email = document.getElementById('email');
	
	box1 = document.getElementById('lp-msg');
	if (box1 && email) {
		if (txtDoc== 'SUCCESS') {
			box1.innerHTML = "<div class='success'><p>An email with instructions to reset your password has been sent to "+ email.value + ".</p></div>";
		} else {
			box1.innerHTML = "<div class='error'><p>"+txtDoc+"</p></div>";
		}
		show('lp-msg');
	}
}

function save_label(network_id, label)
{
	var url = '/account/ajax-handlers.php';
	var params = {'handler': 'save_label','arg0': network_id, 'arg1': label};
	params = Object.toQueryString(params);
	new Ajax(url, {method: 'post',postBody: params, evalResponse: true}).request();
}

function save_shortcut(shortcut_id, label, surl, tags)
{
	var url = '/account/ajax-handlers.php';
	var params = {'handler': 'save_shortcut',
		'arg0': shortcut_id, 
		'arg1': label,
		'arg2': surl,
		'arg3': tags
	};
	params = Object.toQueryString(params);
	new Ajax(url, {method: 'post',postBody: params, evalResponse: true}).request();
}

function confirm_delete_logo(e)
{
  var agree = confirm("Are you sure you want to delete this logo? Any networks using it will be set to the default.");
  if (agree) { 
		var logo_id = e.id;
		var url = '/account/ajax-handlers.php';
		var params = {'handler': 'delete_logo','arg0': logo_id}
		params = Object.toQueryString(params);
		new Ajax(url, {
			method: 'post',
			onSuccess: function(resp) {
				if(resp!='FAIL') {
					$('logobox'+resp).remove();
					var defid=$('defaultlogo').value;
					var target = $('logobox'+defid);
					if(target) {
					 target.getFirst().getFirst().checked='checked';
					} else {
						$('deflogobox').getFirst().getFirst().checked='checked';
					}
				}
			},
			postBody:params
		}).request();
	}
	return false;
}

function resend_new_email(e, newemail)
{
	var url = '/account/ajax-handlers.php';
	var params = {'handler': 'resend_new_email','arg0': newemail}
	params = Object.toQueryString(params);
	new Ajax(url, {
		method: 'post',
		onSuccess: function(resp) {
			if (resp=='SUCCESS') {
				ajaxmsg('success', 'Confirmation email resent to ' + newemail, $('sub-canvas'));
			} else {
				ajaxmsg('error', 'We\'ve recently emailed you at ' + newemail + ', try again in a few minutes.', $('sub-canvas'));
			}
		},
		postBody:params
	}).request();
	return false;
}

function ajaxmsg(type, msg, e) {
	ajaxmsgclr();
	var box = new Element('DIV');
	box.id = 'ajaxmsg';
	if (type=='success') {
		box.removeClass('error');
		box.addClass('success');
		box.setHTML('<p>' + msg + '</p>');
	} else {
		box.removeClass('success');
		box.addClass('error');
		box.setHTML('<p>' + msg + '</p>');
	}
	box.injectBefore($(e).getFirst());
	yft(box);
}
	
function use_this_ip()
{
	var ip = document.getElementById('current-ip');
	if (ip) {
		ip=ip.innerHTML;
		var octets = ip.split('.');
		for (i=0 ; i<4 ; i++) {
			document.addnetwork['cidr_base_octet'+(i+1)].value=octets[i];
		}
		document.addnetwork.cidr_prefix.value = 32;
	}
	document.addnetwork.submit();
}

function select_all_boxes(e, name)
{
	var shortcut_boxes = document.getElementsByName(name);
	var num_checked=0;
	var all_checked = true;
	for (var i = 0; i < shortcut_boxes.length ; i++) {
		if (shortcut_boxes[i].checked) num_checked++;
	}
	if (num_checked==shortcut_boxes.length) all_checked = false;
	for (var i = 0; i < shortcut_boxes.length ; i++) {
		if (!shortcut_boxes[i].disabled) {
			shortcut_boxes[i].checked = all_checked;
		}
	}
	e.checked=all_checked;
	return false;
}

function set_disabled(name, flag)
{
	var targets = document.getElementsByName(name);
	for (var i = 0; i < targets.length ; i++) {
		targets[i].disabled = flag;
	}
}

function make_netlabel_editable(e) {
	e.et = e.getFirst();
	e.el = e.et.getNext();
	
	var click_func = function() {
		hide(e.el);hide(e.et);
		e.edit_field = new Element('INPUT');
		e.save       = new Element('INPUT');
		e.cancel     = new Element('INPUT');
		e.edit_field.setProperties({type: 'text', value: $(e).et.innerHTML});
		e.save.setProperties({type: 'button', value: 'Save'});
		e.cancel.setProperties({type:  'button', value: 'Cancel'});
		e.save.addClass('ajaxbutton');
		e.cancel.addClass('ajaxbutton');

		var save_func  = function() {
			$(e).et.innerHTML = 'Saving...';
			save_label($(e).id, $(e).edit_field.value);
		}
		e.edit_field.save = save_func;
		e.edit_field.addEvent('keydown', function(ev) {
			ev = new Event(ev);
			if (ev.code==13) {
				ev.target.save();
			}
		});

		e.save.addEvent('click', save_func);
		e.cancel.addEvent('click', function() {
			e.cancel.remove();
			e.save.remove();
			e.edit_field.remove();
			show(e.el);show(e.et);
		});
		e.cancel.injectAfter($(e).el);
		e.save.injectAfter($(e).el);
		e.edit_field.injectAfter($(e).el);
		e.edit_field.focus();
	};
	e.et.addEvent('click', click_func);
	e.el.addEvent('click', click_func);
}

function make_shortcut_editable(e) {
	var cells = e.getChildren();
	e.s_label = cells[0].getFirst();
	e.s_url   = cells[2].getFirst();
	e.s_tagl  = e.s_url.getNext();
	e.s_tags  = e.s_tagl.getChildren()[1];
	numnets = $('num_networks').innerHTML;
	var enable_eip = function() {
		hide(e.s_label); hide(e.s_url); hide(e.s_tags);
		e.label_field = new Element('INPUT');
		e.url_field   = new Element('INPUT');
		if (numnets>0) {
			e.tags_field  = new Element('INPUT');
			show(e.s_tagl);
		}
		e.save        = new Element('INPUT');
		e.cancel      = new Element('INPUT');
		var clean_url   = cleanHTML($(e).s_url.innerHTML);
		e.label_field.setProperties({size: '10', type: 'text', value: $(e).s_label.innerHTML});
		e.url_field.setProperties({size: '60', type: 'text', value: clean_url});
		if(e.tags_field) {
			e.tags_field.setProperties({size: '40', type: 'text', value: $(e).s_tags.innerHTML});
		}
		e.save.setProperties({type: 'button', value: 'Save'});
		e.cancel.setProperties({type:  'button', value: 'Cancel'});
		e.save.addClass('ajaxbutton');
		e.cancel.addClass('ajaxbutton');
	
		var save_func = function() {
			var tags  = '';
			if($(e).tags_field) tags = $(e).tags_field.value;
			$(e).s_label.pval = $(e).s_label.innerHTML;
			$(e).s_label.innerHTML = 'Saving...';
			save_shortcut($(e).id, $(e).label_field.value, $(e).url_field.value, tags);
		}

		var enter_func =  function(ev) {
			ev = new Event(ev);
      if (ev.code==13) {
				ev.target.save();
      }
    }

		e.label_field.save = save_func;
		e.url_field.save = save_func;
		if (e.tags_field) e.tags_field.save = save_func;

		e.label_field.addEvent('keydown', enter_func);		
		e.url_field.addEvent('keydown', enter_func);
		if (e.tags_field) e.tags_field.addEvent('keydown', enter_func);

		e.save.addEvent('click', save_func);
		e.cancel.addEvent('click', function() {
			show(e.s_label); show(e.s_url); show(e.s_tags);
			if(!e.tags_field || (e.tags_field.value.search(/^\s*$/)!=-1)) hide(e.s_tagl);
			e.cancel.remove();
			e.save.remove();
			e.label_field.remove();
			e.url_field.remove();
			if (e.tags_field) e.tags_field.remove();
		});
		e.label_field.injectAfter(e.s_label);
		e.label_field.focus();
		e.url_field.injectAfter(e.s_url);
		if (e.tags_field) e.tags_field.injectInside(e.s_tagl);
		e.save.injectInside(cells[2]);
		e.cancel.injectInside(cells[2]);
	};
	e.s_label.addEvent('click', enable_eip);
	e.s_url.addEvent('click', enable_eip);
	e.s_tags.addEvent('click', enable_eip);
}

function updatetestimonial(current, interval) {
	var url = document.location.protocol + '//' + document.location.host + '/testimonial_ajax.php?current=' + current + '&interval=' + interval;
	var tajax = new Ajax(url, {
		method: 'get',
		evalResponse: true
	}).request();
};