		/* GLOBAL VARS */
		// form objects
		var mostimptObj;
		var descyouObj;
		var howmanyObj;
		var howlongObj;
		var serviceObj;
		var descyou2Obj;
		
		/* assign the form fields to object variables */
		function init() 
		{
			mostimptObj = document.forms['lorb'].mostimpt;
			descyouObj = document.forms['lorb'].descyou;
			howmanyObj = document.forms['lorb'].howmany;
			howlongObj = document.forms['lorb'].howlong;
			serviceObj = document.forms['lorb'].service;
			descyou2Obj = document.forms['lorb'].descyou2;
			contentdivObj = getRef("contentdiv");
		}
		
		// get a reference to the object (used for divs)
		function getRef(id) {
			return (document.getElementById ? document.getElementById(id) : document.all[id]);
		}
		
		function testUserInput()
		{
		
			if( !getChecked(mostimptObj) ) {
				alert("Veuillez choisir une réponse pour la question no. 1.");
				return 0;
			}
			
			if( !getChecked(descyouObj) ) {
				alert("Veuillez choisir une réponse pour la question no. 2.");
				return 0;
			}
			
			if( !getChecked(howmanyObj) ) {
				alert("Veuillez choisir une réponse pour la question no. 3.");
				return 0;
			}
			
			if( !getChecked(descyou2Obj) ) {
				alert("Veuillez choisir une réponse pour la question no. 4.");
				return 0;
			}

			if( !getChecked(howlongObj) ) {
				alert("Veuillez choisir une réponse pour la question no. 5.");
				return 0;
			}
			
			if( !getChecked(serviceObj) ) {
				alert("Veuillez choisir une réponse pour la question no. 6.");
				return 0;
			}
			
			
			/* all tests have passed */
			return 1;
		}
		
		
		/* returns the value of the selected radio button */
		function getChecked(obj) 
		{
			var flag;
			for(var x=0; x<obj.length; x++){
				if(obj[x].checked) {
					return obj[x].value;
					break;
				}
				/* the following test will only be performed if no selection is made */
				if(x==2){return false;}
			}
		}
		
		/* main logic checks and result calculation */
		function calculate(arg) 
		{
			
			var intlease=0, intbuy=0;	// used to hold the totals
			var scoreArray = new Array(6); // used to hold all results
			var strMsg = ""; // message displayed to the user
			contentdivObj.innerHTML = strMsg;  // reset message div
			
			/* verify user data before proceeding */		
			if( !testUserInput() )
				return;
		
			scoreArray[0] = getChecked(mostimptObj); // Question 1
			scoreArray[1] = getChecked(descyouObj);  // Question 2
			scoreArray[2] = getChecked(howmanyObj);  // Question 3
			scoreArray[3] = getChecked(howlongObj);  // Question 4
			scoreArray[4] = getChecked(serviceObj);  // Question 5
			scoreArray[5] = getChecked(descyou2Obj); // Question 6
		
			/* iterate through the array and tally the results */
			for(var x=0; x<scoreArray.length; x++){
				if(scoreArray[x].substring(0,2)=='ls') {
					intlease++;
				} else if(scoreArray[x].substring(0,2)=='by') {
					intbuy++;
				}
			}
		
			/* for testing: display scores */
			// alert("lease: " + intlease + "\nbuy: " + intbuy);
		
			if(intlease > intbuy){ // lease customer
			
				strMsg += "<strong>GMAC LocationPlus</strong><br />D'apr&#232;s vos r&#233;ponses, nous vous recommandons de louer votre prochain v&#233;hicule.<br /><br />";
				
				if ( getChecked(descyouObj)=="by" ) {
					strMsg += "M&#234;me si la location semble plus avantageuse pour vous, nous offrons uniquement la possibilit&#233; de paiements mensuels dans le cadre de la location.<br /><br />";
				}
				if ( getChecked(howmanyObj)=="by" || getChecked(howmanyObj)=="ls2" ) {
					strMsg += "M&#234;me si la location semble plus avantageuse pour vous, vous devrez payer le kilom&#233;trage exc&#233;dentaire par rapport &#224; votre contrat de location. Veuillez consulter votre <a href=\"http://apps.gm.ca/app/GMCanada/DealerLocatorSearch.do?nav=0&cta=blank&lang=fr\">concessionnaire GM</a> &#224; ce sujet ou appeler au Centre des services &#224; la client&#232;le (1 800 616 4622).<br /><br />";
				}
				if ( getChecked(howlongObj)=="by" || getChecked(howlongObj)=="ls2") {
					strMsg += "Vos r&#233;ponses indiquent que vous pouvez conduire un v&#233;hicule au-del&#224; de la p&#233;riode de garantie standard. Vous voudrez peut-&#234;tre envisager l'achat d'un Plan de protection General Motors (PPGM) qui vous prot&#233;gera des &#233;ventuelles r&#233;parations co&#251;teuses et des d&#233;penses aff&#233;rentes qui peuvent survenir apr&#232;s la p&#233;riode de garantie. Demandez &#224; votre  <a href=\"http://apps.gm.ca/app/GMCanada/DealerLocatorSearch.do?nav=0&cta=blank&lang=fr\">concessionnaire GM </a> GM de vous donner plus d'information sur ce programme.<br /><br />";
				}
				if ( getChecked(descyou2Obj)=="by" ) {
					strMsg += "M&#234;me si la location semble plus avantageuse pour vous, vous ne pouvez pas modifier un v&#233;hicule lou&#233;.<br /><br />";
				}
				if ( getChecked(serviceObj)=="by" ) {
					strMsg += "N'oubliez pas que les techniciens du Service Goodwrench sont ceux qui connaissent le mieux votre v&#233;hicule GM. Ils ont &#233;t&#233; form&#233;s en usine, se servent d'appareils de diagnostic et posent des pi&#232;ces approuv&#233;es par la GM, &#224; des prix concurrentiels, pour que l'entretien de votre v&#233;hicule GM soit bien fait. Et qu'il soit fait &#224; temps.";
				}
				
				strMsg += "<br /><br /><a href=\"/gm/french/services/gmac/leasing/overview\">En savoir plus sur le financement de l'achat par GMAC</a>";
				
				
			} else { // buy customer
			
				strMsg += "<strong>Financement &#224; l'achat de GMAC</strong><br />D'apr&#232;s vos r&#233;ponses, nous vous recommandons d'acheter votre prochain v&#233;hicule.<br /><br />";

				if ( getChecked(howlongObj)=="by" || getChecked(howlongObj)=="ls2") {
					strMsg += "Vos r&#233;ponses indiquent que vous pouvez conduire un v&#233;hicule au-del&#224; de la p&#233;riode de garantie standard. Vous voudrez peut-&#234;tre envisager l'achat d'un Plan de protection General Motors (PPGM) qui vous prot&#233;gera des &#233;ventuelles r&#233;parations co&#251;teuses et des d&#233;penses aff&#233;rentes qui peuvent survenir apr&#232;s la p&#233;riode de garantie. Demandez &#224; votre  <a href=\"http://apps.gm.ca/app/GMCanada/DealerLocatorSearch.do?nav=0&cta=blank&lang=fr\">concessionnaire GM </a> GM de vous donner plus d'information sur ce programme.<br /><br />";
				}
				
				strMsg += "<a href=\"/gm/french/services/gmac/commercial/finance-introduction \">En savoir plus sur le financement de l'achat par GMAC</a>";
			
			}
			
			/* print the message to the screen */
			contentdivObj.innerHTML = strMsg;
			
			/* jump to the output */
			location.href = "#output";
			
		}

		/* clears all form values */
		function reset()
		{
			document.forms['lorb'].reset();
			contentdivObj.innerHTML = "";
		}
