﻿
function FillContentPane(url) {

    //alert("FillContentPane: " + url);
    
	window.parent.frames['fraContent'].location.href = url;
	return true;
}

function FillNavPane(url) {
    if(window.parent.frames['fraNav'] != null && window.parent.frames['fraNav'] != undefined){
	    window.parent.frames['fraNav'].location.href = url;
	}
	return true;
}

//TREEVIEW STUFF

//This is here in case it is needed.
function GetTreeHandle() {
	var tree;
	var treeName = 'tvwMain';

	tree = document.getElementById(treeName);

	if (tree == null || tree == undefined) return null;

	return tree;
}

function GetSelectedNode() {

	var selectedNode = event.srcElement || event.target;

	return selectedNode;
}

function EnableTreeView(enable) {

    if(!enable){
        FillNavPane('about:blank');
        return true;
    }

    if (window.parent.frames['fraNav']) {
        if (window.parent.frames['fraNav'].document.getElementById('tvwMain') == null) {
            FillNavPane('../MainNavigation.aspx');
        }
        else {
            CheckTreeViewStatus(enable);
        }
    }
    return true;
}

function CheckTreeViewStatus(enable){

    if(enable){
        if(window.parent.frames['fraNav'].document.getElementById('tvwMain') == null){
            FillNavPane('../MainNavigation.aspx');
            return true;
        }
        
        if(window.parent.frames['fraNav'].document.getElementById('tvwMain').style.visibility == 'hidden' ||
           window.parent.frames['fraNav'].document.getElementById('tvwMain').style.visibility == ''){
           
            //FillNavPane('../MainNavigation.aspx');
            window.parent.frames['fraNav'].document.getElementById('tvwMain').style.visibility = 'visible';
            return true;
        }
	else return false;
    }
}

function EnableAdminTreeView(enable) {

    if(!enable){
        FillNavPane('about:blank');
        return true;
    }
    
    if(window.parent.frames['fraNav'].document.getElementById('tvwMain') == null){
        FillNavPane('../Admin/AdminNavigation.aspx');
    }
    else{
        CheckAdminTreeViewStatus(enable);
    }
    
    return true;
}

function CheckAdminTreeViewStatus(enable){

    if(enable){
        if(window.parent.frames['fraNav'].document.getElementById('tvwMain') == null){
            FillNavPane('../Admin/AdminNavigation.aspx');
            return true;
        }
        
        if(window.parent.frames['fraNav'].document.getElementById('tvwMain').style.visibility == 'hidden' ||
           window.parent.frames['fraNav'].document.getElementById('tvwMain').style.visibility == ''){
           
           window.parent.frames['fraNav'].document.getElementById('tvwMain').style.visibility = 'visible';
           return true;
        }
	else return false;
    }
}

function OpenNewWindowByName(url, title) {
    //window.open(url, title, "status=yes,toolbar=no,location=no", true);
    window.open(url, title, "status=yes,toolbar=no,location=no,resizable=yes",true);
    return true;
}

