function strip_tags(html){
  //PROCESS STRING
  if(arguments.length < 3) {
    html=html.replace(/<\/?(?!\!)[^>]*>/gi, '');
  } else {
    var allowed = arguments[1];
    var specified = eval("["+arguments[2]+"]");
    if(allowed){
      var regex='</?(?!(' + specified.join('|') + '))\b[^>]*>';
      html=html.replace(new RegExp(regex, 'gi'), '');
    } else{
      var regex='</?(' + specified.join('|') + ')\b[^>]*>';
      html=html.replace(new RegExp(regex, 'gi'), '');
    }
  }

  //CHANGE NAME TO CLEAN JUST BECAUSE 
  var clean_string = html;

  //RETURN THE CLEAN STRING
  return clean_string;
}

function generateMeta(text) {
  var words = text.split(/[\s\r\n]/);
  var wordWeights = {};
  var word;
  for (var i=0; i<words.length; i++) {
    word = $.trim(words[i]).replace(/[\.,":\?\!]/, '');
    if (word != '' && word.length > 3) {
      if (wordWeights[word] == undefined) {
        wordWeights[word] = 1;
      } else {
        wordWeights[word] = parseInt(wordWeights[word]) + 1;
      }
    }
  }
  
  var sortFunc = function(a, b) {
    if (a[1] > b[1]) {
      return -1;
    } else if (a[1] < b[1]) {
      return 1;
    } else {
      return 0;
    }
  }
  
  words = getHashKeysSorted(wordWeights, sortFunc);  
  
  var meta_keywords = '<meta name="keywords" content="' + words.slice(0, 10).join(', ') + '" />';
  var meta_description = '<meta name="description" content="' + text.substr(0, 150) + '..." />';
  
  return meta_keywords + "\n" + meta_description;
}

function sortHash(hash, sortFunction) {
  var temp = new Array();
  var newHash = {};
  for (var k in hash) {
    temp.push([k, hash[k]]);
  }
    
  temp.sort(sortFunction);
  
  for (var i=0; i<temp.length; i++) {
    newHash[temp[i][0]] = temp[i][1];
  }
  
  return newHash;
}

function getHashKeysSorted(hash, sortFunction) {
  var temp = new Array();
  var hashKeys = new Array();
  for (var k in hash) {
    temp.push([k, hash[k]]);
  }
    
  temp.sort(sortFunction);
  
  for (var i=0; i<temp.length; i++) {
    hashKeys.push(temp[i][0]);
  }
  
  return hashKeys;
}
