admin_data = function() {

}

admin_data.prototype.init = function() {

    this.cBuffer = new ContentBuffer();
    this.serializer = new Serializer();
    this.companyDefaultValues = [];

    this.companyDefaultValues['EventName'] = 'Enter Event Name';

    this.showHideFlag = null;

    this.originalValues = {};

    $("input[type='text']").each(function() { admin.addOriginalValue(this); });
    $("select").each(function() { admin.addOriginalValue(this); });
    $("textarea").each(function() { admin.addOriginalValue(this); });
    $("input[type='checkbox']").each(function() { admin.addOriginalValue(this); });

    this.changedInputs = {};

    $("input[type='text']").bind("keyup", function() { admin.addChangedInput(this); });
    $("select").bind("change", function() { admin.addChangedInput(this); });
    $("textarea").bind("keyup", function() { admin.addChangedInput(this); });
    $("input[type='checkbox']").bind("click", function() { admin.addChangedInput(this); });

    this.currentSelection = {};

    try {
        $(".editTextArea").htmlarea({
            toolbar: ["bold", "italic", "underline", "|", "forecolor"]
        });
    } catch (e) { }

}

admin_data.prototype.addOriginalValue = function(el) {

    var name = $(el).attr("name");
    var value = $(el).attr("value");

    if ($(el).attr("type") != "checkbox") {
        this.originalValues[name] = value;
    }
    else {
        this.originalValues[name] = $(el).attr("checked");  // set to true or false;
    }
}

admin_data.prototype.addChangedInput = function(el) {

    var inputName = $(el).attr("name");
    var inputFormId = $(el).parents("form:first").attr("id");

    if (!this.changedInputs[inputFormId]) {
        this.changedInputs[inputFormId] = {};
    }

    var inputArray = this.changedInputs[inputFormId];

    if (!inputArray[inputName]) {
        inputArray[inputName] = 1;
    }
}

admin_data.prototype.toggleTabs = function(el,module) {
				
	var parent = Element.getParent(el,"div");
	            
	aTags = Element.parseSelector("a", parent);
	            
	for(var i=0; i<aTags.length - 1; i++) {
		aTags[i].className = 'blueTab';
	}
	          
	Element.get(el).className = 'whiteTab'; 
	var panel = Element.get(el).innerHTML;
	
	if (panel == "Current Content") {
	    Element.get(module).style.display = 'none';
	    Element.get(module + '_current').style.display = 'block';	
	} else {
	    Element.get(module).style.display = 'block';
	    Element.get(module + '_current').style.display = 'none';	
	}
}

admin_data.prototype.checkDefault = function(el) {

    this.ele = Element.get(el); 
	
	for(var i in this.companyDefaultValues){
		if(this.ele.name.indexOf(i) > -1){
			if(this.ele.value == this.companyDefaultValues[i]){
				
			}
		}
	}              
}
   
admin_data.prototype.resetContent = function(el) {

    this.currentModule = Element.getParent(el,'form');
                  
	this.cBuffer.load({	
		url: "../content_buffer.asp",
		data:{module:this.currentModule.id},
		contentType: "text/javascript",
		onload: this.updateContent,
		onerror: this.Error,
		method: "post",
		context: this
	}); 
}

admin_data.prototype.updateContent = function(buffer) {
	results = buffer.getResult();	
	if(results){
		Element.get(this.currentModule).innerHTML = results;
	}
}    

admin_data.prototype.setQuickLinks = function(el,hidden) {
    if(el.checked) {
        Element.get(hidden).value = 1;
    } else {
        Element.get(hidden).value = 0;
    }
}

