<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 transitional//EN">
<html>

<head>
<title>Eclipse Reporting Survey</title>
<link rel="stylesheet" href="../style/style.css" type="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<LINK REL="shortcut icon" HREF="http://www.eclipse.org/images/eclipse.ico"
	  TYPE="image/x-icon">
<SCRIPT LANGUAGE="JavaScript">
function enable_submit() {
	var submit = document.getElementById("SUBMIT");
	submit.disabled = false;
	var div = document.getElementById("DIVTHANKS");
	div.style.display = "inline";
}
function disable_submit() {
	var submit = document.getElementById("SUBMIT");
	submit.disabled = true;
	var div = document.getElementById("DIVTHANKS");
	div.style.display = "none";
}
function answer1()
{
    var a1 = document.getElementsByName("A1");
   	var next = document.getElementById("DIVQ2");
	var a1text = document.getElementById("A1TEXT");
	var out = document.getElementById("LANGUAGE");
	disable_submit();
    if (a1[0].checked) {
    	next.style.display="inline";
    	a1text.disabled = true;
    	out.value = a1[0].value;
    	answer2();
    } else if (a1[1].checked) {
        next.style.display = "none";
        a1text.disabled = true;
        out.value = a1[1].value;
        enable_submit();
   	} else {
   	    next.style.display="none";
   	    a1text.disabled=false;
   	    if (a1text.value != "") {
   	        enable_submit();
   	    }
   	    out.value = a1text.value;
	}
}
function answer2()
{
    var a2 = document.getElementsByName("A2");
   	var next = document.getElementById("DIVQ3");
	var a2text = document.getElementById("A2TEXT");
	var out = document.getElementById("DEV");
	disable_submit();
    if (a2[0].checked || a2[1].checked) {
    	next.style.display="inline";
    	answer3();
    	a2text.disabled = true;
    	if (a2[0].checked) {
    	    out.value=a2[0].value;
    	} else {
    	    out.value=a2[1].value;
    	}
    } else if (a2[2].checked) {
   	    next.style.display="none";
        a2text.disabled = true;
        out.value = a2[2].value;
        enable_submit();
   	} else {
   	    next.style.display="none";
   	    a2text.disabled=false;
   	    if (a2text.value != "") {
   	        enable_submit();
   	    }
   	    out.value = a2text.value;
	}
}
function answer3()
{
    var a3 = document.getElementsByName("A3");
   	var next = document.getElementById("DIVQ4");
	var a3text = document.getElementById("A3TEXT");
	var out = document.getElementById("IDE");
	out.value="";
	disable_submit();
   	if (a3[4].checked) {
   	    next.style.display="none";
   	    a3text.disabled=false;
   	    if (a3text.value != "") {
   	        enable_submit();
   	    }
   	    out.value = a3text.value;
	} else {
    	a3text.disabled = true;
    	for (i = 0; i < 4; ++i) {
        	if (a3[i].checked) {
   				next.style.display="inline";
   				out.value = a3[i].value;
   			}
   		}
    	if (out.value != "") {
   	    	next.style.display="inline";
    		answer4();
    	}
	}
}
function answer4()
{
    var a4 = document.getElementsByName("A4");
   	var next = document.getElementById("DIVQ5");
	var out = document.getElementById("REPORTWRITER");
	disable_submit();
    if (a4[0].checked) {
    	next.style.display="inline";
    	out.value = a4[0].value;
    	answer5();
   	} else if(a4[1].checked) {
   	    next.style.display="none";
   	    out.value = a4[1].value;
   	    enable_submit();
	}
}
function answer5()
{
    var a5 = document.getElementsByName("A5");
    var a6 = document.getElementsByName("A6");
    var a6divs = document.getElementsByName("A6DIV");
   	var next = document.getElementById("DIVQ6");
	var a5text = document.getElementById("A5TEXT");
	var out = document.getElementById("TOOLS");
	var out6 = document.getElementById("PRIMARY");
	out.value = "";
	var numChecked = 0;
	for (i = 0; i < 9; ++i) {
	    if (a5[i].checked) {
	        a6divs[i].style.display = "inline";
	        if (out.value != "") {
	            out.value += "|";
	        }
	        out.value += a5[i].value;
	        ++numChecked;
	    } else {
	        a6divs[i].style.display = "none";
	        a6[i].checked = false;
	    }
	}
    if (a5[9].checked) {
        a5text.disabled = false;
        if (a5text.value != "") {
        	++numChecked;
            if (out.value != "") {
                out.value += "|";
            }
	        out.value += a5text.value;
	        a6[9].value = a5text.value;
	        var othertext = document.getElementById("OTHERTEXT");
	        var newtext = document.createTextNode(a5text.value);
	        if (othertext.hasChildNodes()) {
                othertext.replaceChild(newtext, othertext.childNodes[0]);
	        } else {
	            othertext.appendChild(newtext);
	        }
	        a6divs[9].style.display = "inline";
        } else {
        	var othertext = document.getElementById("OTHERTEXT");
        	if (othertext.hasChildNodes()) {
                othertext.removeChild(othertext.childNodes[0]);
            }
	        a6divs[9].style.display = "none";
        }
    } else {
        a5text.disabled = true;
        a6divs[i].style.display = "none";
        a6[i].checked = false;
    }
    if (out.value != "" && numChecked>1) {
	    next.style.display="inline";
	} else {
	    out6.value = out.value;
	    next.style.display="none";
	}
    answer6();
}
function answer6()
{
    var a6 = document.getElementsByName("A6");
    var a5 = document.getElementsByName("A5");
	var a5text = document.getElementById("A5TEXT");
	var out = document.getElementById("PRIMARY");
	out.value = "";
	var numChecked = 0;
	var lastval;
    for (i=0; i <= 9; ++i) {
        if (a6[i].checked) {
   	        out.value = a6[i].value;
   	    }
   	    if (a5[i].checked) {
   	        ++numChecked;
   	        lastval = (i==9) ? a5text.value : a5[i].value;
   	    }
   	}

	if (numChecked == 1) {
	    out.value = lastval;
	}
	if (out.value != "") {
	    enable_submit();
	} else {
	    disable_submit();
	}
}
function validate()
{
    var hide2 = (document.getElementById("DIVQ2").style.display=="none");
    var hide3 = (document.getElementById("DIVQ3").style.display=="none");
    var hide4 = (document.getElementById("DIVQ4").style.display=="none");
    var hide5 = (document.getElementById("DIVQ5").style.display=="none");
    var hide6 = (document.getElementById("DIVQ6").style.display=="none");

	var a2 = document.getElementById("DEV");
	var a3 = document.getElementById("IDE");
	var a4 = document.getElementById("REPORTWRITER");
	var a5 = document.getElementById("TOOLS");
	var a6 = document.getElementById("PRIMARY");
    if (hide2) {
        a2.value = "";
        a3.value = "";
        a4.value = "";
        a5.value = "";
        a6.value = "";
    } else if (hide3) {
        a3.value = "";
        a4.value = "";
        a5.value = "";
        a6.value = "";
    } else if (hide4) {
        a4.value = "";
        a5.value = "";
        a6.value = "";
    } else if (hide5) {
        a5.value = "";
        a6.value = "";
    } else if (hide6) {
        a6.value = a5.value;
	}

}
</SCRIPT>
</head>

