﻿// JScript File
//Purpose : All Client-side script functions

function showCalendar(sCalendarPageName,src)
{    
	var oWinObject = new Object();
	var sOutLook;
	oWinObject.srcScreen = sCalendarPageName;
	oWinObject.OperMode = "";	
	oWinObject.KeyField = src;
    oWinObject.sTitle = "Calendar"; 
    sOutLook="dialogWidth:"+220+"px;dialogHeight:"+200+"px;status:no;scroll:no;help:no";
	var oStatus = window.showModalDialog('ShowPopup.htm',oWinObject,sOutLook);	
	if(oStatus == undefined) oStatus = src;
	return oStatus;
	return true;
}

function FormValidation()
{    
	var selValue = document.getElementById('ctl00_ContentPlaceHolder1_hiddenValidationCtrlList').value;
	var selarray=selValue.split('~');
	var selctrlNames = document.getElementById('ctl00_ContentPlaceHolder1_hiddenValidationCtrlName').value;
	var selNames=selctrlNames.split('~');
	var errorMessage='';
	
	if(selarray.length > 0)
    {
       //alert(selValue);
       for(i=0;i<selarray.length-1;i++)
       {          
          if(document.getElementById(selarray[i]).value =='')
          {
            errorMessage = errorMessage + selNames[i] + ' is Required.' + '\n\r';            
          }          
       } 
       if(errorMessage !='')
       {
        alert(errorMessage);
        return false;
       }
    }
    return true;
}

function pickDate(sCalendarPageName,srcControl)
{	    		    
	var retval = showCalendar(sCalendarPageName,document.getElementById(srcControl).value);
    document.getElementById(srcControl).value = retval;
	return true;
}

function toProperCase(s)
{          
    return s.toLowerCase().replace(/^(.)|\s(.)/g, function($1) { return $1.toUpperCase(); });
}

function otherSelectedAndEnableRequired(c,lblctrl,txtctrl,attname)
{   
   var selValue = document.getElementById('ctl00_ContentPlaceHolder1_hiddenValidationCtrlList').value;
   var selctrlNames = document.getElementById('ctl00_ContentPlaceHolder1_hiddenValidationCtrlName').value;
   
   if (c.value=='Other')
   {         
        document.getElementById(txtctrl).style.display='block';                      
        document.getElementById(lblctrl).style.display='block';
        selValue = selValue + txtctrl + '~'
        selctrlNames = selctrlNames + attname +'~';
        //alert('Please enter attribute value in short description.');         
   }  
   else 
   {
        document.getElementById(txtctrl).style.display='none';
        document.getElementById(lblctrl).style.display='none';
        document.getElementById(txtctrl).value =''; 
        var atpos = selValue.indexOf(txtctrl);
        if (atpos > -1) {
        selValue = selValue.substring(0, atpos+1);
        }                       
   }  
   document.getElementById('ctl00_ContentPlaceHolder1_hiddenValidationCtrlList').value =  selValue;
   document.getElementById('ctl00_ContentPlaceHolder1_hiddenValidationCtrlName').value =  selctrlNames; 
}

function otherSelected(c,t)
{
   alert(c.value);
   if (c.value=='Other')
   { 
        document.getElementById(t).style.display='block';        
        //alert('Please enter attribute value in short description.'); 
   }  
   else 
   {
        document.getElementById(t).style.display='none';
        document.getElementById(t).value ='';        
   }     
}

function shortDescription(s)
{
   if (s.value=='')
   {
        alert("Please enter Short Description");
        s.focus(); 
  }       
}
function NumericValidate(o)
{
    var amt = o.value.replace('$', '');
    if (isNaN(amt) )
    {
        alert("Cash Amount Input must be numeric");
        o.focus();
        return false;
    }
}
function TravelDateValidate(o)
{
    var today=new Date();
    if (chkdate(o))
    {
        var travelDate = new Date(o.value); 
        if (travelDate > today)
        {
            alert("The travel date should not be greater than inquiry date.");
            o.value=''; 
            o.focus();
            return false; 
        }
       else
            return true; 
     } 
     else
     { 
           alert('Travel Date is not valid date.' );
           o.value='';
           o.focus(); 
            return false ;
      } 
}

