function Selector(){
    this.$ = jQuery;
    this.html;
    this.TYPE_CLASS = 0;
    this.TYPE_ID = 1;
    this.getSelectors = function(withTagName){
        var idSelectors = this.createSelectors(this.TYPE_ID, withTagName);    
        var classSelectors = this.createSelectors(this.TYPE_CLASS, withTagName);

        return $.merge(idSelectors, classSelectors);
    }
    this.createSelectors = function(type, withTagName){
        switch (type) {
            case this.TYPE_CLASS:
                var attribute = 'class';
                var sign = '.';
                break;
                
            case this.TYPE_ID:
                var attribute = 'id';
                var sign = '#';
                break;
        }
        
        var elements = $('*[' + attribute + ']', this.html).toArray();
        var selectors = [];
        for (var key in elements) {
            var selector = sign + $(elements[key]).attr(attribute);
            if (withTagName) {
                selector = elements[key].tagName.toLowerCase() + selector;
            }
            selectors[selector] = selector;
        }
        return this.keys(selectors);
    }
    this.keys = function(targetObject){
        var returnValue = [];
        for (var key in targetObject) {
            returnValue.push(targetObject[key]);
        }
        return returnValue;
    }
    
    this.add = function(html){
        this.html = html;
        
    }
}


