function createCookie(name, value, days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        var expires = "; expires=" + date.toGMTString();
    }
    else var expires = "";
    document.cookie = name + "=" + value + expires + "; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') c = c.substring(1, c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
    }
    return null;
}

function eraseCookie(name) {
    createCookie(name, "", -1);
}

function saveApp() {
    var theValue = '';
    var cookieNum = 0;

    var fields = document.getElementsByTagName('input');
    //FOR TEXT BOXES
    for (var i = 0; i < fields.length; i++) {
        if (fields[i].getAttribute('type') == 'text' && fields[i].value != '') {
            if (theValue.length < 2000) {
                theValue += fields[i].getAttribute('name') + '^^^' + fields[i].value + '^^^';
            }
            else {
                createCookie('cookie' + cookieNum, theValue, 3);
                cookieNum++;
                theValue = '';
            }
        }
    }

    //CHECK AND RADIO BUTTONS
    for (var i = 0; i < fields.length; i++) {
        if (fields[i].checked == true) {
            if (theValue.length < 2000) {
                theValue += fields[i].getAttribute('name') + '^^^' + fields[i].value + '^^^';
            }
            else {
                createCookie('cookie' + cookieNum, theValue, 3);
                cookieNum++;
                theValue = '';
            }
        }
    }

    //TEXT AREAS
    fields = document.getElementsByTagName('textarea');
    for (var i = 0; i < fields.length; i++) {
        if (fields[i].value != '') {
            if (theValue.length < 2000) {
                theValue += fields[i].getAttribute('name') + '^^^' + fields[i].value + '^^^';
            }
            else {
                createCookie('cookie' + cookieNum, theValue, 3);
                cookieNum++;
                theValue = '';
            }
        }
    }

    //SELECTS
    fields = document.getElementsByTagName('select');
    for (var i = 0; i < fields.length; i++) {
        var theSelect = document.getElementsByName(fields[i].getAttribute('name'));
        if (theSelect[0].selectedIndex != 0) {
            if (theValue.length < 2000) {
                theValue += fields[i].getAttribute('name') + '^^^' + theSelect[0].selectedIndex + '^^^';
            }
            else {
                createCookie('cookie' + cookieNum, theValue, 3);
                cookieNum++;
                theValue = '';
            }
        }
    }

    createCookie('cookie' + cookieNum, theValue, 3);

    alert("Your application has been saved, it will remain on your computer for 3 days");
}
function loadApp() {
    var f_values;
    for (var cook_i = 0; cook_i < 10; cook_i++) {
        var cookieValue = readCookie('cookie' + cook_i);
        if (cookieValue == null) {
            cook_i = 100;
        }
        else {
            f_values = cookieValue.split('^^^');
        }

        var fields = document.getElementsByTagName('input');
        for (var i = 0; i < fields.length; i++) {
            if (fields[i].getAttribute('type') == 'text') {
                for (var f_i = 0; f_i < f_values.length; f_i += 2) {
                    if (fields[i].getAttribute('name') == f_values[f_i]) {
                        fields[i].value = f_values[f_i + 1];
                    }
                }
            }
            else if (fields[i].getAttribute('type') == 'checkbox' || fields[i].getAttribute('type') == 'radio') {
                for (var f_i = 0; f_i < f_values.length; f_i += 2) {
                    if (fields[i].getAttribute('name') == f_values[f_i] && fields[i].getAttribute('value') == f_values[f_i + 1]) {
                        fields[i].checked = true;
                    }
                }
            }
        }

        //TEXT AREAS
        fields = document.getElementsByTagName('textarea');
        for (var i = 0; i < fields.length; i++) {
            for (var f_i = 0; f_i < f_values.length; f_i += 2) {
                if (fields[i].getAttribute('name') == f_values[f_i]) {
                    fields[i].value = f_values[f_i + 1];
                }
            }
        }

        //SELECTS
        fields = document.getElementsByTagName('select');
        for (var i = 0; i < fields.length; i++) {
            for (var f_i = 0; f_i < f_values.length; f_i += 2) {
                if (fields[i].getAttribute('name') == f_values[f_i]) {
                    var theSelect = document.getElementsByName(fields[i].getAttribute('name'));
                    theSelect[0].selectedIndex = f_values[f_i + 1];
                }
            }
        }
    }
}