Produce an online calculator which tells a father who is getting divorced in the U.S., "What is the chance that the court will have my children live with me?" -- this is a Child Custody Calculator. Some questions are fuzzy, some are boolean.
1) Fuzzification of the inputs.
The source of the calculator is a Microsoft word file, produced by a lawyer. It includes items like:
Indicate the average number of days per ________ .lt. 3=1pt.
month where overnight travel was required 3-5=2pts.
during the last 2 year period. .gt. 5=3pts.
This is partially fuzzy. Complete the fuzzification, converting all items to [0..1], with weights. For example, this question would be converted into a linearly increasing function, which plateaus after x .gt. 5.
2) Codification of the inputs.
You will manually build an XML file from the information in the ms word file. We will provide a sample XML syntax, which you will adapt. Here's an example with draft syntax:
{group name="exercise" title="Exercise & Health"}
{item id="1" type="discrete"}
{text}How much time a day do you exercise?{/text}
{choices}
{choice key="15min"}less than 15 minutes{/choice}
{choice key="30min"}15-30 minutes{/choice}
{choice key="60min"}30-60 minutes{/choice}
{/choices}
{outputs}
{output name="in shape" editor="bar" function="enum" default="0.0"}
{for input="15min" output="0.0"/}
{for input="30min" output="0.01"/}
{for input="60min" output="0.3"/}
{/output}
{/outputs}
{/item}
{item id="2" type="continuous" datatype="" min="1" max="100" format=""}
{text}At what age you think you won't be able to run anymore?{/text}
{outputs}
{output name="retiring" function="enum"/}
{/outputs}
{/item}
....
3) AJAX & DHTML input panels
There are approximately 50 questions, divided into 8 sections. The calculator will have similar functionality to the screenshot attached. Written in PHP.
* Script generates html from the XML file.
* When user clicks continue, the next panel appears by displaying the (div)
* When user clicks continue, or 5 seconds pass, the calculator display is updated.
* The calculation is done on the server, and is obtained via xhttprequest.
* Use CSS for most of the layout
* Use javascript to change steps in the calculator, and for ajax.
4) Fuzzy calculation
The calculation will be a fuzzy sum of everything, as per the msword file.
Based on (a) data on the web page, (b) the XML file.
5) Design.
We will provide UI samples, similar in functionality to this screenshot, but with better graphics. You will make the web pages, and slice the images, using as much CSS as possible.