var appName = navigator.appName ;

{		mydate = new Date();
		year = mydate.getYear();
		if (year < 2000)    
        	year = year + 1900; 
		arday = new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")
		armonth = new Array("January ","February ","March ","April ","May ","June ","July ","August ","September ", "October ","November ","December ")
		ardate = new Array("0th","1st","2nd","3rd","4th","5th","6th","7th","8th","9th","10th","11th","12th","13th","14th","15th","16th","17th","18th","19th","20th","21st","22nd","23rd","24th","25th","26th","27th","28th","29th","30th","31st");
		var pagetime = ("<b>" + arday[mydate.getDay()] +"</b>"+", " + armonth[mydate.getMonth()] +" "+ardate[mydate.getDate()] + ", " + year);
		var pageyear = year;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
/////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////
//TODO: Don Add all functions below this point to keep them separated from Jesse's.//
/////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////

function SetText(obj1, obj2)
{
//	alert (obj1.name);
//	alert (obj2.name);
	obj2.value = obj1.value;
}

function isValidDate(strDate) {

	var regDay 		= "(0?[1-9]|[12][0-9]|3[01])";
	var regMonth	= "(0?[1-9]|1[0-2])";
	var regYear		= "(20[0-9]{2}|[1-9]{2}[0-9]{2})"
	var regSep		= "[\/-]"
	var regPlus		= "+"
	
	var regDate 	= "^(0?[1-9]|1[0-2])+[\/-]+(0?[1-9]|[12][0-9]|3[01])[\/-](20[0-9]{2}|[1-9]{2}[0-9]{2})$"
	
	var Reg1 = "^" + regMonth + regPlus + regSep + regPlus + regDay + regSep + regYear + "$"
	return strDate.match(regDate);
}

function ProcessClick(obj)
{
	document.location.href=obj.value;
}

function Update()
{
	var bChecked = false;
	if (frm.txtEnable) frm.txtEnable.value = ""
	if (frm.txtDelete) frm.txtDelete.value = ""
	
	if (frm.txtEnable)
	{
		for (var i = 1; i < frm.chkEnable.length; i++) 
		{
			if (frm.chkEnable[i].checked) 
			{
				frm.txtEnable.value += frm.chkEnable[i].value + "|";
				bChecked = true;
				if (frm.txtSponsor)
				{
					frm.txtSponsor.value += frm.optSponsor[i].value + "|";
				}
			}
		}
	}
	if (frm.txtDelete)
	{
		for (var i = 1; i < frm.chkDelete.length; i++) 
		{
			if (frm.chkDelete[i].checked) 
			{
				frm.txtDelete.value += frm.chkDelete[i].value + "|";
				bChecked = true;
			}
		}
	}
	if (bChecked)
		document.frm.submit();
	else
		return false;
}

function SetObject(obj1, obj2)
{
	if (obj1.checked)	
		obj2.value = "True";
	else
		obj2.value = "False";
}

function checkBoxChanged(obj1, obj2)
{
	if (obj1.checked)
		obj2.disabled = false;
	else
		obj2.disabled = true;
}

function SetMonth(cboDay, cboMonth, cboYear)
{
	var iNumElements = parseInt(cboDay.length, 10);
	var iSelectedMonth = cboMonth.value;
	var iSelectedYear = cboYear.value;
	var iSelectedDay = cboDay.selectedIndex;

	var iIndex;
	var options = cboDay.options;
	var iMaxDaysInMonth;
	switch (iSelectedMonth )
	{
		case "04":
		case "06":
		case "09":
		case "11":
			iMaxDaysInMonth = 30;
			break;
		case "02":
			iMaxDaysInMonth = 28;
			if (eval(iSelectedYear) != undefined)
			{
				iSelectedYear = parseInt(iSelectedYear, 10);
				if ((iSelectedYear % 4) == 0)
					iMaxDaysInMonth = 29;
			}
			break;	
		default: 		
			iMaxDaysInMonth = 31;
			break;
	
	}
	var i
	for (i = options.length - 1; i > 0; i--) 
	{
		options[i] = null;
	}
	
	options[0] = new Option("Day");
	options[0].value = "";
	var strI
	for (i = 1; i <= iMaxDaysInMonth; i++) 
	{
		if (i < 10)
			strI = "0" + i;
		else
			strI = i + "";
		options[i] = new Option(strI);
		options[i].value = strI;
	}

	if (iSelectedDay < options.length)
		cboDay.selectedIndex = iSelectedDay;
	else
		cboDay.selectedIndex = options.length-1

}

function isYearling(month, day, year, yearlingStartDate, yearlingEndDate)
{
	if (month.length == 0) return false;
	if (day.length == 0) return false;
	if (year.length == 0) return false;
	
	var alpacaDate = new Date(year, month-1, day);
	var startDate = new Date(yearlingStartDate);
	var endDate = new Date(yearlingEndDate);
	
	if ((alpacaDate <= endDate) && (alpacaDate >= startDate))
	{
//		alert("the alpaca is a yearling");
		return true;
	}
//	alert("the alpaca is not a yearling");	
	return false;
}

function isYearling2(month, day, year, yearlingStartDate, yearlingEndDate)
{
	if (month.length == 0) return 2;
	if (day.length == 0) return 2;
	if (year.length == 0) return 2;
	
	var alpacaDate = new Date(year, month-1, day);
	var startDate = new Date(yearlingStartDate);
	var endDate = new Date(yearlingEndDate);
	
	if ((alpacaDate <= endDate) && (alpacaDate >= startDate))
	{
//		alert("the alpaca is a yearling");
		return 0;
	}
//	alert("the alpaca is not a yearling");	
	return 1;
}

function isBreedSet(strBreed)
{
	if (strBreed == "S")
		return 0;
	if (strBreed == "H")
		return 1;
	
	return 2;	
}

function isTooYoung(month, day, year, cutOffDate)
{
	if (month.length == 0 || day.length == 0 || year.length == 0)
		return false;
	var alpacaDate = new Date(year, month-1, day);
	var endDate = new Date(cutOffDate);

//	alert("endDate = " + endDate + "\nAlpacaDate = " + alpacaDate + "\nalpacaDate < endDate = " + (alpacaDate < endDate));
//	return true;	
	if (alpacaDate <= endDate)
	{
//		alert("the alpaca is old enough");
		return false;
	}
//	alert("the alpaca is not old enough");
	return true;
}

function isJuniorHerdsireTooYoungOrOld(DOB, ShDate, LowerAgeInMonths, UpperAgeInMonths, bAllowOlderAlpacaAt2)
{
	var alpacaDOB = new Date(DOB);
	var showDate = new Date(ShDate);
	var youngestDOB = new Date(dateAdd("m", -(LowerAgeInMonths), showDate));
	var oldestDOB = new Date(dateAdd("m", -(UpperAgeInMonths), showDate));
	
	if (bAllowOlderAlpacaAt2)
	{
		if (alpacaDOB <= youngestDOB && alpacaDOB >= oldestDOB)
		{
			return false;
		}
	}
	else
	{
		if (alpacaDOB <= youngestDOB && alpacaDOB > oldestDOB)
		{
			return false;
		}
	}
	return true;
}

function isTooYoungFleece(month, day, year, cutOffDate, ageChecker)
{
	if (month.length == 0 || day.length == 0 || year.length == 0)
		return false;
	var alpacaDate = new Date(year, month-1, day);

	// Subtract six off the months to make sure the alpaca is at least six months of age at time of shearing.
	var endDate = new Date(dateAdd("m", ageChecker, cutOffDate));

	//alert("endDate = " + endDate + "\nAlpacaDate = " + alpacaDate + "\nalpacaDate <= endDate = " + (alpacaDate <= endDate));
	//return true;	
	if (alpacaDate <= endDate)
	{
//		alert("the alpaca is old enough");
		return false;
	}
//	alert("the alpaca is not old enough");
	return true;
}

function isTooYoungFleece2(alpacaDate, cutOffDate)
{
	var alpacaDate2 = new Date(alpacaDate);

	// Subtract six off the months to make sure the alpaca is at least six months of age at time of shearing.
	var endDate = new Date(dateAdd("m", -6, cutOffDate));
//alert("A BD = " + alpacaDate2.getMonth() + "\\" + alpacaDate2.getDate() + "\\" + alpacaDate2.getFullYear() + "\nCO Date = " + cutOffDate + "\nendDate = " + endDate.getMonth() + "\\" + endDate.getDate() + "\\" + endDate.getFullYear());
//alert(alpacaDate <= endDate);
	if ((alpacaDate2 <= endDate) == false)
	{
		//alert("the alpaca is old enough");
		return true;
	}
	//alert("the alpaca is not old enough");
	return false;
}



function getShearAge(month, day, year)
{
	var alpacaDate = new Date(year, month-1, day);
	
	var todaysDate = new Date();
	var endDate = new Date(dateAdd("m", -6, todaysDate));

	if (alpacaDate <= endDate)
	{
		return "";
	}
	return dateAdd("m", 6, alpacaDate);
}

function textCounter(field, countfield, maxlimit) {
if (field.value.length > maxlimit) // if too long...trim it!
	field.value = field.value.substring(0, maxlimit);
else // otherwise, update 'characters left' counter
	countfield.value = maxlimit - field.value.length;
}

function checkCC(s) {

  var i, n, c, r, t;

  // First, reverse the string and remove any non-numeric characters.
  r = "";
  for (i = 0; i < s.length; i++) {
    c = parseInt(s.charAt(i), 10);
    if (c >= 0 && c <= 9)  r = c + r;
  }

  // Check for a bad string.
  if (r.length <= 1)   return false;

  // Now run through each single digit to create a new string. Even digits
  // are multiplied by two, odd digits are left alone.
  t = "";
  for (i = 0; i < r.length; i++) {
    c = parseInt(r.charAt(i), 10);
    if (i % 2 != 0)  c *= 2;
    t = t + c;
  }

  // Finally, add up all the single digits in this string.
  n = 0;
  for (i = 0; i < t.length; i++) {
    c = parseInt(t.charAt(i), 10);
    n = n + c;
  }

  // If the resulting sum is an even multiple of ten (but not zero), the
  // card number is good.
  if (n != 0 && n % 10 == 0)    return true;
  else						    return false;
}

var m_pWindow=null;
var m_pWindow2=null;
function popWin(bm)	{
	var w = 650;
	var h = 600;
	
	var strFlags = "scrollbars=yes,nostatus,resizable=yes,width=" + w.toString(10) + ",height=" +h.toString(10) + ",top=10,left=10"
	var strURL = "help.asp#" + bm;
	m_pWindow = open(strURL,"windowName",strFlags);
	m_pWindow.focus();
}

function popWinCounty()	{
	var w = 550;
	var h = 800;
	
	var strFlags = "scrollbars=yes,status,resizable=yes,width=" + w.toString(10) + ",height=" +h.toString(10) + ",top=10,left=10"
	var strURL = "NYCounties.htm";
	m_pWindow2 = open(strURL,"windowName",strFlags);
}

function popWindow(strURL, w, h)	{
	
	var strFlags = "scrollbars=yes,nostatus,resizable=yes,width=" + w.toString(10) + ",height=" +h.toString(10) + ",top=10,left=10"
	m_pWindow2 = open(strURL,"windowName",strFlags);
}


function swapimage(obj, imgURL)
{
	document.getElementById(obj).src = imgURL;
}

function setIFrameHeight(hght)
{
return;
	var obj = window.parent.document.getElementById("myiframe");
	if (obj != null)
		obj.height=hght;
}

function getAlpaca(obj, href)
{
	var strID = obj.value;
	if (strID.length == 0)
		return;
	else
	{
		if (href.indexOf("?") > -1)
			document.frmStatus.action = href + "&AlpacaID=" + strID;		
		else
			document.frmStatus.action = href + "?AlpacaID=" + strID;
	}
		
	document.frmStatus.submit();
}

function myInnerText(obj, textToWrite)
{
	if (!obj)
		return;
	if (document.all) 
	{ // IE;
		obj.innerText = textToWrite;
	}
	else
	{
		if (obj.textContent)
		{
			obj.textContent = textToWrite;
		}
	}
}

function ToggleObject(obj1, obj2)
{
	if (obj1.checked)
	{
		obj2.checked = false;
		var txtObj = "txt" + obj2.name.substring(3);
		SetObject(obj2, document.getElementById(txtObj));
	}
}

function SetFleeceCatCombo(month, day, year, yearlingStartDate, yearlingEndDate, strBreed, objFC, bHalterShorn, bHalterFullFleece, bFleeceShow, bComposite, bJH, bFleeceSample, bWalkingFleece, strEmptyText, bDiplayFleeceShowOption)
{
	var iYearling = isYearling2(month, day, year, yearlingStartDate, yearlingEndDate);
	var iBreed = isBreedSet(strBreed);
//	alert(iBreed + " " + iYearling);
	SetFleeceCombo(iYearling, iBreed, objFC, bHalterShorn, bHalterFullFleece, bFleeceShow, bComposite, bJH, bFleeceSample, bWalkingFleece, strEmptyText, bDiplayFleeceShowOption)	
}


function SetFleeceCombo(iYearling, iBreed, objFC, bHS, bHFF, bFL, bC, bJH, bFS, bWF, strEmptyText, bDiplayFleeceShowOption)
{
	var fleeceCat = objFC.value;
	var options = objFC.options;
	var iIndex = 0;
	
	for (i = options.length-1; i >= 0; i--) 
	{
		options[i] = null;
	}
	if (iYearling ==2 || iBreed == 2)
	{
		options[iIndex] = new Option(strEmptyText);
		options[iIndex].value = ""
		objFC.selectedIndex = 0;
	}
	else
	{
		options[iIndex] = new Option("--Fleece Category--");
		options[iIndex++].value = ""
		if (bHS)
		{
			options[iIndex] = new Option("Halter - Shorn");
			options[iIndex++].value = "SH";
		}
		if (bHFF)
		{
			if (iYearling == 0 && iBreed == 0)
			{
				options[iIndex] = new Option("Halter - Full Fleece (Never Shorn)");
				options[iIndex++].value = "FF"
				options[iIndex] = new Option("Halter - Full Fleece (3\" - 11\")");
				options[iIndex++].value = "FF3";
			}
			else
			{
				options[iIndex] = new Option("Halter - Full Fleece");
				options[iIndex++].value = "FF";
			}			
		}
		if (bJH)
		{
				options[iIndex] = new Option("Junior Herdsire");
				options[iIndex++].value = "JH";
		}		
		if (bC)
		{
				options[iIndex] = new Option("Composite");
				options[iIndex++].value = "C";
		}		
		if (bFL && bDiplayFleeceShowOption)
		{
			options[iIndex] = new Option("Fleece Show");
			options[iIndex++].value = "FL";
		}
		if (bFS)
		{
				options[iIndex] = new Option("Fleece Sample");
				options[iIndex++].value = "FS";
		}		
		if (bWF)
		{
				options[iIndex] = new Option("Walking Fleece");
				options[iIndex++].value = "WF";
		}		
	}
	objFC.value = fleeceCat;
	if (objFC.selectedIndex == -1)
	{
		objFC.selectedIndex = 0;
	}
}

function isBreed(objBreed)
{
	if (objBreed.value == "")
	{
		return 2;
	}
	else if (objBreed.value == "S")
	{
		return 0;
	}
	return 1;
}
function isYearling3(objAge)
{
	if (objAge.value == "")
	{
		return 2;
	}
	else if (objAge.value == "Y")
	{
		return 0;
	}
	return 1;
}

function checkLeapYear(datea)
{
	datea = parseInt(datea);

	if(datea%4 == 0)
	{
		if(datea%100 != 0)
		{
			return true;
		}
		else
		{
			if(datea%400 == 0)
			{
				return true;
			}
			else
			{
				return false;
			}
		}
	}
	return false;
}

function SetMaxStalls(building)
{
return;
	if (building == "Main")
	{
//		resetStallList(<%rw Min(CInt(strMainBuildingStallRemaining), CInt(iMainMaxSelection )) %>);
	}
	else
	{
//		resetStallList(<%rw Min(CInt(strSecondBuildingStallRemaining), CInt(iSecondMaxSelection))%>);
	}
}


function isFleeceShearedTooLongAgo(strEarliestShearingDate, strShearingDate)
{
	var earliestShearingDate = new Date(strEarliestShearingDate);
	var shearingDate = new Date(strShearingDate);
	//alert(earliestShearingDate + " > " + shearingDate + " = " + (earliestShearingDate > shearingDate));
	if ((earliestShearingDate > shearingDate) == true)
	{
		//alert("the shearing date is not good");
		return true;
	}
	//alert("the shearing date is good");
	return false;
}