﻿// JScript File

function ButtonAddForm_Click() {
    HideListMode();
    ClearAddEditFormElements();
    document.getElementById('DivAddEditForm').style.display = 'block';
    document.getElementById('ctl00_ContentPlaceHolder1_ButtonAddEditRecord').style.display = 'block';
    document.getElementById('ctl00_ContentPlaceHolder1_ButtonAddEditRecord').style.visibility = 'visible';
    document.getElementById('LinkButtonCancel').style.display = 'inline';
}
function LinkButtonCancel_Click() {
    document.getElementById('DivAddEditForm').style.display = 'none';
    document.getElementById('ctl00_ContentPlaceHolder1_ButtonAddEditRecord').style.display = 'none';
    document.getElementById('ctl00_ContentPlaceHolder1_ButtonDeleteRecord').style.display = 'none';
    document.getElementById('LinkButtonCancel').style.display = 'none';
    ClearAddEditFormElements();
    ShowListMode();
}
function EditById(id) {
    document.getElementById('ctl00_ContentPlaceHolder1_ButtonAddEditRecord').style.visibility = 'hidden';
    document.getElementById('ctl00_ContentPlaceHolder1_HiddenEditId').value = id;
    document.getElementById('ctl00_ContentPlaceHolder1_ButtonUpdatePanelEdit').click();
}

function DeleteById(id) {
    document.getElementById('ctl00_ContentPlaceHolder1_ButtonDeleteRecord').style.display = 'none';
    document.getElementById('ctl00_ContentPlaceHolder1_HiddenDeleteId').value = id;
    document.getElementById('ctl00_ContentPlaceHolder1_ButtonUpdatePanelDelete').click();
}

function InitializeEdit() {
    HideListMode();
    document.getElementById('DivAddEditForm').style.display = 'block';
    document.getElementById('ctl00_ContentPlaceHolder1_ButtonAddEditRecord').style.display = 'block';
    document.getElementById('ctl00_ContentPlaceHolder1_ButtonAddEditRecord').style.visibility = 'visible';
    document.getElementById('LinkButtonCancel').style.display = 'inline';
    document.getElementById('ctl00_ContentPlaceHolder1_LabelAddEditHeader').innerText = "Edit";
}

function InitializeDelete() {
    HideListMode();
    document.getElementById('DivDelete').style.display = 'block';
    document.getElementById('ctl00_ContentPlaceHolder1_ButtonDeleteRecord').style.display = 'block';
    document.getElementById('ctl00_ContentPlaceHolder1_ButtonDeleteRecord').style.visibility = 'visible';
    document.getElementById('LinkButtonCancel').style.display = 'inline';
}

function DeleteDone() {
    HideFieldsFromDeletePanel();
    ShowListMode();
}
function EditDone() {
    ClearAddEditFormElements();
    ShowListMode();
}
function HideListMode() {
    document.getElementById('DivGrid').style.display = 'none';
    document.getElementById('DivFilter').style.display = 'none';
    document.getElementById('ButtonAddForm').style.display = 'none';
}
function ShowListMode() {
    document.getElementById('DivDelete').style.display = 'none';
    document.getElementById('DivAddEditForm').style.display = 'none';
    document.getElementById('ButtonAddForm').style.display = 'block';
    document.getElementById('DivGrid').style.display = 'block';
    document.getElementById('DivFilter').style.display = 'block';

    // "clear" the buttons and hidden fields from the edit & delete area
    document.getElementById('ctl00_ContentPlaceHolder1_LabelAddEditHeader').innerText = "";
    document.getElementById('ctl00_ContentPlaceHolder1_ButtonAddEditRecord').style.visibility = 'visible';
    document.getElementById('ctl00_ContentPlaceHolder1_ButtonAddEditRecord').style.display = "none";
    document.getElementById('ctl00_ContentPlaceHolder1_HiddenEditId').value = "0";
    document.getElementById('ctl00_ContentPlaceHolder1_HiddenDeleteId').value = "0";

}
function HideFieldsFromDeletePanel() {
    // if u don't set the following then the next time they will remain filled with old values
    document.getElementById('ctl00_ContentPlaceHolder1_ButtonDeleteRecord').style.visibility = 'hidden';
}

function ClearAddEditFormElements() 
{
    document.getElementById('ctl00_ContentPlaceHolder1_LabelAddEditHeader').innerText = "Add";
    var form, elements, i, elm; 
    form = document.forms[0]; 

    elements = form.elements;
    for(i=0, elm; elm=elements[i++]; )
    {
        if (elm!=null && elm.id!=null && elm.id!='' && CheckIfElm1IsInsideElm2(elm.id, 'DivAddEditForm')) {
            if (elm.type == "text")
            {
                elm.value ="";
            }
            if (elm.type == "textarea") {
                elm.value = ""
            }
            if (elm.type == "checkbox")
            {
                elm.checked = false;
            }
            if (elm.type == "radio")
            {
                elm.checked = false;
            }
            if (elm.type == "select-one") {
                elm.selectedIndex = 0;
            }
            if (elm.type == "select-multiple") {
                elm.selectedIndex = 0;
            }
        }
    }
}


function CheckIfElm1IsInsideElm2(elm1, elm2) {
	var nodeHelper = document.getElementById(elm1);
	var check = false;
	for (var i=0; i<1000; i++) {
		if(nodeHelper.parentNode == null || nodeHelper.parentNode.id == "body") {
		    break;
        }
		if(nodeHelper.parentNode.id == elm2) {
			check = true;
			break;
		}
		nodeHelper = nodeHelper.parentNode;
	}
    return check;
}


