function openOCIhelp(url, e, v) {
	w = screen.width - 420;
	h = screen.height - v;
	x = e.screenX;
	y = e.screenY;	
	if(x > w) { x = x - 420; }
	if(y > h) { y = y - v; }
	childwin = window.open(url, "childwin", "width=420,height="+v+",top="+y+",left="+x+",scrollbars=no,resizable=yes");
}
function validateEmailItinerary() {
	f = document.forms['emailitineraryform'];
	var invalidnoemails = false;
	var invalidtoemail1 = false;
	var invalidtoemail2 = false;
	var invalidtoemail3 = false;
	var invalidtoemail4 = false;
	var invalidtoemail5 = false;
	var invalidtoemail6 = false;
	var invalidfromemail = false;
	var invalidname = false;
	var oldbrowser = (document.layers && !document.all);
	
	namelength = f.name.value.length;
	namematch = f.name.value.match(/[a-zA-Z\s]+/);

	if(f.toemail1.value == "" && f.toemail2.value == "" && f.toemail3.value == "" && f.toemail4.value == "" && f.toemail5.value == "" && f.toemail6.value == "")
		invalidnoemails = true;
	
	if(f.toemail1.value != "")
		if(f.toemail1.value.match(/.*[@].*[.].*/) == null || f.toemail1.value.length != f.toemail1.value.match(/.*[@].*[.].*/)[0].length)
			invalidtoemail1 = true;
	
	if(f.toemail2.value != "")
		if(f.toemail2.value.match(/.*[@].*[.].*/) == null || f.toemail2.value.length != f.toemail2.value.match(/.*[@].*[.].*/)[0].length)
			invalidtoemail2 = true;
	
	if(f.toemail3.value != "")
		if(f.toemail3.value.match(/.*[@].*[.].*/) == null || f.toemail3.value.length != f.toemail3.value.match(/.*[@].*[.].*/)[0].length)
			invalidtoemail3 = true;
	
	if(f.toemail4.value != "")
		if(f.toemail4.value.match(/.*[@].*[.].*/) == null || f.toemail4.value.length != f.toemail4.value.match(/.*[@].*[.].*/)[0].length)
			invalidtoemail4 = true;
	
	if(f.toemail5.value != "")
		if(f.toemail5.value.match(/.*[@].*[.].*/) == null || f.toemail5.value.length != f.toemail5.value.match(/.*[@].*[.].*/)[0].length)
			invalidtoemail5 = true;
	
	if(f.toemail6.value != "")
		if(f.toemail6.value.match(/.*[@].*[.].*/) == null || f.toemail6.value.length != f.toemail6.value.match(/.*[@].*[.].*/)[0].length)
			invalidtoemail6 = true;
	
	if(f.fromemail.value.match(/.*[@].*[.].*/) == null || f.fromemail.value.length != f.fromemail.value.match(/.*[@].*[.].*/)[0].length)
		invalidfromemail = true;
	if(namematch == null || namematch[0].length != namelength)
		invalidname = true;
	
	if(oldbrowser) {
		
		// for NE 4.7x use alert boxes for error messages
		if(invalidnoemails) {
			alert("Please enter at least one e-mail address.");
			f.toemail1.focus();
			return false;
		}
		if(invalidtoemail1) {
			alert("You have entered an invalid e-mail address.");
			f.toemail1.focus();
			return false;
		}
		if(invalidtoemail2) {
			alert("You have entered an invalid e-mail address.");
			f.toemail2.focus();
			return false;
		}
		if(invalidtoemail3) {
			alert("You have entered an invalid e-mail address.");
			f.toemail3.focus();
			return false;
		}
		if(invalidtoemail4) {
			alert("You have entered an invalid e-mail address.");
			f.toemail4.focus();
			return false;
		}
		if(invalidtoemail5) {
			alert("You have entered an invalid e-mail address.");
			f.toemail5.focus();
			return false;
		}
		if(invalidtoemail6) {
			alert("You have entered an invalid e-mail address.");
			f.toemail6.focus();
			return false;
		}
		if(invalidfromemail) {
			alert("You have entered an invalid e-mail address.");
			f.fromemail.focus();
			return false;
		}
		if(invalidname) {
			alert("You have entered an invalid name.");
			f.name.focus();
			return false;
		}

	} else {

		if(invalidnoemails || invalidtoemail1 || invalidtoemail2 || invalidtoemail3 || invalidtoemail4 || invalidtoemail5 || invalidtoemail6 || invalidfromemail || invalidname) {
		
			if(invalidnoemails || invalidtoemail1 || invalidtoemail2 || invalidtoemail3 || invalidtoemail4 || invalidtoemail5 || invalidtoemail6) {
				if(invalidnoemails) {
					document.getElementById('emailitineraryformerror1').innerHTML = '<span class="cpyError" style="padding-top:10px;padding-bottom:5px;"><img src="/images/icons/error_x.gif" width="19" height="19" alt="" border="0" align="absmiddle" /> Please enter at least one e-mail address.</span>';
				} else {
					document.getElementById('emailitineraryformerror1').innerHTML = '<span class="cpyError" style="padding-top:10px;padding-bottom:5px;"><img src="/images/icons/error_x.gif" width="19" height="19" alt="" border="0" align="absmiddle" /> You have entered an invalid e-mail address.</span>';
				}
			} else {
				document.getElementById('emailitineraryformerror1').innerHTML = '<img src="/images/spacer.gif" width="1" height="10" alt="" border="0" />';
			}
			
			if(invalidname || invalidfromemail) {
				if(invalidname)
					document.getElementById('emailitineraryformerror2').innerHTML = '<span class="cpyError" style="padding-top:10px;padding-bottom:5px;"><img src="/images/icons/error_x.gif" width="19" height="19" alt="" border="0" align="absmiddle" /> You have entered an invalid name.</span>';
				if(invalidfromemail)
					document.getElementById('emailitineraryformerror2').innerHTML = '<span class="cpyError" style="padding-top:10px;padding-bottom:5px;"><img src="/images/icons/error_x.gif" width="19" height="19" alt="" border="0" align="absmiddle" /> You have entered an invalid e-mail address.</span>';
			} else {
				document.getElementById('emailitineraryformerror2').innerHTML = '<img src="/images/spacer.gif" width="1" height="10" alt="" border="0" />';
			}

			if(invalidnoemails || invalidtoemail1)
				document.getElementById('toemail1label').innerHTML = '<img src="/images/icons/error_x.gif" width="19" height="19" alt="" border="0" align="absmiddle" /> <span class="cpyError">E-mail address 1 *</span>';
			else
				document.getElementById('toemail1label').innerHTML = 'E-mail address 1 *';

			if(invalidtoemail2)
				document.getElementById('toemail2label').innerHTML = '<img src="/images/icons/error_x.gif" width="19" height="19" alt="" border="0" align="absmiddle" /> <span class="cpyError">E-mail address 2</span>';
			else
				document.getElementById('toemail2label').innerHTML = 'E-mail address 2';

			if(invalidtoemail3)
				document.getElementById('toemail3label').innerHTML = '<img src="/images/icons/error_x.gif" width="19" height="19" alt="" border="0" align="absmiddle" /> <span class="cpyError">E-mail address 3</span>';
			else
				document.getElementById('toemail3label').innerHTML = 'E-mail address 3';

			if(invalidtoemail4)
				document.getElementById('toemail4label').innerHTML = '<img src="/images/icons/error_x.gif" width="19" height="19" alt="" border="0" align="absmiddle" /> <span class="cpyError">E-mail address 4</span>';
			else
				document.getElementById('toemail4label').innerHTML = 'E-mail address 4';

			if(invalidtoemail5)
				document.getElementById('toemail5label').innerHTML = '<img src="/images/icons/error_x.gif" width="19" height="19" alt="" border="0" align="absmiddle" /> <span class="cpyError">E-mail address 5</span>';
			else
				document.getElementById('toemail5label').innerHTML = 'E-mail address 5';

			if(invalidtoemail6)
				document.getElementById('toemail6label').innerHTML = '<img src="/images/icons/error_x.gif" width="19" height="19" alt="" border="0" align="absmiddle" /> <span class="cpyError">E-mail address 6</span>';
			else
				document.getElementById('toemail6label').innerHTML = 'E-mail address 6';

			if(invalidfromemail)
				document.getElementById('fromemaillabel').innerHTML = '<img src="/images/icons/error_x.gif" width="19" height="19" alt="" border="0" align="absmiddle" /> <span class="cpyError">E-mail address *</span>';
			else
				document.getElementById('fromemaillabel').innerHTML = 'E-mail address *';

			if(invalidname)
				document.getElementById('namelabel').innerHTML = '<img src="/images/icons/error_x.gif" width="19" height="19" alt="" border="0" align="absmiddle" /> <span class="cpyError">Name *</span>';
			else
				document.getElementById('namelabel').innerHTML = 'Name *';
			
			return false;
		}
	}

	return true;
}
function validateFrequentFlyerform() {
	
	f = document.forms['frequentflyerform'];	
	var invalidskymiles = false;
	var invalidpartner = false;
	var oldbrowser = (document.layers && !document.all);
	var partner = f.partner.options[f.partner.selectedIndex].value;
	if(partner == "Delta") {
		if(f.frequentflyernumber.value.length != 10)
			invalidskymiles = true;
		if(f.frequentflyernumber.value.match(/\d{10}/) == null)
			invalidskymiles = true;
	} else {
		if(f.frequentflyernumber.value.length == 0)
			invalidpartner = true;
	}
	if(oldbrowser) {
		// for NE 4.7x use alert boxes for error messages
		if(invalidskymiles) {
			alert("You have entered an invalid SkyMiles number.");
			f.frequentflyernumber.focus();
			return false;
		}
		if(invalidpartner) {
			alert("You have entered an invalid frequent flyer number.");
			f.frequentflyernumber.focus();
			return false;
		}
	} else {
		if(invalidskymiles || invalidpartner) {
			document.getElementById('frequentflyernumberlabel').innerHTML = '<img src="/images/icons/error_x.gif" width="19" height="19" alt="" border="0" align="absmiddle" /> <span class="cpyError">Frequent flyer number</span>';
			if(invalidskymiles)
				document.getElementById('frequentflyerformerror').innerHTML = '<p class="cpyError" style="padding-top:5px;padding-bottom:5px;"><img src="/images/icons/error_x.gif" width="19" height="19" alt="" border="0" align="absmiddle" />You have entered an invalid SkyMiles number.</p>';
			if(invalidpartner)
				document.getElementById('frequentflyerformerror').innerHTML = '<p class="cpyError" style="padding-top:5px;padding-bottom:5px;"><img src="/images/icons/error_x.gif" width="19" height="19" alt="" border="0" align="absmiddle" />You have entered an invalid frequent flyer number.</p>';
			return false;
		}
	}
	//assume if we got this far, then everything validates
	//so disable the submit button to prevent multiple submissions
	if (!oldbrowser) {
	  	document.getElementById('btn_submit').disabled = true;
	}
	return true;
}
function validateSkymilesform() {
	f = document.forms['skymilesform'];
	var invalidskymiles = false;
	var invalidpin = false;
	var oldbrowser = (document.layers && !document.all);
	if(f.acct.value.length != 10) // changed skymilesnumber to acct because Skymiles app expects acct name
		invalidskymiles = true;
	if(f.acct.value.match(/\d{10}/) == null)
		invalidskymiles = true;
	if(f.pin.value.length != 4)
		invalidpin = true;
	if(f.pin.value.match(/\d{4}/) == null)
		invalidpin = true;
	if(oldbrowser) {
		// for NE 4.7x use alert boxes for error messages
		if(invalidskymiles) {
			alert("You have entered an invalid SkyMiles number.");
			f.acct.focus();
			return false;
		}
		if(invalidpin) {
			alert("You have entered an invalid PIN.");
			f.pin.focus();
			return false;
		}
	} else {
		if(invalidskymiles || invalidpin) {
			if(invalidpin) {
				document.getElementById('pinlabel').innerHTML = '<img src="/images/icons/error_x.gif" width="19" height="19" alt="" border="0" align="absmiddle" /> <span class="cpyError">PIN</span>';
				document.getElementById('skymilesformerror').innerHTML = '<p class="cpyError" style="padding-top:5px;padding-bottom:5px;"><img src="/images/icons/error_x.gif" width="19" height="19" alt="" border="0" align="absmiddle" />You have entered an invalid PIN.</p>';
			} else {
				document.getElementById('pinlabel').innerHTML = 'PIN';
			}
			if(invalidskymiles) {
				document.getElementById('skymilesnumberlabel').innerHTML = '<img src="/images/icons/error_x.gif" width="19" height="19" alt="" border="0" align="absmiddle" /> <span class="cpyError">SkyMiles number</span>';
				document.getElementById('skymilesformerror').innerHTML = '<p class="cpyError" style="padding-top:5px;padding-bottom:5px;"><img src="/images/icons/error_x.gif" width="19" height="19" alt="" border="0" align="absmiddle" />You have entered an invalid SkyMiles number.</p>';
			} else {
				document.getElementById('skymilesnumberlabel').innerHTML = 'SkyMiles number';
			}
			return false;
		}
	}
	return true;
}
function validateNumberform() {

	f = document.forms['numberform'];
	
	var invalidfirstname = false;
	var invalidlastname = false;
	var invalidnumber = false;
	var oldbrowser = (document.layers && !document.all);

	var numberlabel = "Number";
	
	firstnamelength = f.firstname.value.length;
	firstnamematch = f.firstname.value.match(/[a-zA-Z\s]+/);

	lastnamelength = f.lastname.value.length;
	lastnamematch = f.lastname.value.match(/[a-zA-Z\s-]+/);

	//added by Lance Robinson, 1/22/2004:  strip out spaces from confirm number
	//numberlength = f.number.value.length;
	var numberlengthmatch = f.number.value.match(/[^\s]+/);
	if (numberlengthmatch == null) {
	  numberlength = 0;
        } else {
	  numberlength = numberlengthmatch[0].length;
        }

	numbermatch1 = f.number.value.match(/[\d]+/);
	numbermatch2 = f.number.value.match(/[\w^_]+/); 
	if(f.type.type == "select-one") {
		type = f.type.options[f.type.selectedIndex].value;
	} else {
		type = f.type.value;
		numberlabel = "Confirmation #";
	}

	if(firstnamematch == null || firstnamematch[0].length != firstnamelength)
		invalidfirstname = true;
	if(lastnamematch == null || lastnamematch[0].length != lastnamelength)
		invalidlastname = true;

	if(type == "confirmation") {
		if(numberlength != 6)
			invalidnumber = true;
		if(numbermatch2 == null || numbermatch2[0].length != numberlength)
			invalidnumber = true;
	}

	if(type == "eticket") {
		if((numberlength != 13) && (numberlength != 14))
			invalidnumber = true;
		if(numbermatch1 == null || numbermatch1[0].length != numberlength)
			invalidnumber = true;
	}

	if(type == "creditcard")
		if(numbermatch1 == null || numbermatch1[0].length != numberlength)
			invalidnumber = true;

	if(oldbrowser) {
		
		// for NE 4.7x use alert boxes for error messages
		if(invalidfirstname) {
			alert("You have entered an invalid First name.");
			f.firstname.focus();
			return false;
		}

		if(invalidlastname) {
			alert("You have entered an invalid Last name.");
			f.lastname.focus();
			return false;
		}

		if(invalidnumber) {
			alert("You have entered an invalid "+numberlabel);
			f.number.focus();
			return false;
		}

	} else {
		
		if(invalidfirstname || invalidlastname || invalidnumber) {

			if(invalidfirstname)
				document.getElementById('firstnamelabel').innerHTML = '<img src="/images/icons/error_x.gif" width="19" height="19" alt="" border="0" align="absmiddle" /> <span class="cpyError">First name</span>';
			else
				document.getElementById('firstnamelabel').innerHTML = 'First name';

			if(invalidlastname)
				document.getElementById('lastnamelabel').innerHTML = '<img src="/images/icons/error_x.gif" width="19" height="19" alt="" border="0" align="absmiddle" /> <span class="cpyError">Last name</span>';
			else
				document.getElementById('lastnamelabel').innerHTML = 'Last name';
			
			if(invalidnumber)
				document.getElementById('numberlabel').innerHTML = '<img src="/images/icons/error_x.gif" width="19" height="19" alt="" border="0" align="absmiddle" /> <span class="cpyError">'+ numberlabel +'</span>';
			else
				document.getElementById('numberlabel').innerHTML = numberlabel;

			document.getElementById('numberformerror').innerHTML = '<p class="cpyError" style="padding-top:5px;padding-bottom:5px;"><img src="/images/icons/error_x.gif" width="19" height="19" alt="" border="0" align="absmiddle" />Invalid information has been entered in one or more fields below.</p>';
			return false;
		}
	}

	return true;
}
function validateChecks(formname) {
	
	var noneChecked = true;
	var oldbrowser = (document.layers && !document.all);

	f = document.forms[formname+'form'];
	
	for(i=0; i < f.elements.length ;i++)
		if(f.elements[i].type == "checkbox")
			if(f.elements[i].checked == true)
				noneChecked = false;
	
	if(oldbrowser) {
		
		// for NE 4.7x use alert boxes for error messages
		if(noneChecked) {
			alert("Please select at least one passenger.");
			return false;
		}

	} else {
		
		if(noneChecked) {
			// clear old errors
			if(document.getElementById('checkedinerror') != null)
				document.getElementById('checkedinerror').innerHTML = '&nbsp;';
			if(document.getElementById('notcheckedinerror') != null)
				document.getElementById('notcheckedinerror').innerHTML = '&nbsp;';

			document.getElementById(formname+'error').innerHTML = '<img src="/images/icons/error_x.gif" width="19" height="19" alt="" border="0" align="absmiddle" /> <span class="cpyError">Please select at least one passenger.</span>';
			return false;
		}
	}
	
	if(ociaffwin != null) {
		ociaffwin.close();
		ociaffwin = null;
	}

	if(ociismwin != null) {
		ociismwin.close();
		ociismwin = null;
	}

	return true;
}
function removeCheckError(formname, obj) {
/*
	if(obj.checked == true) {
		if (document.getElementById) {
			document.getElementById(formname+'error').innerHTML = "&nbsp;";
		}
	}
*/
}