admin_data.prototype.checkForValidEntries = function(form,formElements)
{
    var noerrors = true;
    var errorMsg = '';
    
    for(var i = 0; i < formElements.length; i++)
	{
        formElements[i].style.backgroundColor = '#fff';
    }
    errorMsg = ''; 
               
    for(var i = 0; i < formElements.length; i++)
	{
	    var id      = formElements[i].id;
	    var name    = formElements[i].name;
	    var value   = formElements[i].value;
		
		if(name.indexOf('_') > -1) {
		    name = name.substring(0,name.indexOf('_'));
		}
		
		if(Element.hasClass(formElements[i],'desc')) {

	       if(value.length > 1000) {
	           formElements[i].style.backgroundColor = '#d59292';
               errorMsg = 'Description must be less than 1000 characters!'; 
	           noerrors = false;
	       } 
	    }	
		
		if(Element.hasClass(formElements[i],'c_desc')) {

	       if(value.length > 5000) {
	           formElements[i].style.backgroundColor = '#d59292';
               errorMsg = 'Description must be less than 5000 characters!'; 
	           noerrors = false;
	       } 
	    }	
		
		if(Element.hasClass(formElements[i],'message')) {

	       if(value.length > 400) {
	           formElements[i].style.backgroundColor = '#d59292';
               errorMsg = 'Message must be less than 400 characters!'; 
	           noerrors = false;
	       } 
	    }		
		
		if(Element.hasClass(formElements[i],'products')) {

	       if(value.length > 50) {
	           formElements[i].style.backgroundColor = '#d59292';
               errorMsg = 'Description must be less than 50 characters!'; 
	           noerrors = false;
	       } 
	    }			
		
		if(Element.hasClass(formElements[i],'nodecimal')) {

	       if(value.indexOf(',') > -1) {
	            value = value.replace(',','');
	            formElements[i].value = value;
	       }
	       if(value.indexOf('%') > -1) {
	            value = value.replace('%','');
	            formElements[i].value = value;
	       }
	       if(value.indexOf(' ') > -1) {
	            value = value.replace(' ','');
	            formElements[i].value = value;
	       }
	       if(value == ' ' || isNaN(value) || value.indexOf('.') > -1) {
	           formElements[i].style.backgroundColor = '#d59292';
               errorMsg = 'These fields need to be a whole number!'; 
	           noerrors = false;
	       } 
	    }
		
	    //if((this.checkFields[name] && this.checkFields[name] == 'int') || Element.hasClass(formElements[i],'int')) {
		if(Element.hasClass(formElements[i],'int')) {

	       if(value.indexOf(',') > -1) {
	            value = value.replace(',','');
	            formElements[i].value = value;
	       }
	       if(value.indexOf('%') > -1) {
	            value = value.replace('%','');
	            formElements[i].value = value;
	       }
	       if(value.indexOf(' ') > -1) {
	            value = value.replace(' ','');
	            formElements[i].value = value;
	       }
	       if(value == ' ' || isNaN(value)) {
	           formElements[i].style.backgroundColor = '#d59292';
               errorMsg = 'These fields need to be a number!'; 
	           noerrors = false;
	       } 
	    }
	    if(id.indexOf('month') > -1 || id.indexOf('day') > -1 || id.indexOf('year') > -1) {
	        if(!formElements[i].value) {
	            formElements[i].style.backgroundColor = '#d59292';
	            errorMsg = 'You have to select complete date values!';
	            noerrors = false;    
	        }
	    }
		if(id.indexOf('Color') > -1) {
			if(!formElements[i].value) {
				formElements[i].style.backgroundColor = '#d59292';
				errorMsg = 'You have to select a color!';
				noerrors = false;
			}
		}
	}
	if(!noerrors) {
	    Element.parseSelector('.errorMsg',form)[0].innerHTML = errorMsg;
	} else {
	    Element.parseSelector('.errorMsg',form)[0].innerHTML = '';
	}
	
	return noerrors;
}

admin_data.prototype.submitAll = function(status)
{
    this.expandAll();
    
    var submitButtons = Element.parseSelector('.submitModule',Element.get('main'));
    
    var allValid = true;
    
    for(var i = 0; i < submitButtons.length; i++) {
        
        var form = Element.getParent(submitButtons[i], 'form');

        var formElements = Element.parseSelector('.showModule input, .showModule select, .showModule textarea',form);
	
	    var validForm = this.checkForValidEntries(form, formElements);

        if(!validForm) {
            allValid = false;
        }
    }
    
    if(allValid) {
        for(var i = 0; i < submitButtons.length; i++) {
            
            if(i < submitButtons.length - 1) {
                this.submitForm(submitButtons[i], status, 'submitted', false);
            } else {
                this.submitForm(submitButtons[i], status, 'submitted', true, 'publishAll');
            }
        }
    } else {
        
        var button = Element.getXY(Element.get('submitAllButton'));
        
        Element.get('errorPopup').style.top        = (button.y + 30) + 'px';
        Element.get('errorPopup').style.left       = (button.x) + 'px';
        Element.get('errorPopup').style.display    = 'block';
        
    }

}

