﻿function isEmpty(str)	
{
  var b = false;
		
  strTemp = new String(str);	
  strTemp = trim(strTemp);

  if (strTemp == null)
		b = true;
  else 
		if (strTemp == 'undefined' || strTemp=='null'|| strTemp.length == 0) 
			b = true;
	
  return b;
}


function trim(stringToTrim) 
{
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}

function ltrim(stringToTrim) 
{
	return stringToTrim.replace(/^\s+/,"");
}


function rtrim(stringToTrim) 
{
	return stringToTrim.replace(/\s+$/,"");
}


function FindControl(ctrlId)
{
  var frm = aspnetForm;
  var objCtrl = null;
  
  for (var i=0; i<frm.length;i++)
  {
    if (frm.elements[i].id.indexOf(ctrlId) != -1)
    { 
      objCtrl = frm.elements[i];
      
      break;
    }
  }
  
  return objCtrl;
}


function OnRedirect(url)
{
  window.location.href = url;
 
  return false;
}


function CheckAll(chkVal, objId, idAll, idChild)
{
  var frm = aspnetForm;

  var cbAll = idAll;
  var cbChild = idChild;

  if (objId.indexOf(cbChild) != -1 && chkVal)
  {
    var countTotal = 0;
    var countChecked = 0;
    
    for (var i=0; i<frm.length;i++)
    { 
      if (frm.elements[i].id.indexOf(cbChild) != -1)
      countTotal++;
          
      if (frm.elements[i].id.indexOf(cbChild) != -1 && frm.elements[i].checked)
      countChecked++;
    }           
    
    if (countTotal == countChecked && countTotal > 0 && countChecked > 0)
    {
      for (var i=0; i<frm.length;i++)
      {
        if (frm.elements[i].id.indexOf(cbAll) != -1)
        {
          if ((!frm.elements[i].checked) && (frm.elements[i].disabled != 'disabled'))
            frm.elements[i].checked = true;   
          
          break;         
        }
      }
    }
  }
  else
  {
    for (var i=0; i<frm.length;i++)
    {
      if (objId.indexOf(cbAll) != -1)
      { 
        if ((frm.elements[i].id.indexOf(cbChild) != -1) && (frm.elements[i].disabled != 'disabled'))
          frm.elements[i].checked = chkVal ? true : false;
      }
      else if (objId.indexOf(cbChild) != -1 && !chkVal)
      {
        if ((frm.elements[i].id.indexOf(cbAll) != -1) && (frm.elements[i].disabled != 'disabled'))
        {
          frm.elements[i].checked = false;
          break;
        }
      }
    }        
  }
}


function GetChecked(cbId)
{
  var frm = aspnetForm;
  var sCheckedVal = '';
  
  for (var i=0; i<frm.length;i++)
  {
    if (frm.elements[i].id.indexOf(cbId) != -1)
    { 
      if (frm.elements[i].checked)
      {
        if (!isEmpty(sCheckedVal))
          sCheckedVal += ';';
        
        sCheckedVal += frm.elements[i].value;
      }
    }
  }
  
  return sCheckedVal;
}
  
    
function VerifyChecked(cbId)
{
  var frm = aspnetForm;
  var bChecked = false;
  var countChecked = 0;

  for (var i=0; i<frm.length;i++)
  {               
    if (frm.elements[i].id.indexOf(cbId) != -1 && frm.elements[i].checked)
    {
      bChecked = true;
      break;
    }
  } 
  
  return bChecked;
}


function FindControl(ctrlId)
{
  var frm = aspnetForm;
  var objCtrl = null;
  
  for (var i=0; i<frm.length;i++)
  {
    if (frm.elements[i].id.indexOf(ctrlId) != -1)
    { 
      objCtrl = frm.elements[i];
      
      break;
    }
  }
  
  return objCtrl;
}

function OnRedirect(url)
{
  window.location.href = url;
 
  return false;
}


function CheckDateDetail(date)
{
  if (date != "")
  {
    if (date.toString().length != 10 
      || date.indexOf("/") != 2
      || date.lastIndexOf("/") != 5
      || ValidateNumber(date.slice(0, 2)) == false
      || ValidateNumber(date.slice(3, 5)) == false
      || ValidateNumber(date.slice(6, 10)) == false
      || date.slice(0, 2).localeCompare("32") != -1
      || date.slice(3, 5).localeCompare("13") != -1
      || date.slice(6, 10).localeCompare("1799") != 1)
    {
      return false;
    }
    else if (date.slice(3, 5) == "02")
    {
      if (CheckLeapYear(date.slice(6, 10)) == true
        && date.slice(0, 2).localeCompare("30") != -1)
      {
        return false;
      }
      else if (CheckLeapYear(date.slice(6, 10)) == false
        && date.slice(0, 2).localeCompare("29") != -1)
      {
        return false;
      }
    }
    else if ((date.slice(3, 5) == "04"
      || date.slice(3, 5) == "06"
      || date.slice(3, 5) == "09"
      || date.slice(3, 5) == "11")
      && date.slice(0, 2).localeCompare("31") != -1)
    {
      return false;
    }
    else
      return true;
  }
  
  return true;
}


function CheckLeapYear(year)
{
  if (year % 400 == 0)
    return true;
  else if (year % 100 == 0)
    return false;
  else if (year % 4 == 0)
    return true;
  else
    return false;
}


function ValidateDate(source, args)
{
  if (CheckDateDetail(args.Value))
    args.IsValid = true;
  else
    args.IsValid = false;
}
    
    
function ValidateNumber(number)
{
  for (i = 0; i < number.length; i++)
  {
    var c = number.charAt(i);
    if ((c < "0") || (c > "9")) 
      return false;
  }
  return true;
}