function passesLoaded() {	
	try {
		if(document.forms['errorform']) {
			if(document.forms['errorform'].errorflag) { var redirect = "/oci/travel/oci/oci_checkin_error/index.jsp?";
				for(i=0; i < document.forms['errorform'].length; i++) {
					if(i != 0) {
						redirect = redirect + "&";
						redirect = redirect + document.forms['errorform'].elements[i].name + "=" + document.forms['errorform'].elements[i].value;
					}
				}
			}
			parent.location.href = redirect;
		}
	} catch (err) { /*silently ignore it*/ }

	/* using full reference as i'm getting errors that get() is not defined */
	try {get("pass_loading").style.display = "none";} catch (err) { }
	try {get("alerts_errors").style.display = "block";} catch (err) { }
	try {get("pass_loaded").style.display = "block";} catch (err) { }
	try {get("boarding_passes").style.display = "block";} catch (err) { }
	try {get("print_boarding").disabled = false;} catch (err) { }
	try {get("print_boarding").className = "button right";} catch (err) { }
	try {get("reprint_other_boarding").style.display = "block";} catch (err) { }
}
function subPrintPasses() {
	try {get("ttlBagsFees").style.display = "none";} catch (err) { }
	try {get("boarding_passes").style.display = "none";} catch (err) { }
	try {get("pass_loaded").style.display = "none";} catch (err) { }
	try {get("print_boarding").style.display = "none";} catch (err) { }
	try {get("reprint_boarding").style.display = "block";} catch (err) { }

	try {
		var o = getByClassName("step2_boarding");
		o[0].style.display = "none";
		get("h2_step2_stepIndicator").style.display = "none";
		
		try {get("boarding_passes_title").style.display = "none";} catch (err) { }
		try {get("checkin_status_pax").style.display = "none"; } catch (err) { }
		try {get("checkin_status_pax_2").style.display = "none"; } catch (err) { }
		try {get("checkin_status_pax_3").style.display = "none"; } catch (err) { }
		try {get("checkin_status_pax_4").style.display = "none"; } catch (err) { }
		try {get("not_ready_to_print").style.display = "none"; } catch (err) { }
		try {get("checking_bags_reminder").style.display = "block";} catch (err) { }
		try {get("passport_reminder").style.display = "block";} catch (err) { }
		get("itinerary_summary").style.display = "block";
		try {get("itinerary_actions").style.display = "block"; } catch (err) { }
	} catch (err) { /*silently ignore it*/ }

	try {
		try {get("reminders_2").style.display = "block"; } catch (err) { }
		try {get("reminders_3").style.display = "block"; } catch (err) { }
		try {get("reminders").style.display = "block"; } catch (err) { }
		get("passenger_advice").style.display = "block";
		get("pass_printed").style.display = "block";
		get("successful_checkin").style.display = "block";
		try {get("print_problem").style.display = "block"; } catch (err) { }
		o = getByClassName("step3_thankyou");
		o[0].style.display = "block";
		get("h2_step3_stepIndicator").style.display = "block";
		get("passenger_advise_download").style.display = "block";
		get("passenger_note_download").style.display = "block";
	} catch (err) { }
}

