function checkreqfield (f, desc) {
	e = document.getElementById (f);
	if (!e || (!e.value) || (e.value=='')) {
		alert ('"' + desc + '" field is requred');
		return false;
	}
	return true;
}

function do_step (i) {
	update_total ();
	if (i == 2) {
		// check required fields
		if (!checkreqfield ('firstname', 'First Name')) return;
		if (!checkreqfield ('lastname', 'Last Name')) return;
		if (!checkreqfield ('emailfield', 'E-mail')) return;
		if (!checkreqfield ('country', 'Country')) return;
	}
	for (k = 1; k <= 5; k++) {
		s = document.getElementById('step'+k);
		if (k == i)
			s.style.display = 'block';
		else
			s.style.display = 'none';
	}
	if (i == 2) {
		buildpreview1();
	}
	if (i == 4) {
		buildpreview2();
	}
	window.location='#';
}
var num_positions = 1;
var num_positions2 = 1;

function addpos () {
	if (num_positions <= 19) {
		document.getElementById ('position-'+num_positions).style.display = 'block';
		num_positions++;
		window.location='#position-'+(num_positions-1);
	}
}

function removepos () {
	if (num_positions > 1) {
		num_positions--;
		document.getElementById ('position-'+num_positions).style.display = 'none';
		window.location='#position-'+(num_positions-1);
	}
}

function addpos2 () {
	if (num_positions2 <= 5) {
		document.getElementById ('position2-'+num_positions2).style.display = 'block';
		num_positions2++;
		window.location='#position2-'+(num_positions2-1);
	}
}

function removepos2 () {
	if (num_positions2 > 1) {
		num_positions2--;
		document.getElementById ('position2-'+num_positions2).style.display = 'none';
		window.location='#position2-'+(num_positions2-1);
	}
}

function reset_field(e) {
	if (e.value=='YYYY' || e.value=='MM')
		e.value = '';
}

var formparms1 = [
	['First Name:','firstname'],
	['Last Name:', 'lastname'],
	['E-mail:', 'emailfield'],
	['Country:', 'country'],
	['Phone Number:', 'phone'],
	['SMS-E-mail:', 'smsemail'],
	['Level:', 'level1', 'Student/Grad'],
	['Level:', 'level2', 'Career Change'],
	['Level:', 'level3', 'Professional'],
	['Level:', 'level4', 'Executive'],
	['Service Package:', 'service1', 'CV Writing'],
	['Service Package:', 'service2', 'CV Editing'],
	['Service Package:', 'service3', 'Resume Writing'],
	['Service Package:', 'service4', 'Resume Editing'],
	['Urgency:', 'urgency1', '96 hours'],
	['Urgency:', 'urgency2', '48 hours'],
	['Urgency:', 'urgency3', '72 hours'],
	['Urgency:', 'urgency4', '24 hours'],
	['Package Selection:', 'studresbasic', 'Student Resume Basic'],
	['Package Selection:', 'studresadv', 'Student Resume Advanced'],
	['Package Selection:', 'studresfull', 'Student Resume Full Arsenal'],
	['Package Selection:', 'profresbasic', 'Professional Resume Basic'],
	['Package Selection:', 'profresadv', 'Professional Resume Advanced'],
	['Package Selection:', 'profresfull', 'Professional Resume Full Arsenal'],
	['Package Selection:', 'carresbasic', 'Career Change Resume Basic'],
	['Package Selection:', 'carresadv', 'Career Change Resume Advanced'],
	['Package Selection:', 'carresfull', 'Career Change Resume Full Arsenal'],
	['Package Selection:', 'execresbasic', 'Executive Resume Basic'],
	['Package Selection:', 'execresadv', 'Executive Resume Advanced'],
	['Package Selection:', 'execresfull', 'Executive Resume Full Arsenal'],
	['Resume/CV Writing in 4 formats:', 'wrt4formats', 'Yes'],
	['Resume Posting on 100 TOP Job Sites:', 'posting100sites', 'Yes'],
	['KSAs:', 'ksas', 'Yes'],
	['I\'d like to receive E-mail notifications:', 'emailnotif', 'Yes'],
	['I\'d like to receive SMS notifications:', 'smsnotif', 'Yes'],
	['Preferred Writer ID:', 'prefwriterfield']
];

