function FIP_Update() {
	PopRows("FIP",10,"Airline","Flight","Date","From","To","Arrival")
}
function FIB_Update() {
	PopRows("FIB",10,"Airline","Flight","Date","From","To","Arrival")
}

function BD_Update() {
	PopRows("BD",10,"ClaimCheckNum")
}

function QBD_Update(row) {
//alert(obj);
	DisplayPairs(row);
}

function IsEven(number){
var a = number % 2;
if (a == 0){return true;}else{return false;}
}

function chr(AsciiNum)
{
	return String.fromCharCode(AsciiNum)
}

function QBD_CheckDupe(group) {
	// check for duplicate bag tags & uppercase
	var obj;
	var curval;
		for (i=10;i>0;i--) {
			var obj = document.getElementById("BagTag_" + group + "_" + chr(i+96))
			if (obj) {
				if (obj.value != '') {
					for (x=1;x<=10;x++) {
						if (x != i) {
							var obj2 = document.getElementById("BagTag_" + group + "_" + chr(x+96))
							if (obj2) {
								//alert("obj2="+obj2.value+"  obj="+obj.value);
								if (obj2.value==obj.value) { 
									obj.value='';
									obj.focus();
									//DisplayPairs();
									alert('This claim number has already been used here. Please delete or specify another.');
									return false;
								}
							}
						}
					}
				}
			}
		}
	return true;
}

function DisplayPairs(thisRow) {
	var i = 0;
	var f = 0;
	var lastused=0;
	var rowused=0;
	var bagcnt=0;

	i = thisRow;
	//for (i=1;i<=20;i++) {
		rowused=1;
		bagcnt=0;
		for (f=1;f<=10;f++) {
			var obj = document.getElementById("BagTag_" + i + "_" + chr(f+96))
			if (obj) {
				if (obj.value != '') {
					rowused=f;
					bagcnt++;
					if (!IsEven(f)) document.getElementById("btr_" + i + "_" + f).style.display="block";
				} else {
					if (f-rowused < 2) {
						if (!IsEven(f)) document.getElementById("btr_" + i + "_" + f).style.display="block";
					} else {
						if (IsEven(f) && f<10) document.getElementById("btr_" + i + "_" + (f+1)).style.display="none";
					}
				}
			}
		}
		document.getElementById("BDOBags_" + i).value=bagcnt;
	//}
}

function BD_CheckDupe() {
	// check for duplicate bag tags & uppercase
	var obj;
	var curval;
	for (i=10;i>0;i--) {
		var obj = document.getElementById("BDClaimCheckNum" + i)
		if (obj) {
			if (obj.value != '') {
				for (x=1;x<=10;x++) {
					if (x != i) {
						var obj2 = document.getElementById("BDClaimCheckNum" + x)
						if (obj2) {
							if (obj2.value==obj.value) { 
								obj.value='';
								obj.focus();
								BD_Update();
								alert('This claim number has already been used here. Please delete or specify another.');
								return false;
							}
						}
					}
				}
			}
		}
	}
	return true;
}

function BL_Update() {
	PopRows("BL",20,"Date","Action","By")
}

function PopRows(prefix,rowcount,field1,field2,field3,field4,field5,field6,field7,field8,field9,field10) {
	// By: 		Wes Baehr
	// Date:	11/16/2006
	// Description: Loop through given fields (as 'prefix' + 'fieldname' + increment), check if any are used

	var i = 0;
	var f = 0;
	var lastused=0; // last used row. will show lastused+1 rows.
	var rowused=0; // whether the current row has been used
	var field
	var obj

	for (i=1;i<=rowcount;i++) {
		rowused=0;
		for (f=1;f<=10;f++) {
			field=eval("field" + f)
			if (field) {
				var obj = document.getElementById(prefix + field + i)
				if (obj) {
					if (obj.value != '') rowused=1;
				}
			}
		}

		if (rowused > 0) lastused=i;
	}
	var showrows = lastused + 1; // show these row numbers, and don't show the rest.

	for (i=1;i<=rowcount;i++) {
		if (i<=showrows) {
			document.getElementById(prefix + i).style.display="";
		} else {
			document.getElementById(prefix + i).style.display="none";
		}
	}
}


function validZip(id) {
	if (!id) return; //not passed
	var obj = document.getElementById(id)
	if (!obj) return; //couldn't find it

	if (!obj.value || obj.value==null || obj.value=="" || isNaN(obj.value)) {
		obj.focus();
		alert('Please enter a valid 5-digit zip code without spaces, dashes, or letters.');
		return;
	}
}