function printPasses() {
	frames['printableframe'].focus();
	frames['printableframe'].print();
	window.setTimeout('subPrintPasses()', 2000);
}


//phase2 added function to print excess bags receipt - changed .focus and .print mod.

function printExcessBags(){
	
	var excessBagsPrint = document.getElementById('excessBagsReceipt').value;
	var excessBagsReceipt = window.open(excessBagsPrint, "excessBagsReceipt", "width=680,height=500,scrollbars=yes,resizable=no");

}

function alertContents() {
      if (http_request.readyState == 4) {
         if (http_request.status == 200) {
            //alert(http_request.responseText);
            //do nothing
         } else {
            //alert('There was a problem with the request.');
         }
      }
   }
function refreshUpgStatus() {
//Alert("In js.refreshYpgStatus()");
	var parentDoc = null;
	
	if(document.layers && !document.all)
		parentDoc = opener.document;
	else
		parentDoc = parent.document;
	
	var arrStatus = parentDoc.sUpgradeStatus.split(',');
	var arrCount = arrStatus.length;
			
	var tbls = parentDoc.getElementsByTagName('table');
	var nTblCnt = tbls.length;
	
	for (var ii=0; ii<nTblCnt; ii++)
	{
		if (tbls[ii].id == 'departure_table')
		{				
			var tds = null;
			for (var jj=0; jj<arrCount; jj++)
			{
				tds = tbls[ii].rows(jj+1).cells;
				if (arrStatus[jj] != null)
				{
					if (arrStatus[jj].length > 2)
						tds[4].innerText = arrStatus[jj];
				}
			}
		}
	}
//Alert("In js.refreshYpgStatus() end");
}
function closeChildren() {
	if(ociaffwin != null) {
		ociaffwin.close();
		ociaffwin = null;
	}	
	if(ociismwin != null) {
		ociismwin.close();
		ociismwin = null;
	}
}
function openISMwindow(url) {
	ociismwin = window.open(url, 'ociismwin', 'width=795,height=480,left=50,top=50,scrollbars=yes,resizable=yes');
	ociismwin.focus();
}
function openAFFwindow(url) {
	ociaffwin = window.open(url, 'ociaffwin', 'width=422,height=230,left=50,top=50,scrollbars=yes,resizable=yes');
	ociaffwin.focus();
}
function selectAll(prefix,maxPax){
	var t;
	for(var i=0;i<maxPax;i++) { try { t=get(prefix+i);t.checked = "checked";} catch (err) { /*silently ignore it*/ } }
	if(prefix.indexOf("notcheckedin")!=-1) { isCheckinEnabled(prefix+"0",maxPax); }
	else { isReprintEnabled(prefix+"0",maxPax); }
	return true;
}
function deselectAll(prefix,maxPax){
	var t;
	for(var i=0;i<maxPax;i++) { try { t=get(prefix+i);t.checked = "";} catch (err) { /*silently ignore it*/ } }
	if(prefix.indexOf("notcheckedin")!=-1) { isCheckinEnabled(prefix+"0",maxPax); }
	else { isReprintEnabled(prefix+"0",maxPax); }
	return true;
}
function isCheckinEnabled(id,maxPax) {
	var isEnabled = false;
	var selectedPax = new Array();
	var allSelected = true;
	var prefix = id.split("_")[0];
	for(var i=0;i<maxPax;i++){
		try { 
			if( get(prefix+"_pax"+i).checked ) { isEnabled = true; selectedPax.push([true,true]); }
			else { selectedPax.push([true,false]); }
		} catch (err) { 
			selectedPax.push([false,false]);
		}
	}
	for(var i=0;i<selectedPax.length;i++) { if(selectedPax[i][0] && !selectedPax[i][1]) { allSelected = false; } }
	if(isEnabled) { 
		setStyleAttr("checkin_text","visibility","hidden");
		setClassName("checkinnow","submit right");
		get("checkinnow").disabled = "";
	} else { 
		setStyleAttr("checkin_text","visibility","visible");
		setClassName("checkinnow","submit right_disabled");
		get("checkinnow").disabled = "disabled";
	}
	if(!allSelected) { hide("notcheckedin_deselectall"); show("notcheckedin_selectall"); }
	else { hide("notcheckedin_selectall"); show("notcheckedin_deselectall"); }
}
function isReprintEnabled(id,maxPax) {
	var isEnabled = false;
	var selectedPax = new Array();
	var allSelected = true;
	var prefix = id.split("_")[0];
	for(var i=0;i<maxPax;i++){
		try { 
			if( get(prefix+"_pax"+i).checked ) { isEnabled = true; selectedPax.push([true,true]); }
			else { selectedPax.push([true,false]); }
		} catch (err) { 
			selectedPax.push([false,false]);
		}
	}
	for(var i=0;i<selectedPax.length;i++) { if(selectedPax[i][0] && !selectedPax[i][1]) { allSelected = false; } }
	if(isEnabled) { 
		setStyleAttr("reprint_text","visibility","hidden");
		setClassName("reprint","submit right");
		get("reprint").disabled = "";
	} else { 
		setStyleAttr("reprint_text","visibility","visible");
		setClassName("reprint","submit right_disabled");
		get("reprint").disabled = "disabled";
	}
	if(!allSelected) { show("checkedin_selectall"); hide("checkedin_deselectall"); }
	else { show("checkedin_deselectall"); hide("checkedin_selectall"); }
}


