function add_to_tags (search)
{
	if(search.match(/\s/)) { search = '"' + search + '"'; }
	$('tag_list').value = $F('tag_list') + " " + search;
}

function toggle_popup (element) {
Effect.toggle(element,'appear',{});
}

function close_popup (element) {
new Effect.Fade(element,{});
setTimeout(function() {
Element.remove(element);
}, 1000);
}

function add_to_list (search_term, url)
{
   	new Ajax.Request(url, {asynchronous:true, evalScripts:true, parameters:'search=' + escape(search_term)});
}

function remove_with_fade (element)
{
	new Effect.Fade(element,{});
	setTimeout(function() {
	[element].each(Element.remove);
	}, 2000);
}

function mark_for_destroy(element,klass) { 
  $(element).next('.should_destroy').value = 1
  slide_back_element($(element).up(klass))
	setTimeout(function() {
	  $(element).up(klass).hide(); 
	}, 700);
}

function remove_with_slider(element,klass) {
	slide_back_element($(element).up(klass))
	setTimeout(function() {
		$(element).up(klass).remove()
	}, 700);
}

function do_not_submit_on_enter() {
  return !(window.event && window.event.keyCode == 13); 
}

function slide_back_element(element) {
	new Effect.BlindUp(element,{});
}

function flash_fade ()
{
	setTimeout(function() {
	remove_with_fade ('flash_notice');
	}, 4000);
}

function flash_fade_with_focus_on (element) {
	focus_on(element);
	flash_fade();
}

function focus_on (element) {
	$(element).className = "focused";
	$(element).scrollTo();
}

function change_country() {
    $$(".country_code").each(function(item) { Form.Element.enable(item); });
}

function select_check_box(element) {
    /* Form.getInputs('recipe_form','checkbox').each(function(item) { item.checked = false; }); */
    $$(element).checked = !$$(element).checked;
}


function toggle_list (list_items,offset,link) {
	$$(list_items).each(function(item,index) {
		if ((index+1) > offset) {
			Effect.toggle(item,'appear',{});
		}
		});
}


function getLocationTopics(field,insert_element) {
	if(field.value != '') {
	new Ajax.Request("/locations/"+ field.value +"/topics", {asynchronous:true, evalScripts:true, parameters:'element=' + escape(insert_element)});
	}
}

function toggle_event_option(field){
	var r = 'reoccurring_event';
	var s = 'scheduled_event';
	
	if (field.checked){
		visible_element = s;
		hidden_element = r;
	}
	else {
		visible_element = r;
		hidden_element = s;
	}
	
	setTimeout(function() {
		$(visible_element).hide()
		$$('#' + visible_element + ' select').each(function(value, index) { value.disable();})
	}, 800);
		setTimeout(function() {
		$$('#' + hidden_element + ' select').each(function(value, index) { value.enable();})
		$(hidden_element).show();
		}, 800);

}


function update_frequency_unit(value) {
	var short_text;
	var long_text;
	var membership_dd = $('event_frequency_members').up()
	var membership_dt = $('event_frequency_members').up().previous();
	
	switch(value)
	{
	case "daily":
	 short_text = 'day(s)';
	 long_text = "";
	 membership_dd.hide();
	 membership_dt.hide();
	 break;    
	case "monthly":
	  short_text = 'month(s)'
	  long_text = "Enter the days of the month (<strong>1-31</strong>) separated by semicolon";
	  membership_dd.show();
	  membership_dt.show();
	  break;
	case "weekly":
	  short_text = 'weeks(s)'
	  long_text = "Enter the names of the weekdays (<strong>Mon-Sun</strong>) separated by semicolon";
	  membership_dd.show();
	  membership_dt.show();
	break;
	case "yearly":
	  short_text = 'weeks(s)'
	  long_text = "Enter the months of the year (<strong>1-12</strong>) separated by semicolon";
	  membership_dd.show();
	  membership_dt.show();
	  break;
	}
	
	$("frequency_unit").innerHTML = short_text;
	$("frequency_members").innerHTML = long_text;
}

function insertAtCursor(myField, myValue) {
  //IE support
  
  myValue = myValue + ' ';
  if (document.selection) {
    myField.focus();
    sel = document.selection.createRange();
    sel.text = myValue;
  }

  //MOZILLA/NETSCAPE support
  else if (myField.selectionStart || myField.selectionStart == '0') {	
    var startPos = myField.selectionStart;
    var endPos = myField.selectionEnd;
	var old_value = myField.value.substring(startPos,endPos)
	if(old_value != '') { 
		myValue = myValue.sub(/"(.*?)"/,'"'+ old_value +'"');
		 }
	
    myField.value = myField.value.substring(0, startPos)
                  + myValue
                  + myField.value.substring(endPos, myField.value.length);
  } else {
    myField.value += myValue;
  }
}

function forwardSelectedUrlTo (element) {
	window.location.href = element.value;
	return false;
}


function forwardSelectedUrlToForField(field) {
	var element = $(field);
	forwardSelectedUrlTo(element);
	return false;
}

function forwardSelectedUrlToForForm (form) {
	var element = form.elements[0];
	forwardSelectedUrlTo(element);
	return false;
}

function remove_lines_from (element,lines) {
	new_height = (parseInt($(element).style.height) || parseInt($(element).rows)) - lines;
	if (new_height > 1) {
	$(element).style.height = new_height + "em";
	}
}

function add_lines_to (element,lines) {
	new_height = (parseInt($(element).style.height) || parseInt($(element).rows)) + lines;
	$(element).style.height = new_height + "em";
}