<body>

<table border=0 width=100%>
<tr>
<td>
<p class=indextop>Reporting Survey</p>
</td>
<td style="text-align: right">
<img src="http://www.eclipse.org/downloads/images/survey.gif">
</td>
</tr>
</table>
<p>
<table border=0>
<tr><td>
Thank you for agreeing to take this short survey.  We are interested in how you 
create reports in your applications.   The information collected from this survey 
will be published at a later date and all information will be used in compliance 
with the
<a href="http://www.eclipse.org/legal/privacy.html">Eclipse Foundation privacy policy</a>.
<p>
<i>&ndash; The <a href="/birt" target="_top">BIRT</a> PMC</i>  
<p>


    <DIV ID="DIVQ1">
        <B>What is your primary development language?</B><BR>
        <INPUT type="radio" name="A1" id="A1" VALUE="JAVA" onclick="answer1()">Java</INPUT><BR>
        <INPUT type="radio" name="A1" id="A1" VALUE="C" onclick="answer1()">C/C++</INPUT><BR>
        <INPUT type="radio" name="A1" id="A1" VALUE="OTHER" onclick="answer1()">Other:</INPUT>
        <INPUT type="text" name="A1TEXT" id="A1TEXT" STYLE="border-style:groove" DISABLED="TRUE" onkeyup="answer1()"></INPUT><BR>
        <P>
    <DIV ID="DIVQ2" STYLE="display:none">
        <B>Which Java technology do you primarily use?</B><BR>
        <INPUT type="radio" id="A2" name="A2" VALUE="J2EE" onclick="answer2()">J2EE</INPUT><BR>
        <INPUT type="radio" id="A2" name="A2" VALUE="J2SE" onclick="answer2()">J2SE</INPUT><BR>
        <INPUT type="radio" id="A2" name="A2" VALUE="J2ME" onclick="answer2()">J2ME</INPUT><BR>
        <INPUT type="radio" id="A2" name="A2" VALUE="OTHER" onclick="answer2()">Other:</INPUT>
        <INPUT type="text" id="A2TEXT" name="A2TEXT" STYLE="border-style:groove" DISABLED="TRUE" onkeyup="answer2()"></INPUT><BR>
        <P>
    <DIV ID="DIVQ3" STYLE="display:none">
        <B>What is your primary Java IDE?</B><BR>
        <INPUT type="radio" id="A3" name="A3" VALUE="ECLIPSE" onclick="answer3()">Eclipse</INPUT><BR>
        <INPUT type="radio" id="A3" name="A3" VALUE="WEBSPHERE" onclick="answer3()">IBM Websphere Studio</INPUT><BR>
        <INPUT type="radio" id="A3" name="A3" VALUE="NETWEAVER" onclick="answer3()">SAP Netweaver</INPUT><BR>
        <INPUT type="radio" id="A3" name="A3" VALUE="BORLAND" onclick="answer3()">Borland Together Edition for Eclipse</INPUT><BR>
        <INPUT type="radio" id="A3" name="A3" VALUE="OTHER" onclick="answer3()">Other:</INPUT>
        <INPUT type="text" id="A3TEXT" name="A3TEXT" STYLE="border-style:groove" DISABLED="TRUE" onkeyup="answer3()"></INPUT><BR>
        <P>
    <DIV ID="DIVQ4" STYLE="display:none">
        <B>Do you write reports (i.e. format database data on a web page or printer?)</B><BR>
        <INPUT type="radio" id="A4" name="A4" VALUE="YES" onclick="answer4()">Yes</INPUT><BR>
        <INPUT type="radio" id="A4" name="A4" VALUE="NO" onclick="answer4()">No</INPUT><BR>
        <P>
    <DIV ID="DIVQ5" STYLE="display:none">
        <B>What tool(s) do you use for your reporting on this project? (Click all that apply.)</B><BR>
        <INPUT type="checkbox" id="A5" name="A5" VALUE="BIRT" onclick="answer5()">BIRT</INPUT><BR>
        <INPUT type="checkbox" id="A5" name="A5" VALUE="CRYSTAL" onclick="answer5()">Crystal Reports</INPUT><BR>
        <INPUT type="checkbox" id="A5" name="A5" VALUE="JASPER" onclick="answer5()">Jasper Reports</INPUT><BR>
        <INPUT type="checkbox" id="A5" name="A5" VALUE="JSP" onclick="answer5()">Java/JSP</INPUT><BR>
        <INPUT type="checkbox" id="A5" name="A5" VALUE="JFREE" onclick="answer5()">Jfree Report</INPUT><BR>
        <INPUT type="checkbox" id="A5" name="A5" VALUE="JREPORTS" onclick="answer5()">Jreports</INPUT><BR>
        <INPUT type="checkbox" id="A5" name="A5" VALUE="PANSCOPIC" onclick="answer5()">Panscopic</INPUT><BR>
        <INPUT type="checkbox" id="A5" name="A5" VALUE="REPORTNET" onclick="answer5()">ReportNet</INPUT><BR>
        <INPUT type="checkbox" id="A5" name="A5" VALUE="STYLE" onclick="answer5()">Style Reports</INPUT><BR>
        <INPUT type="checkbox" id="A5" name="A5" VALUE="OTHER" onclick="answer5()">Other</INPUT>
        <INPUT type="text" id="A5TEXT" name="A5TEXT" STYLE="border-style:groove" DISABLED="TRUE" onkeyup="answer5()"></INPUT><BR>
        <P>
    <DIV ID="DIVQ6" STYLE="display:none">
        <B>What is your <I>primary</I> reporting tool on this project?</B><BR>
        <DIV ID="A6DIV" name="A6DIV" STLYE="display:none"><INPUT type="radio" id="A6" name="A6" VALUE="BIRT" onclick="answer6()"/>BIRT<BR></DIV>
        <DIV ID="A6DIV" name="A6DIV" STLYE="display:none"><INPUT type="radio" id="A6" name="A6" VALUE="CRYSTAL" onclick="answer6()"/>Crystal Reports<BR></DIV>
        <DIV ID="A6DIV" name="A6DIV" STLYE="display:none"><INPUT type="radio" id="A6" name="A6" VALUE="JASPER" onclick="answer6()"/>Jasper Reports<BR></DIV>
        <DIV ID="A6DIV" name="A6DIV" STLYE="display:none"><INPUT type="radio" id="A6" name="A6" VALUE="JSP" onclick="answer6()"/>Java/JSP<BR></DIV>
        <DIV ID="A6DIV" name="A6DIV" STLYE="display:none"><INPUT type="radio" id="A6" name="A6" VALUE="JFREE" onclick="answer6()"/>Jfree Reports<BR></DIV>
        <DIV ID="A6DIV" name="A6DIV" STLYE="display:none"><INPUT type="radio" id="A6" name="A6" VALUE="JREPORTS" onclick="answer6()"/>Jreports<BR></DIV>
        <DIV ID="A6DIV" name="A6DIV" STLYE="display:none"><INPUT type="radio" id="A6" name="A6" VALUE="PANSCOPIC" onclick="answer6()"/>Panscopic<BR></DIV>
        <DIV ID="A6DIV" name="A6DIV" STLYE="display:none"><INPUT type="radio" id="A6" name="A6" VALUE="REPORTNET" onclick="answer6()"/>ReportNet<BR></DIV>
        <DIV ID="A6DIV" name="A6DIV" STLYE="display:none"><INPUT type="radio" id="A6" name="A6" VALUE="STYLE" onclick="answer6()"/>Style Reports<BR></DIV>
        <DIV ID="A6DIV" name="A6DIV" STLYE="display:none"><INPUT type="radio" id="A6" name="A6" VALUE="OTHER" onclick="answer6()"/><SPAN ID="OTHERTEXT" NAME="OTHERTEXT"></SPAN></DIV>
        <P>
    </DIV>
    </DIV>
    </DIV>
    </DIV>
    </DIV>
    </DIV>

<FORM ACTION="submit.php" METHOD="POST" onsubmit="validate()">
	<INPUT type="hidden" id="LANGUAGE" name="LANGUAGE">
	<INPUT type="hidden" id="DEV" name="DEV">
	<INPUT type="hidden" id="IDE" name="IDE">
	<INPUT type="hidden" id="REPORTWRITER" name="REPORTWRITER">
	<INPUT type="hidden" id="TOOLS" name="TOOLS">
	<INPUT type="hidden" id="PRIMARY" name="PRIMARY">
	<INPUT TYPE="submit" id="SUBMIT" VALUE="Submit" DISABLED="TRUE">
	  <SPAN ID="DIVTHANKS" STYLE="display:none"><B><I>Thank you!</I></B><BR></SPAN>
</FORM>
</td></tr>
</table>


</BODY>
</HTML>