var checkflag = "false";

var month = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
var numdays = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
var era = "CE";


var dtCh= "/";
var minYear=1900;
var maxYear=2100;



function ChangeDisplayNone(id){
	
	var a = document.getElementById(id);
	a.style.display = "none";
	
}
function ChangeDisplayBlock(id){
	
	var a = document.getElementById(id);
	a.style.display = "block";
	
}
function ChangeValueNone(id,theval){
	
	var a = document.getElementById(id);
	a.value = theval;
	
}

function DispRef(id)
{

dom = document.getElementById(id); 
dom.style.display = "inline";

}

function JumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}

function ShowUpdate(url, w, h)
{
// Fudge factors for window decoration space.
 // In my tests these work well on all platforms & browsers.
w += 32;
h += 96;
 var win = window.open(url,  '',   'width=' + w + ', height=' + h + ', ' +  'scrollbars,dependant,left=60,top=60');
 win.resizeTo(w, h);
 win.focus();
}


function ChangeValueSame(theid,val_id,total){
	
	var a = '';
	var b = '';
	var d = '';
	var e = '';
	var c = document.getElementById(theid);
	var num = c.value;
	for (i = 1; i <= total; i++) 
	{
	
		e = document.removeform.removebox[i-1];
		if(e.checked == true)
		{
			a = '';
			a = val_id+i;
			b = document.getElementById(a);
			if(b.value == "")
				b.value = num;
		}
	}
	
}
function GetRemoveFormNew(id){
	
	var a = document.getElementById(id);
	a.submit();
	
}


function GetRemoveForm(id,arg1){
	
	var a = document.getElementById(id);
	UpdatePrintForm(id,arg1);
	a.submit();
	
}
function ChangeFormAction(id,theaction,thetarget){

	var a = document.getElementById(id);
	a.action = theaction;
	a.target = thetarget;
	
}
function UpdatePrintForm(id,arg1){
	
	if(arg1 == 'true')
		var thelink = 'printallnew.cfm?themethod=allreports&newconvert=true';
	else
		var thelink = 'printallnew.cfm?themethod=allreports';
	if(arg1 == 'true')
	{
	
		if(document.testform.formtype[2].checked == true)
		{
			ChangeFormAction(id,'index.cfm?page=samreports&subpage=removenew','_self');
		}
		else
		{
			
			if(document.testform.formtype[1].checked == true)
			{
				document.removeform.gtype.value = 'pdf';
				ChangeFormAction(id,thelink,'_blank');
			}				
			else
			{
				document.removeform.gtype.value = 'print';
				ChangeFormAction(id,thelink,'_blank');
			}
		}
	}
	else
	{
			if(document.testform.formtype[1].checked == true)
			{
				document.removeform.gtype.value = 'pdf';
				ChangeFormAction(id,thelink,'_blank');
			}				
			else
			{
				document.removeform.gtype.value = 'print';
				ChangeFormAction(id,thelink,'_blank');
			}
	}
	
}
function IsNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
}

function ShowOverDue(url)
{

	 w += 380;
	 h += 400;
	 
	 var win = window.open(url,  '',   'width=' + w + ', height=' + h + ', ' +  'scrollbars, resizable,dependant,left=250,top=250');
	 win.resizeTo(w, h);
	 win.focus();
}
function ChangeFilterBkgd(eid,thecolor){
theid = document.getElementById(eid).style;

	theid.backgroundColor = thecolor;
}
function CheckFilterForm(){
	
	for(i=0;i < 4;i++){
		
		ty = 'filter';
		th = ty + i;
		
		if(document.masterform1.sampleoutput[i].checked == true)
		{
			var a = document.getElementById(th);
			if(a.value == "")
			{
				alert("Please fill out the value section of the filter you want applied");
				return false;
			}
		}
	}
	
	if(document.masterform1.thefiltername.value == "")
	{
			alert("You must name the filter");
			return false;
	}
	
	
	return true;
}



function checkremove() {
var field = document.removeform.removebox;
if (checkflag == "false") {
  for (i = 0; i < field.length; i++) {
  field[i].checked = true;}
  checkflag = "true";
  }
else {
  for (i = 0; i < field.length; i++) {
  field[i].checked = false; }
  checkflag = "false";
   }
}

function FrmChkLabel() {
	var sevflag = true;
	for(i=0;i<removeform.removebox.length;i++)
	{
		if(removeform.removebox[i].checked == true)
			sevflag = false;
	}
	if(sevflag)
	{
		alert("You need to check at least one unit to continue. Thank You");
		return false;
	}
	else
		return true;

}


function ChangeSelectMethod(value,user14){
	
	if(user14 == true){
		if(value == "custequip")
			document.newform.selectmethod[0].checked = true;
		else if(value == "samples")
			document.newform.selectmethod[1].checked = true;
		
	}
	else{
		if(value == "custequip")
			document.newform.selectmethod[0].checked = true;
		else if(value == "custsample")
			document.newform.selectmethod[1].checked = true;
		else if(value == "samples")
			document.newform.selectmethod[2].checked = true;
	}
	
	
}
function CheckReportTypeStatus(){
	
	if(document.newform.reporttype[0].checked == true)
		ChangeDisplayNone('daterangediv');
	else
		ChangeDisplayBlock('daterangediv');
	
}

