/**
* some helper functions
*/

var utils = module.exports = {};



/*
* tabSpace
*/


utils.tabSpace = function(num){
    var tabSpace = "",
        tabSpaceNum = num || 4;
      for (var i = 0; i < tabSpaceNum; ++i){
        tabSpace += " " ; 
      }
      return tabSpace ;
}

/*
* whiteSpace processing
*/

utils.whiteSpaceHarden = function(code){
    var str = '';
    str = code.replace(/ /g, " ")
        .replace(/\n/g, "
")
        .replace(/\t/g, utils.tabSpace());
    return str;
}


/*
* escape html
*/

utils.escapeHtml = function(code){
    var s = code;
    s = s.replace(/&/g, "&")
        .replace(/, "<")
        .replace(/>/g, ">");
    return s;
}

/*
* escape and harden code
*/

utils.escapeAndHarden = function(code){
    code = utils.escapeHtml(code);
    return utils.whiteSpaceHarden(code);
}