admin_data.prototype.submitForm = function(el, status, action, sendEmailFlag, emailType) {
    if (sendEmailFlag != false) {
        var sendEmailFlag = true;
    }

    var form = Element.getParent(el, 'form');

    var page = form.Page.value;
    var capiqid = form.CapIQId.value;
    var comments = form.Comments.value;
    var updatedby = form.UpdatedBy.value;

    //ADD CLASS TO FIELDS THAT ARE HIDDEN
    var hiddenElements = Element.parseSelector('.hideField input, .hideField select, .hideField textarea', form);

    for (var i = 0; i < hiddenElements.length; i++) {
        Element.addClass(hiddenElements[i], "hiddenField");
    }

    var formElements = Element.parseSelector('.showModule input, .showModule select, .showModule textarea', form);

    var validForm = this.checkForValidEntries(form, formElements);

    if (validForm) {

        var formArray = {};
        var singleRow = {};
        var multipleRows = {};

        var multipleCount = 0;
        var singleCount = 0;

        for (var i = 0; i < formElements.length; i++) {
            var name = formElements[i].name;
            var value = formElements[i].value;
            value = value.replace(/\r\n/g, " ");
            value = value.replace(/\r/g, " ");
            value = value.replace(/\n/g, " ");
            
            if (!Element.hasClass(formElements[i], "hiddenField")) {

                if (name && name != 'Comments' && name != 'UpdatedBy' && name != 'Page') {
                    if (name.indexOf('_') > -1) {

                        var parts = name.split('_');
                        var idx = parts[1];
                        var n = parts[0];

                        if (!multipleRows[idx]) {
                            multipleRows[idx] = {};
                        }

                        multipleRows[idx][n] = { name: n, value: value };
                        multipleCount++;

                    } else {
                        singleRow[singleCount] = { name: name, value: value };
                        singleCount++;
                    }
                }
            }
        }

        if (multipleCount) {

            for (var i in multipleRows) {

                formArray[form.id + '_' + i] = multipleRows[i];
            }

        }
        if (singleCount) {

            formArray[form.id] = singleRow;

        }

        if (!status) {
            status = 0;
        }

        this.storeActualChangedFields($(form).attr("id"), capiqid, status);

        //REMOVE CLASS FROM THOSE HIDDEN FIELDS 
        for (var i = 0; i < hiddenElements.length; i++) {
            Element.removeClass(hiddenElements[i], "hiddenField");
        }

        /*-------------DELETE HIDDEN MODULES-----------------*/

        var deleteElements = Element.parseSelector('.deleteModule input, .deleteModule select, .deleteModule textarea', form);

        var deleteArray = {};
        var singleRow = {};
        var multipleRows = {};

        var multipleCount = 0;
        var singleCount = 0;

        for (var i = 0; i < deleteElements.length; i++) {
            var name = deleteElements[i].name;
            var value = deleteElements[i].value;

            if (!Element.hasClass(deleteElements[i], "hiddenField")) {

                if (name && name != 'Comments' && name != 'UpdatedBy' && name != 'Page') {
                    if (name.indexOf('_') > -1) {

                        var parts = name.split('_');
                        var idx = parts[1];
                        var n = parts[0];

                        if (!multipleRows[idx]) {
                            multipleRows[idx] = {};
                        }

                        multipleRows[idx][n] = { name: n, value: value };
                        multipleCount++;

                    } else {
                        singleRow[singleCount] = { name: name, value: value };
                        singleCount++;
                    }
                }
            }
        }

        if (multipleCount) {

            for (var i in multipleRows) {

                deleteArray[form.id + '_' + i] = multipleRows[i];
            }

        }
        if (singleCount) {

            deleteArray[form.id] = singleRow;

        }

        var formXY = Element.getXY(form);
        var formSize = Element.getSizeXY(form);

        form.style.opacity = .25;
        form.style.filter = 'alpha(opacity=25)';

        Element.get('ajax-loader').style.top = (formXY.y + (formSize.y / 2) - 40) + 'px';
        Element.get('ajax-loader').style.left = (formXY.x + (formSize.x / 2) - 20) + 'px';
        Element.get('ajax-loader').style.display = 'block';

        this.cBuffer.load({
            url: "../module_buffer.asp",
            data: {
                data: this.serializer.serialize(formArray),
                page: page,
                capiqid: capiqid,
                status: status,
                comments: comments,
                updatedby: updatedby,
                deletearray: this.serializer.serialize(deleteArray),
                sendEmail: sendEmailFlag,
                emailType: emailType
            },
            type: "text/javascript",
            onload: this.formSaved,
            onerror: this.Error,
            method: "post",
            debug: true,
            context: this
        });

        this.currentForm = form;
        this.currentAction = action;
    }
}

