function Validate(which)
{
var bPass = true;
var sMessage
var oField
	switch (bPass)
	{
	case (which.txtName.value.length == 0) :
	sMessage = "Please enter your name.";
	bPass=false;
	oField = which.txtName;
	break;

	case (which.txtMail.value.length==0) :
	sMessage = "Please enter your e-mail address.";
	bPass=false;
	oField = which.txtMail;
	break;

	case (which.txtComment.value.length==0) :
	sMessage = "Please enter your comment.";
	bPass=false;
	oField = which.txtComment;
	break;


	default :
	break;
	}
if (!bPass)
	{
	window.alert(sMessage);
	oField.focus();
	return false;
	}
	else
	{
	return true;
	}
}
//*********************************************************//
function ValidateActivity(which)
//Simple validator for several different forms
//Created : March 2004
{
var bPass = true;
var sMessage
var oField

	switch (bPass)
	{
	case (which.txtDate.value.length > 0 && which.txtDate.value.length  < 10) :
	sMessage = "Please enter a Date (MM/DD/YYY).";
	bPass=false;
	oField = which.txtDate;
	break;

	case (which.txtTime.value.length==0) :
	sMessage = "Please enter a Time.";
	bPass=false;
	oField = which.txtTime;
	break;

	case (which.txtComments.value.length==0) :
	sMessage = "Please enter your comment.";
	bPass=false;
	oField = which.txtComments;
	break;

	default :
	break;
	}

if (!bPass){
	window.alert(sMessage);
	oField.focus();
	return false;}
	else{
	return true;}
}
//*********************************************************//
function ValidateSubmit(which)
//Simple validator for several different forms
//Created : Oct 2003
{
var bPass = true;
var sMessage
var oField
	switch (bPass)
	{

	case (which.insured_name.value.length == 0) :
	sMessage = "Please enter the Insured's Name.";
	bPass=false;
	oField = which.insured_name;
	break;

	case (which.address.value.length == 0) :
	sMessage = "Please enter the Insured's Address.";
	bPass=false;
	oField = which.address;
	break;

	case (which.city.value.length == 0) :
	sMessage = "Please enter the Insured's City.";
	bPass=false;
	oField = which.city;
	break;

	case (which.state.value =="ZZ") :
	sMessage = "Please select the Insured's State.";
	bPass=false;
	oField = which.state;
	break;

	case (which.zip.value.length == 0) :
	sMessage = "Please enter the Insured's Zip Code.";
	bPass=false;
	oField = which.zip;
	break;

	case (which.loss_address.value.length == 0) :
	sMessage = "Please enter the Loss Address.";
	bPass=false;
	oField = which.loss_address;
	break;

	case (which.loss_city.value.length == 0) :
	sMessage = "Please enter the Loss City.";
	bPass=false;
	oField = which.loss_city;
	break;

	case (which.loss_state.value =="ZZ") :
	sMessage = "Please select the Loss State.";
	bPass=false;
	oField = which.loss_state;
	break;

	case (which.loss_zip.value.length == 0) :
	sMessage = "Please enter the Loss Zip Code.";
	bPass=false;
	oField = which.zip;
	break;

	case (which.contact_person.value.length == 0) :
	sMessage = "Please enter the Contact Person.";
	bPass=false;
	oField = which.contact_person;
	break;

	case (which.contact_phone.value.length == 0) :
	sMessage = "Please enter the Contact Phone.";
	bPass=false;
	oField = which.contact_phone;
	break;


	case (which.policy_number.value.length == 0) :
	sMessage = "Please enter a policy number.";
	bPass=false;
	oField = which.policy_number;
	break;

	case (which.effective_start_date.value.length==0) :
	sMessage = "Please enter the Policy Effective Start Date (MM/DD/YY).";
	bPass=false;
	oField = which.effective_start_date;
	break;

	case (which.effective_start_date.value.length > 0 && which.effective_start_date.value.length  < 8) :
	sMessage = "Please enter the Policy Effective Start Date (MM/DD/YY).";
	bPass=false;
	oField = which.effective_start_date;
	break;

	case (which.effective_end_date.value.length==0) :
	sMessage = "Please enter the Policy Effective End Date (MM/DD/YY).";
	bPass=false;
	oField = which.effective_end_date;
	break;

	case (which.effective_end_date.value.length > 0 && which.effective_end_date.value.length  < 8) :
	sMessage = "Please enter the Policy Effective End Date (MM/DD/YY).";
	bPass=false;
	oField = which.effective_end_date;
	break;

	case (which.claim_number.value.length == 0) :
	sMessage = "Please enter a claim number.";
	bPass=false;
	oField = which.claim_number;
	break;

	case (which.loss_date.value.length==0) :
	sMessage = "Please enter a Loss Date (MM/DD/YY).";
	bPass=false;
	oField = which.loss_date;
	break;

	case (which.loss_date.value.length > 0 && which.loss_date.value.length  < 8) :
	sMessage = "Please enter a Loss Date (MM/DD/YY).";
	bPass=false;
	oField = which.loss_date;
	break;

	case (which.loss_cause.value =="ZZ") :
	sMessage = "Please select the most appropriate Cause of the Loss.";
	bPass=false;
	oField = which.loss_cause;
	break;

	case (which.deductible.value.length == 0) :
	sMessage = "Please enter a deductible.";
	bPass=false;
	oField = which.deductible;
	break;

	case (which.policy_type.value =="ZZ") :
	sMessage = "Please select Policy Form.";
	bPass=false;
	oField = which.policy_type;
	break;

	case (which.coverage_a.value.length == 0) :
	sMessage = "Please enter an Amount for Coverage A.";
	bPass=false;
	oField = which.coverage_a;
	break;

	case (which.coverage_b.value.length == 0) :
	sMessage = "Please enter an Amount for Coverage B.";
	bPass=false;
	oField = which.coverage_b;
	break;

	case (which.coverage_c.value.length == 0) :
	sMessage = "Please enter an Amount for Coverage C.";
	bPass=false;
	oField = which.coverage_c;
	break;

	case (which.coverage_d.value.length == 0) :
	sMessage = "Please enter an Amount for Coverage D.";
	bPass=false;
	oField = which.coverage_d;
	break;

	case (which.examiner.value.length == 0) :
	sMessage = "Please enter your name.";
	bPass=false;
	oField = which.examiner;
	break;

	case (which.official_reports.checked && which.official_reports_comment.value.length==0) :
	sMessage = "Please enter a comment under Official Reports tasking.";
	bPass=false;
	oField = which.official_reports_comment;
	break;

	case (which.obtain_statements.checked && which.obtain_statements_comment.value.length==0) :
	sMessage = "Please enter a comment under Obtain Statements tasking.";
	bPass=false;
	oField = which.obtain_statements_comment;
	break;

	case (which.other.checked && which.other_comment.value.length==0) :
	sMessage = "Please enter a comment under Other tasking.";
	bPass=false;
	oField = which.other_comment;
	break;

	default :
	break;
	}
if (!bPass)
	{
	window.alert(sMessage);
	oField.focus();
	return false;
	}
	else
	{
	return true;
	}
}
//*********************************************************//
function addZero(vNumber ){ 
    return ((vNumber < 10) ? "0" : "") + vNumber 
  }
