
function CountCharacters(field,max_characters,output_field) { 

  if (field.value.length > max_characters) {
    field.value = field.value.substring(0,max_characters);
    alert("The maximum number of characters is " + max_characters);
  }

  output_field.value=field.value.length;

}

function CountCharsWarn(field,max_characters,output_field,warn_field) { 

  var element = document.getElementById(warn_field);

  if (field.value.length > max_characters) {
     element.style.display = "";
     element.style.visibility = "visible";
  } else {
     element.style.display = "none";
     element.style.visibility = "hidden";
  }

  output_field.value=field.value.length;

}

// The function below is primarly used only by FT

function CountCharsDisableSubmit(output_name,output_credit,output_desc,warn_name,warn_credit,warn_desc) { 

  var warn_name = document.getElementById(warn_name);
  var warn_credit = document.getElementById(warn_credit);
  var warn_desc = document.getElementById(warn_desc);
  var name_field = document.getElementById('Name');
  var credit_field = document.getElementById('Credit');
  var desc_field = document.getElementById('Description');
  var update_button = document.getElementById('Update');
  var process_button = document.getElementById('Process');

  process_button.disabled = true;

  if (name_field.value.length > 65) {
     warn_name.style.display = "";
     warn_name.style.visibility = "visible";
     update_button.disabled = true;
  } else { 
     warn_name.style.display = "none";
     warn_name.style.visibility = "hidden";
  }
  if (credit_field.value.length > 35) {
     warn_credit.style.display = "";
     warn_credit.style.visibility = "visible";
     update_button.disabled = true;
  } else {
     warn_credit.style.display = "none";
     warn_credit.style.visibility = "hidden";
  }
  if (desc_field.value.length > 225) {
     warn_desc.style.display = "";
     warn_desc.style.visibility = "visible";
     update_button.disabled = true;
  } else {
     warn_desc.style.display = "none";
     warn_desc.style.visibility = "hidden";
  }
  if (name_field.value.length <= 65 && credit_field.value.length <= 35 && desc_field.value.length <= 225) {
     update_button.disabled = false;
  }

   output_name.value = name_field.value.length;
   output_credit.value = credit_field.value.length;
   output_desc.value = desc_field.value.length;
     
} //endfunc CountCharsDisableSubmit

function DisplayHelpWindow(message_id, company_id, store_id) { 
  var url = "$g_findgift_net/cgi-bin/Merchants.cgi?m=Help_Message&mesgid=" + message_id + "&cmpyid=" + company_id + "&streid=" + store_id;
  var win =  window.open(url,"Preview","resizable,scrollbars,width=320,height=370,top=95,left=95");
  win.focus() ;
}


function popUp(url) {
  sealWin=window.open(url,"win",'toolbar=0,location=0,directories=0,status=1,menubar=1,scrollbars=1,resizable=1,width=500,height=450');
  self.name = "mainWin";
}


function open_div(div_field) { 

  var element = document.getElementById(div_field);
  var element_h = document.getElementById(div_field + "_h");

  element.style.display = "none";
  element_h.style.display = "";

  element.style.visibility = "hidden";
  element_h.style.visibility = "visible";

}


function close_div(div_field) { 

  var element = document.getElementById(div_field);
  var element_h = document.getElementById(div_field + "_h");

  element.style.display = "";
  element_h.style.display = "none";

  element.style.visibility = "visible";
  element_h.style.visibility = "hidden";

}


function toggle(obj) {

  var element = document.getElementById(obj);
  if (element.style.display != 'none') {
     element.style.display = 'none';
  } else {
     element.style.display = '';
  }
}


function getXYcoordinates(element, coordinates) {

  var x = 0;
  var y = 0;

  do {

     x += element.offsetLeft;
     y += element.offsetTop;
     if (element.tagName.toLowerCase() == 'body') {
        break;
     }

     element = element.offsetParent;

  } while (1 == 1);

  coordinates[0] = x;
  coordinates[1] = y;

}


function daysInMonth(month, year) {

  var days = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

  if (month == 1) {

     if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
        return 29;
     } else {
        return 28;
     }

  }

  return days[month];

}