admin_data.prototype.formSaved = function(buffer)
{
	results = buffer.getResult();

	if(results){
		if(this.currentAction == 'submitted' || this.currentAction == 'denied') {
		    this.currentForm.innerHTML = '<span style="color:#45738E;font-weight:bold;">This module has been '+this.currentAction+'.</span>';
		}
		if(this.currentAction == 'saved') {
		    this.currentForm.style.opacity = 1;
		    this.currentForm.style.filter = 'alpha(opacity=100)';
		}
	    Element.get('ajax-loader').style.display    = 'none';
	}
}

admin_data.prototype.storeActualChangedFields = function(formId, capiqid, status) {

    var trueChangedInputs = [];

    if (status) {

        var fieldArray = this.changedInputs[formId];

        for (var i in fieldArray) {

            var flagIt = false;

            var field = $("#" + formId + "[name='" + i + "']");

            if (!$(field).hasClass("hiddenField")) {  //If the element isn't hidden...

                if ($(field).attr("type") == "checkbox") {

                    if (this.originalValues[i] != $(field).attr("checked")) { // and it's a checkbox with a different check state then its original.  then flag it.

                        flagIt = true;

                    }

                } else if (this.originalValues[i] != $(field).val()) {  // and it's value is different from it's original value.  then flag it.

                    flagIt = true;

                }
            }

            if (flagIt) {

                trueChangedInputs.push(i);

            }
        }
    }

    var dataObj = { capiqid: capiqid, formId: formId, fields: trueChangedInputs.join("|") };

    $.post("../flag_updated_fields.asp", dataObj, function(data) { });
}

admin_data.prototype.addGroup = function(container,count) {
    
    var alreadyShowing = Element.parseSelector('.showModule',container);
    
    if(alreadyShowing.length < count) {
    
        var firstHidden = Element.parseSelector('.hideModule',container, 'first');
        Element.removeClass(firstHidden, 'hideModule');
        Element.addClass(firstHidden, 'showModule');
        if(Element.hasClass(firstHidden, 'deleteModule')) {
            Element.removeClass(theOneToHide, 'deleteModule');
        }
    }
}

admin_data.prototype.subtractGroup = function(container) {

    var alreadyShowing = Element.parseSelector('.showModule',container);

    if(alreadyShowing.length > 0) {
        var theOneToHide = alreadyShowing[alreadyShowing.length-1];
        Element.removeClass(theOneToHide, 'showModule');
        Element.addClass(theOneToHide, 'hideModule');
        if(Element.hasClass(theOneToHide, 'saved')) {
            Element.addClass(theOneToHide, 'deleteModule');
        }
    }
}

admin_data.prototype.addField = function(container,count) {
    
    var alreadyShowing = Element.parseSelector('.showField',container);
    
    if(alreadyShowing.length < count) {
    
        var firstHidden = Element.parseSelector('.hideField',container, 'first');
        Element.removeClass(firstHidden, 'hideField');
        Element.addClass(firstHidden, 'showField');
    }
}

admin_data.prototype.subtractField = function(container) {

    var alreadyShowing = Element.parseSelector('.showField',container);

    if(alreadyShowing.length > 1) {
        var theOneToHide = alreadyShowing[alreadyShowing.length-1];
        Element.removeClass(theOneToHide, 'showField');
        Element.addClass(theOneToHide, 'hideField');
    }
}

