function cu_show(tdid) {
	row2 = 'row_' + tdid + '2';
	row3 = 'row_' + tdid + '3';
	row2 = document.getElementById(row2);
	row3 = document.getElementById(row3);
	arrow = document.getElementById(tdid + '_arrow').firstChild;
	if (row2.style.display == '') {
		cu_hide(tdid);
	} else {
		row2.style.display = '';
		arrow.src = image_dir + '/path_arrow_large_down.png';
	}

	// hide other rows
	arr = ['problems','comments','services'];
	for (i in arr ) {
		if (arr[i] != tdid) {
			cu_hide(arr[i]);
		}
	}
	return false;
}

function cu_show2(tdid,anchor,mailcode) {
	row3 = 'row_' + tdid + '3';
	row3 = document.getElementById(row3);
	form = 'cu_' + tdid;
	form = document.getElementById(form);
	row3.style.display = '';
	subj = (anchor.innerHTML) ? anchor.innerHTML : anchor;
	if (subj == 'This page') {
		form.subject.value = "Page '"+ document.title + "'";;
	} else {
		form.subject.value = subj;
	}
	form.mailcode.value = mailcode;
	if (form.subject.value != 'Other') {
		form.subject.disabled = true;
	} else {
		form.subject.disabled = false;
	}
	
	return false;
}

function cu_hide(tdid) {
	row2 = 'row_' + tdid + '2';
	row3 = 'row_' + tdid + '3';
	row2 = document.getElementById(row2);
	row3 = document.getElementById(row3);
	arrow = document.getElementById(tdid + '_arrow').firstChild;

	// hide this row and sub-row
	if (row2) {
		row2.style.display = 'none';
	}
	if (row3) {
		row3.style.display = 'none';
	}
	arrow.src = image_dir + '/path_arrow_large.gif';
}

function validate_cu_form(theform) {
	/* NOTE: this sample code does not work in IE, because of an IE bug in looping over form.elements using the "for .. in" loop construct */
	/*
	x = "";
	elems = theform.elements;
	for (i in elems) { x += i + " = " + elems[i] + "\n"; }
	alert(x);
	return false;
	*/
	
	// make sure each element validates
	for (var i=0;i<theform.elements.length;i++) {
		e = theform.elements[i];
		//alert(i + " = " + document.forms['cu_problems'].elements[i]);
		if (e.type && (e.type == 'text' || e.type == 'textarea')) {
			if (e.value == '') {
				alert('All fields are required');
				return false;
			}
		}
	}

	// send appropriate subject
	theform.mailsub.value = "HDL Feedback: " + theform.subject.value;
	return true;
}

function access_problem_autofill() {
	var message = '';
	var execute = 0;
        var varArray = new Array;
        if (document.location.href.indexOf('?') != -1) {
                varArray = document.location.href.split('?')[1];
                if (document.location.href.indexOf('&') != -1) {
                        varArray = varArray.split('&');
                }
        }
        for(var x=0; x<varArray.length; x++)
        {
                var tmp = varArray[x].split('=');
                tmp[0] = decodeURIComponent(tmp[0]);
                tmp[1] = decodeURIComponent(tmp[1]);

                // case statements
                switch(tmp[0]) {
                        case 'contact_type':
				if (tmp[1] == 'access_problem') { execute = 1; }
				break;
                        case 'journal':
				if (tmp[1] != '') { message += 'Journal: ' + tmp[1] + "\n"; }
				break;
                        case 'article':
				if (tmp[1] != '') { message += 'Article: ' + tmp[1] + "\n"; }
				break;
                        case 'referer':
				if (tmp[1] != '') { message += 'URL: ' + tmp[1] + "\n"; }
				break;
		}
	}
	if (execute) {
		if (!message) { message = 'Be sure to include information on how to replicate this problem'; }
	
		// now that we have a message to auto-fill, select the 'access problem' area of the form and fill in the message
		cu_show('problems');
		cu_show2('problems','Database access problem',203);
		form = document.getElementById('cu_problems');
		form.problem_description.value = message;
	}
	return true;
}

function comments_autofill() {
	var message = '';
	var execute = 0;
    var subject = '';
    var varArray = new Array;
    if (document.location.href.indexOf('?') != -1) {
        varArray = document.location.href.split('?')[1];
        if (document.location.href.indexOf('&') != -1) {
            varArray = varArray.split('&');
        } else {
            varArray = new Array(varArray);
        }
    }
    for(var x=0; x<varArray.length; x++)
    {
        var tmp = varArray[x].split('=');
        tmp[0] = decodeURIComponent(tmp[0]);
        tmp[1] = decodeURIComponent(tmp[1]);

        // case statements
        switch(tmp[0]) {
            case 'contact_type':
                if (tmp[1] == 'comment') { execute = 1; }
                break;
            case 'subject':
                subject = tmp[1];
                break;
            default:
                if (tmp[1] != '') { message += tmp[0] + ': ' + tmp[1] + "\n"; }
                break;
		}
    }
	if (execute) {
		if (!message) { message = 'Nothing extra'; }
	
		// now that we have a message to auto-fill, select the 'access problem' area of the form and fill in the message
		cu_show('comments');
        if (subject) {
            cu_show2('comments',subject,202);
            form = document.getElementById('cu_comments');
            form.extra_info.value = message;
        }
	}
	return true;
}