function sameAsAbove(hiddenID,clickedID) {
	get(hiddenID).value = (get(clickedID).checked) ? "true" : "false";
}
function writeCheckbox(name, value, sEnabled){
  var oldbrowser = (document.layers && !document.all);
  if(oldbrowser) {
    document.write('<a href="#" onclick="openOCIhelp(\'/oci/components/oci_popup/popup_seeagent.html\', event, 185); return false" title="Please check in at the airport. Click to learn more.">At&nbsp;Airport</a>');
  } else {
    document.write('<input type="checkbox" ' + sEnabled + ' name="'+ name +'" value="'+ value +'" onClick="removeCheckError(\'notcheckedin\', this)" />');
  }
}

function bagsItemsWatcher(){
//Check if Bags/Special Items is selected
	var bagSelectArray = document.getElementsByTagName('select');
	for (i=0; i<bagSelectArray.length;i++){
	var selectObject = bagSelectArray[i].id ;
	 	if(selectObject.match("numBags")) {
			var temp = bagSelectArray[i];
			addEvent(temp, 'change', selectBags, false);
		}
	}
}
function selectBags(e){
if(e){
var t = window.event ? window.event.srcElement : e ? e.target : null;
	temp = t.id.split("_");
	for(var i=0;i<temp.length;i++) { if(temp[i].match("pax")) { paxId = temp[i]; break; } }
		if (t.value > 0) { show('specialItems_' + paxId); return true; 
		} else { hide('specialItems_' + paxId); return false; }
	}
}

