// THE FOLLOWING .JS FILE CONTAINS ALL OF THE JAVASCRIPT
// FUNCTIONS USED BY THE ORACLE CRIMIANL_PACK PACKAGE

//      -----------------------------------------------------------------------
//      -- JAVASCRIPT FUNCTION CLOSEME() WILL CLOSE THE CURRENT WINDOW.
//      -- THE POPUP WINDOWS USE THIS TO SEND FOCUS BACK
//      -- TO MAIN PAGE
//      -----------------------------------------------------------------------

function CloseMe(){
	self.close();
}


//    	-----------------------------------------------------------------------
//    	-- THIS JAVASCRIPT FUNCTION SEARCHMODE() NAMES THE CURRENT
//    	-- WINDOW "MAINWIN" AND THEN OPENS A NEW WINDOW WITH THE
//    	-- URL PASSED IN FROM A BUTTON'S ONCLICK ATTRIBUTE.
//    	-- IT ALSO PUTS FOCUS ON THE NEW WINDOW
//    	-----------------------------------------------------------------------

function SearchMode(SearchUrl,winsize,winname) {
    if (winname != "ARN" && winname != "CRA" && winname != "PI" && winname != "MAINWIN")
        {self.name="MAINWIN";}
    if (winsize=="FULL")
	    {var d=window.open(SearchUrl,winname,"RESIZABLE=YES  height=1000 width=1500  TOOLBAR=NO  SCROLLBARS=YES alwaysRaised=YES"); d.focus();}
    else if (winsize=="WIDE")
	    {var d=window.open(SearchUrl,winname,"RESIZABLE=YES LEFT=20 TOP=20 TOOLBAR=NO HEIGHT=500 WIDTH=950 SCROLLBARS=YES alwaysRaised=YES"); d.focus();}
    else if (winsize=="SM")
	    {var d=window.open(SearchUrl,winname,"RESIZABLE=YES LEFT=40 TOP=40 TOOLBAR=NO HEIGHT=400 WIDTH=550 SCROLLBARS=YES alwaysRaised=YES"); d.focus();}
    else
    	{var d=window.open(SearchUrl,winname,"RESIZABLE=YES LEFT=30 TOP=30 TOOLBAR=NO HEIGHT=600 WIDTH=950 SCROLLBARS=YES alwaysRaised=YES"); d.focus();}
}

//       ----------------------------------------------
//       -- JavaScript used by the Reset buttons on
//       -- the Name Search and Case Search screens
//       ----------------------------------------------
function ResetMode(SearchUrl,winname) {
	var d=window.open(SearchUrl,winname,"RESIZABLE=YES TOOLBAR=NO HEIGHT=400 WIDTH=800 SCROLLBARS=YES alwaysRaised=YES");
    d.focus();
}

//    -----------------------------------------------------------------------
//    -- THIS JAVASCRIPT FUNCTION IS USED TO DISPLAY
//    -- AN HOUR GLASS WHEN THE USER SUBMITS THE FORM
//    -----------------------------------------------------------------------
function ShowWait(s) {
	s.style.cursor="wait";
	s.SubmitButton.style.cursor="wait";
	return true;
};


//    -----------------------------------------------------------------------
//    -- THIS JAVASCRIPT FUNCTION CHANGES THE WINDOW FOCUS FROM
//    -- THE CURRENT WINDOW TO THE CURRENT WINDOW'S PARENT.
//    -- THIS ALLOWS US TO KEEP THE CURRENT WINDOW OPEN BUT MOVE
//    -- IT TO THE BACKGROUND
//    -----------------------------------------------------------------------
function ChangeFocus(){
	window.opener.focus();
}

//    -----------------------------------------------------------------------
//    -- USED FOR THE PRINTABLE SCREEN VERSIONS
//    -- THIS CAUSES ALL ITEMS THAT ARE SET TO NOT PRINT TO
//    -- DISAPPEAR FROM THE SCREEN
//    -----------------------------------------------------------------------
function printView(){
	document.all.print.media = 'print, screen';
	printbutton.className = 'displayYes';
}

//    -----------------------------------------------------------------------
//    -- USED FOR THE PRINTABLE SCREEN VERSIONS
//    -- THIS CAUSES ALL ITEMS THAT ARE SET TO NOT PRINT TO
//    -- DISAPPEAR FROM THE SCREEN
//    -----------------------------------------------------------------------