var formparms2 = [
	['Work Experience:','exp_exp0'],
	['Position Title/ Responsibilities:','exp_title0'],
	['Company Name:','exp_company0'],
	['City:','exp_city0'],
	['State:','exp_state0'],
	['Start Date:','exp_startyear0', 'exp_startmonth0'],
	['End Date:','exp_endyear0', 'exp_endmonth0'],
	['Your Achievements:', 'exp_achievements0'],
	['-', 1],
	['Work Experience:','exp_exp1'],
	['Position Title/ Responsibilities:','exp_title1'],
	['Company Name:','exp_company1'],
	['City:','exp_city1'],
	['State:','exp_state1'],
	['Start Date:','exp_startyear1', 'exp_startmonth1'],
	['End Date:','exp_endyear1', 'exp_endmonth1'],
	['Your Achievements:', 'exp_achievements1'],
	['-', 2],
	['Work Experience:','exp_exp2'],
	['Position Title/ Responsibilities:','exp_title2'],
	['Company Name:','exp_company2'],
	['City:','exp_city2'],
	['State:','exp_state2'],
	['Start Date:','exp_startyear2', 'exp_startmonth2'],
	['End Date:','exp_endyear2', 'exp_endmonth2'],
	['Your Achievements:', 'exp_achievements2'],
	['-', 3],
	['Work Experience:','exp_exp3'],
	['Position Title/ Responsibilities:','exp_title3'],
	['Company Name:','exp_company3'],
	['City:','exp_city3'],
	['State:','exp_state3'],
	['Start Date:','exp_startyear3', 'exp_startmonth3'],
	['End Date:','exp_endyear3', 'exp_endmonth3'],
	['Your Achievements:', 'exp_achievements3'],
	['-', 4],
	['Work Experience:','exp_exp4'],
	['Position Title/ Responsibilities:','exp_title4'],
	['Company Name:','exp_company4'],
	['City:','exp_city4'],
	['State:','exp_state4'],
	['Start Date:','exp_startyear4', 'exp_startmonth4'],
	['End Date:','exp_endyear4', 'exp_endmonth4'],
	['Your Achievements:', 'exp_achievements4'],
	['-', 5],
	['Work Experience:','exp_exp5'],
	['Position Title/ Responsibilities:','exp_title5'],
	['Company Name:','exp_company5'],
	['City:','exp_city5'],
	['State:','exp_state5'],
	['Start Date:','exp_startyear5', 'exp_startmonth5'],
	['End Date:','exp_endyear5', 'exp_endmonth5'],
	['Your Achievements (be exact):', 'exp_achievements5'],
	['-', 6],
	['Work Experience:','exp_exp6'],
	['Position Title/ Responsibilities:','exp_title6'],
	['Company Name:','exp_company6'],
	['City:','exp_city6'],
	['State:','exp_state6'],
	['Start Date:','exp_startyear6', 'exp_startmonth6'],
	['End Date:','exp_endyear6', 'exp_endmonth6'],
	['Your Achievements (be exact):', 'exp_achievements6'],
	['-', 7],
	['Work Experience:','exp_exp7'],
	['Position Title/ Responsibilities:','exp_title7'],
	['Company Name:','exp_company7'],
	['City:','exp_city7'],
	['State:','exp_state7'],
	['Start Date:','exp_startyear7', 'exp_startmonth7'],
	['End Date:','exp_endyear7', 'exp_endmonth7'],
	['Your Achievements (be exact):', 'exp_achievements7'],
	['-', 8],
	['Work Experience:','exp_exp8'],
	['Position Title/ Responsibilities:','exp_title8'],
	['Company Name:','exp_company8'],
	['City:','exp_city8'],
	['State:','exp_state8'],
	['Start Date:','exp_startyear8', 'exp_startmonth8'],
	['End Date:','exp_endyear8', 'exp_endmonth8'],
	['Your Achievements (be exact):', 'exp_achievements8'],
	['-', 9],
	['Work Experience:','exp_exp9'],
	['Position Title/ Responsibilities:','exp_title9'],
	['Company Name:','exp_company9'],
	['City:','exp_city9'],
	['State:','exp_state9'],
	['Start Date:','exp_startyear9', 'exp_startmonth9'],
	['End Date:','exp_endyear9', 'exp_endmonth9'],
	['Your Achievements (be exact):', 'exp_achievements9'],
	['-', 10],
	['Work Experience:','exp_exp10'],
	['Position Title/ Responsibilities:','exp_title10'],
	['Company Name:','exp_company10'],
	['City:','exp_city10'],
	['State:','exp_state10'],
	['Start Date:','exp_startyear10', 'exp_startmonth10'],
	['End Date:','exp_endyear10', 'exp_endmonth10'],
	['Your Achievements (be exact):', 'exp_achievements10'],
	['-', 11],
	['Work Experience:','exp_exp11'],
	['Position Title/ Responsibilities:','exp_title11'],
	['Company Name:','exp_company11'],
	['City:','exp_city11'],
	['State:','exp_state11'],
	['Start Date:','exp_startyear11', 'exp_startmonth11'],
	['End Date:','exp_endyear11', 'exp_endmonth11'],
	['Your Achievements (be exact):', 'exp_achievements11'],
	['-', 12],
	['Work Experience:','exp_exp12'],
	['Position Title/ Responsibilities:','exp_title12'],
	['Company Name:','exp_company12'],
	['City:','exp_city12'],
	['State:','exp_state12'],
	['Start Date:','exp_startyear12', 'exp_startmonth12'],
	['End Date:','exp_endyear12', 'exp_endmonth12'],
	['Your Achievements (be exact):', 'exp_achievements12'],
	['-', 13],
	['Work Experience:','exp_exp13'],
	['Position Title/ Responsibilities:','exp_title13'],
	['Company Name:','exp_company13'],
	['City:','exp_city13'],
	['State:','exp_state13'],
	['Start Date:','exp_startyear13', 'exp_startmonth13'],
	['End Date:','exp_endyear13', 'exp_endmonth13'],
	['Your Achievements (be exact):', 'exp_achievements13'],
	['-', 14],
	['Work Experience:','exp_exp14'],
	['Position Title/ Responsibilities:','exp_title14'],
	['Company Name:','exp_company14'],
	['City:','exp_city14'],
	['State:','exp_state14'],
	['Start Date:','exp_startyear14', 'exp_startmonth14'],
	['End Date:','exp_endyear14', 'exp_endmonth14'],
	['Your Achievements (be exact):', 'exp_achievements14'],
	['-', 15],
	['Work Experience:','exp_exp15'],
	['Position Title/ Responsibilities:','exp_title15'],
	['Company Name:','exp_company15'],
	['City:','exp_city15'],
	['State:','exp_state15'],
	['Start Date:','exp_startyear15', 'exp_startmonth15'],
	['End Date:','exp_endyear15', 'exp_endmonth15'],
	['Your Achievements (be exact):', 'exp_achievements15'],
	['-', 16],
	['Work Experience:','exp_exp16'],
	['Position Title/ Responsibilities:','exp_title16'],
	['Company Name:','exp_company16'],
	['City:','exp_city16'],
	['State:','exp_state16'],
	['Start Date:','exp_startyear16', 'exp_startmonth16'],
	['End Date:','exp_endyear16', 'exp_endmonth16'],
	['Your Achievements (be exact):', 'exp_achievements16'],
	['-', 17],
	['Work Experience:','exp_exp17'],
	['Position Title/ Responsibilities:','exp_title17'],
	['Company Name:','exp_company17'],
	['City:','exp_city17'],
	['State:','exp_state17'],
	['Start Date:','exp_startyear17', 'exp_startmonth17'],
	['End Date:','exp_endyear17', 'exp_endmonth17'],
	['Your Achievements (be exact):', 'exp_achievements17'],
	['-', 18],
	['Work Experience:','exp_exp18'],
	['Position Title/ Responsibilities:','exp_title18'],
	['Company Name:','exp_company18'],
	['City:','exp_city18'],
	['State:','exp_state18'],
	['Start Date:','exp_startyear18', 'exp_startmonth18'],
	['End Date:','exp_endyear18', 'exp_endmonth18'],
	['Your Achievements (be exact):', 'exp_achievements18'],
	['-', 19],
	['Work Experience:','exp_exp19'],
	['Position Title/ Responsibilities:','exp_title19'],
	['Company Name:','exp_company19'],
	['City:','exp_city19'],
	['State:','exp_state19'],
	['Start Date:','exp_startyear19', 'exp_startmonth19'],
	['End Date:','exp_endyear19', 'exp_endmonth19'],
	['Your Achievements (be exact):', 'exp_achievements19'],
	['-', 100],
	['Institution Name:','edu_name0'],
	['Department:','edu_dep0'],
	['Degree:','edu_deg0'],
	['Graduation Date/Expected Graduation Date:','edu_year0', 'edu_month0'],
	['Achievements:','edu_achievements0'],
	['-', 101],
	['Institution Name:','edu_name1'],
	['Department:','edu_dep1'],
	['Degree:','edu_deg1'],
	['Graduation Date/Expected Graduation Date:','edu_year1', 'edu_month1'],
	['Achievements:','edu_achievements1'],
	['-', 102],
	['Institution Name:','edu_name2'],
	['Department:','edu_dep2'],
	['Degree:','edu_deg2'],
	['Graduation Date/Expected Graduation Date:','edu_year2', 'edu_month2'],
	['Achievements:','edu_achievements2'],
	['-', 103],
	['Institution Name:','edu_name3'],
	['Department:','edu_dep3'],
	['Degree:','edu_deg3'],
	['Graduation Date/Expected Graduation Date:','edu_year3', 'edu_month3'],
	['Achievements:','edu_achievements3'],
	['-', 104],
	['Institution Name:','edu_name4'],
	['Department:','edu_dep4'],
	['Degree:','edu_deg4'],
	['Graduation Date/Expected Graduation Date:','edu_year4', 'edu_month4'],
	['Achievements:','edu_achievements4'],
	['-', 105],
	['Institution Name:','edu_name5'],
	['Department:','edu_dep5'],
	['Degree:','edu_deg5'],
	['Graduation Date/Expected Graduation Date:','edu_year5', 'edu_month5'],
	['Achievements:','edu_achievements5']
];

