﻿var skipHide = true;
var appID = "";
var toolID = "";

function processPageLoad() {
    var btn = returnObjById("ctl00_ContentPlaceHolder1_rbCounterboreTools")
    if( btn ) {
        skipHide = true;
        processHolemakingPageLoad();
        skipHide = false;
    }
    
    btn = returnObjById("ctl00_ContentPlaceHolder1_rbEndMill")
    if( btn ) {
        skipHide = true;
        processMillingPageLoad();
        skipHide = false;
    }
}


//  Application Definition

Application.prototype.isSelected=isSelected;
Application.prototype.select=select;
Application.prototype.enable=enable;
Application.prototype.getImageId=getImageId;
Application.prototype.getRadioId=getRadioId;
Application.prototype.getLabelId=getLabelId;

function Application(name) {
    this.name = name;
    if( this.isSelected() ) 
        highlightImage(this.getImageId());
}
function createApplication(name) {
    applications[name] = new Application(name);
}
function getImageId() {
    return "ctl00_ContentPlaceHolder1_img" + this.name;
}
function getRadioId() {
    return "ctl00_ContentPlaceHolder1_rb" + this.name;
}
function getLabelId() {
    return "ctl00_ContentPlaceHolder1_lbl" + this.name;
}
function select() {
    var radioButton = returnObjById(this.getRadioId());
    if( radioButton && radioButton.disabled == false ) {
        radioButton.checked = true;
        highlightImage(this.getImageId());
    }
}

function isSelected() {
    var rb = returnObjById(this.getRadioId());
    if( rb ) {
        return rb.checked;
    }
    else {
        return false;
    }
}

function enable(enable) {
    enableRadioButton(this.getRadioId(), enable);
    enableImage(this.getImageId(), enable);
    enableLabel(this.getLabelId(), enable);
}


//  Tool Definition

Tool.prototype.isSelected=isSelected;
Tool.prototype.select=selectTool;
Tool.prototype.enable=enableTool;
Tool.prototype.getRadioId=getRadioId;
Tool.prototype.getLabelId=getLabelId;

function Tool(name) {
    this.name = name;
    if( this.isSelected() ) 
        highlightImage(this.getImageId());
}
function createTool(name) {
    tools[name] = new Tool(name);
}
function selectTool() {
    var radioButton = returnObjById(this.getRadioId());
    if( radioButton && radioButton.disabled == false ) {
        radioButton.checked = true;
    }
}

function enableTool(enable) {
    enableRadioButton(this.getRadioId(), enable);
    enableLabel(this.getLabelId(), enable);
}

var previousImage;

function highlightImage(name) {
    if( previousImage ) {
        previousImage.className = "application";
    }
        
    var img = returnObjById(name);
    if( img ) {
        img.className = "enabled_application";
        previousImage = img;
        hideErrorMessage();
    }
}

function enableRadioButton(name, enable) {
    var radioButton = returnObjById(name);
    if( radioButton ) {
        if( enable ) {
            radioButton.disabled = false;
        }
        else {
            radioButton.checked = false;
            radioButton.disabled = true;
        }
    }
}

function enableImage(name, enable) {
    var img = returnObjById(name);
    if( img ) {
        if( enable ) {
            img.style.filter = "alpha(opacity:100)";
            img.style.MozOpacity=1.0;
            //img.className = "application";
        }
        else {
            img.style.filter = "alpha(opacity:30)";
            img.style.MozOpacity=0.3;
            img.className = "application";
        }
    }
}

function enableLabel(name, enable) {
    var lbl = returnObjById(name);
    if( lbl ) {
        if( enable ) {
            lbl.disabled = false;
        }
        else {
            lbl.disabled = true;        
        }
    }   
}

//var applications = new Array();
//function createApplications() {
//    createApplication("AnyApplication")
//    createApplication("Chamfering")
//    createApplication("Countersinking")
//    createApplication("Drilling")
//    createApplication("Engraving")
//    createApplication("Plunging")
//    createApplication("SpotDrilling")
//}

function checkSearchButton() {
    if( isApplicationSelected() || isToolSelected() ) {
        var searchButton = returnObjById("ctl00_ContentPlaceHolder1_btnSearch")
        if( searchButton )
            searchButton.disabled = false;
    }
    else {
        var searchButton = returnObjById("ctl00_ContentPlaceHolder1_btnSearch")
        if( searchButton )
            searchButton.disabled = true;
    }
}

function isApplicationSelected() {
    for( appID in applications ) {
        var app = applications[appID];
        if( app && app.isSelected() ) {
            return appID != "AnyApplication";
        }
    }
    return false;
}

function isToolSelected() {
    for( toolID in tools ) {
        var tl = tools[toolID];
        if( tl && tl.isSelected() ) {
            return toolID != "AnyTool";
        }
    }
    return false;
}

//function isToolSelected() {
//    if( isRadioSelected("CounterboreTools") )
//        return true;
//    else if( isRadioSelected("Drills") )
//        return true;
//    else if( isRadioSelected("SpotDrills") )
//        return true;
//    else
//        return false;
//}

function hideErrorMessage() {
    if( ! skipHide ) {
        var msg = returnObjById("ctl00_ContentPlaceHolder1_lblMessage")
        if( msg ) {
            msg.style.display="none";
        }
        checkSearchButton();
    }
}
   
//function checkToolSelection() {
//    if( isRadioSelected("CounterboreTools") ) {
//        counterboreToolSelected();
//    }
//    else if( isRadioSelected("Drills") ) {
//        drillSelected();
//    }
//    else if( isRadioSelected("SpotDrills") ) {
//        spotDrillSelected();
//    }
//    else {
//        anyToolSelected();
//    }
//}

function isRadioSelected(name) {
    var rb = returnObjById("ctl00_ContentPlaceHolder1_rb" + name)

    if( rb ) {
        return rb.checked;
    }
    else {
        return false;
    }
}

function enableApplication(name, enable) {
    var app = applications[name];
    if( app ) {
        app.enable(enable);
    }
}

//function counterboreToolSelected() {
//    enableAllApplications(true);
////    enableApplication("Slotting",false);
////    enableApplication("TSlotting",false);
//    hideErrorMessage();
//}

//function drillSelected() {
//    enableAllApplications(true);
////    enableApplication("CornerRounding",false);
////    enableApplication("DrillMill",false);
////    enableApplication("Slabbing",false);
////    enableApplication("Slotting",false);
////    enableApplication("TSlotting",false);
//    hideErrorMessage();
//}

//function spotDrillSelected() {
//    enableAllApplications(true);
////    enableApplication("Plunging",true);
////    enableApplication("AnyApplication",true);
//    hideErrorMessage();
//}

function anyToolSelected() {
    enableAllApplications(true);
    enableApplication("AnyApplication",false);
    hideErrorMessage();
}

function enableAllApplications(enabled) {
    for( appID in applications ) {
        var app = applications[appID];
        if( app ) {
            app.enable(enabled);
        }
    }
}

function selectApplication( name ) {
    var app = applications[name];
    if( app ) {
        app.select();
    }
}

function returnObjById( id ) 
{ 
    if (document.getElementById) 
        var returnVar = document.getElementById(id); 
    else if (document.all) 
        var returnVar = document.all[id]; 
    else if (document.layers) 
        var returnVar = document.layers[id]; 
    return returnVar; 
}