admin_data.prototype.undeleteSection = function(checkbox) {

    var checkboxParent = Element.getParent(checkbox,'div');
    
    var section = Element.getParent(checkboxParent,'div');
    
    var sectionElements = Element.parseSelector('input, textarea, select',section);

    for(var i = 0; i < sectionElements.length; i++) {
    
        Element.get(sectionElements[i]).disabled = false;
    }
    
    checkboxParent.innerHTML = '';
}

admin_data.prototype.collapseModule = function(el,module) {

    var parent = Element.getParent(el,'div');

    if (Element.get(module).style.display == 'block') {
        Element.get(module).style.display = 'none';
        if(Element.hasClass(parent,"highlightMinus")) {
            Element.removeClass(parent,"highlightMinus");
            Element.addClass(parent,"highlightPlus");
        } else {
            Element.removeClass(parent,"minus");
            Element.addClass(parent,"plus");
        }
    } else {
        Element.get(module).style.display = 'block';
        if(Element.hasClass(parent,"highlightPlus")) {
            Element.removeClass(parent,"highlightPlus");
            Element.addClass(parent,"highlightMinus");
        } else {
            Element.removeClass(parent,"plus");
            Element.addClass(parent,"minus");
        }
    }
}

admin_data.prototype.showHideCompanyPopup = function() {
    
    if(Element.get('showHidePopup').style.display == 'block') {
        Element.get('showHidePopup').style.display = 'none';
    } else {
    
        var button = Element.getXY(Element.get('show_company'));
        
        Element.get('showHidePopup').style.top        = (button.y + 29) + 'px';
        Element.get('showHidePopup').style.left       = button.x + 'px';
        Element.get('showHidePopup').style.display = 'block';
    }
}

admin_data.prototype.showHideCompany = function(capiqid, showHideFlag, subscribedFlag, financialsFlag) {

    if (this.subscribedFlag == null) {
        this.subscribedFlag = subscribedFlag;       
    }

    if (this.financialsFlag == null) {
        this.financialsFlag = financialsFlag;
    }
    
    if (this.showHideFlag == null) {
        if (showHideFlag) {
            this.showHideFlag = 0;
        } else {
            this.showHideFlag = 1;
        }
    } else {
        if (this.showHideFlag) {
            this.showHideFlag = 0;
        } else {
            this.showHideFlag = 1;
        }
    }
    
    this.cBuffer.load({
        url: "../show_hide_buffer.asp",
        data: { capiqid: capiqid, showHideFlag: this.showHideFlag, subscribedFlag: this.subscribedFlag, financialsFlag: this.financialsFlag },
        contentType: "text/javascript",
        onload: this.changeShowHideText,
        onerror: this.Error,
        method: "post",
        context: this
    });
}

admin_data.prototype.changeShowHideText = function(buffer) {
    results = buffer.getResult();

    if (results) {
        if (this.showHideFlag) {
            Element.get('show_company').innerHTML = 'Show Company';
            Element.get('popup_text').innerHTML = 'show';
            Element.get('show_company').className = 'adminHeaderLinks showcompany';
        } else {
            Element.get('show_company').innerHTML = 'Hide Company';
            Element.get('popup_text').innerHTML = 'hide';
            Element.get('show_company').className = 'adminHeaderLinks hidecompany';
        }
    }
    Element.get('showHidePopup').style.display = 'none';
}

admin_data.prototype.subscribeCompanyPopup = function() {

    if (Element.get('subscribePopup').style.display == 'block') {
        Element.get('subscribePopup').style.display = 'none';
    } else {

        var button = Element.getXY(Element.get('subscribe_company'));

        Element.get('subscribePopup').style.top = (button.y + 29) + 'px';
        Element.get('subscribePopup').style.left = button.x + 'px';
        Element.get('subscribePopup').style.display = 'block';
    }
}

