﻿


var marked_row = new Array;

/**
* Sets/unsets the pointer and marker in browse mode
*
* @param   object    the table row
* @param   interger  the row number
* @param   string    the action calling this script (over, out or click)
* @param   string    the default background color
* @param   string    the color to use for mouseover
* @param   string    the color to use for marking a row
*
* @return  boolean  whether pointer is set or not
*/
function setPointer(theRow, theRowNum, theAction, theDefaultColor, thePointerColor, theMarkColor) {
   var theCells = null;

   // 1. Pointer and mark feature are disabled or the browser can't get the
   //    row -> exits
   if ((thePointerColor == '' && theMarkColor == '')
        || typeof (theRow.style) == 'undefined') {
      return false;
   }

   // 2. Gets the current row and exits if the browser can't get it
   if (typeof (document.getElementsByTagName) != 'undefined') {
      theCells = theRow.getElementsByTagName('td');
   }
   else if (typeof (theRow.cells) != 'undefined') {
      theCells = theRow.cells;
   }
   else {
      return false;
   }

   // 3. Gets the current color...
   var rowCellsCnt = theCells.length;
   var domDetect = null;
   var currentColor = null;
   var newColor = null;
   // 3.1 ... with DOM compatible browsers except Opera that does not return
   //         valid values with "getAttribute"
   if (typeof (window.opera) == 'undefined'
        && typeof (theCells[0].getAttribute) != 'undefined') {
      currentColor = theCells[0].getAttribute('bgcolor');
      domDetect = true;
   }
   // 3.2 ... with other browsers
   else {
      currentColor = theCells[0].style.backgroundColor;
      domDetect = false;
   } // end 3

   // 4. Defines the new color
   // 4.1 Current color is the default one
   if (currentColor == ''
        || currentColor.toLowerCase() == theDefaultColor.toLowerCase()) {
      if (theAction == 'over' && thePointerColor != '') {
         newColor = thePointerColor;
      }
      else if (theAction == 'click' && theMarkColor != '') {
         newColor = theMarkColor;
         marked_row[theRowNum] = true;
      }
   }
   // 4.1.2 Current color is the pointer one
   else if (currentColor.toLowerCase() == thePointerColor.toLowerCase()
             && (typeof (marked_row[theRowNum]) == 'undefined' || !marked_row[theRowNum])) {
      if (theAction == 'out') {
         newColor = theDefaultColor;
      }
      else if (theAction == 'click' && theMarkColor != '') {
         newColor = theMarkColor;
         marked_row[theRowNum] = true;
      }
   }
   // 4.1.3 Current color is the marker one
   else if (currentColor.toLowerCase() == theMarkColor.toLowerCase()) {
      if (theAction == 'click') {
         newColor = (thePointerColor != '')
                                  ? thePointerColor
                                  : theDefaultColor;
         marked_row[theRowNum] = (typeof (marked_row[theRowNum]) == 'undefined' || !marked_row[theRowNum])
                                  ? true
                                  : null;
      }
   } // end 4

   // 5. Sets the new color...
   if (newColor) {
      var c = null;
      // 5.1 ... with DOM compatible browsers except Opera
      if (domDetect) {
         for (c = 0; c < rowCellsCnt; c++) {
            theCells[c].setAttribute('bgcolor', newColor, 0);
         } // end for
      }
      // 5.2 ... with other browsers
      else {
         for (c = 0; c < rowCellsCnt; c++) {
            theCells[c].style.backgroundColor = newColor;
         }
      }
   } // end 5

   return true;
} // end of the 'setPointer()' function




function generateGuid() {
   var result, i, j;
   result = '';
   for (j = 0; j < 32; j++) {
      if (j == 8 || j == 12 || j == 16 || j == 20)
         result = result + '-';
      i = Math.floor(Math.random() * 16).toString(16).toUpperCase();
      result = result + i;
   }
   return result
}

function createCookie(name, value, days) {
   if (days) {
      var date = new Date();
      date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
      var expires = "; expires=" + date.toGMTString();
   }
   else var expires = "";
   document.cookie = name + "=" + value + expires + "; path=/";
}

