function trim(str) {
    return str.replace(/^\s*|\s*$/g,"");
}

function productSearchChanged(obj) {
//alert(obj.selectedIndex);
    if (obj.options[obj.selectedIndex].value == "manuf") {
        var item = document.getElementById("manuf");
        item.style.display = "";
        var item = document.getElementById("cat");
        item.style.display = "none";
        var item = document.getElementById("desc2");
        item.style.display = "none";
    } else if (obj.options[obj.selectedIndex].value == "cat") {
        var item = document.getElementById("manuf");
        item.style.display = "none";
        var item = document.getElementById("cat");
        item.style.display = "";
        var item = document.getElementById("desc2");
        item.style.display = "none";
    } else if (obj.options[obj.selectedIndex].value == "desc") {
        var item = document.getElementById("manuf");
        item.style.display = "none";
        var item = document.getElementById("cat");
        item.style.display = "none";
        var item = document.getElementById("desc2");
        item.style.display = "";
    }
}

function onSearchSubmit1() {
    var searchby = document.getElementById("searchby");
    if (searchby && searchby.options[searchby.selectedIndex].value == "manuf") {
        var item = document.getElementById("manuf");
        if (item && item.value == "") {
            alert("Please select a manufacturer");
            return false;
        }
    } else
    if (searchby && searchby.options[searchby.selectedIndex].value == "cat") {
        var item = document.getElementById("cat");
        if (item && item.value == "") {
            alert("Please select a category");
            return false;
        }
    } else
    if (searchby && searchby.options[searchby.selectedIndex].value == "desc") {
        var item = document.getElementById("desc2");
        if (item && item.value == "") {
            alert("Please enter a search term");
            return false;
        }
    }
    return true;
}

function onSearchSubmit2() {
    var searchby = document.getElementById("searchpartby");
    var item = document.getElementById("searchpart");
    if (searchby && searchby.options[searchby.selectedIndex].value == "partnum") {
        if (item && item.value == "") {
            alert("Please enter part number");
            return false;
        }
    } else
    if (searchby && searchby.options[searchby.selectedIndex].value == "partdesc") {
        if (item && item.value == "") {
            alert("Please enter part description");
            return false;
        }
    } else if (item && item.value == "") {
        alert("Please enter part number or description");
        return false;
    }
    return true;
}

function onSearchSubmit3() {
    var cfmanuf = document.getElementById("cfmanuf");
    var cfod = document.getElementById("cfod");
    var cflength = document.getElementById("cflength");
    var cmanufpart = document.getElementById("cmanufpart");
    if (cfmanuf && cfod && cflength && cmanufpart && cfmanuf.value == "" && cfod.value == "" && cflength.value == "" && cmanufpart.value == "") {
        alert("Please enter search criteria");
        return false;
    }
    return true;
}

function onSearchSubmit4() {
    var gfmanuf = document.getElementById("gfmanuf");
    var gfht = document.getElementById("gfht");
    var gfwd = document.getElementById("gfwd");
    var gfsqft = document.getElementById("gfsqft");
    var gmanufpart = document.getElementById("gmanufpart");
    if (gfmanuf && gfht && gfwd && gfsqft && gmanufpart && gfmanuf.value == "" && gfht.value == "" && gfwd.value == "" && gfsqft.value == "" && gmanufpart.value == "") {
        alert("Please enter search criteria");
        return false;
    }
    return true;
}

function onSearchSubmit5() {
    var topsearchfield = document.getElementById("topsearchfield");
    if (topsearchfield && (topsearchfield.value == "" || topsearchfield.value == "SEARCH")) {
        alert("Please enter search criteria");
        return false;
    }
    return true;
}

function SaveAddGroup(productId) {
    var sendData = {
        "action": "addGroup",
        "productId": productId,
        "groupName": document.getElementById("add_group_name").value
    };
    dojo.xhrPost({
		url: "/includes/handle-action.html",
		content: sendData,
		load: function(data,ioargs){
            var response = JSON.parse(data);
            if (response.success) {
                alert("Group successfully added. The page will now be reloaded.");
                window.location.reload(true);
                
            } else {
                alert(response.errorMessage);
            }
		},
        error: function(data,ioargs){
            alert("Error communicating with server.");
		}
	});
}

function DeleteGroup(productId, groupId) {
    var sendData = {
        "action": "deleteGroup",
        "productId": productId,
        "groupId": groupId
    };
    dojo.xhrPost({
		url: "/includes/handle-action.html",
		content: sendData,
		load: function(data,ioargs){
            var response = JSON.parse(data);
            if (response) {
                if (response.success) {
                    alert("Group successfully deleted. The page will now be reloaded.");
                    window.location.reload(true);
                } else {
                    alert(response.errorMessage);
                }
            } else {
                alert("Wrong response from server.");
            }
		},
        error: function(data,ioargs){
            alert("Error communicating with server.");
		}
	});
}