function ChangeWindow(SearchUrl) {
	var d=window.open(SearchUrl,"MAINWIN");
}



function valDate(field){
    var checkstr = "0123456789";
    var DateField = field;
    var DateTemp = "";
    var seperator = ".";
    var day;
    var month;
    var year;
    var leap = 0;
    var err = 0;
    var i;
    err = 0;
		
	// First check for any characters that are not numbers or slashes

    for (i = 0; i < field.length; i++) {
		var c = field.substr(i,1);
	    if ( (checkstr.indexOf(c) < 0 ) && (c != "/" ) ) {
       	    return false;
     	}
		    if (checkstr.indexOf(field.substr(i,1)) >= 0) {
		        DateTemp = DateTemp + field.substr(i,1);
		    }
    }
		
	DateField = DateTemp;
	// Check for invalid length

    if ( (DateField.length != 8 ) && (DateField.length != 0)  ) {
	  	return false;
   	}
		
    if ( DateField.length == 8 ) {
        year = DateField.substr(4,4);
        if (year == 0) {
        	err=1;
        }

	// Check if month is valid
        month = DateField.substr(0,2);
        if ((month < 1) || (month > 12)) {
        	err=2;
        }
        day = DateField.substr(2,2);
        if (day < 1) {
        	err=3;
        }
        if ( (year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {
        	leap = 1;
        }

        // Check if day of month is valid
        if ( (month == 2) && (leap == 1) && (day > 29)) {
         	err = 4;
        }
        if ( (month == 2) && (leap != 1) && (day > 28)) {
         	err = 5;
        }
        if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
         	err = 6;
        }
        if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
         	err = 7;
        }
 	}
    if (err == 0) {
    	return true;
    }
    else {
    	return false;
    }
}

function valYear(field)
{
    var checkstr = "0123456789";
    var YearField = field;
    var YearTemp = "";
    var seperator = ".";
    var year;
    var err = 0;
    var i;
    err = 0;
		
	// First check for any characters that are not numbers or slashes

    for (i = 0; i < field.length; i++) 
    {
        var c = field.substr(i,1);
	if ((checkstr.indexOf(c) < 0) && (c != "/"))
        {
       	    return false;
     	}
        
        if (checkstr.indexOf(field.substr(i,1)) >= 0)
        {
            YearTemp = YearTemp + field.substr(i,1);
	}
    }
		
    YearField = YearTemp;
    
    // Check for invalid length

    if ((YearField.length != 4) && (YearField.length != 0))
    {
        return false;
    }
		
    if (YearField.length == 4) 
    {
        year = YearField.substr(1,4);
        
        if (year == 0) 
        {
            err = 1;
        }
    }
    
    if (err == 0) 
    {
        return true;
    }
    else 
    {
        return false;
    }
}

		// MAIN FUNCTION CALLED BY ONSUBMIT
function CheckInput(s) 
{
    s.SubmitButton.style.cursor="wait";
    s.style.cursor="wait";
    
//	if ( !valDate(s.pcBirthDate.value) ) {
    if (!valYear(s.pcBirthYear.value))
    {
        alert("    INVALID YEAR\n Year Format is: YYYY");
        return false;
    }
    
    return true;
}

function NameWin(winName) {
	self.name=winName;
}


function CheckSBN(s) 
{
    s.SubmitButton.style.cursor="wait";
    s.style.cursor="wait";
    
    if (!isNaN(s.pcLastName.value))
    {
    	alert("To conduct a Name Search, must enter part or all of Lastname / Business Name");
        return false;
    }
    
    if (s.pcLastName.value.length <2) 
    {
    	alert("    Must Enter More then One Character for Last Name / Business Name");
        return false;
    }

//	if ( !valDate(s.pcBirthDate.value) ) {
    if (!valYear(s.pcBirthYear.value))
    {
        alert("    INVALID YEAR\n Year Format is: YYYY");
        return false;
    }
    
    return true;
}


function CheckBD(s) {
//	s.SubmitButton.style.cursor="wait";
//	s.style.cursor="wait";

	if (  s.pcBondId.value.length <2 && s.pcCaseId.value.length < 2 && s.pcPartyId.value.length < 2  && s.pcBondsmanId.value.length < 2 &&  s.pcSuretyId.value.length < 2 ) {
    	alert("    To conduct a Bond Search, must enter at least one value");
        return false;
    }
    return true;

}