function checkdate(objName) {
var datefield = objName;
if (chkdate(objName) == false) {
datefield.select();
alert("That date is invalid.  Please try again.");
datefield.focus();
return false;
}
else {
return true;
   }
}
function chkdate(objName) {
var strDatestyle = "US"; //United States date style
//var strDatestyle = "EU";  //European date style
var strDate;
var strDateArray;
var strDay;
var strMonth;
var strYear;
var intday;
var intMonth;
var intYear;
var booFound = false;
var datefield = objName;
var strSeparatorArray = new Array("-"," ","/",".");
var intElementNr;
var err = 0;
var strMonthArray = new Array(12);
strMonthArray[0] = "Jan";
strMonthArray[1] = "Feb";
strMonthArray[2] = "Mar";
strMonthArray[3] = "Apr";
strMonthArray[4] = "May";
strMonthArray[5] = "Jun";
strMonthArray[6] = "Jul";
strMonthArray[7] = "Aug";
strMonthArray[8] = "Sep";
strMonthArray[9] = "Oct";
strMonthArray[10] = "Nov";
strMonthArray[11] = "Dec";
strDate = datefield.value;
if (strDate.length < 1) {
return true;
}
for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) {
if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1) {
strDateArray = strDate.split(strSeparatorArray[intElementNr]);
if (strDateArray.length != 3) {
err = 1;
return false;
}
else {
strDay = strDateArray[0];
strMonth = strDateArray[1];
strYear = strDateArray[2];
}
booFound = true;
   }
}
// The code added
if (strDateArray == null)
{
    err=1;
    return false;
}

if (booFound == false) {
if (strDate.length>5) {
strDay = strDate.substr(0, 2);
strMonth = strDate.substr(2, 2);
strYear = strDate.substr(4);
   }
}
if (strYear.length == 2) {
strYear = '20' + strYear;
}
// US style
if (strDatestyle == "US") {
strTemp = strDay;
strDay = strMonth;
strMonth = strTemp;
}
intday = parseInt(strDay, 10);
if (isNaN(intday)) {
err = 2;
return false;
}
intMonth = parseInt(strMonth, 10);
if (isNaN(intMonth)) {
for (i = 0;i<12;i++) {
if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase()) {
intMonth = i+1;
strMonth = strMonthArray[i];
i = 12;
   }
}
if (isNaN(intMonth)) {
err = 3;
return false;
   }
}
intYear = parseInt(strYear, 10);
if (isNaN(intYear)) {
err = 4;
return false;
}
if (intMonth>12 || intMonth<1) {
err = 5;
return false;
}
if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1)) {
err = 6;
return false;
}
if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1)) {
err = 7;
return false;
}
if (intMonth == 2) {
if (intday < 1) {
err = 8;
return false;
}
if (LeapYear(intYear) == true) {
if (intday > 29) {
err = 9;
return false;
}
}
else {
if (intday > 28) {
err = 10;
return false;
}
}
}
if (strDatestyle == "US") {
//var newMonth;
//var newDay;
if (intMonth<10)
    intMonth = '0' + intMonth;
if (intday<10)
    intday = '0' +intday;
//datefield.value = strMonthArray[intMonth-1] + " " + intday+" " + strYear;
datefield.value = intMonth + "/" + intday+"/" + strYear;
}
else {
datefield.value = intday + " " + strMonthArray[intMonth-1] + " " + strYear;
}
return true;
}
function LeapYear(intYear) {
if (intYear % 100 == 0) {
if (intYear % 400 == 0) { return true; }
}
else {
if ((intYear % 4) == 0) { return true; }
}
return false;
}


function doDateCheck(from, to) {
if (Date.parse(from.value) <= Date.parse(to.value)) {
alert("The dates are valid.");
}
else {
if (from.value == "" || to.value == "") 
alert("Both dates must be entered.");
else 
alert("To date must occur after the from date.");
   }
}

function itemizeConfirm() {
var result = confirm("In order to increase the chances of finding your property, please categorize each of your lost items. If you need to categorize other items lost, PRESS CANCEL; If you have completed your inquiry and wish to submit, PRESS OK.");
return result;
}
