/********************************************************************************************
 *     Ensure that if domain is anything.cibc.com then redirect to https://www.cibc.com     *
 ********************************************************************************************/
{
	if (location.host.indexOf('cibc.com') != -1 && location.host != 'www.cibc.com'){
		location.href = location.href.replace('cibc.com', 'www.cibc.com') ;
	}
	if(location.host == 'www.cibc.com' && location.protocol != 'https:'){
		location.href = 'https:' + location.href.replace(location.protocol, '');

	}
}
 
 
	var englishPage = true;
	var url = document.location.href;
	// Check for a french page
	if (/-fr.html/.test(url)) {
		englishPage = false;
	}

	var loadingPage = false;
	var submitFrameLoadedFlag = false;
	var sectionEdit = false;
	var currentPage = 0;
	var cleaningDataFrame = false;
	var firstPage = true;
	var startPageInd;
	var lstActionCode = -1;
	var tempVals = new Array();
	var isEnglish = true;
	var defaultedFields = ',Origination,SourceRef,ReturnURL,Language,Origination,PromoCode,SourceCode,EntryPoint,';

	var validationPatterns = new Array();
	validationPatterns['genericText'] = /^[A-Za-z0-9ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåæçèéêëìíîïñòóôõöùúûüýÿ,:\'"\-=_!@# \+\*\?\.\[\]\^\$\(\)\{\}\|\\\&]*[A-Za-z0-9ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöùúûüýÿ]+[A-Za-z0-9ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåæçèéêëìíîïñòóôõöùúûüýÿ,:\'"\-=_!@# \+\*\?\.\[\]\^\$\(\)\{\}\|\\\&]*$/;
	validationPatterns['multiLineGenericText'] = /^[A-Za-z0-9ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöùúûüýÿ,:\'"-=_!@# \+\*\?\.\[\]\^\$\(\)\{\}\|\\\&\f\n\r]*[A-Za-z0-9ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöùúûüýÿ]+[A-Za-z0-9ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöùúûüýÿ,:\'"-=_!@# \+\*\?\.\[\]\^\$\(\)\{\}\|\\\&\f\n\r]*$/;
	validationPatterns['2DigitWholeNumber'] = /^[0-9]{2}$/;
	validationPatterns['3DigitWholeNumber'] = /^[0-9]{3}$/;
	validationPatterns['5DigitWholeNumber'] = /^[0-9]{5}$/;
	validationPatterns['alphabetic'] = /^([A-Za-z0-9ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöùúûüýÿ]+[A-Za-z0-9ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöùúûüýÿ\' \-,]*)$/;
	validationPatterns['alphabetic2'] = /^([A-Za-z0-9ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöùúûüýÿ#]+[A-Za-z0-9ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöùúûüýÿ\' #\-\/.]*)$/;
	validationPatterns['alphabetic3'] = /^([A-Za-z0-9ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöùúûüýÿ]+[A-Za-z0-9ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöùúûüýÿ\'" \-,]*)$/;
	validationPatterns['alphabetic4'] = /^([A-Za-zÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöùúûüýÿ]+[A-Za-zÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöùúûüýÿ\' \-,]*)$/;
	validationPatterns['alphanumeric'] = /^([A-Za-zÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöùúûüýÿ]+[A-Za-z0-9ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöùúûüýÿ\' \-]*)$/;
	validationPatterns['alphanumericStrict'] = /^[A-Za-zÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåæçèéêëìíîïñòóôõöùúûüýÿ0-9]+$/;
	validationPatterns['bankAccount'] = /^((([0-9]{2}[- ])?[0-9]{5})|([0-9]{3}[- ]?[0-9]{3}[- ]?[0-9]))$/;
	validationPatterns['CCNumber'] = /^[0-9]{4}[ ]?[0-9]{4}[ ]?[0-9]{4}[ ]?[0-9]{4}$/;
	validationPatterns['CCNumber1'] = /^([0-9]{4}[ ]?[0-9]{4}[ ]?[0-9]{4}[ ]?[0-9]{4})|([0-9]{4}[ ]?[0-9]{6}[ ]?[0-9]{5})$/;
	validationPatterns['currency'] = /^((([0-9]{1,3}([, ]?[ ]?[0-9]{3})*)|([0-9]*))([.][0-9]{1,2})?)$/;
	validationPatterns['negativeCurrency'] = /^((([-]*[0-9]{1,3}([, ]?[ ]?[0-9]{3})*)|([0-9]*))([.][0-9]{1,2})?)$/;
	validationPatterns['currency2'] = /^((([0-9]{1,3}([, ]?[ ]?[0-9]{3}){0,2})|([0-9]{0,9}))([.][0-9]{1,2})?)$/;
	validationPatterns['currency-fr'] = /^((([0-9]{1,3}([ ]?[ ]?[0-9]{3})*)|([0-9]*))([,.][0-9]{1,2})?)$/;//not used currently
	validationPatterns['currency2-fr'] = /^((([0-9]{1,3}([ ]?[ ]?[0-9]{3}){0,2})|([0-9]{0,9}))([,.][0-9]{1,2})?)$/;//not used currently
	validationPatterns['dateDay'] = /^[ ]?(([3][01])|([12][0-9])|([0]?[1-9]))[ ]?$/;
	validationPatterns['dateYear'] = /^(((19)|(20))[0-9]{2})$/;
	validationPatterns['decimalNumber'] = /^(([0-9]+)|([0-9]*[.][0-9]+))$/;
	validationPatterns['email'] = /^[a-zA-Z0-9!#\$%\&'\*\+\-\/=\?\^_`\{\|\}~]+([.][a-zA-Z0-9!#\$%\&'\*\+\-\/=\?\^_`\{\|\}~]+)*[@]([a-zA-Z0-9]+([\.\-][a-zA-Z0-9]+)*(\.[a-zA-Z]{2,})|(((([01]?[0-9]{0,2})|(2(([0-4][0-9])|(5[0-5]))))\.){3}(([01]?[0-9]{0,2})|(2(([0-4][0-9])|(5[0-5]))))))$/;
	validationPatterns['expDateMonth'] = /^[01][0-9]$/;
	validationPatterns['percentage'] = /^[01]?[0-9]{1,2}$/;
	validationPatterns['phoneNumber'] = /^[0-9]{3}[ \-\.]?[0-9]{4}$/;
	validationPatterns['foreignPhoneNumber'] = /^[0-9\-\.]+$/;
	validationPatterns['postalCode'] = /^[A-Za-z][0-9][A-Za-z][ ]?[0-9][A-Za-z][0-9]$/;
	validationPatterns['spacedWholeNumber'] = /^[0-9 ]+$/;
	validationPatterns['SINumber'] = /^[0-9]{3}[ ]?[0-9]{3}[ ]?[0-9]{3}$/;
	validationPatterns['wholeNumber'] = /^[0-9]+$/;
	
	var occCounter = 0;
		
	var occupationFields = new Array();
	occupationFields[occCounter++] = {en:"Business, Finance and Administration", fr:"Affaires, finance et administration"};
	occupationFields[occCounter++] = {en:"Education, Government, Social Service", fr:"Éducation, gouvernement, services sociaux ou religion"};
	occupationFields[occCounter++] = {en:"Forestry, Mining and Agriculture", fr:"Foresterie, exploitation minière et agriculture"};
	occupationFields[occCounter++] = {en:"Health Care or Health Services", fr:"Soins ou services de santé"};
	occupationFields[occCounter++] = {en:"Processing, Manufacturing and Utilities", fr:"Traitement, industries manufacturières et services publics"};
	occupationFields[occCounter++] = {en:"Sales and Service", fr:"Ventes et services"};
	occupationFields[occCounter++] = {en:"Other", fr:"Autre"};
	
	function drawOccupationFields() {
		var label = "";
		for (var i = 0; i < occupationFields.length; i++) {
			if (englishPage) {
				label = occupationFields[i].en;
			}
			else {
				label = occupationFields[i].fr;
			}
			formFrame.document.write('<option value="' + i + '">' + label + '</option>');
		}
	}
	
	var occList0 = new Array();
	var occList1 = new Array();
	var occList2 = new Array();
	var occList3 = new Array();
	var occList4 = new Array();
	var occList5 = new Array();
	var occList6 = new Array();
	
	
	// Business, Finance and Administration
	var j = 0;
	occList0[j++] = {code: "B001", en: "Administrative Officer", fr:"Agent d'administration"};
	occList0[j++] = {code: "B002", en: "Analyst or Researcher", fr:"Analyste ou chercheur"};
	occList0[j++] = {code: "B004", en: "Auditor, Accountant, Investment Professional", fr:"Vérificateur, comptable ou professionnel en placement"};
	occList0[j++] = {code: "B005", en: "Bookkeeper", fr:"Aide-comptable"};
	occList0[j++] = {code: "B008", en: "Clerk or Office Support", fr:"Commis ou employé de soutien"};
	occList0[j++] = {code: "B010", en: "Customer Service Representative", fr:"Représentant du service à la clientèle"};
	occList0[j++] = {code: "B023", en: "Secretary", fr:"Secrétaire"};
	occList0[j++] = {code: "C001", en: "Manager - Art, Culture, Recreation, Sport", fr:"Directeur - arts, culture, loisirs, sport"};
	occList0[j++] = {code: "C002", en: "Manager - Business, Finance or Admin", fr:"Directeur - affaires, finance ou administration"};
	occList0[j++] = {code: "C004", en: "Manager - Forestry, Mining, Agriculture", fr:"Directeur - foresterie, exploit. minière, agriculture"};
	occList0[j++] = {code: "C005", en: "Manager - Health Care or Services", fr:"Directeur - soins ou services de santé"};
	occList0[j++] = {code: "C007", en: "Manager - Processing, Manufacturing, Utilities", fr:"Directeur - transformation/fabrication/services publics"};
	occList0[j++] = {code: "C009", en: "Manager - Sales or Service", fr:"Directeur - ventes ou services"};
	occList0[j++] = {code: "C010", en: "Manager - Trade, Transport or Equip. Operation", fr:"Directeur - commerce, transport ou opération d'équip."};
	occList0[j++] = {code: "C011", en: "Business Owner - Art, Culture, Recreation, Sport", fr:"Propriétaire d'entreprise - arts/culture/loisirs/sport"};
	occList0[j++] = {code: "C012", en: "Business Owner - Business, Finance or Admin", fr:"Propriétaire d'entreprise - affaires/finance/admin."};
	occList0[j++] = {code: "C014", en: "Business Owner - Forestry, Mining, Agriculture", fr:"Propr. d'entreprise-foresterie/exploit. Minière/agric."};
	occList0[j++] = {code: "C015", en: "Business Owner - Health Care or Services", fr:"Propriétaire d'entreprise - soins ou services de santé"};
	occList0[j++] = {code: "C017", en: "Business Owner - Processing, Manufacturing, Utilities", fr:"Propr. d'entreprise - transform./ fabr./serv. publics"};
	occList0[j++] = {code: "C019", en: "Business Owner - Sales or Service", fr:"Propriétaire d'entreprise - ventes ou services"};
	occList0[j++] = {code: "C020", en: "Business Owner - Trade, Transport, Equip. Operation", fr:"Propr. d'entreprise - commerce/transp./opér. d'équip."};
	occList0[j++] = {code: "O000", en: "Other", fr:"Autre"};
	j = 0;
	occList1[j++] = {code: "D001", en: "Community or Social Service Worker", fr:"Travailleur communautaire ou social"};
	occList1[j++] = {code: "D003", en: "Early Childhood Educator or Assistant", fr:"Éducateur ou aide-éducateur de la petite enfance"};
	occList1[j++] = {code: "D004", en: "Education Counsellor/Consultant/Program Officer", fr:"Conseiller pédagogique ou agent de programme"};
	occList1[j++] = {code: "D006", en: "Government - Administrative", fr:"Gouvernement - emploi en administration"};
	occList1[j++] = {code: "D010", en: "Instructor - College or Other Vocational", fr:"Enseignant - collégial ou formation professionnelle"};
	occList1[j++] = {code: "D011", en: "Instructor - Other", fr:"Enseignant - autre"};
	occList1[j++] = {code: "D012", en: "Instructor/Teacher - Persons with Disabilities", fr:"Enseignant auprès de personnes handicapées"};
	occList1[j++] = {code: "D013", en: "Judge, Lawyer or Quebec Notary", fr:"Juge, avocat ou notaire"};
	occList1[j++] = {code: "D023", en: "Teacher", fr:"Enseignant"};
	occList1[j++] = {code: "D024", en: "Teaching Assistant", fr:"Aide-enseignant"};
	occList1[j++] = {code: "I001", en: "Armed Forces", fr:"Forces armées"};
	occList1[j++] = {code: "I007", en: "Police Officer, Sheriff or Bailiff", fr:"Policier, shérif ou huissier"};
	occList1[j++] = {code: "I008", en: "Security Guard", fr:"Gardien de sécurité"};
	occList1[j++] = {code: "O000", en: "Other", fr:"Autre"};
	
	j = 0;
	occList2[j++] = {code: "E001", en: "Farming (agriculture or aquaculture)", fr:"Agriculture ou aquaculture"};
	occList2[j++] = {code: "E006", en: "Logging or Forestry worker/machine operator", fr:"Opérateur ou travailleur en exploitation forestière"};
	occList2[j++] = {code: "E007", en: "Mining - labourer/service or support worker", fr:"Mines - ouvrier/travailleur de service ou de soutien"};
	occList2[j++] = {code: "E009", en: "Oil/ Gas- driller/ tester/ servicer/ labourer", fr:"Pétrole et gaz - foreur/testeur/mécanicien/ouvrier"};
	occList2[j++] = {code: "O000", en: "Other", fr:"Autre"};
	
	j = 0;
	occList3[j++] = {code: "F004", en: "Dental Assistant, Hygienist or Therapist", fr:"Assistant, hygiéniste ou thérapeute dentaire"};
	occList3[j++] = {code: "F007", en: "Nurse Aide, Orderly, Patient Service Associate", fr:"Aide-infirmière ou préposé aux soins"};
	occList3[j++] = {code: "F008", en: "Nurse - Supervisor or Registered", fr:"Infirmier surveillant ou infirmier autorisé"};
	occList3[j++] = {code: "F011", en: "Pharmacist, Dietician or Nutritionist", fr:"Pharmacien, diététiste ou nutritionniste"};
	occList3[j++] = {code: "F012", en: "Physician (General or Specialist)", fr:"Médecin (généraliste ou spécialiste)"};
	occList3[j++] = {code: "F015", en: "Technologist/ Technician - Medical", fr:"Technologue ou technicien médical"};
	occList3[j++] = {code: "G005", en: "Computer Programmer or Developer", fr:"Concepteur informatique ou programmeur"};
	occList3[j++] = {code: "G007", en: "Engineer - any type", fr:"Ingénieur - tous types"};
	occList3[j++] = {code: "G010", en: "Info Systems/ Database Analyst/ Admin/ Consultant", fr:"Systèmes d'info. - conseiller/analyste/administrateur"};
	occList3[j++] = {code: "O000", en: "Other", fr:"Autre"};
	
	j = 0;
	occList4[j++] = {code: "H001", en: "Assembler in Manufacturing", fr:"Assembleur en fabrication"};
	occList4[j++] = {code: "H004", en: "Inspector/Tester - Processing or Manufacturing", fr:"Contrôleur ou essayeur - transformation ou fabrication"};
	occList4[j++] = {code: "H005", en: "Labourer in Processing or Manufacturing", fr:"Ouvrier - transformation ou fabrication"};
	occList4[j++] = {code: "H006", en: "Machine Operator in Processing, Manufacturing", fr:"Opérateur de machines - transformation ou fabrication"};
	occList4[j++] = {code: "H009", en: "Skilled Worker in Processing or Manufacturing", fr:"Ouvrier qualifié - transformation ou fabrication"};
	occList4[j++] = {code: "K002", en: "Bus Driver, Subway or Other Transit Operator", fr:"Chauffeur - autobus/métro/autres transports en commun"};
	occList4[j++] = {code: "K003", en: "Commercial Diver", fr:"Scaphandrier"};
	occList4[j++] = {code: "K004", en: "Construction Trades Professional", fr:"Manoeuvre en construction"};
	occList4[j++] = {code: "K006", en: "Equipment Operators - Trades or Transport", fr:"Opérateur de machine - métiers ou transport"};
	occList4[j++] = {code: "K008", en: "Mechanic or Service Technician (any type)", fr:"Mécanicien ou technicien en service (tous types)"};
	occList4[j++] = {code: "K014", en: "Skilled Trades Professional - not Construction", fr:"Ouvrier spécialisé - domaine autre que la construction"};
	occList4[j++] = {code: "K017", en: "Trades Helper or Labourer", fr:"Manoeuvre ou aide de soutien de métiers"};
	occList4[j++] = {code: "K018", en: "Truck Driver", fr:"Camionneur"};
	occList4[j++] = {code: "O000", en: "Other", fr:"Autre"};
	
	j = 0;
	occList5[j++] = {code: "J001", en: "Butcher or Baker", fr:"Boucher, boulanger ou pâtissier"};
	occList5[j++] = {code: "J003", en: "Cashier", fr:"Caissier"};
	occList5[j++] = {code: "J004", en: "Chef or Cook", fr:"Chef ou cuisinier"};
	occList5[j++] = {code: "J005", en: "Childcare or Home Support Worker", fr:"Technicien de services à l'enfance ou d'aide à domicile"};
	occList5[j++] = {code: "J006", en: "Janitor/ Caretaker/ Building Superintendent", fr:"Concierge"};
	occList5[j++] = {code: "J010", en: "Waiter/ Waitress/ Bartender", fr:"Serveur ou barman"};
	occList5[j++] = {code: "J011", en: "Food Counter/Kitchen Helper or Related", fr:"Serveur au comptoir ou aide de cuisine"};
	occList5[j++] = {code: "J013", en: "Grocery Clerk or Store Shelf Stocker", fr:"Commis d'épicerie ou étalagiste"};
	occList5[j++] = {code: "J014", en: "Hairstylist or Barber", fr:"Coiffeur ou barbier"};
	occList5[j++] = {code: "J018", en: "Insurance Agent or Broker", fr:"Agent ou courtier d'assurance"};
	occList5[j++] = {code: "J019", en: "Marketing or Advertising", fr:"Emploi en marketing ou en publicité"};
	occList5[j++] = {code: "J021", en: "Personal Services", fr:"Emploi en services personnalisés"};
	occList5[j++] = {code: "J023", en: "Real Estate Agent, Salesperson or Buyer", fr:"Agent, acheteur ou vendeur en immobilier"};
	occList5[j++] = {code: "J024", en: "Salesperson/ Sales Rep/ Sales Clerk", fr:"Vendeur ou représentant des ventes"};
	occList5[j++] = {code: "O000", en: "Other", fr:"Autre"};
	
	j = 0;
	occList6[j++] = {code: "L001", en: "Homemaker", fr:"Personne au foyer"};
	occList6[j++] = {code: "M001", en: "Retired", fr:"Retraité"};
	occList6[j++] = {code: "N001", en: "Student/Youth", fr:"Étudiant/Jeunesse"};
	occList6[j++] = {code: "O001", en: "Unemployed with Income", fr:"Chômeur avec revenu"};
	occList6[j++] = {code: "P001", en: "Unemployed without Income", fr:"Chômeur sans revenu"};
	occList6[j++] = {code: "O000", en: "Other", fr:"Autre"};
	
	function drawOccupations(index, selectID, containerID, tabIndex, otherOccupationRow, otherOccupationField) {
		var occList = pickOccList(index);
		var tabIndex = parseInt(tabIndex) + 1;
		if (index.length > 0) {
			var defaultSelect = "";
			if (englishPage) {
				defaultSelect = "Select>>";
			}
			else {
				defaultSelect = "Faites un choix >>";
			}
			var options = "";
			options += '<select name="' + selectID + '" id="' + selectID + '" tabindex="' + tabIndex + '" class="formFieldSingleLine" onChange="parent.toggleOtherOccupation(\'' + selectID + '\', \'' + otherOccupationRow + '\', \'' + otherOccupationField + '\');">';
			options += '<option value="" selected>' + defaultSelect +'</option>';
			var label = "";
			for (var i = 0; i < occList.length; i++) {
				if (englishPage) {
					label = occList[i].en;
				}
				else {
					label = occList[i].fr;
				}
				options += '<option value="' + occList[i].en + ':' + occList[i].code + '">' + label + '</option>';
			}
			options += '</select>';
			formFrame.document.getElementById(containerID).innerHTML = options;
			formFrame.document.getElementById(otherOccupationRow).className = "hiddenContent";
			formFrame.document.getElementById(otherOccupationField).value = "";
		}
	}
	
	function toggleOtherOccupation(occupationCodeID, otherOccupationRow, otherOccupationField) {
		var occCode = formFrame.document.getElementById(occupationCodeID).options[formFrame.document.getElementById(occupationCodeID).selectedIndex].value;
		if (occCode == "") {
			occCode = getValue(occupationCodeID);
		}
		if (/O000/.test(occCode)) {
			formFrame.document.getElementById(otherOccupationRow).className = "visibleRow";
		}
		else {
			formFrame.document.getElementById(otherOccupationRow).className = "hiddenContent";
			formFrame.document.getElementById(otherOccupationField).value = "";
		}
	}
	function pickOccList(index) {
		switch(index) {
			case "0":
				return occList0;
				break;
			case "1":
				return occList1;
				break;
			case "2":
				return occList2;
				break;
			case "3":
				return occList3;
				break;
			case "4":
				return occList4;
				break;
			case "5":
				return occList5;
				break;
			case "6":
				return occList6;
				break;
		}
	}
	function toggleCIBCEmployee(cibcEmployeeRow, CibcEmployeeID, onload) {
		if (onload) {
			if (getValue("CibcEmployee") == "Yes") {
				formFrame.document.getElementById(cibcEmployeeRow).className = "visibleRow";				
			}
			else {
				formFrame.document.getElementById(cibcEmployeeRow).className = "hiddenContent";
				formFrame.document.getElementById(CibcEmployeeID).value = "";
			}
		}
		else {
			if (formFrame.document.applyDisplayForm.CibcEmployee[0].checked) {
				formFrame.document.getElementById(cibcEmployeeRow).className = "visibleRow";
			}
			else {
				formFrame.document.getElementById(cibcEmployeeRow).className = "hiddenContent";
				formFrame.document.getElementById(CibcEmployeeID).value = "";
			}
		}
		
	}
	

	/*Conditional Page Tree Class*/
	function PageFlowNode(sectName){
		this.nxtPage = '';
		this.pageURLs = new Array();
		this.conds = new Array();
		this.prevPage = '';
		this.visitedInd = -1;
		this.storedInd = -1;
		this.pageElems = '';
		this.sectionName = sectName;
		this.frameToSubmit = '';
		this.frameSubmitted = false;
	}
	/*End Conditional Page Tree Class*/


	function checkAccountNum(accNum) {
		var rightDigit = '';
		var leftDigits = '';
		var sum = 0;
		// shave off the rightmost check digit
		rightDigit = accNum.substring(accNum.length - 1, accNum.length);
		leftDigits = accNum.substring(0, accNum.length - 1);
		// below we will do the following:
		//     on a 3-digit number 'abc':                                      
		//     add c * 2
		//     add b * 3   
		//     add a * 4
		for (var i = 1; i <= leftDigits.length; i++) {
			temp = leftDigits.substring(leftDigits.length - i, leftDigits.length - i + 1);
			temp = temp * (i + 1);
			sum = sum + temp;
		}
		// Divide by 11 and get the remainder (this is the mod11 part of the check)
		remainder = sum % 11;
		// 3 cases to check (described above) 
		if (remainder == 0){
			remainder = 0;
		}else if (remainder == 1){
			return false;
		}else{
			remainder = 11 - remainder;
		}
		valid = (remainder == rightDigit);
		
		return valid;
	}

	function checkCardNum(cardNum) {
		var i;
		var cc = new Array(16);
		var checksum = 0;
		var validcc;
		for (i = 0; i < cardNum.length; i++) {
			cc[i] = Math.floor(cardNum.substring(i, i+1));
		}
		for (i = (cardNum.length % 2); i < cardNum.length; i+=2) {
			var a = cc[i] * 2;
			if (a >= 10) {
				var aStr = a.toString();
				var b = aStr.substring(0,1);
				var c = aStr.substring(1,2);
				cc[i] = Math.floor(b) + Math.floor(c);
			} else {
				cc[i] = a;
			}
		}
		for (i = 0; i < cardNum.length; i++) {
			checksum += Math.floor(cc[i]);
		}
		validcc = ((checksum % 10) == 0);
		
		return validcc;
	}

	function checkModTen(thisStr){
		var thisStr = replaceAll(thisStr, ' ', '');
		var sum = 0;
		for (var i = 0; i < thisStr.length; i++){
			var thisVal = (1 + (1 * (i % 2))) * parseInt(thisStr.charAt(i));
			if (thisVal >= 10){
				thisVal = (thisVal - 10) + 1;
			}
			sum = sum + thisVal;
		}
		if(sum % 10 == 0){
			return true;
		}else{
			return false;
		}
	}

	function checkSection(sectName){
		var tempPage = getPageNodeBySectionName(sectName);
		for (var i = 0; tempPage != '' && i < tempPage.conds.length; i++){
			if(eval(tempPage.conds[i])){
				if(i == tempPage.storedInd){
					return true;
				}else{
					return false;
				}
			}
		}
		return true;
	}
	
	function cleanDataFrame(){
		var fieldList = defaultedFields;
		var tempPage = thisPage;
		var tempPageCount = currentPage;
		thisPage = topPage;
		var tempURL = topPage.pageURLs[0];
		cleaningDataFrame = true;
		while (tempURL != ''){
			fieldList += thisPage.pageElems;
			tempURL = getNextPage();
		}
		cleaningDataFrame = false
		var elemsArr = frames['submitFrame'].document.forms[0].elements;
		for (var i = 0; i < elemsArr.length; i++){
			if(fieldList.indexOf(',' + elemsArr[i].name + ',') == -1){
				elemsArr[i].value = '';
			}
		}
		thisPage = tempPage;
		currentPage = tempPageCount;
	}

	function doCancel(){
		if(sectionEdit){
			lstActionCode = -1;
			sectionEdit = false;
			frames['formFrame'].location.href = summaryPage;
		}else{
			if(document.location.pathname.indexOf('-fr.html') != - 1){
				cancelPopup = window.open(pagePath + pageCode + '-cancel-fr.html','cancelPopup','width=397,height=200,directories=no,hotkeys=no,location=no,menubar=no,personalbar=no,resizable=no,scrollbars=no,status=yes,titlebar=no,toolbar=no');
			}else{
				cancelPopup = window.open(pagePath + pageCode + '-cancel.html','cancelPopup','width=397,height=200,directories=no,hotkeys=no,location=no,menubar=no,personalbar=no,resizable=no,scrollbars=no,status=yes,titlebar=no,toolbar=no');
			}
			cancelPopup.focus();
		}
	}

	function doClose(){
		top.close();
	}

	function doHelp(anchorStr){
		if(pageCode.substr(0, 2) == 'cc'){
			if(document.location.pathname.indexOf('-fr.html') != - 1){
				helpPopup = window.open('/ca/apply/credit-cards/help/cc-help-fr.html' + anchorStr,'helpPopup','width=535,height=470,directories=no,hotkeys=no,location=no,menubar=no,personalbar=no,resizable=no,scrollbars=yes,status=no,titlebar=no,toolbar=no');
			}else{
				helpPopup = window.open('/ca/apply/credit-cards/help/cc-help.html' + anchorStr,'helpPopup','width=535,height=470,directories=no,hotkeys=no,location=no,menubar=no,personalbar=no,resizable=no,scrollbars=yes,status=no,titlebar=no,toolbar=no');
			}
		}else if(pageCode.substr(0, 4) == 'rrsp'){
			if(document.location.pathname.indexOf('-fr.html') != - 1){
				helpPopup = window.open('/ca/apply/rrsp/help/rrsp-help-fr.html' + anchorStr,'helpPopup','width=535,height=470,directories=no,hotkeys=no,location=no,menubar=no,personalbar=no,resizable=no,scrollbars=yes,status=no,titlebar=no,toolbar=no');
			}else{
				helpPopup = window.open('/ca/apply/rrsp/help/rrsp-help.html' + anchorStr,'helpPopup','width=535,height=470,directories=no,hotkeys=no,location=no,menubar=no,personalbar=no,resizable=no,scrollbars=yes,status=no,titlebar=no,toolbar=no');
			}
		}else if(pageCode.substr(0, 3) == 'llc'){
			//alert(window.frames('formFrame').location.pathname);
			if(frames['formFrame'].location.pathname.indexOf('product-detail') == - 1){
				helpURL = frames['formFrame'].location.pathname;
				if(frames['formFrame'].location.pathname.indexOf('-hp-') != - 1){
					helpURL = '/ca/apply/llc/help/llc-help' + helpURL.substr(26);
				}else{
					helpURL = '/ca/apply/llc/help/llc-help' + helpURL.substr(23);
				}
				helpPopup = window.open(helpURL + anchorStr,'helpPopup','width=535,height=470,directories=no,hotkeys=no,location=no,menubar=no,personalbar=no,resizable=no,scrollbars=yes,status=no,titlebar=no,toolbar=no');
			}else{
				if(document.location.pathname.indexOf('-fr.html') != - 1){
					helpPopup = window.open('/ca/apply/llc/help/llc-help-product-details-fr.html' + anchorStr,'helpPopup','width=535,height=470,directories=no,hotkeys=no,location=no,menubar=no,personalbar=no,resizable=no,scrollbars=yes,status=no,titlebar=no,toolbar=no');
				} else {
					helpPopup = window.open('/ca/apply/llc/help/llc-help-product-details.html' + anchorStr,'helpPopup','width=535,height=470,directories=no,hotkeys=no,location=no,menubar=no,personalbar=no,resizable=no,scrollbars=yes,status=no,titlebar=no,toolbar=no');
				}
			}
		}
		else if(pageCode.substr(0, 3) == 'gic'){ 
			if(document.location.pathname.indexOf('-fr.html') != - 1){
				helpPopup = window.open('/ca/apply/gic/help/gic-help-fr.html' + anchorStr,'helpPopup','width=535,height=470,directories=no,hotkeys=no,location=no,menubar=no,personalbar=no,resizable=no,scrollbars=yes,status=no,titlebar=no,toolbar=no');
			}else{
				helpPopup = window.open('/ca/apply/gic/help/gic-help.html' + anchorStr,'helpPopup','width=535,height=470,directories=no,hotkeys=no,location=no,menubar=no,personalbar=no,resizable=no,scrollbars=yes,status=no,titlebar=no,toolbar=no');
			}		
		}
		else if(pageCode.substr(0, 4) == 'tfsa'){ 
			if(document.location.pathname.indexOf('-fr.html') != - 1){
				helpPopup = window.open('/ca/apply/tfsa/help/tfsa-help-fr.html' + anchorStr,'helpPopup','width=535,height=470,directories=no,hotkeys=no,location=no,menubar=no,personalbar=no,resizable=no,scrollbars=yes,status=no,titlebar=no,toolbar=no');
			}else{
				helpPopup = window.open('/ca/apply/tfsa/help/tfsa-help.html' + anchorStr,'helpPopup','width=535,height=470,directories=no,hotkeys=no,location=no,menubar=no,personalbar=no,resizable=no,scrollbars=yes,status=no,titlebar=no,toolbar=no');
			}		
		}
		helpPopup.focus();
	}
	
	function doPopup(popupURL){
		helpPopup = window.open(popupURL,'helpPopup','width=535,height=470,directories=no,hotkeys=no,location=no,menubar=no,personalbar=no,resizable=no,scrollbars=yes,status=no,titlebar=no,toolbar=no');
		helpPopup.focus();
	}

	//to be overriden as needed.
	function doPrepopulation(){}

	function editSection(toEdit){
		sectionEdit = true;
		summaryPage = thisPage.pageURLs[0];
		thisPage = topPage;
		var tempPageURL = thisPage.pageURLs[0];
		currentPage = startPageInd;
		while(toEdit != thisPage.sectionName && tempPageURL != ''){
			tempPageURL = getNextPage();
		}
		if(tempPageURL != ''){
			frames['formFrame'].document.location.href = tempPageURL;
		}else{
			sectionEdit = false;
		}
	}

	function getCurrentPage(){
		return thisPage.pageURLs[thisPage.visitedInd];
	}
	
var continuePages = ""; 
	function getNextPage(){
		if (thisPage.nxtPage != ''){
			currentPage++;
			var thisNxtPage = thisPage.nxtPage;
			var lstCond = false;
			var nxtPageURL = '';
			while (!lstCond && thisNxtPage != ''){
				for (var i = 0; i < thisNxtPage.conds.length && !lstCond; i++){
					lstCond = (eval(thisNxtPage.conds[i]))
					if(lstCond){
						nxtPageURL = thisNxtPage.pageURLs[i];
						// if this is a continue page, do not increment the step counter
						if(nxtPageURL.match(/-cont(?:-fr)?\.html/))	currentPage --;
						thisNxtPage.visitedInd = i;
					}
				}
				if (thisNxtPage.sectionName == 'summary' && !cleaningDataFrame){
					cleanDataFrame();
				}
				if (!lstCond){
					if (sectionEdit){
						thisNxtPage.visitedInd = -1;
						thisNxtPage.storedInd = -1;
						thisNxtPage.pageElems = '';
					}
					thisNxtPage = thisNxtPage.nxtPage;
				}
			}
			thisNxtPage.prevPage = thisPage;
			thisPage = thisNxtPage;
			return nxtPageURL;
		}else{
			return '';
		}
	}
	
	function getPageNodeBySectionName(sectName){
		var tempPage = topPage;
		while (tempPage != ''){
			if (tempPage.sectionName == sectName){
				return tempPage;
			}
			tempPage = tempPage.nxtPage;
		}
		return '';
	}

	function getPrevPage(){
		// if this is a continue page, do not decrease the step counter for the previous page
		if(!thisPage.pageURLs[0].match(/-cont(?:-fr)?\.html/)) currentPage--;
		thisPage.frameSubmitted = false;
		if (thisPage.prevPage != ''){
			thisPage = thisPage.prevPage;
		}
		return thisPage.pageURLs[thisPage.visitedInd];
	}

	function getStepNum(){
		var intendedPagePath = pagePath + getCurrentPage();
		if (frames['formFrame'].document.location.pathname != intendedPagePath){
			syncPage(frames['formFrame'].document.location.pathname, frames['formFrame'].document.location.search);
		}
		return currentPage;
	}
	
	var stepLabels = new Array();
	function drawProgressIndicator(step) {
		// ensure the stepLabels are initialized (progressIndicatorLabels.js) - If not, then the page does not need any labelling 
		if(stepLabels.length){ 
			var stepImagePath = "/ca/img/progress/progress_@_@.gif"; // set up image path with delimeters so we can replace during runtime
			var numSteps = stepLabels.length;
			var temp = document.createElement("div");
			var div = document.createElement("div");
			var ul = document.createElement("ul");

			// note we have to hardcode the width because IE is unable to determine width of object with document.write (so it seems)
			indicatorWidth = (595/numSteps) - 16; // (width of container / numSteps) - padding

			temp.appendChild(div);

			// give elements properties
			div.id="progressContainer";
			ul.className="progressList"

			for(var i=0; i<numSteps ; i++) {
				var li = document.createElement("li");
				var image = document.createElement("img");
				var span = document.createElement("span");

				image.src = stepImagePath.replace(/\b@\b/, i+1).replace(/\b@/, i+1 < step ? "active" : i+1 == step ? "on" : "inactive") 
				image.alt = (i+1).toString();
				
				span.className = englishPage ? "stepLabel" : "stepLabelFR";
				span.style.width = indicatorWidth + "px";
				span.innerHTML = stepLabels[i];

				li.className = i+1 == 1 ? "pgFirstStep" : "";
				li.appendChild(image);
				li.appendChild(span);
				ul.appendChild(li);
			}
			div.appendChild(ul);
			formFrame.document.write(temp.innerHTML);
		}
	}
	/*
	var stepNum = new Array();
	var stepImages = new Array();
	var stepLabelsSB = new Array();
	stepLabels[1] = {en:"Personal Information", fr:"Renseignements personnels"};
	stepLabels[2] = {en:"Financial Information", fr:"Renseignements financiers"};
	stepLabels[3] = {en:"Account Information", fr:"Renseignements sur le compte"};
	stepLabels[4] = {en:"Verification", fr:"Vérification"};
	stepLabels[5] = {en:"Submit", fr:"Soumettre"};
	
	stepLabelsSB[1] = {en:"Personal Information", fr:"Renseignements personnels"};
	stepLabelsSB[2] = {en:"Business Information", fr:"Renseignements sur l'entreprise"};
	stepLabelsSB[3] = {en:"Business Financial Information", fr:"Renseignements financiers sur l'entreprise"};
	stepLabelsSB[4] = {en:"Account Information", fr:"Renseignements sur le compte"};
	stepLabelsSB[5] = {en:"Verification ", fr:"Vérification"};
	stepLabelsSB[6] = {en:"Submit", fr:"Soumettre"};

	for (var i = 1; i <= 6; i++) {
		stepNum[i] = {on: "/ca/img/progress/progress_" + i + "_on.gif", active: "/ca/img/progress/progress_" + i + "_active.gif", inactive: "/ca/img/progress/progress_" + i + "_inactive.gif"};
		stepImages[i] = stepNum[i];
	}

	function getNumSteps() {
		if (getValue('ProdCode') == 'ag-business' || getValue('ProdCode') == 'bizline') {
			return 6;
		}
		else {
			return 5;
		}		
	}

	function drawProgressIndicator(stepNumber) {
		var numSteps = getNumSteps();
		if (numSteps == 6) {
			labelArray = stepLabelsSB;
		}
		else if (numSteps == 5) {
			labelArray = stepLabels;
		}
		
		formFrame.document.write('<div id="progressContainer">');
			formFrame.document.write('<ul class="progressList">');
			for (var i = 1; i <= numSteps; i++) {
				var image = "";
				if (i < stepNumber) {
					image = stepImages[i].active;
				}
				else if (i == stepNumber) {
					image = stepImages[i].on;
				}
				else {
					image = stepImages[i].inactive;
				}
				
				if (i == 1) {
					formFrame.document.write('<li class="pgFirstStep">');
				}
				else {
					formFrame.document.write('<li>');
				}
				var label = "";
				var labelClass = "";
				if (englishPage) {
					label = labelArray[i].en;
					labelClass = "stepLabel";
				}
				else {
					label = labelArray[i].fr;
					labelClass = "stepLabelFR";
				}
				formFrame.document.write('<img src="' + image + '" alt="' + i + '" border="0"><span class="' + labelClass + '">' + label + '</span></li>');
				
			}
			formFrame.document.write('</ul>');
		formFrame.document.write('</div>');
	}
	*/

	function getValue(key){
		if (submitFrameLoadedFlag){
			if (lstActionCode == 2 && tempVals[key]){
				return tempVals[key];
			}else if (eval('submitFrame.document.forms[0].' + key)){
				return eval('submitFrame.document.forms[0].' + key).value;
			}else{
				return '';
			}
		}else{
			return '';
		}
	}

	function patternValidate(fieldVal, patternName){
		if(fieldVal.length == 0 || validationPatterns[patternName].test(fieldVal)){
			return true;
		}else{
			return false;
		}
	}

	function populateForm(){
		if(firstPage){
			if(pagePath + topPage.pageURLs[0] !=  formFrame.location.pathname + formFrame.location.search){
				top.location = top.location;
			}
			firstPage = false;
		}else{
			var intendedPagePath = pagePath + getCurrentPage();
			if (frames['formFrame'].document.location.pathname != intendedPagePath){
				syncPage(frames['formFrame'].document.location.pathname, frames['formFrame'].document.location.search);
			}
			thisPage.frameSubmitted = false;
			if(submitFrameLoadedFlag){
				var elemsArr = frames['formFrame'].document.applyDisplayForm.elements;
				if (lstActionCode == 2 || lstActionCode == 3){
					for (var i = 0; i < elemsArr.length; i++){
						if (tempVals[elemsArr[i].name] || tempVals[elemsArr[i].name] == ''){
							if(elemsArr[i].type == 'checkbox'){
								var storedVals = tempVals[elemsArr[i].name].split(',');
								elemsArr[i].checked = false;
								for (var j = 0; j < storedVals.length && !elemsArr[i].checked; j++){
									if (elemsArr[i].value == storedVals[j]){
										elemsArr[i].checked = true;
									}
								}
							}else if(elemsArr[i].type == 'radio'){
								if (elemsArr[i].value == tempVals[elemsArr[i].name]){
									elemsArr[i].checked = true;
								}else{
									elemsArr[i].checked = false;
								}
							}else if(elemsArr[i].type.substr(0, 6) == 'select'){
								for (var j = 0; j < elemsArr[i].length; j++){
									var storedVals = tempVals[elemsArr[i].name].split(', ');
									for (var k = 0; k < storedVals.length; k++){
										if (elemsArr[i][j].value == storedVals[k]){
											elemsArr[i][j].selected = true;
										}
									}
								}
								elemsArr[i].blur();
							}else if(elemsArr[i].type != 'password'){
								//do nothing for password
								elemsArr[i].value = tempVals[elemsArr[i].name];
							}
						}
					}
				}else if(thisPage.storedInd != -1){
					for (var i = 0; i < elemsArr.length; i++){
						if (eval('frames[\'submitFrame\'].document.forms[0].' + elemsArr[i].name)){
							var storageElem = eval('frames[\'submitFrame\'].document.forms[0].' + elemsArr[i].name);
							if(elemsArr[i].type == 'checkbox'){
								var storedVals = storageElem.value.split(',');
								elemsArr[i].checked = false;
								for (var j = 0; j < storedVals.length && !elemsArr[i].checked; j++){
									if (elemsArr[i].value == storedVals[j]){
										elemsArr[i].checked = true;
									}
								}
							}else if(elemsArr[i].type == 'radio'){
								if (elemsArr[i].value == storageElem.value){
									elemsArr[i].checked = true;
								}else{
									elemsArr[i].checked = false;
								}
							}else if(elemsArr[i].type.substr(0, 6) == 'select'){
								for (var j = 0; j < elemsArr[i].length; j++){
									var storedVals = storageElem.value.split(', ');
									for (var k = 0; k < storedVals.length; k++){
										if (elemsArr[i][j].value == storedVals[k]){
											elemsArr[i][j].selected = true;
										}
									}
								}
							}else if(elemsArr[i].type != 'password'){
								//do nothing for password
								elemsArr[i].value = storageElem.value;
							}
						}
					}
				}
				loadingPage = false;
			}else{
				setTimeout('populateForm();', 100);
			}
		}
	}

	//Performs string replacement
	function replaceAll(str, key, rplcmnt){
		while(str.indexOf(key) != -1){
			str = str.replace(key, rplcmnt);
		}
		return str;
	}

	function store(actionCode, searchStr){
		if (submitFrameLoadedFlag && !loadingPage){
			//go back
			if(lstActionCode == 2 || lstActionCode == 3){
				tempVals = new Array()
			}
			lstActionCode = actionCode;
			if (actionCode == 0){
				var prevPage = getPrevPage();
				if(thisPage.frameSubmitted){
					thisPage.frameSubmitted = false;
				}
				if (prevPage != ''){
					frames['formFrame'].location.href = prevPage;
				}
			}else{
				if (actionCode == 2 || lstActionCode == 3){
					//store values that exist in submitter frame into temp array
					thisPage.pageElems = '';
					loadingPage = true
					var elemsArr = frames['formFrame'].document.applyDisplayForm.elements;
					var lstCheck = '';
					for (var i = 0; i < elemsArr.length; i++){
						if (eval('frames[\'submitFrame\'].document.forms[0].' + elemsArr[i].name)){
							if(elemsArr[i].type == 'checkbox'){
								if (lstCheck != elemsArr[i].name){
									tempVals[elemsArr[i].name] = '';
									lstCheck = elemsArr[i].name;
								}
								if (elemsArr[i].checked == true){
									tempVals[elemsArr[i].name] += elemsArr[i].value + ',';
								}
							}else if(elemsArr[i].type == 'radio'){
								if(!tempVals[elemsArr[i].name]){
									tempVals[elemsArr[i].name] = '';
								}
								if (elemsArr[i].checked == true){
									tempVals[elemsArr[i].name] = elemsArr[i].value;
								}
							}else if(elemsArr[i].type == 'select-one'){
								tempVals[elemsArr[i].name] = elemsArr[i].options[elemsArr[i].selectedIndex].value;
							}else{
								tempVals[elemsArr[i].name] = elemsArr[i].value;
							}
							thisPage.pageElems += elemsArr[i].name + ',';
						}
					}				
				}else{
					//store values into submitter frame
					thisPage.pageElems = ',';
					loadingPage = true
					var elemsArr = frames['formFrame'].document.applyDisplayForm.elements;
					var lstCheck = '';
					thisPage.storedInd = thisPage.visitedInd;
					for (var i = 0; i < elemsArr.length; i++){
						if (eval('frames[\'submitFrame\'].document.forms[0].' + elemsArr[i].name)){
							var storageElem = eval('frames[\'submitFrame\'].document.forms[0].' + elemsArr[i].name);
							if(elemsArr[i].type == 'checkbox'){
								if (lstCheck != elemsArr[i].name){
									storageElem.value = '';
									lstCheck = elemsArr[i].name;
								}
								if (elemsArr[i].checked == true){
									if (storageElem.value.length > 1){
										storageElem.value += ',' + elemsArr[i].value;
									}else{
										storageElem.value += elemsArr[i].value;
									}
								}
							}else if(elemsArr[i].type == 'radio'){
								if(thisPage.pageElems.indexOf(',' + elemsArr[i].name + ',') == -1){
									storageElem.value = '';
								}
								if (elemsArr[i].checked == true){
									storageElem.value = elemsArr[i].value;
								}
							}else if(elemsArr[i].type == 'select-one'){
								storageElem.value = elemsArr[i].options[elemsArr[i].selectedIndex].value;
							}else{
								storageElem.value = elemsArr[i].value;
							}
							thisPage.pageElems += elemsArr[i].name + ',';
						}
					}
					thisPage.pageElems = thisPage.pageElems.substring(1, thisPage.pageElems.length);
				}
				//go forward
				if (actionCode == 1){
					if (thisPage.frameToSubmit == '' || thisPage.frameSubmitted){
						var nxtPage = getNextPage();
						if (sectionEdit){
							//in edit section mode
							cleanDataFrame();
							sectionEdit = false;
							frames['formFrame'].location.href = summaryPage;
						}else if (nxtPage != ''){
							//go to next page
							frames['formFrame'].location.href = nxtPage;
						}else{
							cleanDataFrame();
							//at end of page flow, so submit
							frames['submitFrame'].doSubmit();
						}
					}else{
						thisPage.frameSubmitted = true;
						frames[thisPage.frameToSubmit].doSubmit();
					}
				}else if (actionCode == 2){
					//store input and reload page, supplying error codes
					var nxtURL = getCurrentPage();
					if (nxtURL.indexOf('?') == -1){
						frames['formFrame'].location.href = getCurrentPage() + '?' + searchStr;
					}else{
						frames['formFrame'].location.href = getCurrentPage() + '&' + searchStr;
					}
				}else{
					frames['formFrame'].location.href = searchStr;
				}
			}
		}
	}

	function submitFrameLoaded(){
		var searchStr = location.search;
		startPageInd = currentPage;
		submitFrameLoadedFlag = true;
		submitFrame.document.forms[0].Origination.value = 'PreSignOn';
		if (searchStr.length > 1){
			searchStr = searchStr.substring(1, searchStr.length);
			querryArr = searchStr.split('&');
			for(var lp = 0; lp < querryArr.length; lp++){
				tempArray = querryArr[lp].split('=');
				if(eval('submitFrame.document.forms[0].' + tempArray[0])){
					var storageElem = eval('submitFrame.document.forms[0].' + tempArray[0]);
					storageElem.value = unescape(tempArray[1])
				}else if((tempArray[0] == 'PostSignOn' || tempArray[0] == 'Ref'|| tempArray[0] == 'ref') && tempArray[1] == '1'){
					submitFrame.document.forms[0].Origination.value = 'PostSignOn';
				}else if(tempArray[0] == 'returnURL' && submitFrame.document.forms[0].ReturnURL){
					submitFrame.document.forms[0].ReturnURL.value = tempArray[1];
				}else if(tempArray[0] == 'sourceRefer' && submitFrame.document.forms[0].SourceRef){
					submitFrame.document.forms[0].SourceRef.value = tempArray[1];
				}else if(tempArray[0] == 'bannerAcq' && submitFrame.document.forms[0].PromoCode){
					submitFrame.document.forms[0].PromoCode.value = tempArray[1];
				}else if(tempArray[0] == 'bannerSource' && submitFrame.document.forms[0].SourceCode){
					submitFrame.document.forms[0].SourceCode.value = tempArray[1];
				}else if(tempArray[0] == 'EntryPoint' && submitFrame.document.forms[0].EntryPoint){
					submitFrame.document.forms[0].EntryPoint.value = replaceAll(replaceAll(tempArray[1], 'http://', ''), 'https://', '');
				}
			}
		}
		if (location.href.indexOf('-fr.html') != -1){
			isEnglish = false;
		}
		
		doPrepopulation();
	}

	function syncPage(toSync, searchStr){
		if (searchStr.length > 0){
			searchStr = searchStr.substring(1, searchStr.length);
			var querryArr = searchStr.split('&');
			var newSearchStr = '';
			for(var lp = 0; lp < querryArr.length; lp++){
				tempArray = querryArr[lp].split('=');
				if(tempArray[0] == 'depNum'  && newSearchStr.indexOf('depNum') == -1){
					newSearchStr = newSearchStr + '&depNum=' + tempArray[1];
				}
			}
			newSearchStr = '?' + newSearchStr.substring(1, newSearchStr.length);
			if(newSearchStr.length > 1){
				toSync = toSync + newSearchStr;
			}
		}
		thisPage = topPage;
		currentPage = startPageInd;
		var tempPageURL = '';
		var lstPage = ''; pagePath + thisPage.pageURLs[thisPage.visitedInd];
		while(toSync != pagePath + thisPage.pageURLs[thisPage.visitedInd] && thisPage.pageURLs[thisPage.visitedInd] != '' && lstPage != pagePath + thisPage.pageURLs[thisPage.visitedInd]){
			lstPage = pagePath + thisPage.pageURLs[thisPage.visitedInd];
			tempPageURL = getNextPage();
		}
		if(pagePath + thisPage.pageURLs[thisPage.visitedInd] != toSync){
			thisPage = topPage;
			frames['formFrame'].document.location.href = thisPage.pageURLs[thisPage.visitedInd];
		}
	}

	function trim(toTrim){
		while(toTrim.charAt(0) == ' ' || toTrim.charAt(0) == '\n' || toTrim.charAt(0) == '\r' || toTrim.charAt(0) == '	'){
			toTrim = toTrim.substring(1, toTrim.length)
		}
		
		while(toTrim.charAt(toTrim.length-1) == ' ' || toTrim.charAt(toTrim.length-1) == '\n' || toTrim.charAt(toTrim.length-1) == '\r' || toTrim.charAt(toTrim.length-1) == '	'){
			toTrim = toTrim.substring(0, toTrim.length-1)
		}
		
		return toTrim;
	}
