

 
   NC.widget.ResumeScorePage = function( domDocument ) {
		var fnSuperClass = NC.widget.ResumeScorePage.superclass.constructor;
		fnSuperClass.call( this, 1, NC.widget.ResumeWizard.StrNCWizScorePage);
		this.domDocument = domDocument;
		this.info = domDocument.getDocumentElement();
  }
  
    NC.lang.extend(NC.widget.ResumeScorePage, NC.widget.WizardPage, 
  {
  	render: function( targetDivId) {
  		var targetDiv = document.getElementById(targetDivId);
		var firstName = NC.util.Dom.extractEncodedField( this.info, NC.widget.ResumeWizard.StrFirstname);
		var lastName = NC.util.Dom.extractEncodedField( this.info, NC.widget.ResumeWizard.StrLastname);
		var middleName = NC.util.Dom.extractEncodedField( this.info, NC.widget.ResumeWizard.StrMiddleinitial);
		
		var ncScore = NC.util.Dom.extractField( this.info, NC.widget.ResumeWizard.StrNCScore);
		var managerCategory = NC.util.Dom.extractField( this.info, NC.widget.ResumeWizard.StrManagerCategory);
		var explanation = NC.util.Dom.extractField( this.info, NC.widget.ResumeWizard.StrExplanation);
		
		/*
		* */
		
//		content += 'Name: ' + firstName + '&nbsp;' + middleName + '&nbsp;' + lastName + '<br>';
//		content += 'Address: ' + street + ', ' + city + ', ' + state + ', ' + zipCode;
  		var content = '';	
  		
		var categories = this.info.getElementsByTagName("category");
		
		if (categories.getLength() > 0) {
		// add categories and scores
			content += '<h1>NC';
			content += ncScore;
			content += '</h1><p>';
			if (managerCategory == NC.widget.ResumeWizard.ManagerCategory_Manager) {
				content += 'You are a manager.</p><p>';
			}
			else if (managerCategory == NC.widget.ResumeWizard.ManagerCategory_Exec) {
				content += 'You are an executive.</p><p>';
			}
			if (categories.getLength() > 0) {
				content += 'Your resume indicates skills and experience in:<br>';
			}
			for (ci = 0; ci < categories.getLength(); ci++) {
				if (ci > 0) {
					content += '<br>';
				}
				var category = categories.item(ci);
				var categoryName = category.getElementsByTagName( "categoryname").item(0);
	//			alert( "categoryName=" + categoryName);
				var categoryNameValue = categoryName.getFirstChild().getNodeValue();
	//			alert( "value = " + categoryNameValue);
				var categoryWeight = category.getElementsByTagName( "categoryweight").item(0);
	//			alert( "categoryweight=" + categoryWeight);
				var categoryWeightValue = categoryWeight.getFirstChild().getNodeValue()
	//			alert( "value = " + categoryWeightValue);
				content +=  categoryNameValue ;
			}
			content += '</p>';
			content += '<h2>More info</h2>';
//			var encodedRecommendation = this.info.getElementsByTagName("recommendation").item(0);
//			recommendation = decode64( encodedRecommendation.getFirstChild().getNodeValue());
			content += '<p>';
			content += explanation;
			content += '</p>';
		}			

  		targetDiv.innerHTML = content;
  	},
  	
  	save: function() {
  	},
  	
  	serialize: function() {
  	}
  
  });
 
  NC.widget.ContactInfoPage = function( domDocument ) {
		var fnSuperClass = NC.widget.ContactInfoPage.superclass.constructor;
		fnSuperClass.call( this, 1, NC.widget.ResumeWizard.StrNCWizContactPage);
		this.domDocument = domDocument;
		this.info = domDocument.getDocumentElement();
  }
  
  
  NC.lang.extend(NC.widget.ContactInfoPage, NC.widget.WizardPage, 
  {
  	render: function( targetDivId) {
  		var targetDiv = document.getElementById(targetDivId);
		var namePrefix = NC.util.Dom.extractEncodedField( this.info, NC.widget.ResumeWizard.StrNameprefix);
		var nameSuffix = NC.util.Dom.extractEncodedField( this.info, NC.widget.ResumeWizard.StrNamesuffix);
		var firstName = NC.util.StringUtil.capitalizeWord(NC.util.Dom.extractEncodedField( this.info, NC.widget.ResumeWizard.StrFirstname));
		var lastName = NC.util.StringUtil.capitalizeWord(NC.util.Dom.extractEncodedField( this.info, NC.widget.ResumeWizard.StrLastname));
		var middleName = NC.util.Dom.extractEncodedField( this.info, NC.widget.ResumeWizard.StrMiddleinitial);
		if (middleName == NC.widget.ResumeWizard.StrNoContent) {
			middleName = ''; // remove the dash
		}
		
		var email = NC.util.Dom.extractEncodedField( this.info, NC.widget.ResumeWizard.StrEmail);
		
		var street = NC.util.Dom.extractEncodedField( this.info, NC.widget.ResumeWizard.StrStreet);
		var address2 = NC.util.Dom.extractEncodedField( this.info, NC.widget.ResumeWizard.StrAddress2);
		var address3 = NC.util.Dom.extractEncodedField( this.info, NC.widget.ResumeWizard.StrAddress3);
		var city = NC.util.Dom.extractEncodedField( this.info, NC.widget.ResumeWizard.StrCity);
		var state = NC.util.Dom.extractEncodedField( this.info, NC.widget.ResumeWizard.StrState);
		var country = NC.util.Dom.extractEncodedField( this.info, NC.widget.ResumeWizard.StrCountry);
		var zipCode = NC.util.Dom.extractEncodedField( this.info, NC.widget.ResumeWizard.StrZipcode);
		
		var email = NC.util.Dom.extractEncodedField( this.info, NC.widget.ResumeWizard.StrEmail);
		
		var homePhone = NC.util.Dom.extractField( this.info, NC.widget.ResumeWizard.StrHomephone);
		var mobilePhone = NC.util.Dom.extractField( this.info, NC.widget.ResumeWizard.StrMobilephone);
		var workPhone = NC.util.Dom.extractField( this.info, NC.widget.ResumeWizard.StrWorkphone);
		/*
		* */
		
//		content += 'Name: ' + firstName + '&nbsp;' + middleName + '&nbsp;' + lastName + '<br>';
//		content += 'Address: ' + street + ', ' + city + ', ' + state + ', ' + zipCode;
  		var content = '<h1>Contact Information</h1>';
  		
  		var prefixLabels = new Array(6);
		var prefixValues = new Array(6);
		var prefixChecked = new Array(6);
		prefixLabels[0] = '-';
		prefixValues[0] = '';
		prefixChecked[0] = false;
		prefixLabels[1] = 'Mr';
		prefixValues[1] = 'Mr';
		prefixChecked[1] = false;
		prefixLabels[2] = 'Ms';
		prefixValues[2] = 'Ms';
		prefixChecked[2] = false;
		prefixLabels[3] = 'Mrs';
		prefixValues[3] = 'Mrs';
		prefixChecked[3] = false;
		prefixLabels[4] = 'Dr';
		prefixValues[4] = 'Dr';
		prefixChecked[4] = false;
		prefixLabels[5] = 'Miss';
		prefixValues[5] = 'Miss';
		prefixChecked[5] = false;
		for ( var iPrefix = 0; iPrefix < 6; iPrefix++) {
			if (namePrefix == prefixValues[iPrefix]) {
				prefixChecked[iPrefix] = true;
				break;
			}
		}
  		
  		var suffixLabels = new Array(6);
		var suffixValues = new Array(6);
		var suffixChecked = new Array(6);
		suffixLabels[0] = '-';
		suffixValues[0] = '';
		suffixChecked[0] = false;
		suffixLabels[1] = 'II';
		suffixValues[1] = 'II';
		suffixChecked[1] = false;
		suffixLabels[2] = 'III';
		suffixValues[2] = 'III';
		suffixChecked[2] = false;
		suffixLabels[3] = 'IV';
		suffixValues[3] = 'IV';
		suffixChecked[3] = false;
		suffixLabels[4] = 'Jr';
		suffixValues[4] = 'Jr';
		suffixChecked[4] = false;
		suffixLabels[5] = 'Sr';
		suffixValues[5] = 'Sr';
		suffixChecked[5] = false;
		for ( var isuffix = 0; isuffix < 6; isuffix++) {
			if (nameSuffix == suffixValues[isuffix]) {
				suffixChecked[isuffix] = true;
				break;
			}
		}
  		
  		
		content += this.startFieldContainer();
		content += this.startFieldLabel();
		content += 'Name';
		content += this.endFieldLabel();
		content += this.createSelectBox( '',NC.widget.ResumeWizard.makeResumeEditFieldName(NC.widget.ResumeWizard.StrNameprefix), prefixLabels, prefixValues, prefixChecked);
		content += this.createTextEditField( '', NC.widget.ResumeWizard.makeResumeEditFieldName(NC.widget.ResumeWizard.StrFirstname), firstName, 15, 30, 1);
		content += this.createTextEditField( '', NC.widget.ResumeWizard.makeResumeEditFieldName(NC.widget.ResumeWizard.StrMiddleinitial), middleName, 4, 30);
		content += this.createTextEditField( '', NC.widget.ResumeWizard.makeResumeEditFieldName(NC.widget.ResumeWizard.StrLastname), lastName, 15, 30, 1);
		content += this.createSelectBox( '', NC.widget.ResumeWizard.makeResumeEditFieldName(NC.widget.ResumeWizard.StrNamesuffix), suffixLabels, suffixValues, suffixChecked);
		content += this.endFieldContainer();

		// address
		content += this.startFieldContainer();
		content += this.startFieldLabel();
		content += 'Address';
		content += this.endFieldLabel();
		content += this.createTextEditField( '', NC.widget.ResumeWizard.makeResumeEditFieldName(NC.widget.ResumeWizard.StrStreet), street, 30, 55);
		content += this.endFieldContainer();

		// address2
		content += this.startFieldContainer();
		content += this.startFieldLabel();
		content += 'Line 2';
		content += this.endFieldLabel();
		content += this.createTextEditField( '', NC.widget.ResumeWizard.makeResumeEditFieldName(NC.widget.ResumeWizard.StrAddress2), address2, 30, 55);
		content += this.endFieldContainer();

		// address3
		content += this.startFieldContainer();
		content += this.startFieldLabel();
		content += 'Line 3';
		content += this.endFieldLabel();
		content += this.createTextEditField( '', NC.widget.ResumeWizard.makeResumeEditFieldName(NC.widget.ResumeWizard.StrAddress3), address3, 30, 55);
		content += this.endFieldContainer();

		content += this.startFieldContainer();
		content += this.startFieldLabel();
		content += 'City';
		content += this.endFieldLabel();
		content += this.createTextEditField( '', NC.widget.ResumeWizard.makeResumeEditFieldName(NC.widget.ResumeWizard.StrCity), city, 15, 30);
		content += this.createTextField( '&nbsp;Postal code&nbsp;');
		content += this.createTextEditField( '', NC.widget.ResumeWizard.makeResumeEditFieldName(NC.widget.ResumeWizard.StrZipcode), zipCode, 12, 12);
		content += this.endFieldContainer();
		content += this.startFieldContainer();
		
		// US states only for now. This will change
  		var statelabels = new Array(63);
		var statecodes = new Array(63);
		var stateChecked = new Array(63);
		
		statecodes[0] = '-';
		statecodes[1] = '$UAS';
		statecodes[2] = '$UGU';
		statecodes[3] = '$UPR';
		statecodes[4] = '$UVI';
		statecodes[5] = 'AA';
		statecodes[6] = 'AE';
		statecodes[7] = 'AK';
		statecodes[8] = 'AL';
		statecodes[9] = 'AP';
		statecodes[10] = 'AR';
		statecodes[11] = 'AS';
		statecodes[12] = 'AZ';
		statecodes[13] = 'CA';
		statecodes[14] = 'CO';
		statecodes[15] = 'CT';
		statecodes[16] = 'DC';
		statecodes[17] = 'DE';
		statecodes[18] = 'FL';
		statecodes[19] = 'GA';
		statecodes[20] = 'GU';
		statecodes[21] = 'HI';
		statecodes[22] = 'IA';
		statecodes[23] = 'ID';
		statecodes[24] = 'IL';
		statecodes[25] = 'IN';
		statecodes[26] = 'KS';
		statecodes[27] = 'KY';
		statecodes[28] = 'LA';
		statecodes[29] = 'MA';
		statecodes[30] = 'MD';
		statecodes[31] = 'ME';
		statecodes[32] = 'MI';
		statecodes[33] = 'MN';
		statecodes[34] = 'MO';
		statecodes[35] = 'MS';
		statecodes[36] = 'MT';
		statecodes[37] = 'NC';
		statecodes[38] = 'ND';
		statecodes[39] = 'NE';
		statecodes[40] = 'NH';
		statecodes[41] = 'NJ';
		statecodes[42] = 'NM';
		statecodes[43] = 'NV';
		statecodes[44] = 'NY';
		statecodes[45] = 'OH';
		statecodes[46] = 'OK';
		statecodes[47] = 'OR';
		statecodes[48] = 'PA';
		statecodes[49] = 'PR';
		statecodes[50] = 'RI';
		statecodes[51] = 'SC';
		statecodes[52] = 'SD';
		statecodes[53] = 'TN';
		statecodes[54] = 'TX';
		statecodes[55] = 'UT';
		statecodes[56] = 'VA';
		statecodes[57] = 'VI';
		statecodes[58] = 'VT';
		statecodes[59] = 'WA';
		statecodes[60] = 'WI';
		statecodes[61] = 'WV';
		statecodes[62] = 'WY';
		
		statelabels[0] = '-';
		statelabels[1] = 'American Samoa Federal';
		statelabels[2] = 'Guam Federal';
		statelabels[3] = 'Puerto Rico Federal';
		statelabels[4] = 'Virgin Islands Federal';
		statelabels[5] = 'Armed Forces Americas';
		statelabels[6] = 'Armed Forces Europe';
		statelabels[7] = 'Alaska';
		statelabels[8] = 'Alabama';
		statelabels[9] = 'Armed Forces Pacific';
		statelabels[10] = 'Arkansas';
		statelabels[11] = 'American Samoa';
		statelabels[12] = 'Arizona';
		statelabels[13] = 'California';
		statelabels[14] = 'Colorado';
		statelabels[15] = 'Connecticut';
		statelabels[16] = 'District of Columbia';
		statelabels[17] = 'Delaware';
		statelabels[18] = 'Florida';
		statelabels[19] = 'Georgia';
		statelabels[20] = 'Guam';
		statelabels[21] = 'Hawaii';
		statelabels[22] = 'Iowa';
		statelabels[23] = 'Idaho';
		statelabels[24] = 'Illinois';
		statelabels[25] = 'Indiana';
		statelabels[26] = 'Kansas';
		statelabels[27] = 'Kentucky';
		statelabels[28] = 'Louisiana';
		statelabels[29] = 'Massachusetts';
		statelabels[30] = 'Maryland';
		statelabels[31] = 'Maine';
		statelabels[32] = 'Michigan';
		statelabels[33] = 'Minnesota';
		statelabels[34] = 'Missouri';
		statelabels[35] = 'Mississippi';
		statelabels[36] = 'Montana';
		statelabels[37] = 'North Carolina';
		statelabels[38] = 'North Dakota';
		statelabels[39] = 'Nebraska';
		statelabels[40] = 'New Hampshire';
		statelabels[41] = 'New Jersey';
		statelabels[42] = 'New Mexico';
		statelabels[43] = 'Nevada';
		statelabels[44] = 'New York';
		statelabels[45] = 'Ohio';
		statelabels[46] = 'Oklahoma';
		statelabels[47] = 'Oregon';
		statelabels[48] = 'Pennsylvania';
		statelabels[49] = 'Puerto Rico';
		statelabels[50] = 'Rhode Island';
		statelabels[51] = 'South Carolina';
		statelabels[52] = 'South Dakota';
		statelabels[53] = 'Tennessee';
		statelabels[54] = 'Texas';
		statelabels[55] = 'Utah';
		statelabels[56] = 'Virginia';
		statelabels[57] = 'Virgin Islands';
		statelabels[58] = 'Vermont';
		statelabels[59] = 'Washington';
		statelabels[60] = 'Wisconsin';
		statelabels[61] = 'West Virginia';
		statelabels[62] = 'Wyoming';

		stateChecked[0] = false;
		stateChecked[1] = false;
		stateChecked[2] = false;
		stateChecked[3] = false;
		stateChecked[4] = false;
		stateChecked[5] = false;
		stateChecked[6] = false;
		stateChecked[7] = false;
		stateChecked[8] = false;
		stateChecked[9] = false;
		stateChecked[10] = false;
		stateChecked[11] = false;
		stateChecked[12] = false;
		stateChecked[13] = false;
		stateChecked[14] = false;
		stateChecked[15] = false;
		stateChecked[16] = false;
		stateChecked[17] = false;
		stateChecked[18] = false;
		stateChecked[19] = false;
		stateChecked[20] = false;
		stateChecked[21] = false;
		stateChecked[22] = false;
		stateChecked[23] = false;
		stateChecked[24] = false;
		stateChecked[25] = false;
		stateChecked[26] = false;
		stateChecked[27] = false;
		stateChecked[28] = false;
		stateChecked[29] = false;
		stateChecked[30] = false;
		stateChecked[31] = false;
		stateChecked[32] = false;
		stateChecked[33] = false;
		stateChecked[34] = false;
		stateChecked[35] = false;
		stateChecked[36] = false;
		stateChecked[37] = false;
		stateChecked[38] = false;
		stateChecked[39] = false;
		stateChecked[40] = false;
		stateChecked[41] = false;
		stateChecked[42] = false;
		stateChecked[43] = false;
		stateChecked[44] = false;
		stateChecked[45] = false;
		stateChecked[46] = false;
		stateChecked[47] = false;
		stateChecked[48] = false;
		stateChecked[49] = false;
		stateChecked[50] = false;
		stateChecked[51] = false;
		stateChecked[52] = false;
		stateChecked[53] = false;
		stateChecked[54] = false;
		stateChecked[55] = false;
		stateChecked[56] = false;
		stateChecked[57] = false;
		stateChecked[58] = false;
		stateChecked[59] = false;
		stateChecked[60] = false;
		stateChecked[61] = false;
		stateChecked[62] = false;
		
		for ( var ist = 0; ist < 63; ist++) {
			if (state == statecodes[ist]) {
				stateChecked[ist] = true;
				break;
			}
		}
/*		
		content += this.createTextEditField( 'State/province', NC.widget.ResumeWizard.makeResumeEditFieldName(NC.widget.ResumeWizard.StrState), state, 2, 6);
*/
		content += this.startFieldLabel();
		content += 'State/province';
		content += this.endFieldLabel();
		content += this.createSelectBox( '',NC.widget.ResumeWizard.makeResumeEditFieldName(NC.widget.ResumeWizard.StrState), 
								statelabels, statecodes, stateChecked);
		content += '&nbsp;Country&nbsp;';
		content += this.createTextEditField( '', NC.widget.ResumeWizard.makeResumeEditFieldName(NC.widget.ResumeWizard.StrCountry), country, 15, 30);
		content += this.endFieldContainer();
		content += this.startFieldContainer();
		content += this.startFieldLabel();
		content += 'Email';
		content += this.endFieldLabel();
		content += this.createTextEditField( '', NC.widget.ResumeWizard.makeResumeEditFieldName(NC.widget.ResumeWizard.StrEmail), email, 20, 70, 1);
//		content += 'Email: ' + email + '<br>';
		content += this.endFieldContainer();
		content += this.startFieldContainer();
		content += this.startFieldLabel();
		content += 'Home';
		content += this.endFieldLabel();
		content += this.createTextEditField( '', NC.widget.ResumeWizard.makeResumeEditFieldName(NC.widget.ResumeWizard.StrHomephone), homePhone, 24, 24);
//		content += 'Home: ' + homePhone + '<br>';
		content += this.endFieldContainer();
		content += this.startFieldContainer();
		content += this.startFieldLabel();
		content += 'Mobile';
		content += this.endFieldLabel();
		content += this.createTextEditField( '', NC.widget.ResumeWizard.makeResumeEditFieldName(NC.widget.ResumeWizard.StrMobilephone), mobilePhone, 24, 24);
//		content += 'Cell: ' + mobilePhone + '<br>';
		content += this.endFieldContainer();
		content += this.startFieldContainer();
		content += this.startFieldLabel();
		content += 'Work';
		content += this.endFieldLabel();
		content += this.createTextEditField( '', NC.widget.ResumeWizard.makeResumeEditFieldName(NC.widget.ResumeWizard.StrWorkphone), workPhone, 24, 24);
//		content += 'Work: ' + workPhone + '<br>';
		content += this.endFieldContainer();
				

  		targetDiv.innerHTML = content;
  	},
  	
	validate: function( wizard) {
		var message = "";
		var email = NC.widget.ResumeWizard.getFieldValue(NC.widget.ResumeWizard.StrEmail);
		var homePhone = NC.widget.ResumeWizard.getFieldValue(NC.widget.ResumeWizard.StrHomephone);
		var mobilePhone = NC.widget.ResumeWizard.getFieldValue(NC.widget.ResumeWizard.StrMobilephone);
		var workPhone = NC.widget.ResumeWizard.getFieldValue(NC.widget.ResumeWizard.StrWorkphone);
		var firstName = NC.widget.ResumeWizard.getFieldValue(NC.widget.ResumeWizard.StrFirstname);
		var lastName = NC.widget.ResumeWizard.getFieldValue(NC.widget.ResumeWizard.StrLastname);
		
		if (firstName.length == 0 || lastName.length == 0) {
			if (message.length > 0) {
				message += '<br/>';
			}
			message += 'Enter your name.';
		}
		if (email == null || email.length == 0) {
			if (message.length > 0) {
				message += '<br/>';
			}
			message += 'Enter your email address.';
		}
		if (homePhone.length > 0 && NC.widget.ResumeWizard.validatePhoneNumber( homePhone) == false) {
			message += "Enter phone numbers as '1 123 456 7890' or leave blank.";
		}
		if (workPhone.length > 0 && NC.widget.ResumeWizard.validatePhoneNumber( workPhone) == false) {
			message += "Enter phone numbers as '1 123 456 7890' or leave blank.";
		}
		if (mobilePhone.length > 0 && NC.widget.ResumeWizard.validatePhoneNumber( mobilePhone) == false) {
			message += "Enter phone numbers as '1 123 456 7890' or leave blank.";
		}
		if (message.length > 0) {
			wizard.showError( message);
			return false;
		}
		else {
			return true;
		}
	},

  	save: function() {
		NC.widget.ResumeWizard.updateEncodedFieldValue(NC.widget.ResumeWizard.StrNameprefix);
		NC.widget.ResumeWizard.updateEncodedFieldValue(NC.widget.ResumeWizard.StrFirstname);
		NC.widget.ResumeWizard.updateEncodedFieldValue(NC.widget.ResumeWizard.StrMiddleinitial);
		NC.widget.ResumeWizard.updateEncodedFieldValue(NC.widget.ResumeWizard.StrLastname);
		NC.widget.ResumeWizard.updateEncodedFieldValue(NC.widget.ResumeWizard.StrNamesuffix);
		NC.widget.ResumeWizard.updateEncodedFieldValue(NC.widget.ResumeWizard.StrStreet);
		NC.widget.ResumeWizard.updateEncodedFieldValue(NC.widget.ResumeWizard.StrAddress2);
		NC.widget.ResumeWizard.updateEncodedFieldValue(NC.widget.ResumeWizard.StrAddress3);
		NC.widget.ResumeWizard.updateEncodedFieldValue(NC.widget.ResumeWizard.StrCity);
		NC.widget.ResumeWizard.updateEncodedFieldValue(NC.widget.ResumeWizard.StrState);
		NC.widget.ResumeWizard.updateEncodedFieldValue(NC.widget.ResumeWizard.StrCountry);
		NC.widget.ResumeWizard.updateEncodedFieldValue(NC.widget.ResumeWizard.StrZipcode);
		NC.widget.ResumeWizard.updateEncodedFieldValue(NC.widget.ResumeWizard.StrEmail);
		NC.widget.ResumeWizard.updateFieldValue(NC.widget.ResumeWizard.StrHomephone);
		NC.widget.ResumeWizard.updateFieldValue(NC.widget.ResumeWizard.StrMobilephone);
		NC.widget.ResumeWizard.updateFieldValue(NC.widget.ResumeWizard.StrWorkphone);
  	},
  	
  	serialize: function() {
  	}
  
  });
  
  
  NC.widget.WorkHistoryPage = function( domDocument ) {
		var fnSuperClass = NC.widget.WorkHistoryPage.superclass.constructor;
		fnSuperClass.call( this, 2, NC.widget.ResumeWizard.StrNCWizWorkHistoryPage);
		this.domDocument = domDocument
		this.info = domDocument.getDocumentElement();
  }
  
  
  NC.lang.extend(NC.widget.WorkHistoryPage, NC.widget.WizardPage, 
  {
  	render: function( targetDivId) {
  		var targetDiv = document.getElementById(targetDivId);

		var worklist = this.info.getElementsByTagName(NC.widget.ResumeWizard.StrWorkexperience);
		var content = '<h1>Work History</h1>';
		/*
		content += this.startFieldContainer();
		content += '<b>Start</b>';
		content += '<b>End</b>';
		content +=' <b>Employer &amp; Title</b>';
		content += this.endFieldContainer();
		*/
		var startHeader = "Start";
		var endHeader = "End";
		var employerHeader = "Employer and Title";
		content += this.startFieldContainer();
		content += this.createFieldHeader( startHeader, 7);
		content += this.createFieldHeader( endHeader, 7);
		content += this.createFieldHeader( employerHeader, 45);
		content += this.endFieldContainer();
		if (worklist.getLength() == 0) {
			this.addRowAtEnd();
			worklist = this.info.getElementsByTagName(NC.widget.ResumeWizard.StrWorkexperience);
		}
		for (var i = 0; i < worklist.getLength(); i++) {
			var children = worklist.item(i).getChildNodes();
			var show = true;
			var startdate = '';
			var enddate = '';
			var companyAndTitle = '';
			for (var ci = 0; ci < children.getLength(); ci++) {
				var item = children.item(ci);
				if (item.getFirstChild() != null) {
					var value = item.getFirstChild().getNodeValue();
					switch( item.getNodeName()) {
						case NC.widget.ResumeWizard.StrStartdate:
						startdate = value;
						break;
						
						case NC.widget.ResumeWizard.StrEnddate:
						enddate = value;
						break;
						
						case NC.widget.ResumeWizard.StrCompanyandtitle:
						companyAndTitle = value;
						break;
						
						case NC.widget.ResumeWizard.StrFlags:
						if (value == NC.widget.ResumeWizard.DeletedRow) {
							show = false;
						}
						break;
						
					}
				}
			}
			if (show) {
				content += this.startFieldContainer();
				content += this.createTextEditField( '', NC.widget.ResumeWizard.makeResumeEditFieldName(NC.widget.ResumeWizard.StrStartdate + i), startdate, 7, 10, 1);
				content += this.createTextEditField( '', NC.widget.ResumeWizard.makeResumeEditFieldName(NC.widget.ResumeWizard.StrEnddate + i), enddate, 7, 10, 1);
				content += this.createTextEditField( '', NC.widget.ResumeWizard.makeResumeEditFieldName(NC.widget.ResumeWizard.StrCompanyandtitle + i), companyAndTitle, 45, 80, 1);
				var addFunction = 'NC.widget.ResumeWizard.addWorkExperienceRow(' + i + ')';
				var deleteFunction = 'NC.widget.ResumeWizard.deleteWorkExperienceRow(' + i + ')';
				content += this.createButton(NC.widget.ResumeWizard.makeResumeEditFieldName(NC.widget.ResumeWizard.StrAddButton + i), addFunction, '../imagesv2/addaction.gif');
				content += this.createButton(NC.widget.ResumeWizard.makeResumeEditFieldName(NC.widget.ResumeWizard.StrDeleteButton + i), deleteFunction, '../images/deleteaction.gif');
				content += this.endFieldContainer();
			}
		}
		var addAtEndFunction = 'NC.widget.ResumeWizard.addWorkExperienceRowAtEnd()';
		content += '<a href="javascript:' + addAtEndFunction + '">Add another row here</a>';
		content += '<br>Enter dates as mm/yyyy.';
  		targetDiv.innerHTML = content;
  	},
  	
	validate: function( wizard) {
		var message = '';
		var worklist = NC.widget.ResumeWizard.getDomDocument().getElementsByTagName(NC.widget.ResumeWizard.StrWorkexperience);
		for (var i = 0; i < worklist.getLength(); i++) {
			var children = worklist.item(i).getChildNodes();
			var startdate = null;
			var enddate = null;
			var companyAndTitle = null;
			var flags = null;
			for (var ci = 0; ci < children.getLength(); ci++) {
				var item = children.item(ci);
				var fieldName = null;
				switch( item.getNodeName()) {
					case NC.widget.ResumeWizard.StrStartdate:
					fieldName = NC.widget.ResumeWizard.StrStartdate + i;
					startdate = NC.widget.ResumeWizard.getFieldValueNull( fieldName);
					break;
					
					case NC.widget.ResumeWizard.StrEnddate:
					fieldName = NC.widget.ResumeWizard.StrEnddate + i;
					enddate = NC.widget.ResumeWizard.getFieldValueNull( fieldName);
					break;
					
					case NC.widget.ResumeWizard.StrCompanyandtitle:
					fieldName = NC.widget.ResumeWizard.StrCompanyandtitle + i;
					companyAndTitle = NC.widget.ResumeWizard.getFieldValueNull( fieldName);
					break;

					case NC.widget.ResumeWizard.StrFlags:
						flags = item.getFirstChild().getNodeValue();
					break;
				}
			}
			/*
			var nullRow = false;
			if (companyAndTitle == null || startdate == null || enddate == null) { // row was deleted - does not exist
				nullRow = true;;
			}
			* */
			if (flags != null && flags != NC.widget.ResumeWizard.DeletedRow) {
				var startDateValid = false;
				var endDateValid = false;
				if (startdate.length > 0) {
					startDateValid = NC.widget.ResumeWizard.validateDate( startdate);
				}
				if (enddate.length > 0) {
					endDateValid = NC.widget.ResumeWizard.validateDate( enddate);
				}
				if (startDateValid == false || endDateValid == false) {
  					if (message.length > 0) {
  						message += '<br/>';
  					}
  					message += "Enter a valid date (mm/yyyy).";
				}
				if (NC.widget.ResumeWizard.validateDateRange( startdate, enddate) == false) {
  					if (message.length > 0) {
  						message += '<br/>';
  					}
					message += "The start date cannot be later than the end date.";
				}
				/*
				if (companyAndTitle.length > 0 && (startdate.length == 0 || enddate.length == 0)) {
  					if (message.length > 0) {
  						message += '<br/>';
  					}
					message= "Enter all employment start and end dates."
				}
				* */
				if ((startdate.length > 0 || enddate.length > 0) && companyAndTitle.length == 0) {
  					if (message.length > 0) {
  						message += '<br/>';
  					}
					message = "Enter company and title for all rows.";
				}
				if (startdate.length == 0 && 
				    enddate.length == 0 && 
				    companyAndTitle.length == 0) {
  					if (message.length > 0) {
  						message += '<br/>';
  					}
					message = "Fill in or delete blank rows.";
				}
			}
			if (message.length > 0) {
				break;
			}
		}
		if (message.length > 0) {
			wizard.showError( message);
			return false;
		}
		else {
			return true;
		}
	},
	
  	save: function() {
		var worklist = this.info.getElementsByTagName(NC.widget.ResumeWizard.StrWorkexperience);
		for (var i = 0; i < worklist.getLength(); i++) {
			var children = worklist.item(i).getChildNodes();
			var startdate = '';
			var enddate = '';
			var companyAndTitle = '';
			for (var ci = 0; ci < children.getLength(); ci++) {
				var item = children.item(ci);
				var fieldName = null;
				var updateField = true;
				switch( item.getNodeName()) {
					case NC.widget.ResumeWizard.StrStartdate:
					fieldName = NC.widget.ResumeWizard.StrStartdate + i;
					break;
					
					case NC.widget.ResumeWizard.StrEnddate:
					fieldName = NC.widget.ResumeWizard.StrEnddate + i;
//					enddate = value;
					break;
					
					case NC.widget.ResumeWizard.StrCompanyandtitle:
					fieldName = NC.widget.ResumeWizard.StrCompanyandtitle + i;
//					companyAndTitle = value;
					break;
					
					case NC.widget.ResumeWizard.StrFlags:
					fieldName = NC.widget.ResumeWizard.StrFlags + i;
					updateField = false;
					break;

					case NC.widget.ResumeWizard.StrPrivacy:
					fieldName = NC.widget.ResumeWizard.StrPrivacy + i;
					updateField = false;
					break;

				}
				if (fieldName != null && updateField == true) {
					value = NC.widget.ResumeWizard.getFieldValue( fieldName);
					if (item.getFirstChild() != null) {
						item.getFirstChild().setNodeValue( value);
					}
					else { /* previously empty - so create a new node and add it */
						var newNode = this.domDocument.createTextNode( value);
						item.appendChild( newNode);
					}
				}
			}
		}
  	},
  	
  	serialize: function() {
  	},
  	
  	listExperience: function( worklist) {
  		// debug function only
		for (var i = 0; i < worklist.getLength(); i++) {
			var children = worklist.item(i).getChildNodes();
			var startdate = '';
			var enddate = '';
			var companyAndTitle = '';
			for (var ci = 0; ci < children.getLength(); ci++) {
				var item = children.item(ci);
				if (item.getFirstChild() != null) {
					var value = item.getFirstChild().getNodeValue();
					switch( item.getNodeName()) {
						case NC.widget.ResumeWizard.StrStartdate:
						startdate = value;
						break;
						
						case NC.widget.ResumeWizard.StrEnddate:
						enddate = value;
						break;
						
						case NC.widget.ResumeWizard.StrCompanyandtitle:
						companyAndTitle = value;
						alert( value);
						break;
						
					}
				}
			}
		}
	},
	
	deleteRow: function( nRow) {
  		this.save();
		var worklistnodes = this.info.getElementsByTagName(NC.widget.ResumeWizard.StrWorklist);
		if (worklistnodes != null) {
			var worklist = worklistnodes.item(0);
			var experienceList = worklist.getChildNodes(); // all the work experience items
			var target = experienceList.item(nRow);
			var targetList = target.getChildNodes();
			var foundFlags = false;
			for (var ci = 0; ci < targetList.getLength(); ci++) {
				var item = targetList.item(ci);
				if (item.getFirstChild() != null) {
					var value = item.getNodeName();
					if (value == NC.widget.ResumeWizard.StrFlags ) {
						foundFlags = true;
						var textNode = item.getFirstChild();
						textNode.nodeValue = NC.widget.ResumeWizard.DeletedRow;
					}
				}
			}
			if (foundFlags == false) {
				/* created new nodes */
				var privacy = this.domDocument.createElement( NC.widget.ResumeWizard.StrPrivacy);
				var privacyValue = this.domDocument.createTextNode( NC.widget.ResumeWizard.PrivacyDefault);
				privacy.appendChild( privacyValue);
				var flags = this.domDocument.createElement( NC.widget.ResumeWizard.StrFlags);
				var flagsValue = this.domDocument.createTextNode( NC.widget.ResumeWizard.DeletedRow);
				flags.appendChild( flagsValue);
				target.appendChild( privacy);
				target.appendChild( flags);
			}
		}
		else {
//			alert( "worklist is null");
		}
	},
	
	makeNewRow: function() {
		// construct a new row and addes it to the dom document
		var companyAndTitle = this.domDocument.createElement(NC.widget.ResumeWizard.StrCompanyandtitle);
		var newText = this.domDocument.createTextNode( "");
		companyAndTitle.appendChild( newText);
		var startDate = this.domDocument.createElement( NC.widget.ResumeWizard.StrStartdate);
		var startDateValue = this.domDocument.createTextNode( "");
		startDate.appendChild( startDateValue);
		var endDate = this.domDocument.createElement( NC.widget.ResumeWizard.StrEnddate);
		var endDateValue = this.domDocument.createTextNode( "");
		endDate.appendChild( endDateValue);
		var newExperience = this.domDocument.createElement( NC.widget.ResumeWizard.StrWorkexperience);
		var newExperienceValue = this.domDocument.createTextNode( "");
		newExperience.appendChild(  newExperienceValue);
		var privacy = this.domDocument.createElement( NC.widget.ResumeWizard.StrPrivacy);
		var privacyValue = this.domDocument.createTextNode( NC.widget.ResumeWizard.PrivacyDefault);
		privacy.appendChild( privacyValue);
		var flags = this.domDocument.createElement( NC.widget.ResumeWizard.StrFlags);
		var flagsValue = this.domDocument.createTextNode( NC.widget.ResumeWizard.NewRow);
		flags.appendChild( flagsValue);
		newExperience.appendChild( companyAndTitle);
		newExperience.appendChild( startDate);
		newExperience.appendChild( endDate);
		newExperience.appendChild( privacy);
		newExperience.appendChild( flags);
		return newExperience
	},
  	
  	addRowBefore: function( nRow) {
  		this.save();
  		var newExperience = this.makeNewRow();
		var worklistnodes = this.info.getElementsByTagName(NC.widget.ResumeWizard.StrWorklist);
		if (worklistnodes != null) {
			var worklist = worklistnodes.item(0);
			var experienceList = worklist.getChildNodes(); // all the work experience items
			if (nRow < experienceList.getLength()) {
				var refChild = experienceList.item(nRow);
				worklist.insertBefore( newExperience, refChild);
			}
		}
		else {
//			alert( "worklist is null");
		}
  	},
  	
  	addRowAtEnd: function( ) {
  		this.save();
  		var newExperience = this.makeNewRow();
		var worklistnodes = this.info.getElementsByTagName(NC.widget.ResumeWizard.StrWorklist);
		if (worklistnodes != null) {
			var worklist = worklistnodes.item(0);
			worklist.appendChild( newExperience);
		}
		else {
//			alert( "worklist is null");
		}
  	}
  
  });
  
  NC.widget.EducationHistoryPage = function( domDocument ) {
		var fnSuperClass = NC.widget.EducationHistoryPage.superclass.constructor;
		fnSuperClass.call( this, 3, NC.widget.ResumeWizard.StrNCWizEducationPage);
		this.domDocument = domDocument;
		this.info = domDocument.getDocumentElement();
  }
  
  
  NC.lang.extend(NC.widget.EducationHistoryPage, NC.widget.WizardPage, 
  {
  	render: function( targetDivId) {
  		var targetDiv = document.getElementById(targetDivId);
		var educationList = this.info.getElementsByTagName(NC.widget.ResumeWizard.StrEducationexperience);
		var content = '<h1>Education Credentials</h1>';
		var dateHeader = "Date";
		var schoolHeader = "School";
		var degreeHeader = "Degree";
		content += this.startFieldContainer();
		content += this.createFieldHeader( dateHeader, 7);
		content += this.createFieldHeader( schoolHeader, 35);
		content += this.createFieldHeader( degreeHeader, 10);
		content += this.endFieldContainer();
		if (educationList.getLength() == 0) {
			this.addRowAtEnd();
			educationList = this.info.getElementsByTagName(NC.widget.ResumeWizard.StrEducationexperience);
		}
		for (var i = 0; i < educationList.getLength(); i++) {
			var children = educationList.item(i).getChildNodes();
			var degree = '';
			var school = '';
			var degreeDate = '';
			var show = true;
			for (var ci = 0; ci < children.getLength(); ci++) {
				var item = children.item(ci);
				var fieldName = null;
				if (item.getFirstChild() != null) {
					var value = item.getFirstChild().getNodeValue();
					switch( item.getNodeName()) {
						case NC.widget.ResumeWizard.StrSchool:
						school = value;
						break;
						
						case NC.widget.ResumeWizard.StrDegreecode:
						degree = (value.charAt(0).toUpperCase()+value.substr(1).toLowerCase());
						break;
						
						case NC.widget.ResumeWizard.StrDegreeDate:
						if (value == NC.widget.ResumeWizard.StrNoContent) {
							value = ''; // remove the dash
						}
						degreeDate = value;
						break;
						
						case NC.widget.ResumeWizard.StrFlags:
						if (value == NC.widget.ResumeWizard.DeletedRow) {
							show = false;
						}
						break;
						
					}
				}
			}
			if (show) {
				content += this.startFieldContainer();
				content += this.createTextEditField( '', NC.widget.ResumeWizard.makeResumeEditFieldName(NC.widget.ResumeWizard.StrDegreeDate + i), degreeDate, 7, 10, 1);
				content += this.createTextEditField( '', NC.widget.ResumeWizard.makeResumeEditFieldName(NC.widget.ResumeWizard.StrSchool + i), school, 35, 50, 1);
				content += this.createTextEditField( '', NC.widget.ResumeWizard.makeResumeEditFieldName(NC.widget.ResumeWizard.StrDegreecode + i), degree, 10, 10, 1);
				var addFunction = 'NC.widget.ResumeWizard.addEducationRow(' + i + ')';
				var deleteFunction = 'NC.widget.ResumeWizard.deleteEducationRow(' + i + ')';
				content += this.createButton(NC.widget.ResumeWizard.makeResumeEditFieldName(NC.widget.ResumeWizard.StrAddButton + i), addFunction, '../imagesv2/addaction.gif');
				content += this.createButton(NC.widget.ResumeWizard.makeResumeEditFieldName(NC.widget.ResumeWizard.StrDeleteButton + i), deleteFunction, '../images/deleteaction.gif');
				content += this.endFieldContainer();
			}
		}
		var addAtEndFunction = 'NC.widget.ResumeWizard.addEducationRowAtEnd()';
		content += '<a href="javascript:' + addAtEndFunction + '">Add another row here</a>';
		content += '<br>Enter dates as mm/yyyy.';
  		targetDiv.innerHTML = content;
  	},
  	
  	save: function() {
 		var educationList = this.info.getElementsByTagName(NC.widget.ResumeWizard.StrEducationexperience);
		for (var i = 0; i < educationList.getLength(); i++) {
			var children = educationList.item(i).getChildNodes();
			var degree = '';
			var school = '';
			for (var ci = 0; ci < children.getLength(); ci++) {
				var item = children.item(ci);
				if (item.getFirstChild() != null) {
					var value = item.getFirstChild().getNodeValue();
					var updateField = true;
					switch( item.getNodeName()) {
						case NC.widget.ResumeWizard.StrSchool:
						fieldName = NC.widget.ResumeWizard.StrSchool + i;
						break;
						
						case NC.widget.ResumeWizard.StrDegreecode:
						fieldName = NC.widget.ResumeWizard.StrDegreecode + i;
						break;

						case NC.widget.ResumeWizard.StrDegreeDate:
						fieldName = NC.widget.ResumeWizard.StrDegreeDate + i;
						break;

						case NC.widget.ResumeWizard.StrSchoolType:
						fieldName = NC.widget.ResumeWizard.StrSchoolType + i;
						updateField = false;
						break;

						case NC.widget.ResumeWizard.StrSchoolGpa:
						fieldName = NC.widget.ResumeWizard.StrSchoolGpa + i;
						updateField = false;
						break;

						case NC.widget.ResumeWizard.StrFlags:
						fieldName = NC.widget.ResumeWizard.StrFlags + i;
						updateField = false;
						break;

						case NC.widget.ResumeWizard.StrPrivacy:
						fieldName = NC.widget.ResumeWizard.StrPrivacy + i;
						updateField = false;
						break;

					}
					if (fieldName != null && updateField == true) {
						value = NC.widget.ResumeWizard.getFieldValue( fieldName);
						if (item.getFirstChild() != null) {
							item.getFirstChild().setNodeValue( value);
						}
						else { /* previously empty - so create a new node and add it */
							var newNode = this.domDocument.createTextNode( value);
							item.appendChild( newNode);
						}
					}
				}
			}
		}
  	},

	validate: function( wizard) {
		var message = '';
		var educationList = this.info.getElementsByTagName(NC.widget.ResumeWizard.StrEducationexperience);
		for (var i = 0; i < educationList.getLength(); i++) {
			var children = educationList.item(i).getChildNodes();
			var degree = null;
			var school = null;
			var degreeDate = null;
			var degreeDateValid = false;
			var flags = null;
			for (var ci = 0; ci < children.getLength(); ci++) {
				var item = children.item(ci);
				if (item.getFirstChild() != null) {
					var value = item.getFirstChild().getNodeValue();
					var updateField = true;
					switch( item.getNodeName()) {
						case NC.widget.ResumeWizard.StrSchool:
						fieldName = NC.widget.ResumeWizard.StrSchool + i;
						school = NC.widget.ResumeWizard.getFieldValueNull( fieldName);
						break;
						
						case NC.widget.ResumeWizard.StrDegreecode:
						fieldName = NC.widget.ResumeWizard.StrDegreecode + i;
						degree = NC.widget.ResumeWizard.getFieldValueNull( fieldName);
						break;
	
						case NC.widget.ResumeWizard.StrDegreeDate:
						fieldName = NC.widget.ResumeWizard.StrDegreeDate + i;
						degreeDate = NC.widget.ResumeWizard.getFieldValueNull( fieldName);
						if (degreeDate == null || degreeDate == '-') {
							degreeDate = ''; // blank field
						}
						var degreeDateValid = NC.widget.ResumeWizard.validateDate( degreeDate);
						
						break;
	
						case NC.widget.ResumeWizard.StrFlags:
							flags = item.getFirstChild().getNodeValue();
						break;
					}
				}
			}
			/*
			var nullRow = false;
			if (school == null || degree == null || degreeDate == null) { // row was deleted - does not exist
				nullRow = true;;
			}
			*/
			if (flags != null && flags != NC.widget.ResumeWizard.DeletedRow) {
				if (school.length == 0 && degree.length == 0 && degreeDate.length == 0) {
					message = "Fill in or delete blank rows.";
					break;
				}
				if (degreeDate.length > 0 && degreeDateValid == false) {
					message = "Enter a valid date (mm/yyyy)";
				}
			}
		}
		if (message.length > 0) {
			wizard.showError( message);
			return false;
		}
		else {
			return true;
		}
	},  	
  	serialize: function() {
  	},
  	
	deleteRow: function( nRow) {
  		this.save();
		var edlistnodes = this.info.getElementsByTagName(NC.widget.ResumeWizard.StrEducationlist);
		if (edlistnodes != null) {
			var edlist = edlistnodes.item(0);
			var schoolList = edlist.getChildNodes(); // all the school items
			var target = schoolList.item(nRow);
			var targetList = target.getChildNodes();
			var foundFlags = false;
			for (var ci = 0; ci < targetList.getLength(); ci++) {
				var item = targetList.item(ci);
				if (item.getFirstChild() != null) {
					var value = item.getNodeName();
					if (value == NC.widget.ResumeWizard.StrFlags ) {
						foundFlags = true;
						var textNode = item.getFirstChild();
						textNode.nodeValue = NC.widget.ResumeWizard.DeletedRow;
					}
				}
			}
			if (foundFlags == false) {
				/* created new nodes */
				var privacy = this.domDocument.createElement( NC.widget.ResumeWizard.StrPrivacy);
				var privacyValue = this.domDocument.createTextNode( NC.widget.ResumeWizard.PrivacyDefault);
				privacy.appendChild( privacyValue);
				var flags = this.domDocument.createElement( NC.widget.ResumeWizard.StrFlags);
				var flagsValue = this.domDocument.createTextNode( NC.widget.ResumeWizard.DeletedRow);
				flags.appendChild( flagsValue);
				target.appendChild( privacy);
				target.appendChild( flags);
			}
		}
		else {
			alert( "edlist is null");
		}
	},
	
	createNewRow: function() {
		var school = this.domDocument.createElement(NC.widget.ResumeWizard.StrSchool);
		var newText = this.domDocument.createTextNode( "");
		school.appendChild( newText);
		var degreeCode = this.domDocument.createElement( NC.widget.ResumeWizard.StrDegreecode);
		var degreeCodeValue = this.domDocument.createTextNode( "");
		degreeCode.appendChild( degreeCodeValue);
		var degreeDate = this.domDocument.createElement( NC.widget.ResumeWizard.StrDegreeDate);
		var degreeDateValue = this.domDocument.createTextNode( "");
		degreeDate.appendChild( degreeDateValue);
		var newEducationRow = this.domDocument.createElement( NC.widget.ResumeWizard.StrEducationexperience);
		var privacy = this.domDocument.createElement( NC.widget.ResumeWizard.StrPrivacy);
		var privacyValue = this.domDocument.createTextNode( NC.widget.ResumeWizard.PrivacyDefault);
		privacy.appendChild( privacyValue);
		var flags = this.domDocument.createElement( NC.widget.ResumeWizard.StrFlags);
		var flagsValue = this.domDocument.createTextNode( NC.widget.ResumeWizard.NewRow);
		flags.appendChild( flagsValue);
		newEducationRow.appendChild( school);
		newEducationRow.appendChild( degreeCode);
		newEducationRow.appendChild( degreeDate);
		newEducationRow.appendChild( privacy);
		newEducationRow.appendChild( flags);
		return newEducationRow;		
	},
	
  	addRowBefore: function( nRow) {
  		this.save();
		// construct a new row and addes it to the dom document
		var newEducationRow = this.createNewRow();
		var edlistnodes = this.info.getElementsByTagName(NC.widget.ResumeWizard.StrEducationlist);
		if (edlistnodes != null) {
			var edlist = edlistnodes.item(0);
			var schoolList = edlist.getChildNodes(); // all the work experience items
			if (nRow < schoolList.getLength()) {
				var refChild = schoolList.item(nRow);
				edlist.insertBefore( newEducationRow, refChild);
			}
		}
		else {
//			alert( "worklist is null");
		}
  	},
  	
  	addRowAtEnd: function( ) {
  		this.save();
		// construct a new row and addes it to the dom document
		var newEducationRow = this.createNewRow();
		var edlistnodes = this.info.getElementsByTagName(NC.widget.ResumeWizard.StrEducationlist);
		if (edlistnodes != null) {
			var edlist = edlistnodes.item(0);
			edlist.appendChild( newEducationRow);
		}
		else {
//			alert( "worklist is null");
		}
  	}
  
  	
  
  	
  
  });
  
  
  