function client_OnTreeNodeClicked() {

    var selectedNode = GetSelectedNode();
    
    //alert("client_OnTreeNodeClicked: " + selectedNode.innerText);

    if (selectedNode != null && selectedNode != undefined) {
        var param = selectedNode.innerText;
        var url;
        switch (param) {
            case "": //Node expand/collapse clicked.
                //selectedNode.expand;
                break;

            case "Email Comments":
                FillContentPane("../Pages/EmailComments.aspx?IsVisible=0");
                break;

            case "Change Password":
                FillContentPane("../Pages/ChangePassword.aspx?IsVisible=false");
                break;

            case "FAQ":
                FillContentPane("about:blank");
                break;

            case "How-To":
                //OpenNewWindow("../docs/General_Instructions.pdf");
                break;

            case "General":
            case "Instructions":
            case "Customers":
                //alert('C');
                //selectedNode.expand;
                FillContentPane("../Pages/InstructionPrompt.aspx");
                break;
            case "Projects":
                //alert('P');
                //selectedNode.expand;
                FillContentPane("../Pages/InstructionPrompt.aspx");
                break;
            case "Reports":
                FillContentPane("../Pages/InstructionPrompt.aspx");
                break;
            default:
                //alert('default');
                var parentType = GetParentType(selectedNode.parentNode.pathname);
                //selectedNode.expand;

                //alert('Parent is ' + parentType.toString());

                //alert(parentType);

                var custNumberStart;
                var custPart;
                var custNmbr;
                var urlStart;
                switch (parentType) {
                    case "CUST":
                        //The customer node has company information suffixed onto it.
                        //Remove this and send only the customer number.
                        custNumberStart = selectedNode.parentNode.pathname.search('CUST_') + 5;
                        custPart =
                            selectedNode.parentNode.pathname.substring(custNumberStart);
                        //The delimiter for the cust number part is '~'
                        custNmbr = custPart.substring(0, custPart.search('~'))
                        //if picked a customer, need to clear the project #
                        //selectedNode.expand;

                        //alert(custNmbr);
                        //url = "../Pages/Welcome.aspx?CUSTNMBR=" + custNmbr + "&BDSNBR=";
                        // Take them to Project Search
                        url = "../Pages/SearchDisplayPage.aspx?searchID=2&displayID=6&featureID=23&CUSTNMBR=" + custNmbr;
                        //alert('here');
                        //selectedNode.expand;
                        //alert('CUST');
                        //alert(url);
                        FillContentPane(url)
                        //selectedNode.selectedNode = true;
                        break;

                    case "PROJ":
                        //alert('PROJ');
                        //                        var projNumberStart = selectedNode.parentNode.pathname.search('PROJ_') + 5;
                        //                        var projPart =
                        //                            selectedNode.parentNode.pathname.substring(projNumberStart);
                        //                        var bdsNbr = projPart.substring(0, projPart.search("'"));
                        bdsNbr = selectedNode.innerText.substring(0, selectedNode.innerText.search(' '));
                        //alert(bdsNbr);
                        if (selectedNode.innerText.search('ARCV_') < 1) {
                            custNumberStart = selectedNode.innerText.search('Cust: ') + 6;
                            custPart =
                                selectedNode.innerText.substring(custNumberStart);
                            custNmbr = custPart.substring(0)
                            //alert(custNmbr);

                            //                        custNumberStart = selectedNode.parentNode.pathname.search('[Cust: ') + 6;
                            //                        custPart =
                            //                            selectedNode.parentNode.pathname.substring(custNumberStart);
                            //                        custNmbr = custPart.substring(0, custPart.search(']'))
                            //                        alert(custNmbr);
                            //alert('PROJ');
                            url = "../Pages/Welcome.aspx?CUSTNMBR=" + custNmbr + "&BDSNBR=" + bdsNbr;
                            //alert(url);
                            FillContentPane(url);
                            selectedNode.selectedNode = true;
                            //selectedNode.expand;
                        }
                        break;
                    case "REPORT":
                        //alert(selectedNode.parentNode.pathname);
                        urlStart = selectedNode.parentNode.pathname.search('REPORT_') + 7;
                        url = selectedNode.parentNode.pathname.substring(urlStart);
                        //Chop quote and paren off end
                        url = url.substring(0, url.length - 2);
                        url = "../Pages/" + url;
                        //alert(url);
                        FillContentPane(url);
                        selectedNode.selectedNode = true;
                }
                break;
        }

        // Ensure selected node is visible...
        //        if (selectedNode.innerText != "") {
        //            alert('here');
        //            var objScroll = document.getElementById("tvwMain");
        //            alert(objScroll);
        //        }

    }

    if (selectedNode.selected != true) {
        ///selectedNode.selected = true;
    }
    return true;
}

//function AutoRcvSrch(custNmbr,bdsNbr) {
//    //FillContentPane("about:blank");
//    url = "../Pages/SearchDisplayPage.aspx?CUSTNMBR=" + custNmbr + "&BDSNBR=" + bdsNbr;
//    url = url + "&searchID=4&displayID=8&featureID=39&AutoSearch=1";
//    FillContentPane(url);
//    return true;
//}

//function ShowProcessing() {
//    if (window.parent.frames['fraContent'] != null && window.parent.frames['fraContent'] != undefined) {
//        window.parent.frames['fraContent'].location.href = "\ShowProcessing.aspx";
//    }
//    return true;
//}

function GetParentType(text) {
    var result = "";

    //Check for PROJ first. 
    //It will also have a CUST string in it as well.
    //
    if(text != null && text != undefined){
    
        var proj = text.search("PROJ_");
        if (proj > 0) {
            result = "PROJ";
        }

        if (proj <= 0){
            var cust = text.search("CUST_");
            if (cust > 0) {
                result = "CUST";
            }
        }

        if (proj <= 0) {
            var cust = text.search("REPORT_");
            if (cust > 0) {
                result = "REPORT";
            }
        }
    }
    return result;
}


// MENU STUFF

function GetSelectedItem() {

	var selectedItem = event.srcElement || event.target;

	return selectedItem;
}

function client_OnClick() {

	var selectedItem = GetSelectedItem();

	if (selectedItem != null && selectedItem != undefined) {
		var url = selectedItem.innerText

        alert("client_OnClick: " + url);

		switch (url) {
			case "":
				break;

			case "Main Menu":
				break;
			
			case "Project Search":
			case "Transportation Shipment Search":
				FillContentPane("/Pages/SearchDisplayPage.aspx");
				break;
		
			default:
				break;
		}
	}

	return true;
}


//Banner Stuff

function SetWelcomeMessage(text) {
	document.getElementById('divWelcomeMessage').innerText = text;
	return true;
}


function OpenAdmin() {
	FillNavPane("../Admin/AdminNavigation.aspx");
	FillContentPane("../Admin/BlankPage.aspx");
	return true;
}