function MoveGroup(productId, groupId, direction) {
    var sendData = {
        "action": "moveGroup",
        "productId": productId,
        "groupId": groupId,
        "direction": direction
    };
    dojo.xhrPost({
		url: "/includes/handle-action.html",
		content: sendData,
		load: function(data,ioargs){
            var response = JSON.parse(data);
            if (response) {
                if (response.success) {
                    alert("Group successfully moved. The page will now be reloaded.");
                    window.location.reload(true);
                } else {
                    alert(response.errorMessage);
                }
            } else {
                alert("Wrong response from server.");
            }
		},
        error: function(data,ioargs){
            alert("Error communicating with server.");
		}
	});
}

function EditGroupNameClicked(productId, groupId) {
    var obj = document.getElementById("groupNameBox_" + groupId);
    // store old value in global variable
    eval("oldGroupName_" + groupId + " = obj.innerHTML");
}

function GroupNameBoxChanged(id, value) {
    var groupId = id.replace("groupNameBox_", "");
    var sendData = {
        "action": "updateGroup",
        "groupId": groupId,
        "groupName": value
    };
    dojo.xhrPost({
		url: "/includes/handle-action.html",
		content: sendData,
		load: function(data,ioargs){
            var response = JSON.parse(data);
            if (response) {
                if (response.success) {
                    alert("Group updated successfully.");
                } else {
                    alert(response.errorMessage);
                    // restore old display value
                    var obj = document.getElementById(id);
                    obj.innerHTML = eval("oldGroupName_" + groupId);
                }
            } else {
                alert("Wrong response from server.");
                // restore old display value
                var obj = document.getElementById(id);
                obj.innerHTML = eval("oldGroupName_" + groupId);
            }
		},
        error: function(data,ioargs){
            alert("Error communicating with server.");
            // restore old display value
            var obj = document.getElementById(id);
            obj.innerHTML = eval("oldGroupName_" + groupId);
		}
	});
}

function EditPartKeyNoClicked(productPartId) {
    var obj = document.getElementById("keyno_" + productPartId);
    // store old value in global variable
    eval("oldKeyno_" + productPartId + " = obj.innerHTML");
    //alert(eval("oldKeyno_" + productPartId));
}

function PartKeyNoChanged(id, value) {
    var productPartId = id.replace("keyno_", "");
    var sendData = {
        "action": "updateKeyno",
        "productPartId": productPartId,
        "keyno": value
    };
    dojo.xhrPost({
		url: "/includes/handle-action.html",
		content: sendData,
		load: function(data,ioargs){
            var response = JSON.parse(data);
            if (response) {
                if (response.success) {
                    alert("KeyNo updated successfully.");
                } else {
                    alert(response.errorMessage);
                    // restore old display value
                    var obj = document.getElementById(id);
                    obj.innerHTML = eval("oldKeyno_" + productPartId);
                }
            } else {
                alert("Wrong response from server.");
                // restore old display value
                var obj = document.getElementById(id);
                obj.innerHTML = eval("oldKeyno_" + productPartId);
            }
		},
        error: function(data,ioargs){
            alert("Error communicating with server.");
            // restore old display value
            var obj = document.getElementById(id);
            obj.innerHTML = eval("oldKeyno_" + productPartId);
		}
	});
}

function EditPartPartNoClicked(productPartId) {
    var obj = document.getElementById("partNo_" + productPartId);
    // store old value in global variable
    eval("oldPartNo_" + productPartId + " = obj.innerHTML");
}

function PartPartNoChanged(id, value) {
    var productPartId = id.replace("partNo_", "");
    var sendData = {
        "action": "updatePartNo",
        "productPartId": productPartId,
        "partNo": value
    };
    dojo.xhrPost({
		url: "/includes/handle-action.html",
		content: sendData,
		load: function(data,ioargs){
            var response = JSON.parse(data);
            if (response) {
                if (response.success) {
                    alert("PartNo updated successfully.");
                } else {
                    alert(response.errorMessage);
                    // restore old display value
                    var obj = document.getElementById(id);
                    obj.innerHTML = eval("oldPartNo_" + productPartId);
                    // revert widget value
                    dijit.byId(id).attr("value", eval("oldPartNo_" + productPartId));
                }
            } else {
                alert("Wrong response from server.");
                // restore old display value
                var obj = document.getElementById(id);
                obj.innerHTML = eval("oldPartNo_" + productPartId);
                // revert widget value
                dijit.byId(id).attr("value", eval("oldPartNo_" + productPartId));
            }
		},
        error: function(data,ioargs){
            alert("Error communicating with server.");
            // restore old display value
            var obj = document.getElementById(id);
            obj.innerHTML = eval("oldPartNo_" + productPartId);
            // revert widget value
            dijit.byId(id).attr("value", eval("oldPartNo_" + productPartId));
		}
	});
}

function EditPartDescriptionClicked(productPartId) {
    var obj = document.getElementById("description_" + productPartId);
    // store old value in global variable
    eval("oldDescription_" + productPartId + " = obj.innerHTML");
}