function bagsEditWatcher(){
	var bagEditArray = document.getElementsByTagName('input');
	for (i=0; i<bagEditArray.length;i++){
	if (bagEditArray[i].type.match('button')){
	var editObject = bagEditArray[i].id ;
		 	if(editObject.match("editBags")) {
			var temp = bagEditArray[i];
			addEvent(temp, 'click', editBags, false);
			}
			if(editObject.match("addBags")){
			var temp1 = bagEditArray[i];
			addEvent(temp1, 'click', addBags, false);
			}
		}
	}
}

function editBags(e){
if(e){
var t = window.event ? window.event.srcElement : e ? e.target : null;
	temp = t.id.split("_");
	for(var i=0;i<temp.length;i++) { if(temp[i].match("pax")) { paxId = temp[i]; break; } }
	var bagSelect = document.getElementById('numBags_'+paxId+'_req');
	if (bagSelect.value > 0) { show('specialItems_' + paxId); }
		 show('bagsItemsUpdate_' + paxId);
		 hide('bagsChecked_' + paxId); 
		 hide(t.id);
		 
	}
}

function addBags(e){
if(e){
var t = window.event ? window.event.srcElement : e ? e.target : null;
	temp = t.id.split("_");
	for(var i=0;i<temp.length;i++) { if(temp[i].match("pax")) { paxId = temp[i]; break; } }
	var bagSelect = document.getElementById('numBags_'+paxId+'_req');
	if (bagSelect.value > 0) { show('specialItems_' + paxId); }
		 show('bagsItemsUpdate_' + paxId);
		// hide('bagsNotPending_' + paxId); 
		 hide('bagsChecked_' + paxId); //added this to hide orig bag count after clicking add bags button.
		 hide(t.id);
		}
}