function isEnter(event) {
	var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
	if (keyCode == 13) return true;
	return false;
}

function handleEnter (field, event, dotab) {
  var keyCode = event.keyCode ? event.keyCode : 
                event.which ? event.which : event.charCode;
  if (keyCode == 13) {

	if (dotab==true) {
	    jumpNext(field);
	}
    return false;
  }
  else
    return true;
}



function jumpNext (field) {
    var i;
    for (i = 0; i < field.form.elements.length; i++)
      if (field == field.form.elements[i])
        break;
    i = (i + 1) % field.form.elements.length;
	while (field.form.elements[i].style.display=="none" && i < (field.form.elements.length-1))
		i++;
		
	field.form.elements[i].focus();
	try {
		field.form.elements[i].select();
	}
	catch(ex) {
	}
	
}

function fieldUcase(field) {
	if (field)
		field.value=field.value.toUpperCase();
}

function getnumeric(sText)

{
   var ValidChars = "0123456789.";
   var Char;
   var ret = '';

 
   for (i = 0; i < sText.length; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) >= 0) 
         {
         ret = ret + Char;
         }
      }
   return ret;
   
   }

function getalphanumeric(sText)
{
   var ValidChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
   var Char;
   var ret = '';

 
   for (i = 0; i < sText.length; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) >= 0) 
         {
         ret = ret + Char;
         }
      }
   return ret;
   
}

function formatPhone(field) {
	if (field) {
		if (field.value.length==0) return;
		var num = getnumeric(field.value);
		if (num.length == 10) num = '1' + num;
		if ((num.length == 11 & num.substr(0,1) == '1') | (field.value.substr(0,3) == '011')) {
		// good
		} else {
			alert('US Phone numbers must be 11 digits - Example: 1 866 218 5901\r\nInternational numbers must start with + - Example: +44 870 555 1212. Do not include 011.');
			return;
		}
		var int2d = '20,27,28,30,31,32,33,34,36,39,40,41,43,44,45,46,47,48,49,51,52,53,54,55,56,57,58,60,61,62,63,64,65,66,81,82,83,84,86,89,90,91,92,93,94,95,98';
		
		if (num.length == 11 & num.substr(0,1) == '1') {
			field.value=num.substr(0,1) + '-' + num.substr(1,3) + '-' + num.substr(4,3) + '-' + num.substr(7,4)
		} else if (num.substr(0,3) == '011') {
			if (int2d.indexOf(num.substr(3,2)) >= 0) {
				// 2d country code
				field.value = num.substr(0,3) + '-' + num.substr(3,2) + '-' + num.substr(5,3) + '-' + num.substr(8,3) + '-' + num.substr(11);
			} else {
				field.value = num.substr(0,3) + '-' + num.substr(3,3) + '-' + num.substr(6,3) + '-' + num.substr(9,3) + '-' + num.substr(12);
			}
		}
	}
}

function selectAllOpts(obj)
{
	if (obj)
	{
		for (i=0;i<obj.length;i++)
			obj.options[i].selected=true;
	}
}

function AutoTab(field) {
	if (field)
		if (field.maxLength)
			if (field.value.length==field.maxLength)
				jumpNext(field);
}

function AutoTab2(field,event) {
  var keyCode = event.keyCode ? event.keyCode : 
                event.which ? event.which : event.charCode;
				
  if (keyCode == 9 | keyCode == 16) return false;
  
	if (field)
		if (field.maxLength)
			if (field.value.length==field.maxLength)
				jumpNext(field);
}

function formatBagTag(field,noisy)
{
	if (field)
	{
		var val = getalphanumeric(field.value);
		if (val.length > 0)
		{
			if (val.length == 10)
			{
				val=val.substr(val.length-6,6);
			}
			
			if ((isNaN(val)==true && val.length != 8) || (isNaN(val)==false && val.length != 6))
			{
				if (noisy == true) alert('Invalid tag number. The bag tax should have two letters and six numbers. Example: DL999123. If you are using a scanner to enter the bag tag, there will only be six digits after formatting.');
			}
			field.value=val.toUpperCase();
		}
	}
}

function getCookie(c_name)
{
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=")
  if (c_start!=-1)
    { 
    c_start=c_start + c_name.length+1 
    c_end=document.cookie.indexOf(";",c_start)
    if (c_end==-1) c_end=document.cookie.length
    return unescape(document.cookie.substring(c_start,c_end))
    } 
  }