function buildpreview1 () {
	// reset content of preview1 div and fill it with preview table
	frm = document.getElementById ('preview1');
	t = document.getElementById ('previewtable1');
	if (t)
		frm.removeChild (t);
	t = document.createElement ('table');
	tb = document.createElement ('tbody');
	cnt = 0;
	for (n in formparms1) {
		if (!formparms1[n][0])
			continue;
		if (formparms1[n][2]) {
			v = document.getElementById (formparms1[n][1]);
			if (v.checked) {
				tr = document.createElement ('tr');
				td = document.createElement ('td');
					txt = document.createTextNode (formparms1[n][0]);
					td.appendChild (txt);
					tr.appendChild (td);
					td.className="pt_left";
				td = document.createElement ('td');
					txt = document.createTextNode (formparms1[n][2]);
					td.appendChild (txt);
					tr.appendChild (td);
					td.className= "pt_right";
				tb.appendChild (tr);
				if (cnt % 2)
					tr.className= "pt_even";
				else
					tr.className="pt_odd";
				cnt++;
			}
		}
		else {
			tr = document.createElement ('tr');
			td = document.createElement ('td');
				txt = document.createTextNode (formparms1[n][0]);
				td.appendChild (txt);
				tr.appendChild (td);
				td.className= "pt_left";
			td = document.createElement ('td');
				v = document.getElementById(formparms1[n][1]);
				if (v)
					txt = document.createTextNode (v.value);
				else
					txt = document.createTextNode ("");
				td.appendChild (txt);
				tr.appendChild (td);
				td.className= "pt_right";
			tb.appendChild (tr);
			if (cnt % 2)
				tr.className ="pt_even";
			else
				tr.className = "pt_odd";
			cnt++;
		}
	}

	t.appendChild (tb);
	frm.appendChild (t);
	t.setAttribute("id", "previewtable1");
}