//*********************************************************//
function formatDate(vDate,vFormat)
{
var vDay                      = addZero(vDate.getDate()); 
var vMonth            = addZero(vDate.getMonth()+1); 
var vYearLong         = addZero(vDate.getFullYear()); 
var vYearShort        = addZero(vDate.getFullYear().toString().substring(3,4)); 
var vYear             = (vFormat.indexOf("yyyy")>-1?vYearLong:vYearShort) 
 var vHour             = addZero(vDate.getHours()); 
var vMinute           = addZero(vDate.getMinutes()); 
var vSecond           = addZero(vDate.getSeconds()); 
var vDateString       = vFormat.replace(/dd/g, vDay).replace(/MM/g, vMonth).replace(/y{1,4}/g, vYear) 
vDateString           = vDateString.replace(/hh/g, vHour).replace(/mm/g, vMinute).replace(/ss/g, vSecond) 
return vDateString 
}
//*********************************************************//
function setDate()
{
var theDate = new Date();
var vFormat = "MM/dd/yyyy";
document.frmActivity.txtDate.value=formatDate(theDate,vFormat);

var vFormat = "hh:mm:ss";
document.frmActivity.txtTime.value=formatDate(theDate,vFormat);
document.frmReserve.TimeInspected.value=formatDate(theDate,vFormat);

//document.frmActivity.txtDate.value=theDate.getMonth()+1+"/"+theDate.getDate()+"/"+theDate.getYear();
//document.frmActivity.txtTime.value=theDate.getHours()+":"+theDate.getMinutes();
}
//*********************************************************//
function closeDate(sStatus)
{
if (sStatus==2 || sStatus==5)
	{
	var theDate = new Date();
	document.frmStatus.txtDate.value=theDate.getMonth()+1+"/"+theDate.getDate()+"/"+theDate.getYear();
	}
else
	{
	document.frmStatus.txtDate.value=""
	}	
}
//*********************************************************//
function confirmDelete(lnClaim, lnActivity)
{
if (window.confirm("Are you sure you want to delete this activity log entry ?"))
  {window.location.href = "cgi-bin/acs_action.asp?claim="+lnClaim+"&action=delete&target="+lnActivity;}
}

var dtCh= "/";
var minYear=1900;
var maxYear=2100;
//*********************************************************//
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 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)
	strYr=strYear
	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 (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	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 ValidateMyDate(){
	var dt=document.frmReserve.txtContact
	if (isDate(dt.value)==false){
		dt.focus()
		return false
	}
    return true
 }
//*********************************************************//
function copyAddress()
{
var frm = document.getElementById("submitClaim");
if (frm.same.checked){
	frm.loss_address.value = frm.address.value;
	frm.loss_city.value = frm.city.value;
	frm.loss_state.value = frm.state.value;
	frm.loss_zip.value = frm.zip.value;}
else{
	frm.loss_address.value = "";
	frm.loss_city.value = "";
	frm.loss_state.value = "ZZ";
	frm.loss_zip.value = "";}
}
//*********************************************************//
function markLimits()
{
var frm = document.getElementById("submitClaim");
if (frm.limits.checked){
	var flag = true;}
else{
	var flag = false;
	frm.obtain_statements_comment.value="";
	frm.official_reports_comment.value="";
	frm.other_comment.value="";}

frm.non_waiver.checked = flag;
frm.coverage_investigation.checked = flag;
frm.official_reports.checked = flag;
frm.photos.checked = flag;
frm.cause_origin.checked = flag;
frm.scope_estimate.checked = flag;
frm.obtain_statements.checked = flag;
frm.acv_rcv_evaluation.checked = flag;
frm.diagram.checked = flag;
frm.agreed_price.checked = flag;
frm.investigate_subrogation.checked = flag;
frm.salvage_disposal.checked = flag;
frm.other.checked = flag;
}
//*********************************************************//
function selectExaminer(sList)
{
var sText = sList.split("|",5);
document.getElementById("examiner_name").value = sText[0];
document.getElementById("examiner_phone").value = sText[1];
document.getElementById("examiner_fax").value = sText[2];
document.getElementById("examiner_mail").value = sText[3];
document.getElementById("examiner_carrier").value = sText[4];
}
//*********************************************************//