return ""
}

function setCookie(c_name,value,expiredays)
{
var exdate=new Date()
exdate.setDate(exdate.getDate()+expiredays)
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString())
}


/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

var persistmenu="yes" //"yes" or "no". Make sure each SPAN content contains an incrementing ID starting at 1 (id="sub1", id="sub2", etc)
var persisttype="sitewide" //enter "sitewide" for menu to persist across site, "local" for this page only

if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}

function SwitchMenu(obj, mnu){
	//if(document.getElementById(mnu).className=="menutitle_f2"){
	//document.getElementById(mnu).className="menutitle";}
	//else{document.getElementById(mnu).className="menutitle_f2";}

	if(document.getElementById){
	var el = document.getElementById(obj);
	if (!el) return;
	var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
		if(el.style.display != "block"){ //DynamicDrive.com change
			for (var i=0; i<ar.length; i++){
				if (ar[i].className=="submenu") //DynamicDrive.com change
				ar[i].style.display = "none";
			}
			el.style.display = "block";
		}else{
			el.style.display = "none";
		}
	}


	if(document.getElementById){
	var zel = document.getElementById(mnu);
	var zar = document.getElementById("masterdiv").getElementsByTagName("div"); //DynamicDrive.com change
		if(zel.className != "menutitle_f2"){ //DynamicDrive.com change
			for (var i=0; i<zar.length; i++){
				if (zar[i].className=="menutitle_f2") //DynamicDrive.com change
				zar[i].className="menutitle";
			}
			zel.className="menutitle_f2";
		}else{
			zel.className="menutitle";
		}
	}

}



function selectAll(obj)
{

	var sel = document.getElementById(obj)
	if (!sel) return;
	
	// make it a multiple select right quicklike
	sel.multiple=true;
	
	// loop and select everything
	
	for (i=0;i<sel.length;i++) {
		sel.options[i].selected=true;
	}
	
	// done
	
}	


function SelectionSwap(from,to)
{
	var frombox = document.getElementById(from)
	if (!frombox) return;
	var tobox = document.getElementById(to)	
	if (!tobox) return;
	
	var lastfromindex = 0;

	
	for (i=0;i<frombox.options.length;i++) {
		if (frombox.options[i].selected==true) {
			// for some reason you can't just copy objects directly. first create a new object and copy the values, then add.
			var optObj = document.createElement('option');
			optObj.text = frombox.options[i].text;
			optObj.value = frombox.options[i].value;
			tobox.options.add(optObj);
			frombox.remove(i);
			
			lastfromindex=i;
			//continue from current position, as we removed it.
			i--;
		}
	}

	//sort the boxes
	sortSelect(frombox);
	sortSelect(tobox);
	
	tobox.selectedIndex=-1;
	frombox.selectedIndex=lastfromindex;
}



// sort function - ascending (case-insensitive)
function sortFuncAsc(record1, record2) {
	var value1 = record1.optText.toLowerCase();
	var value2 = record2.optText.toLowerCase();
	if (value1 > value2) return(1);
	if (value1 < value2) return(-1);
	return(0);
}

// sort function - descending (case-insensitive)
function sortFuncDesc(record1, record2) {
	var value1 = record1.optText.toLowerCase();
	var value2 = record2.optText.toLowerCase();
	if (value1 > value2) return(-1);
	if (value1 < value2) return(1);
	return(0);
}

function sortSelect(selectToSort, ascendingOrder) {
	if (arguments.length == 1) ascendingOrder = true;    // default to ascending sort

	// copy options into an array
	var myOptions = [];
	for (var loop=0; loop<selectToSort.options.length; loop++) {
		myOptions[loop] = { optText:selectToSort.options[loop].text, optValue:selectToSort.options[loop].value };
	}

	// sort array
	if (ascendingOrder) {
		myOptions.sort(sortFuncAsc);
	} else {
		myOptions.sort(sortFuncDesc);
	}

	// copy sorted options from array back to select box
	selectToSort.options.length = 0;
	for (var loop=0; loop<myOptions.length; loop++) {
		var optObj = document.createElement('option');
		optObj.text = myOptions[loop].optText;
		optObj.value = myOptions[loop].optValue;
		selectToSort.options.add(optObj);
	}
}
	
	
function adrBookAdd() {
	var txt = document.getElementById('msgto');
	var sel = document.getElementById('adrbook');
	
	txt.value += ';' + sel.options[sel.selectedIndex].value;
};