function excessInfoWatcher(){
	var excessInfoArray = document.getElementsByTagName('input');
	for (i=0; i<excessInfoArray.length;i++){
	if (excessInfoArray[i].type.match('checkbox')){
	var excessInfo = excessInfoArray[i].id ;
	//var excessChecked = excessCheckedArray[i];
			if(excessInfo.match("replicate")){
			var temp = excessInfoArray[i];
     		addEvent(temp, 'click', hideSameAsNameCC, false);
				if (excessInfoArray[i].checked == true){
				hideSameAsNameCC("", excessInfoArray[i])
				}
				//if (excessInfoArray[i].checked == false){
				//This is for clearing fields after error.
				//alert("excessInfoWatcher not checked");
				//hideSameAsNameCC("", excessInfoArray[i])
				//}
				
			}
		}
	}
}


function hideSameAsNameCC(e, checkbox){
var t = new Object();
if(e){
	t = window.event ? window.event.srcElement : e ? e.target : null;
} else {
	t = checkbox;

}
	temp = t.id.split("_");
	for(var i=0;i<temp.length;i++) { if(temp[i].match("pax")) { paxId = temp[i]; break; } }
	if (document.getElementById(t.id).checked == true ){
	hideDiv('excessbags_ccInfo_' + paxId);
	}
	if (document.getElementById(t.id).checked == false){
	show('excessbags_ccInfo_' + paxId, 'inline');
	}
}