function PartDescriptionChanged(id, value) {
    var productPartId = id.replace("description_", "");
    var sendData = {
        "action": "updateDescription",
        "productPartId": productPartId,
        "description": value
    };
    dojo.xhrPost({
		url: "/includes/handle-action.html",
		content: sendData,
		load: function(data,ioargs){
            var response = JSON.parse(data);
            if (response) {
                if (response.success) {
                    alert("Description updated successfully.");
                } else {
                    alert(response.errorMessage);
                    // restore old display value
                    var obj = document.getElementById(id);
                    obj.innerHTML = eval("oldDescription_" + productPartId);
                }
            } else {
                alert("Wrong response from server.");
                // restore old display value
                var obj = document.getElementById(id);
                obj.innerHTML = eval("oldDescription_" + productPartId);
            }
		},
        error: function(data,ioargs){
            alert("Error communicating with server.");
            // restore old display value
            var obj = document.getElementById(id);
            obj.innerHTML = eval("oldDescription_" + productPartId);
		}
	});
}

function VerifyProductNum(id, groupid, productnum, obj) {
    if(trim(productnum)){
        
    var sendData = {
        "action": "verifyProductNum",
        "productNum": productnum
    };
    dojo.xhrPost({
		url: "/includes/handle-action.html",
		content: sendData,
		load: function(data,ioargs){
            var response = JSON.parse(data);
            if (response) {
                if (response.success) {
                    document.getElementById("AddPartButton_" + groupid).disabled = false;
                    
                } else {
                    alert(response.errorMessage);
                    document.getElementById("AddPartButton_" + groupid).disabled = true;
                }
            } else {
                alert("Wrong response from server.");
            }
		},
        error: function(data,ioargs){
            alert("Error communicating with server.");
		}
	});
        
    }
    
}

function SaveAddPart(groupid, productId) {
    var sendData = {
        "action": "addPart",
        "productId": productId,
        "groupId": groupid,
        "keyno": document.getElementById("part_add_keyno_" + groupid).value,
        "productNum": document.getElementById("part_add_partno_" + groupid).value,
        "description": document.getElementById("part_add_description_" + groupid).value,
        "noreqd": document.getElementById("part_add_noreqd_" + groupid).value
    };
    dojo.xhrPost({
		url: "/includes/handle-action.html",
		content: sendData,
		load: function(data,ioargs){
            var response = JSON.parse(data);
            if (response) {
                if (response.success) {
                    //document.getElementById("AddPartButton_" + groupid).disabled = false;
                    alert("Part successfully added. The page will now be reloaded.");
                    window.location.reload(true);
                    
                    
                } else {
                    alert(response.errorMessage);
                    //document.getElementById("AddPartButton_" + groupid).disabled = true;
                    
                    
                }
            } else {
                alert("Wrong response from server.");
            }
		},
        error: function(data,ioargs){
            alert("Error communicating with server.");
		}
	});
}

function DeletePart(productPartId) {
    var sendData = {
        "action": "deletePart",
        "productPartId": productPartId
    };
    dojo.xhrPost({
		url: "/includes/handle-action.html",
		content: sendData,
		load: function(data,ioargs){
            var response = JSON.parse(data);
            if (response) {
                if (response.success) {
                    alert("Part successfully deleted. The page will now be reloaded.");
                    window.location.reload(true);
                    
                    
                } else {
                    alert(response.errorMessage);
                    
                    
                }
            } else {
                alert("Wrong response from server.");
            }
		},
        error: function(data,ioargs){
            alert("Error communicating with server.");
		}
	});
}

function EditPartNoReqdClicked(productPartId) {
    var obj = document.getElementById("noreqd_" + productPartId);
    // store old value in global variable
    eval("oldNoreqd_" + productPartId + " = obj.innerHTML");
}

function PartNoReqdChanged(id, value) {
    var productPartId = id.replace("noreqd_", "");
    var sendData = {
        "action": "updateNoReqd",
        "productPartId": productPartId,
        "noreqd": value
    };
    dojo.xhrPost({
		url: "/includes/handle-action.html",
		content: sendData,
		load: function(data,ioargs){
            var response = JSON.parse(data);
            if (response) {
                if (response.success) {
                    alert("No. Req'd updated successfully.");
                } else {
                    alert(response.errorMessage);
                    // restore old display value
                    var obj = document.getElementById(id);
                    obj.innerHTML = eval("oldNoreqd_" + productPartId);
                }
            } else {
                alert("Wrong response from server.");
                // restore old display value
                var obj = document.getElementById(id);
                obj.innerHTML = eval("oldNoreqd_" + productPartId);
            }
		},
        error: function(data,ioargs){
            alert("Error communicating with server.");
            // restore old display value
            var obj = document.getElementById(id);
            obj.innerHTML = eval("oldNoreqd_" + productPartId);
		}
	});
}


















