//
// sponsors.js
//
// requires :
//   trader.js
//   

var sponsorsModuleInstance = new SponsorsModule();
sponsorsModuleInstance.pageLoad();

function SponsorsModule () {

    this.URL_XML = "./";
    this.MENU_CONTAINER_ID = "menu";
    this.PAGE_CONTAINER_ID = "page";
    this.BLOCK_CONTAINER_ID = "block";
    this.COMPONENT_CONTAINER_ID = "sponsor_search_result";
    
    this.pageLoad = function() {
        this.initVars();
    }
    
    this.initVars = function() {
        filters = null;
        search = null;
        id = null;
    }
    
    this.container;
    
    this.fetchXmlData = function() {
        var xmlGet = this.generateGet();
        var xmlPost = this.generatePost();
        fetchXmlData(this.URL_XML, xmlGet, xmlPost);
        
        this.initVars();
    }
    
    this.module;
    this.method;
    this.target;
    
    this.generateGet = function() {
        var params = "";
        
        params = appendUrlParam(params, "m", this.module);
        params = appendUrlParam(params, "method", this.method);
        params = appendUrlParam(params, "target", this.target);
        
        if(this.filters)
            params += "&" + this.filters;
        if(this.search)
            params = appendUrlParam(params, "search", this.search);
        if(this.id)
            params = appendUrlParam(params, "id", this.id);

        if(this.action) {
            params = appendUrlParam(params, "action", this.action);
        }
        
        return params;
    }
    
    this.generatePost = function() {
        var params = "";

        return params;
    }
    
    var filters;
    var search;
    var id;
    
    this.applyFilters = function(form) {
        var e=form.getElementsByTagName('input');
        this.filters = '';
        for(var i=0;i<e.length;i++) {
            if(e[i].type=='checkbox' && e[i].checked) {
                if(e[i].value != undefined) {
                    this.filters = appendUrlParam(this.filters, e[i].name, e[i].value);
                } else {
                    this.filters = appendUrlParam(this.filters, e[i].name, '');
                }
            } else if(e[i].type=='radio' && e[i].checked) {
                this.filters = appendUrlParam(this.filters, e[i].name, e[i].value);
            }
        }
        this.search = form.search.value;
    
        this.module = "sponsor-reviews";
        this.method = "ajax";
        this.target = this.COMPONENT_CONTAINER_ID;
        
        this.fetchXmlData();
        
        switch_blocks('filters_opened', 'filters_closed');
        
        return false;
    }
    
    this.clearFilters = function(form) {
        var e=form.getElementsByTagName('input');
        for(var i=0;i<e.length;i++) {
            if(e[i].type=='checkbox') {
                e[i].checked = false;
            } else if(e[i].type=='text') {
                e[i].value = '';
            }
        }
        
        return false;
    }
    
    this.viewReview = function(id) {
        this.id = id;
    
        this.module = "sponsor-review-view";
        this.method = "ajax";
        this.target = this.BLOCK_CONTAINER_ID;
        
        this.fetchXmlData();
    }        

    this.browseSponsors = function() {
        this.module = "sponsor-reviews";
        this.method = "ajax";
        this.target = this.BLOCK_CONTAINER_ID;
        
        this.fetchXmlData();
    }        
}