﻿var _from = 0;
var _to = 0;
var _type = "";
var _model = "";

function DisplayMachPaneList(Type, From, To)
{
    _from = From;
    _to = To;
    
    //if($get("MachListPanel").style.display == "none" || _type != Type)
    //{
    _type = Type;
    $get("MachListPanel").innerHTML = "";
    Makino.MachMenuService.GetMachinesByType(Type, From, To, DisplayList, ErrorHandler, TimeOutHandler);
    DisplayMachListPanel();
    //}
}

function WhiteMenu(Type)
{
    $get("hmc4alink").style.backgroundColor = "white";
    $get("hmc5alink").style.backgroundColor = "white";
    $get("gmclink").style.backgroundColor = "white";
    $get("vmclink").style.backgroundColor = "white";
    $get("vmc5alink").style.backgroundColor = "white";
    $get("ramlink").style.backgroundColor = "white";
    $get("wirelink").style.backgroundColor = "white";
    
    if(Type != "")
    {
    $get(Type + "link").style.backgroundColor = "#d6e0f5";
    }
}
var MaxNumber = 14;
function DisplayList(result)
{
    var Count = 0;
    var MachList = $get("MachListPanel");
    
    var SB = new Sys.StringBuilder();
    for(var item in result)
    {
        Count++;
        if(Count == MaxNumber)
        {
            SB.append("<a href=\"#\" onclick=\"DisplayMachPaneList('" + _type + "', " + (parseInt(_from) + parseInt(MaxNumber))  + ", " + (parseInt(_to) + parseInt(MaxNumber))  + ")\"><div class=\"mainMenuItem\" style=\"color: black;\">MORE MACHINES</div></a>");
            break;
        }
        else
        {
            SB.append("<a id=\"" + result[item].MODEL + "\" class=\"a_mainMenuItem\"   onmouseout=\"this.style.backgroundColor = 'white'\" style=\"margin-bottom: 5px;\" href=\"#\" onmouseover=\"DisplayMachSpecs('" + result[item].MODEL + "'); this.style.backgroundColor = '#d6e0f5' \">"+ result[item].MODEL + "</a>");
        }
    }
    MachList.innerHTML = SB.toString();
}

function DisplayMachSpecs(Model)
{
    $get("MachSpecPanel").style.display = "";
    $get("SpecModel").innerHTML = "&nbsp;<img src=\"/images/plussymbol.gif\"/>&nbsp;<font style=\"font-family: Arial;\">" + Model + "</font>";
    _model = Model;
    
    //$get("LoadingDiv").style.display = "";
    
    //request = Sys.Net.WebServiceProxy.invoke("MachMenuService.asmx", "GetMachinesByModel", true, {"Model":Model}, DisplaySpecs, onFailure, "User Context", 100);
    
    Makino.MachMenuService.GetMachinesByModel(Model, DisplaySpecs, ErrorHandler, TimeOutHandler);
}
function onFailure()
{
}
function DisplaySpecs(result, eventArgs)
{
    $get("SpecSynopsis").innerHTML = result.SYNOPSIS;
    
    $get("SpecImg").src = "/images/machines/standard/" + xreplace(xreplace(_model,' ', ''), '/', '') + "_std.jpg";
    $get("SpecArea").href = "http://www.makino.com/machines/" + _model;
    
    $get("SpecTbl").innerHTML = GetSpecTblHTML(result);
    //$get("LoadingDiv").style.display = "none";
}

function xreplace(checkMe,toberep,repwith){

var temp = checkMe;

var i = temp.indexOf(toberep);

while(i > -1)

{

temp = temp.replace(toberep, repwith);

i = temp.indexOf(toberep, i + repwith.length + 1);

}

return temp;

}

