         return ""
     )
     return classes.join(" ")
-    
+
   bindData: (data, container) ->
     if not srcBound
       @bindSources(data, container, false)

  getInputType: (eles) ->
    input_type = undefined
    try
      if $(eles).attr("data-input") 
          input_type = $(eles).attr("data-input").toString()
    catch ex
      input_type = "text"
    return input_type
  
  getInputName: (eles, property) ->
    if $(eles).attr("data-name")
        input_name = $(eles).attr("data-name")
    else if property.length > 1 
        input_name = property.join("_")
    else
        input_name = property.toString()
  
  getInputId: (eles, property, row_count) ->
    if $(eles).attr("data-id")
        input_id = $(eles).attr("data-id")
    else
        input_id = property.join("_")
        input_id = "#{input_id}_#{row_count}"
  
  getId: (eles) ->
    ele_id = ""
    if $(eles).attr("data-id")
      ele_id = $(eles).attr("data-id")
    return ele_id
    
  getClasses: (eles) ->
    if $(eles).attr("data-class")
      cls = $(eles).attr("data-class")
    else
      cls = ""
    return cls
      
  addTableLink: (eles) ->
    row = "<td>"
    row += "<a href='#{$(eles).attr('data-href')}' onclick='#{$(eles).attr('data-click')}'><span class='#{$(eles).attr('data-class')}'> </span></a>"
    row += "</td>"
    return row
     
  addTableInput: (name, id, nested, property, change, blur) ->
    unless nested?
      return null
    row  = "<input name='#{name}' id='#{id}' value='#{nested}' onblur='#{blur}' class='hidden #{property.join("_")} editable' onchange=\"#{change}\"/>"
    row += "</td>"
    return row
    
  addEmptyColumn: ->
    row = "<td></td>"
    return row
    
  addTableSelect: (input_name, row_count, val, eles, property, data, nested,change, blur) ->
    row = ""
    select_options = data

    row += "</select>"
    row += "</td>"
    return row

  setColumnClasses: (options) ->
    classes = []
    jQuery.each(options, (i, val) ->