function mmLoadMenus() {
  if (window.mm_menu_0408202436_0) return;
  
  window.mm_menu_0408202436_0 = new Menu("root",85,14,"Tahoma",10,"#000000","#000000","#ffffff","#e9e9e9","left","middle",2,0,1000,-5,4,true,true,true,0,true,true);
  mm_menu_0408202436_0.addMenuItem("HOME","location='../index.cfm?page=home'");
  mm_menu_0408202436_0.addMenuItem("REPORTS","location='../index.cfm?page=samreports'");
  mm_menu_0408202436_0.addMenuItem("NEW&nbsp;REPORTS","location='../index.cfm?page=samreports&subpage=newreports'");
  mm_menu_0408202436_0.addMenuItem("ALL&nbsp;REPORTS","location='../index.cfm?page=samreports&subpage=allreports'");
  mm_menu_0408202436_0.addMenuItem("MANAGE","location='../index.cfm?page=mgtreports'");
  mm_menu_0408202436_0.addMenuItem("EQUIPMENT","location='../index.cfm?page=equip'");
  mm_menu_0408202436_0.addMenuItem("SETTINGS","location='../index.cfm?page=settings'");
  mm_menu_0408202436_0.addMenuItem("FILTER","location='../index.cfm?page=filter'");
  mm_menu_0408202436_0.addMenuItem("HELP","location='../index.cfm?page=help'");
   mm_menu_0408202436_0.hideOnMouseOut=true;
   mm_menu_0408202436_0.menuBorder=1;
   mm_menu_0408202436_0.menuLiteBgColor='#ffffff';
   mm_menu_0408202436_0.menuBorderBgColor='#666666';
   mm_menu_0408202436_0.bgColor='#666666';

  


  mm_menu_0408202436_0.writeMenus();
} 
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_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_findObj(n, d) { //v4.01
  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 && d.getElementById) x=d.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];}
}


function check_jd(form)
{
    var jy, ja, jm;         //scratch
	
	var y1,y2,m1,m2,d1,d2,thedate,thedate2;
	
	var datecheck;
	
	y1 = eval(form.fromyear.value);
	y2 = eval(form.toyear.value);
	m1 = eval(form.frommonth.value);
	m2 = eval(form.tomonth.value);
	d1 = eval(form.fromday.value);
	d2 = eval(form.today.value);
	
   	var date1 = m1.toString()+"/"+d1.toString()+"/"+y1.toString();
	var date2 = m2.toString()+"/"+d2.toString()+"/"+y2.toString();
	
	datecheck = ValidateDate(date1,date2);
	
for( k=1; k < 3; k++ ) {
//  if( y < 0 )  ++y;
   if (k < 2){
	YY = y1;
	MM = m1;
	DD = d1;
	
   }
   else{
	   
	YY = y2;
	MM = m2;
	DD = d2;
	
	}

    with (Math) {  
      
      GGG = 1;
      if (YY <= 1585) GGG = 0;
      JD = -1 * floor(7 * (floor((MM + 9) / 12) + YY) / 4);
      S = 1;
      if ((MM - 9)<0) S=-1;
      A = abs(MM - 9);
      J1 = floor(YY + S * floor(A / 7));
      J1 = -1 * floor((floor(J1 / 100) + 1) * 3 / 4);
      JD = JD + floor(275 * MM / 9) + DD;
      JD = JD + 1721027 + 2 * GGG + 367 * YY - 0.5;
      
	}


	if(k < 2)
		thedate = JD;
	else
		thedate2 = JD;
}
	if(thedate2 - thedate < 0)
	{
		alert("START/END Date not valid - try switching them around");
	    return false;
	}
	else if(!datecheck)
		return false;
	else
		return true;
	
}


function changeLabel(thetext,id) {
   document.getElementById(id).innerHTML = thetext;
}


function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30;}
		if (i==2) {this[i] = 29;}
   } 
   return this
}

function isDate(dtStr){
	var daysInMonth = DaysArray(12);
	var zeroText = "0";
	var pos1=dtStr.indexOf(dtCh);
	var pos2=dtStr.indexOf(dtCh,pos1+1);
	var strMonth=dtStr.substring(0,pos1);
	var strDay=dtStr.substring(pos1+1,pos2);
	var strYear=dtStr.substring(pos2+1);
	if (strDay.charAt(0)=="0"&& strDay.length>1) strDay=strDay.substring(1);
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1);
	for (var i = 1; i <= 3; i++) {
		if (strYear.charAt(0)=="0" && strYear.length>1) strYear=strYear.substring(1);
	}
	month=parseInt(strMonth);
	day=parseInt(strDay);
	year=parseInt(strYear);
	if (pos1==-1 || pos2==-1){
		alert("The date format should be : mm/dd/yyyy");
		return false;
	}
	if (strMonth.length<1 || month<1 || month>12){
		alert("Please enter a valid month");
		return false;
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		alert("Please enter a valid day");
		return false;
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear);
		return false;
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		alert("Please enter a valid date");
		return false;
	}
return true;
}

function ValidateDate(d1,d2){
	
	if (isDate(d1)==false){
		
		return false;
	}
	if (isDate(d2)==false){
		return false;	
	}
    return true;
 }

function checkpass(){

	if(document.passform.oldpass.value == "" || document.passform.newpass.value == "" || document.passform.confirmnewpass.value == "")
	{
		alert("You cannot enter blank passwords");
		return false;
	}
	else if(document.passform.newpass.value != document.passform.confirmnewpass.value)
	{
		alert("Passwords do not match - confirm new password");
		return false;
	}
	else
		return true;

}