function buildpreview2 () {
	cnt = 0;
	// reset content of preview2 div and fill it with preview table
	frm = document.getElementById ('preview2');
	t = document.getElementById ('previewtable2');
	if (t)
		frm.removeChild (t);
	t = document.createElement ('table');
	tb = document.createElement ('tbody');
	cnt = 0;
	skipsection = 0;
	for (n in formparms2) {
		if (!formparms2[n][0]) {
			continue;
		}
		if (formparms2[n][0] == '-') {
				if (formparms2[n][1] < 100) {
					if (formparms2[n][1] >= num_positions)
						skipsection = 1;
					else
						skipsection = 0;
				}
				else {
					if (formparms2[n][1]-100 >= num_positions2) {
						skipsection = 1;
					}
					else {
						skipsection = 0;
					}
				}
		}
		if (skipsection)
			continue;
//		// this will skip unfilled sections
//		if (n==0 || formparms2[n][0] == '-') {
//			empty = 1;
//			nn = n;
//			if (n > 0)
//				n++;
//			for (; formparms2[nn] && formparms2[nn][0] != '-'; nn++) {
//				e = document.getElementById(formparms2[nn][1]);
//				if (!e) {
//					continue;
//				}
//				if (formparms2[nn][2]) {
//					if (e.value != 'YYYY' && e.value != '') {
//						empty = 0;
//						break;
//					}
//					e = document.getElementById (formparms2[nn][2]);
//					if (e && e.value != 'MM' && e.value != '') {
//						empty = 0;
//						break;
//					}
//				}
//				else if (e.value != '') {
//					empty = 0;
//					break;
//				}
//			}
//			if (empty) {
//				skipsection = 1;
//				continue;
//			}
//			else {
//				cnt++;
//			}
//		}
		tr = document.createElement ('tr');
		if (formparms2[n][0]=='-') {
			td = document.createElement ('td');
			//hr = document.createElement ('hr');
			//td.appendChild (hr);
			td.setAttribute ("colspan", "2");
			td.className = "rowsep";
			tr.appendChild (td);
			tb.appendChild (tr);
		}
		else {
			td = document.createElement ('td');
				txt = document.createTextNode (formparms2[n][0]);
				td.appendChild (txt);
				tr.appendChild (td);
				td.className = "pt_left";
			td = document.createElement ('td');
				v = document.getElementById(formparms2[n][1]);
				if (v) {
					txt = document.createTextNode (v.value);
				}
				else
					txt = document.createTextNode ("");
				td.appendChild (txt);
				if (formparms2[n][2]) {
					v = document.getElementById(formparms2[n][2]);
					if (v) {
						txt = document.createTextNode ('/'+v.value);
						td.appendChild (txt);
					}
				}

				tr.appendChild (td);
				td.className = "pt_right";
			tb.appendChild (tr);
			if (cnt % 2)
				tr.className = "pt_eve";
			else
				tr.classname = "pt_odd";
			cnt++;
		}
	}


	if (!cnt) {
		tr = document.createElement ('tr');
		td = document.createElement ('td');
		txt = document.createTextNode ('No previous work experience and education');
		td.appendChild (txt);
		td.setAttribute ("colspan", "2");
		td.className = "noentries";
		tr.appendChild (td);
		tb.appendChild (tr);
	}
	t.appendChild (tb);
	frm.appendChild (t);
	t.setAttribute("id", "previewtable2");
}

