Coding Job for Magento for a print shop calculator.

I need php or javascript code to be written in magento to calculate prices for products from a csv file.
The javascript should dynamically populate the drop down menus as the drop down options are changed.

This will allow me to add new products with different prices and options.

The Ex

The product price needs to update real time as options are changed. I have done an example of the product layout here in woocommerce https://kudoprint.com.au/shop/business-cards-deluxe-410g/
Please note we are also calculating product weight and package size for freight module on these products.

The csv for the first product is here: https://www.dropbox.com/home/magento?preview=Deluxe+Cards+Prices.csv

The calculations for the extras (variables) are described in the csv here:

https://www.dropbox.com/s/wxsbfphszez3073/Deluxe%20Cards%20Categories%20-%20Extras.csv?dl=0

The File up loader needs to attach uploaded files to the customers order.

The layout needs to look like the sample layout at this link:  https://kudoprint.com.au/shop/business-cards-deluxe-410g/

However I would like the Extra Features to be 3 per line.

Drop Down Menus Contents: Product Type

Drop Down Menus Contents: Product Size

Drop Down Menus Contents: Product Quantity

Drop Down Menus Contents: Product Colour

Upload Images/Artwork: When Upload Images/Artwork is checked a section opens below the check box where the user can select files to upload or drag into the upload section (when unchecked the file up-loader section closes) this feature is already in gravity forms:

Also the Options are used for all the other products in our shop as well so they option code should probably be in another file.

Foiling: When the user clicks the foiling check box the section below opens with the two drop down menus :

 

 

Drill Hole: When the user clicks the Drill Hole check box the section below opens with the drop down menu below:

Embossing: When the user clicks the Embossing check box the section below opens with the drop down menu below:

Numbering: When numbering is checked the section below opens and the user can type in what number he want to start at.

 

If this goes smoothly I should have lots of work for you after this.

Regards, Graham