﻿/* --------------------------------------------------------------
Helper JS functions used within the forms section
author: Silas Gibson
changes:
----------------------------------------------------------------*/

var xmlHttp
var frm1;
var admin = 0;

// ajax helper method called to get a division's departments when
// selected from drop down
function GetCategories(frm, topId)
{
    xmlHttp=GetXmlHttpObject()
    if (xmlHttp==null)
    {
        alert ("Browser does not support HTTP Request")
        return false;
    } 
    
    if (arguments.length > 2)
        admin = 1;
        
	frm1 = frm;
	
	if (frm1.searchDivId.options[frm.searchDivId.selectedIndex].value != 0) 
	{
	    var id = frm1.searchDivId.options[frm.searchDivId.selectedIndex].value;
	    
	    if (frm1.searchDivId.options[frm.searchDivId.selectedIndex].value == topId)
	        id = -1;
	        
        var url="getCategories.aspx?id=" + id;
        url=url+"&sid="+Math.random()
        xmlHttp.onreadystatechange=stateChanged
        xmlHttp.open("GET",url,true)
        xmlHttp.send(null)
    }
}

// ajax helper - calls function to populate dept drop down
function stateChanged() 
{ 
    if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
        PopulateCategory(xmlHttp.responseText);
}

// inserts dept into drop down
function PopulateCategory(txt) 
{
    var aList = txt.split(',');
    RemoveCategoryOptions(frm1);
    
    for (i=0; i < aList.length; i++) 
    {
        var aVals = aList[i].split('--');
        var val = aVals[0];
        var txt2 = aVals[1];        
        frm1.searchDeptId.options[i] = new Option(txt2, val);
    }
    
    if (aList.length != 1 && aList[0].value != 0 && admin == 0)
        frm1.searchDeptId.options[aList.length] = new Option("Select All", -1);
}

// removes all dept from drop down
function RemoveCategoryOptions(frm) 
{
    for(i=frm.searchDeptId.options.length-1;i>=0;i--) 
    {
       frm.searchDeptId.remove(i);
    }
}

// ajax helper
function GetXmlHttpObject()
{ 
    var objXMLHttp=null
    
    if (window.XMLHttpRequest)
        objXMLHttp=new XMLHttpRequest()
    else if (window.ActiveXObject)
        objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
        
    return objXMLHttp
}

// assigns edit action to form
function EditForm(action, id) 
{
    var f = document.frmForms;
    f.fid.value = id;
    f.action.value = action;
    f.submit();
}

// assigns download action to form
function DownloadForm(action, id) 
{
    var f = document.frmForms;
    f.fid.value = id;
    f.action.value = action;
    f.submit();
}

// assign delete action to form
function DeleteForm(action, id, dept) 
{
    var f = document.frmForms;
    f.fid.value = id;
    f.did.value = dept;
    f.action.value = action;
    f.submit();
}

// makes sure user has selected a division when searching for a form
function ValidateSearch(clientId)
{
    var f = document.frmForms;
    
    if (f.div.options[f.div.selectedIndex].value == 0)
    {
        alert("You must select a division");
        return false;
    }
    else
        return true;
}