var level = 'stud';
var serv = 'cv';
var last_package = 'studcv';
var dd = 72;

function set_level(l) {
	level = l;
	update_package_sel ();
}

function set_serv (s) {
	serv = s;
	update_package_sel ();
}

function update_package_sel () {
	new_package = level + serv;
	if (new_package != last_package) {
		document.getElementById (last_package+'basic').checked=0;
		document.getElementById (last_package+'adv').checked=0;
		document.getElementById (last_package+'full').checked=0;
		document.getElementById (new_package+'basic').checked=1;
		document.getElementById (new_package+'adv').checked=0;
		document.getElementById (new_package+'full').checked=0;
		e = document.getElementById (last_package);
		if (e)
			e.style.display = 'none';
		last_package = new_package;
		e = document.getElementById (last_package);
		if (e)
			e.style.display = 'block';
		update_total ();
	}
}

function deadline_changed (d) {
	dd = d;
	update_total ();
}

function update_total () {
	pricemap = [
		['studres', 69.99, 89.99, 119.99],
		['studcv', 139.99, 159.99, 189.99],
		['studresedit', 54.99, 74.99, 104.99],
		['studcvedit', 119.99, 139.99, 169.99],
		['profres', 74.99, 94.99, 124.99],
		['profcv', 149.99, 169.99, 199.99],
		['profresedit', 64.99, 84.99, 114.99],
		['profcvedit', 129.99, 149.99, 179.99],
		['carres', 74.99, 94.99, 124.99],
		['carcv', 149.99, 169.99, 199.99],
		['carresedit', 64.99, 84.99, 114.99],
		['carcvedit', 129.99, 149.99, 179.99],
		['execres', 84.99, 104.99, 134.99],
		['execcv', 159.99, 179.99, 209.99],
		['execresedit', 74.99, 94.99, 124.99],
		['execcvedit', 139.99, 159.99, 189.99],
	];
	price = 0;
	for (n in pricemap) {
		if (pricemap[n][0] == last_package) {
			b = document.getElementById (last_package+'basic');
			a = document.getElementById (last_package+'adv');
			f = document.getElementById (last_package+'full');
			if (b.checked)
				price = pricemap[n][1];
			else if (a.checked)
				price = pricemap[n][2];
			else if (f.checked)
				price = pricemap[n][3];
		}
	}
	if (dd == 96)
		price -= 5;
	else if (dd == 48)
		price += 20;
	else if (dd == 24)
		price += 40;

	s = document.getElementById ('wrt4formats');
	if (s && s.checked)
		price += 49;
	s = document.getElementById ('posting100sites');
	if (s && s.checked)
		price += 79;
	s = document.getElementById ('ksas');
	if (s && s.checked)
		price += 29;
	

	s = document.getElementById ('sum');
	s.innerHTML = '$'+price;
	s = document.getElementById ('swreg_total');
	s.value = price;
}

function submitOrderForm () {
	update_total ();
	new Ajax.Request ('/', {
		method: 'post',
		parameters: $('orderform').serialize(true),
		onSuccess: function (transport, json) {
			// check returned json and redirect to successful order page, or display error message
			if (json.result == 'success')
				do_step (5);
			else
				alert ('Something wrong: server returned: "'+json.result+'"');
		},
		onFailure: function () {
			alert ('Connection to server lost! Try again later!');
		}
	});
}