function GetSpecTblHTML(result)
{
    var TblPropArray;
    switch(_type)
    {
        case "hmc4a":
         TblPropArray = [ [ "Pallet:", "PALLET" ], [ "X:", "PRODUCTX" ], [ "Y:", "PRODUCTY" ], [ "Z:", "PRODUCTZ" ], [ "Rapid Traverse:", "RAPIDTRAVERSE" ], [ "Spindle RPM:", "SPINDLERPM" ], [ "Spindle Taper:", "SPINDLETAPER" ], [ "Maximum Workpiece:", "MAXWORKPIECE" ] ];
        break;
        case "hmc5a":
        TblPropArray = [ [ "Pallet:", "PALLET" ], [ "X:", "PRODUCTX" ], [ "Y:", "PRODUCTY" ], [ "Z:", "PRODUCTZ" ], [ "A-Axis:", "AAXIS" ], [ "B-Axis:", "BAXIS" ], [ "Rapid Traverse:", "RAPIDTRAVERSE" ], [ "Maximum Workpiece:", "MAXWORKPIECE" ] ];
        break;
        case "vmc":
        case "gmc":
        TblPropArray = [ [ "Table Size:", "TABLESIZE" ], [ "X:", "PRODUCTX" ], [ "Y:", "PRODUCTY" ], [ "Z:", "PRODUCTZ" ], [ "Rapid Traverse:", "RAPIDTRAVERSE" ], [ "Spindle RPM:", "SPINDLERPM" ], [ "Spindle Taper:", "SPINDLETAPER" ] ];
        break;
        case "vmc5a":
        TblPropArray = [ [ "Pallet:", "PALLET" ], [ "X:", "PRODUCTX" ], [ "Y:", "PRODUCTY" ], [ "Z:", "PRODUCTZ" ], [ "A-Axis (Tilt):", "AAXIS" ], [ "C-Axis (Rotary):", "CAXIS" ], [ "Rapid Traverse:", "RAPIDTRAVERSE" ], [ "Maximum Workpiece:", "MAXWORKPIECE" ] ];
        break;
        case "ram":
        TblPropArray = [ [ "Table Size:", "TABLESIZE" ], [ "X:", "PRODUCTX" ], [ "Y:", "PRODUCTY" ], [ "Z:", "PRODUCTZ" ], [ "Tank Size:", "TANKSIZE" ], [ "Drop Tank:", "DROPTANK" ], [ "Max. Workpce Weight:", "MAXWORKPIECEWEIGHT" ], [ "Max. Electrode Weight:", "MAXELECTRODEWEIGHT" ] ];
        break;
        case "wire":
        TblPropArray = [ [ "Table Size:", "TABLESIZE" ], [ "X:", "PRODUCTX" ], [ "Y:", "PRODUCTY" ], [ "Z:", "PRODUCTZ" ], [ "Tank Size:", "TANKSIZE" ], [ "Max. Workpce Weight:", "MAXWORKPIECEWEIGHT" ], [ "Max. Workpiece Size:", "MAXWORKPIECESIZE" ], [ "U-Axis:", "UAXIS" ], [ "V-Axis:", "VAXIS" ] ];
        break;
    }
 
    
    var HTMLTbl = new Sys.StringBuilder("<table width=\"250\" style=\"font-family: Arial; font-size: 11px; margin-top: 7px;\" cellpadding=\"0\" cellspacing=\"0\">");
    
    var BgStr = "";
    for(var i = 0; i < TblPropArray.length; i++)
    {
        if(i % 2 == 0)
        {
            BgStr = "";
        }
        else
        {
            BgStr = " bgcolor=\"#e5e5e5\"";
        }
        
        HTMLTbl.append("<tr" + BgStr + "><td>" + TblPropArray[i][0] + "</td><td>" + result[TblPropArray[i][1]] + "</td></tr>");
    }
    return HTMLTbl.toString() + "</table>";
}
function DisplayMachListPanel()
{
    $get(_type + "link").style.backgroundColor = "#d6e0f5";
    $get("MachListPanel").style.display = "";
}
function HideMachListPanel()
{
    $get(_type + "link").style.backgroundColor = "white";
    $get("MachListPanel").style.display = "none";
    $get("MachSpecPanel").style.display = "none";
}
function DisplayMachSpecPanel()
{
    $get("MachListPanel").style.display = "";
    $get("MachSpecPanel").style.display = "";
    
    $get(_type + "link").style.backgroundColor = "#d6e0f5";    
    if($get(_model) != null)
    {
        $get(_model).style.backgroundColor = "#d6e0f5";
    }
}
function HideMachSpecPanel()
{
    if($get(_model) != null)
    {
        $get(_model).style.backgroundColor = "white";
    }
    $get(_type + "link").style.backgroundColor = "white";
    $get("MachListPanel").style.display = "none";
    $get("MachSpecPanel").style.display = "none";
}


function ErrorHandler(result)
{
   //var msg=result.get_exceptionType() + "\r\n";
   //msg += result.get_message() + "\r\n";
  // msg += result.get_stackTrace();
   //alert(msg);
}
function TimeOutHandler(result)
{
   //alert("Timeout :" + result);
//alert("An Error has Occured.");
}


function containsDOM(container, containee){
	var isParent = false;
	do {
		if((isParent = container == containee)) break;
		containee = containee.parentNode;
	}while (containee != null);
	return isParent;
}

function checkMouseEnter(element, evt){
	if(element.contains && evt.fromElement) {
		return !element.contains(evt.fromElement);
	}
	else if(evt.relatedTarget) {
		return !containsDOM(element, evt.relatedTarget);
	}
}

function checkMouseLeave (element, evt) {
	if (element.contains && evt.toElement) {
		return !element.contains(evt.toElement);
	}
	else if (evt.relatedTarget) {
		return !containsDOM(element, evt.relatedTarget);
	}
}
