// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults

function toggle_ad_word(text_area_id, ad_word)
{
	t = $(text_area_id);
	r = new RegExp('\\s*'+ad_word+'\\s*');
	if(m=t.value.match(r)){
		t.value = t.value.gsub(m,' ');
	}else{
		t.value = t.value + ' ' + ad_word;
	}
	
	t.value = t.value.gsub(/(AND\s*)+/,' AND ')
	t.value = t.value.gsub(/(OR\s*)+/,' OR ')
	
	t.value = t.value.gsub(/(\(+)\s*(OR|AND)/,'#{1}');
	t.value = t.value.gsub(/(OR|AND)\s*(\)+)/,'#{2}');
	
	t.value = t.value.gsub(/^\s*(OR|AND)/,'');
	t.value = t.value.gsub(/(OR|AND)\s*$/,'');

	t.value = t.value.gsub(/\"+\s*\"+|\'+\s*\'+|\(+\s*\)+/,'');
	
	t.value = t.value.gsub(/\(\s*(\w+)\s*\)/,'#{1}');
	t.value = t.value.gsub(/\'\s*(\w+)\s*\'/,'#{1}');
	t.value = t.value.gsub(/\"\s*(\w+)\s*\"/,'#{1}');
	
	t.value = t.value.gsub(/\s+/,' ').strip();
}	

RegExp.escape = function(text) {
  if (!arguments.callee.sRE) {
    var specials = [
      '/', '.', '*', '+', '?', '|',
      '(', ')', '[', ']', '{', '}', '\\'
    ];
    arguments.callee.sRE = new RegExp(
      '(\\' + specials.join('|\\') + ')', 'g'
    );
  }
  return text.replace(arguments.callee.sRE, '\\$1');
}