// this function not being used yet.
function hideCheckedFields(checkBox,ccInfo){
alert("running hideCheckedFields");
	if (document.getElementById(checkBox).checked == true ){
	hideDiv(ccInfo);
	show(checkBox, 'inline');
	}
	if (document.getElementById(checkBox).checked == false){
	show(ccInfo);
	show(checkBox, 'inline');
	}
}

//Excess Bags Validation - Using ValidationObj.js for field validation

function validateDigits(id) {
	var t = get(id);
	if (!t.value.match(/\d/)) {
		valObj.markError(id);
		return false;
	} else {
		valObj.removeError(id);
		return true;
	}
	return false;
}


function checkFields(id,excessBagsCount) {

            //alert("Javascript: " + excessBagsCount);

            var isComplete = true;
			
            for(var i = 1; i <= excessBagsCount; i++) { 
						
                        var paxisComplete = true;
                        var firstName = "name_fname_pax" + i + "_req";
                        var lastName = "name_lname_pax" + i + "_req";
                        var cardType = "ccType_excessbags_pax" + i + "_req";
                        var ccNumber = "ccNum_excessbags_pax" + i + "_req";
                        var expMonth = "month_exp_pax" + i + "_req";
                        var expYear = "year_exp_pax" + i + "_req";
						var ccTypeSelected = get(cardType).value;
						
						if (!valObj.validateField(firstName,"name")) { paxisComplete = false; }
                        if (!valObj.validateField(lastName,"name")) { paxisComplete = false; }
                        if (!valObj.validateSelectField(cardType,"cc")) { paxisComplete = false; }    
						if (!valObj.validateCCNum(ccNumber, ccTypeSelected)) { paxisComplete = false; }  
                                  //  if (!validateDigits(ccNumber,"cc")) { paxisComplete = false; } 
		                          //if (!validateDigits(ccNumber)) { paxisComplete = false; }
                        if (!valObj.validateCCExpDateMulti(expMonth,expYear,i)) { paxisComplete = false; }
                        if(i>1 && !paxisComplete){
						            var checkboxId = 'checkbox_replicate_pax'+i;     
									    
                                    //uncheck the checkbox
                                    get(checkboxId).checked = false;
                                    show('excessbags_ccInfo_pax'+i);
                        }
                        //checkSameAsAboveFields(i);
                        if(!paxisComplete){
		        
						            isComplete = false;
                        }
            }
		        
			return isComplete;

}

