function showHide(div, link) {
    
    divElement = document.getElementById(div);
    textElement = document.getElementById(link);
    
    if (divElement.style.display == 'block') {
        divElement.style.display = 'none';
        textElement.innerHTML = 'Search';    
    } else {
        divElement.style.display = 'block';
        textElement.innerHTML = 'Close Search';
    }
         
}

function checkForm(divId, message) {
    theValue = document.getElementById(divId); 
    if (theValue.value != '') {
        return true;
    } else {
        alert(message);
        return false;
    }
}

function show(div) {
    divElement = document.getElementById(div);
    divElement.style.display = 'block';
}

function hide(div) {
    divElement = document.getElementById(div);
    divElement.style.display = 'none';
}

function updateText (id, text) {
    divElement = document.getElementById(id);
    divElement.innerHTML = text;
}
     
function popUp(theDiv, linkId, theText, origText) {

    if(document.getElementById(theDiv).style.display == 'block') {
        hide(theDiv);
        updateText (linkId, origText);            
    } else{ 
        show(theDiv);
        updateText (linkId, theText);
    }
    
}

function createXmlHttpRequestObject() {
    var xmlHttp;
    
    try {
        xmlHttp = new XMLHttpRequest();
    } catch(e)
    
    {
    try {
        xmlHttp = new ActiveXObject("Microsoft.XMLHttp");
    }
    catch(e) { }
    }

    if (!xmlHttp)
    alert("Error creating the XMLHttpRequest object.");
    else
    return xmlHttp;
}

var newAttribute = createXmlHttpRequestObject();
var updateAttributeList = createXmlHttpRequestObject();
var removeAttribute = createXmlHttpRequestObject();
var updateAfterDel = createXmlHttpRequestObject();
var addGroup = new createXmlHttpRequestObject();
var refreshGroupList = new createXmlHttpRequestObject();
var varRemoveGroup = new createXmlHttpRequestObject();



function addAttributes() {
    
    var list = document.forms.attributes.attributeGroupID;
    var choice = list.options[list.selectedIndex].value;
    var newAttributeName = document.getElementById('attributeName').value;
    
    newAttribute.open('get', '/admin/viewAttributes.php?action=add&attribute='+newAttributeName+"&attributeGroupID="+choice);
    newAttribute.onreadystatechange = handleAttributeCreation;
    newAttribute.send(null);
     
}

function handleAttributeCreation() {
    
    if (newAttribute.readyState == 4 && newAttribute.status == 200) {
        document.getElementById('newAttInfo').innerHTML = ' Attribute Added Successfully';
        
        var contentID = document.getElementById('contentID').value;
        updateAttributeList.open ('get', '/admin/viewAttributes.php?contentID='+contentID);
        updateAttributeList.onreadystatechange =  handleAttributeList;
        updateAttributeList.send(null);

    }
}

function handleAttributeList() {
    if (updateAttributeList.readyState == 4 && updateAttributeList.status == 200) {
        document.getElementById('attributesList').innerHTML = updateAttributeList.responseText;
    }
    
    var newAttributeName = document.getElementById('attributeName');
    
    newAttributeName.value = '';
    
}

function removeAttributeFunc (attributeID) {
    removeAttribute.open('get', '/admin/viewAttributes.php?attributeID='+attributeID+'&action=delete')
    removeAttribute.onreadystatechange = handleRemovalAttribute;
    removeAttribute.send(null);    
}

function handleRemovalAttribute() {
   
    if (removeAttribute.readyState == 4 && removeAttribute.status == 200) {
        
        document.getElementById('newAttInfo').innerHTML = ' Attribute Succesfully Removed';
        var contentID = document.getElementById('contentID').value;
        newRefreshAttList(contentID);
    }
}

function newRefreshAttList(contentID) {
    updateAfterDel.open ('get', '/admin/viewAttributes.php?contentID='+contentID);
    updateAfterDel.onreadystatechange = handleRefreshAttList;
    updateAfterDel.send(null);
}

function handleRefreshAttList() {
    if (updateAfterDel.readyState == 4 && updateAfterDel.status == 200) {
         document.getElementById('attributesList').innerHTML = updateAfterDel.responseText;
    }
}

function assignGroup() {
    var contentID = document.getElementById('contentID').value;
    
    var list = document.forms.groups.attributeGroups;
    var choice = list.options[list.selectedIndex].value;
    
    addGroup.open('get', '/admin/viewGroups.php?action=add&contentID='+contentID+'&attributeGroupID='+choice);
    addGroup.onreadystatechange = assignGroupHandler;
    addGroup.send(null);
    
}

function assignGroupHandler() {
    if (addGroup.readyState == 4 && addGroup.status == 200) {
        var contentID = document.getElementById('contentID').value;
        funcRefreshGroupList(contentID);
        refreshRemovalAttGroups(contentID); 
    }
}

function funcRefreshGroupList(contentID) {
     refreshGroupList.open('get', '/admin/viewGroups.php?contentID='+contentID);
     refreshGroupList.onreadystatechange = refreshGroupListUpdater;
     refreshGroupList.send(null);
        
     document.getElementById('newAttInfo').innerHTML = ' Changes Made';
}

function refreshGroupListUpdater() {
    if (refreshGroupList.readyState == 4 && refreshGroupList.status == 200) {
        document.getElementById('assignedGroupSelect').innerHTML = refreshGroupList.responseText;       
    }
}

function removeGroup(contentID) {
    
    tempContentId = contentID;
    var list = document.forms.attRemovalForm.DDAttRemoval;
    var attGroupID = list.options[list.selectedIndex].value;

    varRemoveGroup.open('get', '/admin/attributeGroupList.php?action=removeGroup&attributeGroupID='+attGroupID);
    varRemoveGroup.onreadystatechange = handleRemoveGroup;
    varRemoveGroup.send(null);
}
 
var tempContentId; 

function handleRemoveGroup() {
    if (varRemoveGroup.readyState == 4 && varRemoveGroup.status == 200) {
        funcRefreshGroupList(tempContentId);
        refreshRemovalAttGroups(tempContentId);
        newRefreshAttList(tempContentId);       
    } 
}

var varRefreshGroups = new createXmlHttpRequestObject();

function refreshRemovalAttGroups(contentID) {
    varRefreshGroups.open('get', '/admin/attributeGroupList.php?contentID='+contentID);
    varRefreshGroups.onreadystatechange = handleRefreshRemovalAttGroups;
    varRefreshGroups.send();
}

function handleRefreshRemovalAttGroups() {
   if (varRefreshGroups.readyState == 4 && varRefreshGroups.status == 200) {
       document.getElementById('attRemovalForm').innerHTML = varRefreshGroups.responseText;
   } 
}

function killSubmit() {
    return false;
}