admin_data.prototype.subscribeCompany = function(capiqid, showHideFlag, subscribedFlag, financialsFlag) {

    if (this.showHideFlag == null) {
        this.showHideFlag = showHideFlag;       
    }

    if (this.financialsFlag == null) {
        this.financialsFlag = financialsFlag;
    }
    
    if (this.subscribedFlag == null) {
        if (subscribedFlag) {
            this.subscribedFlag = 0;
        } else {
            this.subscribedFlag = 1;
        }
    } else {
        if (this.subscribedFlag) {
            this.subscribedFlag = 0;
        } else {
            this.subscribedFlag = 1;
        }
    }
    
    this.cBuffer.load({
        url: "../show_hide_buffer.asp",
        data: { capiqid: capiqid, showHideFlag: this.showHideFlag, subscribedFlag: this.subscribedFlag, financialsFlag: this.financialsFlag },
        contentType: "text/javascript",
        onload: this.changeSubscribeText,
        onerror: this.Error,
        method: "post",
        context: this
    });
}

admin_data.prototype.changeSubscribeText = function(buffer) {
    results = buffer.getResult();

    if (results) {
        if (this.subscribedFlag) {
            Element.get('subscribe_company').innerHTML = 'Unsubscribe Company';
            Element.get('subscribe_popup_text').innerHTML = 'unsubscribe';
            Element.get('subscribe_company').className = 'adminHeaderLinks unsubscribecompany';
        } else {
            Element.get('subscribe_company').innerHTML = 'Subscribe Company';
            Element.get('subscribe_popup_text').innerHTML = 'subscribe';
            Element.get('subscribe_company').className = 'adminHeaderLinks subscribecompany';                
        }
    }
    Element.get('subscribePopup').style.display = 'none';
}

admin_data.prototype.showFinancialPopup = function() {

    if (Element.get('financialPopup').style.display == 'block') {
        Element.get('financialPopup').style.display = 'none';
    } else {

        var button = Element.getXY(Element.get('show_hide_financials'));

        Element.get('financialPopup').style.top = (button.y + 29) + 'px';
        Element.get('financialPopup').style.left = button.x + 'px';
        Element.get('financialPopup').style.display = 'block';
    }
}

admin_data.prototype.showHideFinancials = function(capiqid, showHideFlag, subscribedFlag, financialsFlag) {

    if (this.showHideFlag == null) {
        this.showHideFlag = showHideFlag;
    }

    if (this.subscribedFlag == null) {
        this.subscribedFlag = subscribedFlag;
    }

    if (this.financialsFlag == null) {
        if (financialsFlag) {
            this.financialsFlag = 0;
        } else {
            this.financialsFlag = 1;
        }
    } else {
        if (this.financialsFlag) {
            this.financialsFlag = 0;
        } else {
            this.financialsFlag = 1;
        }
    }

    this.cBuffer.load({
        url: "../show_hide_buffer.asp",
        data: { capiqid: capiqid, showHideFlag: this.showHideFlag, subscribedFlag: this.subscribedFlag, financialsFlag: this.financialsFlag },
        contentType: "text/javascript",
        onload: this.changeFinancialText,
        onerror: this.Error,
        method: "post",
        context: this
    });
}

admin_data.prototype.changeFinancialText = function(buffer) {
    results = buffer.getResult();

    if (results) {
        if (this.financialsFlag) {
            Element.get('show_hide_financials').innerHTML = 'Show Financials';
            Element.get('show_hide_financials_text').innerHTML = 'show';
            Element.get('show_hide_financials').className = 'adminHeaderLinks showcompany';
        } else {
            Element.get('show_hide_financials').innerHTML = 'Hide Financials';
            Element.get('show_hide_financials_text').innerHTML = 'hide';
            Element.get('show_hide_financials').className = 'adminHeaderLinks hidecompany';
        }
    }
    Element.get('financialPopup').style.display = 'none';
}

admin_data.prototype.expandAll = function(el) {

    var headers = Element.parseSelector(".highlightPlus, .plus", Element.get('main'));

    for (var i = 0; i < headers.length; i++) {

        var nextElement = Element.nextElement(headers[i], 'div');

        Element.get(nextElement).style.display = 'block';

        Element.removeClass(headers[i], "highlightPlus");
        Element.removeClass(headers[i], "plus");

        Element.addClass(headers[i], "highlightMinus");
        Element.addClass(headers[i], "minus");
    }

    var parent = $(el).parents("div").get(0);    
    $(parent).append('<a id="collapse_all" class="collapseAll" style="" href="javascript:void(0);" onclick="admin.collapseAll(this);">Collapse All</a>');
    $("#expand_all").remove();

}