//End Excess Bags Validation - Using ValidationObj.js for field validation

function excessEmailWatcher(){
	var emailSelectArray = document.getElementsByTagName('input');
	for (i=0; i<emailSelectArray.length;i++){
	var emailObject = emailSelectArray[i].id ;
	 	if(emailObject.match("email")) {
			var temp = emailSelectArray[i];
			addEvent(temp, 'blur', excessEmailVal, false);
		}
	}
}

function excessEmailVal(){

	var emailComplete = true;
	var emailContainer = document.getElementById('excessEmailInfo');
	var emailSubmitArray = emailContainer.getElementsByTagName('input');
	for (i=0; i<emailSubmitArray.length;i++){
	var emailSubmitObject = emailSubmitArray[i].id ;
	 	if(emailSubmitObject.match("email") && (emailSubmitArray[i].value!= "" || emailSubmitObject.match("req"))) {
		
			var temp = emailSubmitArray[i];
		
				if (!valObj.validateEmail(temp.id)) { emailComplete = false; }
			
		}
		
	}
	return emailComplete;
}

function checkSRC() {
	var toCheckIn = document.getElementsByName("nocheckin");
	for(var i=0, j=toCheckIn.length; i<j; i++) {
		if(toCheckIn[i].checked && !toCheckIn[i].disabled && exists(SRCs["SRC_" + toCheckIn[i].value])) {
			get("hasSeatRequestCard").value = "true";
		}
	}
}

function enablePrintButton() {
	get('print_boarding').disabled = false
	setClassName('print_boarding', 'button right');
}

var ociaffwin = null;
var ociismwin = null;
var reprintedFlag = false;
var paxSelectCheckin = false;
var paxSelectReprint = false;
var bpWinRef;