function makeCalendar (inputField, year, month) {

  var months = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");

  var element = document.getElementById(inputField);
  var selectedDate = element.value;

  var html;
  var curDate = new Date();

  var thisDay = curDate.getDate();
  var thisMonth = curDate.getMonth();
  var thisYear = curDate.getFullYear();

  if (year == '' || month < 0) {
     month = thisMonth;
     year = thisYear;
  }

  var days = daysInMonth(month, year);

  var firstDate = new Date(year, month, 1);
  var firstDayOfWeek = firstDate.getDay();

  var displayDate = months[month] + ', ' + year;

  var nextYear = year;
  var nextMonth = month + 1;
  if (nextMonth > 11) {
     nextMonth = 0;
     nextYear++;
  }

  var prevYear = year;
  var prevMonth = month - 1;
  if (prevMonth < 0) {
     prevMonth = 11;
     prevYear--;
  }

  html = '<DIV STYLE="background-color: #000099; padding: 10px;" ALIGN="Center"><DIV STYLE="background-color: #FFFFFF; text-align: center; padding-bottom: 5px; width: 230px;"><TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0" WIDTH="100%"><TR><TD CLASS="large" ALIGN="Center"><B><A HREF="javascript:makeCalendar(\'' + inputField + '\',' + prevYear + ',' + prevMonth + ')">&lt;&lt;</A></B></TD><TD CLASS="large" ALIGN="Center"><B>' + displayDate + '</B></TD><TD CLASS="large" ALIGN="Center"><B><A HREF="javascript:makeCalendar(\'' + inputField + '\',' + nextYear + ',' + nextMonth +')">&gt;&gt;</A></B></TD></TR></TABLE></DIV>';

  html += '<DIV STYLE="background-color: #FFFFFF; width: 230px; padding-bottom: 3px;"><TABLE BORDER="1" CELLSPACING="0" CELLPADDING="0" BGCOLOR="#FFFFFF"><TR><TD STYLE="text-align: center;"><B>Sun</B></TD><TD STYLE="text-align: center;"><B>Mon</B></TD><TD STYLE="text-align: center;"><B>Tue</B></TD><TD STYLE="text-align: center;"><B>Wed</B></TD><TD STYLE="text-align: center;"><B>Thr</B></TD><TD STYLE="text-align: center;"><B>Fri</B></TD><TD STYLE="text-align: center;"><B>Sat</B></TD></TR>';

  var day = 1;
  while (day <= days) {

     html += '<TR>';

     for (weekday = 0; weekday < 7; weekday++) {

        if ((day == 1 && weekday < firstDayOfWeek) || (day > days)) {

           html += '<TD BGCOLOR="#DDDDFF"><DIV STYLE="width: 30px; height: 20px;">&nbsp;</DIV></TD>';

        } else {

           var formattedMonth = month + 1;
           if (formattedMonth < 10) {
              formattedMonth = '0' + formattedMonth;
           }

           var formattedDay = day;
           if (formattedDay < 10) {
              formattedDay = '0' + formattedDay;
           }

           var formattedDate = year + '-' + formattedMonth + '-' + formattedDay;

           var dayDisplay = day;

           var bgcolor = '#FFFFFF';
           if (year == thisYear && month == thisMonth && day == thisDay) {
              bgcolor = '#FFFF99';
           }

           if (formattedDate == selectedDate) {
              bgcolor = '#FFBBBB';
           }

           html += '<TD><DIV STYLE="width: 30px; height: 20px; text-align: center; padding-top: 2px; background-color: ' + bgcolor + ';" onMouseOver="this.style.backgroundColor=\'#FFFF00\'" onMouseOut="this.style.backgroundColor=\'' + bgcolor + '\'" onClick="javascript:selectDate(\'' + inputField + '\',\'' + formattedDate + '\')">' + dayDisplay + '</DIV></TD>';
           day++;

        }

     }

     html += '</TR>';

  }

  html += '</TABLE></DIV></DIV>';

  document.all.calendar.innerHTML = html;

}


function toggleCalendar(inputField) {

  var element = document.getElementById(inputField);
  var date = element.value;

  if (document.all.calendar.style.display != 'none') {
     document.all.calendar.style.display = 'none';
  } else {

     var coordinates = new Array(2);
     getXYcoordinates(element, coordinates);

     var year = date.substr(0,4);
     var month = date.substr(5,2);

     if (month.substr(0,1) == '0') {
        month = month.substr(1);
     }

     month = month - 1;

     makeCalendar(inputField, year, month);

     document.all.calendar.style.pixelLeft = coordinates[0];
     document.all.calendar.style.pixelTop = coordinates[1] + 25;
     document.all.calendar.style.display = 'inline';
  }
}


function selectDate(inputField, date) {

  var element = document.getElementById(inputField);

  element.value = date;
  toggleCalendar(inputField);

}


function toggleColor(element, newColor) {

  var style2 = element.style;

  style2.backgroundColor = style2.backgroundColor ? "":newColor;

}

function clearRadioButtons(buttonGroup){

   for (i=0; i < buttonGroup.length; i++) {

    if (buttonGroup[i].checked == true) {
    buttonGroup[i].checked = false
    }

   }

}


function uc_first(element1) {
   var object1 = document.getElementById(element1);
   var str1 = object1.value;

   var word_arr1 = new Array();
   word_arr1 = str1.split(" ");  //allows space space

   var count;
   for (count=0; count < word_arr1.length; count++){
      var tmpstr = word_arr1[count];
      word_arr1[count] =tmpstr.substr(0,1).toUpperCase();
      word_arr1[count]+=tmpstr.substr(1).toLowerCase();
   }//endfor

   object1.value = word_arr1.join(" ");

}//endfunc uc_first


function uc_normal(element1){
   var object1 = document.getElementById(element1);
   var str1 = object1.value;

   var word_arr1 = new Array();
   word_arr1 = str1.split(" ");  //allows space space

   var firstwordflag=1;

   var count;
   for (count=0; count < word_arr1.length; count++){

      if(firstwordflag==1){
         var tmpstr = word_arr1[count];
         word_arr1[count] =tmpstr.substr(0,1).toUpperCase();
         word_arr1[count]+=tmpstr.substr(1).toLowerCase();
         firstwordflag=0;
      }else{
         var tmpstr = word_arr1[count];
         word_arr1[count]=tmpstr.toLowerCase();
      }//endif

      var tmplength=word_arr1[count].length - 1;
      var lastchar =word_arr1[count].substr(tmplength,1);
      if( lastchar=="." || lastchar=="?" || lastchar=="!" ){
         firstwordflag=1;
      }//endif

   }//endfor

   object1.value = word_arr1.join(" ");

}//endfunc uc_normal

