﻿//**************************************************
function createFilter(name, value){
    var mFilter = new String()
    mFilter = name + "=" + value    
    return mFilter
}

var GridElements = new Hashtable()
var mLastWidth = 0
//**************************************************
function rePaintGrid(Grid, force){
    var gridGuideline = document.getElementById(Grid + "_guideline")
    
    if (gridGuideline == null){
        return
    }
    
    
    if (mLastWidth !== document.body.clientWidth || force){        
        var gridContainerHeader = document.getElementById(Grid + "_header")
        var gridHeader = document.getElementById(Grid + "_resultHeader")
        var gridResult = document.getElementById(Grid + "_result")
        
        gridContainerHeader.style.width = 100
        gridResult.style.width = 100
        
        var gridElement = document.getElementById(Grid)
        
        if (gridElement !== null){
            gridElement.style.width = 100
            
            var mWidth = new Number(gridHeader.style.width.replace("px", "").replace("%", ""))
            gridElement.style.width = (mWidth - 20)
        }
        gridResult.style.width = gridGuideline.clientWidth
        
        gridContainerHeader.style.width = gridGuideline.clientWidth
    }
    
    mLastWidth = document.body.clientWidth

    window.setTimeout("rePaintGrid('" + Grid + "', false)", 100);     

}
//**************************************************
function initializePaintGrid(Grid){
    var gridGuideline = document.getElementById(Grid + "_guideline")
    rePaintGrid(Grid, true)
    
    if (gridGuideline !== null){
        window.setTimeout("rePaintGrid('" + Grid + "',false)", 100);     
    }
}
//**************************************************
function initializeGrid(Grid, Sort, SortDirection){
    var object = new GridView()
    object.Grid = Grid
    object.Sort = Sort
    object.SortDirection = SortDirection
    
    initializePaintGrid(Grid)
    
    GridElements.put(Grid, object)    
}
//**************************************************
function Begin_Search(Grid, event){
    var object = null
    object = GridElements.get(Grid)

    object.Begin_Search(event)
}
function Begin_DoChangePageSize(Grid, pageSize){

    var object = null
    object = GridElements.get(Grid)
    object.PageSize = pageSize
    object.doPaging(1)
    
}
//**************************************************
function Begin_DoClear(Grid){
    var object = null
    object = GridElements.get(Grid)
    
    object.doClear()
}
//**************************************************
function Begin_DoSort(Grid, sort){
    var object = null
    object = GridElements.get(Grid)
    
    object.doSort(sort)
}
//**************************************************
function Begin_DoPaging(Grid, pageIndex){
    if (isNaN(pageIndex)){
        return
    }
    
    var object = null
    object = GridElements.get(Grid)
    
    object.doPaging(pageIndex)
}
//**************************************************
function Begin_Export(Grid, event){
    buildFilters()
    
    var object = null
    object = GridElements.get(Grid)
    
    document.all("export").contentWindow.navigate("search.aspx?export=1&sort=" + object.Sort + "&sortDirection=" + object.SortDirection + "&filters=" + object.Filter.join(";"))
    
    stopEvent(event)
}
//**************************************************
function Filter_Add(Grid, name, value){
    var object = null
    object = GridElements.get(Grid)
    
    var keyValuePair = createFilter(name, value)
    object.Filter.push(keyValuePair)
}
//**************************************************
function Filter_Clear(Grid){
    var object = null
    object = GridElements.get(Grid)
        
    object.Filter = new Array()
}
function Grid_Search(Grid, event){
	var object = null   
   object = GridElements.get(Grid)
   object.PageIndex = 1
   
   typSearch = 1

	Begin_Search(Grid)
}