function readCookie(name) {
   var nameEQ = name + "=";
   var ca = document.cookie.split(';');
   for (var i = 0; i < ca.length; i++) {
      var c = ca[i];
      while (c.charAt(0) == ' ') c = c.substring(1, c.length);
      if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
   }
   return null;
}

function fnHideShow(clientID, type) {
   try {
      arrVal = clientID.split("#");
      if (type == '0') // MouseOver effect
      {
         for (i = 0; i <= arrVal.length; i++) {
            document.getElementById(arrVal[i]).className = "hightlighrow";
         }
      }
      else // MouseOut effect
      {
         for (i = 0; i <= arrVal.length; i++) {
            document.getElementById(arrVal[i]).className = "normalrow";
         }
      }
   }
   catch (e) { }
} //fnHideShow

function openclose(divId, imgId) {    
    var divDetail = document.getElementById(divId);
    if (divDetail == null)
        divDetail = document.getElementById('ctl00_ContentPlaceHolder1_' + divId);
    //alert(divDetail);
    var img = document.getElementById(imgId);
    if (img == null)        
        img = document.getElementById('ctl00_ContentPlaceHolder1_' + imgId);
        
    if (divDetail.style.display == 'none') {
        divDetail.style.display = 'block';
        img.src = '/images/minus.gif';
    } else {        
        divDetail.style.display = 'none';
        img.src = '/images/plus.gif';
    }
    
    return true;
}

function HideDisplayControl(controlId) {

    var control = document.getElementById(controlId);
    if (control != null) {
        if (control.style.display == 'table-row') {
//            if (controlId == 'divMonth') {
//                document.getElementById('ddMonth1').selectedIndex = 0;
//                document.getElementById('ddMonth2').selectedIndex = 0;
//            }
//            else 
                if (controlId == 'divMinTerm') {            
                document.getElementById('ddMinTerm').selectedIndex = 0;
            }
            control.style.display = 'none';
            //ValidatorEnable(document.getElementById('cvMonth'), false);
            control.style.display = 'none';
        }
        else if (control.style.display == 'none')
            control.style.display = 'table-row';
    }
    else {
        control = document.getElementById('ctl00_ContentPlaceHolder1_' + controlId);
        if (control.style.display == 'table-row') {
//            if (controlId == 'divMonth') {
//                document.getElementById('ctl00_ContentPlaceHolder1_ddMonth1').selectedIndex = 0;
//                document.getElementById('ctl00_ContentPlaceHolder1_ddMonth2').selectedIndex = 0;
//            }
//            else 
            if (controlId == 'divMinTerm') {
            document.getElementById('ctl00_ContentPlaceHolder1_ddMinTerm').selectedIndex = 0;
            }
            //ValidatorEnable(document.getElementById('ctl00_ContentPlaceHolder1_cvMonth'), false);
            control.style.display = 'none';
        }
        else if (control.style.display == 'none')
            control.style.display = 'table-row';
    }
}

function checkDate(sender, args) {
   
    if (sender._selectedDate.format("MM/dd/yyyy") < new Date().format("MM/dd/yyyy")) {       
        document.getElementById('lblChkDateError').innerHTML = 'Please select a date later than today';
        sender._selectedDate = new Date();
        // set the date back to the current date
        sender._textbox.set_Value(sender._selectedDate.format(sender._format))
    }
    else {
        document.getElementById('lblChkDateError').innerHTML = '';
    }
}

function checkDate_admin(sender, args) {

    if (sender._selectedDate.format("MM/dd/yyyy") < new Date().format("MM/dd/yyyy")) {
        document.getElementById('ctl00_ContentPlaceHolder1_lblChkDateError').innerHTML = 'Please select a date later than today';
        sender._selectedDate = new Date();
        // set the date back to the current date
        sender._textbox.set_Value(sender._selectedDate.format(sender._format))
    }
    else {
        document.getElementById('ctl00_ContentPlaceHolder1_lblChkDateError').innerHTML = '';
    }
    
}
