Really sorry if these are basic questions that i ought to know. My experience from web development and JavaScript is very limited; it extends to about 4 hours of reading code that others produced.
Unfortunately I haven't got the time to read up and build experience before bothering all of you

Anyways here goes:
I built a small app (in .NET) that interacts with a website. The application enters some values in a couple of fields and executes a click event. The company that owns the website recently redesigned their form which killed my application. I think I've figured out their new approach and that I would be able to make the necessary adjustments to have my application up and running again. But now Iím a bit worried about future changes. I'm ok with the application terminating and raising an alarm when web form is changed but what gives me nightmares is the idea that some field all of a sudden changes it's logic (e.g. the start date date picker ends up below the label "End date:")

I get that this approach is far from ideal (we ought to have an agreed format on information exchange were communication is required before making adjustments). But my company has decided to conform to this web form approach and there is no interest from the other company to accept any other approach.

So my question is there a good and conventional way validate my approach when running this application, to make sure this website still utilizes the same functionality in the same way. The only think that came to mind was to check if the source code still contains some chunks of text. It doesn't feel like a good approach and i'm guessing/hoping others have a better solution which includes some sort of version tracking

When i studied their source code i noticed that they passed the number 12 in the month argument to the date constructor ("new Date(2013, 12, 20)"). As I understand that the month array is 0 based I get the feeling they might have made a mistake (importing a month value from a place where it starts on 1). In my case (IE) it seems like it accepts any integer and just adds on the number of years, is that the expected behavior of all major browsers?
Is there any class in .NET that I could use to ensure I use the same approach to dates as JavaScript does?