admin_data.prototype.collapseAll = function(el) {

    var headers = Element.parseSelector(".highlightMinus, .minus", Element.get('main'));

    for (var i = 0; i < headers.length; i++) {

        var nextElement = Element.nextElement(headers[i], 'div');

        Element.get(nextElement).style.display = 'none';

        Element.removeClass(headers[i], "highlightMinus");
        Element.removeClass(headers[i], "minus");

        Element.addClass(headers[i], "highlightPlus");
        Element.addClass(headers[i], "plus");
    }

    var parent = $(el).parents("div").get(0);
    $(parent).append('<a id="expand_all" class="expandAll" style="" href="javascript:void(0);" onclick="admin.expandAll(this);">Expand All</a>');
    $("#collapse_all").remove();
}

admin_data.prototype.attachImage = function(name,status) {
    window.open('../upload_dialog.asp?fieldName='+name+'&status='+status,'SnP','height=200,width=300');
}

admin_data.prototype.deleteImage = function(name) {
    
    if(name) {
        this.cBuffer.load({
	        url: "../delete_image_buffer.asp",
	        data: { name:name },
	        contentType: "text/javascript",
	        onload: this.imageDeleted,
	        onerror: this.Error,
	        method: "post",
	        context: this
        });
    }    
}

admin_data.prototype.imageDeleted = function(buffer) {
    
    results = buffer.getResult();
    
	if(results){
       Element.get(results + '_placeholder').src = '../../images/common/placeholder.gif';
	}
}

admin_data.prototype.printPreview = function() {

    var newForm = Element.create('form', { name: 'newForm', action: 'print_preview.asp', method: 'post', target: '_blank' });

    $("#printbox :checked").each(function() {
        var newInput = Element.create('input', { name: $(this).val(), value: $(this).val(), type: 'hidden' })
        Element.addChild(newForm, newInput);
    });

    var formElements = Element.parseSelector('input,select,textarea', Element.get('main'));

    var awardType = 'Corporate';

    for (var i = 0; i < formElements.length; i++) {
        if (formElements[i].name && formElements[i].type != 'checkbox' && formElements[i].type != 'file') {

            var formName = Element.getParent(formElements[i], 'form').id;

            if (formName == 'awards') {
                if (formElements[i].name.indexOf('awardType') > -1) {
                    awardType = formElements[i].value;
                }
                var name = formName + '_' + awardType + '_' + formElements[i].name;
            } else {
                var name = formName + '_' + formElements[i].name;
            }

            var value = formElements[i].value;

            var newInput = Element.create('input', { name: name, value: value, type: 'hidden' })

            Element.addChild(newForm, newInput);
        }
    }

    var body = Element.parseSelector('body')[0];
    Element.addChild(body, newForm);
    Element.get(newForm).submit();
}

admin_data.prototype.showPrintPreview = function(buffer) {
    
    results = buffer.getResult();

	if(results){
        var printWindow = window.open('print_preview.asp','SnP','height=1200,width=800,scrollbars=yes');
            printWindow.document.write(results);
	}
} 

admin_data.prototype.updateDate = function(el) {
    
    var parent      = Element.getParent(el,'div');
    var selects     = Element.parseSelector('select',parent);
    var hiddenInput = Element.parseSelector('input[type="hidden"]',parent, 'first');
    
    var month = '';
    var day   = '';
    var year  = '';
    
    for(var i = 0; i < selects.length; i++) {
        
        if(selects[i].id.indexOf('month') > -1) {
            month = selects[i].value;
        }
        if(selects[i].id.indexOf('day') > -1) {
            day = selects[i].value;
        }
        if(selects[i].id.indexOf('year') > -1) {
            year = selects[i].value;
        }
    }

    if(month && day && year) {
        
        hiddenInput.value = month + '/' + day + '/' + year;
         
    }
}

admin_data.prototype.focus = function(el) {
	
	el.style.color  = 'black';
	el.value        = '';
}

$(document).ready(function() {

    admin = new admin_data();
    admin.init();
	
});

