function getParam(param)
{
   param = param.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
   var regexS = "[\\?&]" + param + "=([^&#]*)";
   var regex = new RegExp(regexS);
   var results = regex.exec(window.location.href);

   if(results == null)
      return "";
   else
      return results[1];
}

function updateNotInCat()
{
   chbxSel = $('notin_category').checked;
   if(chbxSel)
      $('cat').disabled = "disabled";
   else
   $('cat').disabled = "";

}
 

function getTableFields(count)
{
   if (tableFields != null)
      return tableFields;
   else if (count != 10)      
      setTimeout("getTableFields(" + ++count + ")", 1000);
}

function countChars(text, spanChar, spanMsg)
{
   var count = text.length;
   document.getElementById(spanChar).innerHTML = count;

   if (count <= 440){msgNum = 3}
   if (count <= 300){msgNum = 2}
   if (count <= 160){msgNum = 1}
   document.getElementById(spanMsg).innerHTML = msgNum;
}

function limitText(limitField, limitCount, limitNum, msgNumField, charsUsedField) {
    limitField = document.getElementById(limitField);
    limitCount = document.getElementById(limitCount);

	if (limitField.value.length > limitNum) {
		limitField.value = limitField.value.substring(0, limitNum);
	} else {
		limitCount.value = limitNum - limitField.value.length;
	}
   count = limitField.value.length;

   if (count <= 440){msgNum = 3}
   if (count <= 300){msgNum = 2}
   if (count <= 160){msgNum = 1}
   document.getElementById(msgNumField).innerHTML=msgNum;
   document.getElementById(charsUsedField).innerHTML = count;
   
}

function limitInput(limitField, limitNum)
{
   limitField = document.getElementById(limitField);
   if (limitField.value.length > limitNum) 
      limitField.value = limitField.value.substring(0, limitNum);
}


 function createCal(prefix)
 {
	var month = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
	var now_m = new Date().getMonth() + 1;
	var now_y = new Date().getFullYear();
	var now_d = new Date().getDate();

	var calString = "<select name='" + prefix + "_day' id='" + prefix + "_day'>";
	//calString += "<option value=''>&nbsp;</option> \n";
	for(i=1; i<32; i++) {
	   if(i == now_d)
		  calString += "<option selected='selected' value = '" + i + "'>" + i + "</option> \n";
	   else
		  calString += "<option value = '" + i + "'>" + i + "</option> \n";
	}
	calString += "</select> \n";

	calString += "<select name='" + prefix + "_month' id='" + prefix + "_month'>";
	//calString += "<option value=''>&nbsp;</option> \n";
	for(i=1; i<13; i++) {
	   if(i == now_m)
		  calString += "<option selected='selected' value = '" + i + "'>" + month[i-1] + "</option> \n";
	   else
		  calString += "<option value = '" + i + "'>" + month[i-1] + "</option> \n";

	}
	calString += "</select> \n";

	calString += "<select name='" + prefix + "_year' id='" + prefix + "_year'>";
	//calString += "<option value=''>&nbsp;</option> \n";
    if (prefix !== "dob"){
        cutoff = new Date().getFullYear() + 5;
    }else{
        cutoff = new Date().getFullYear();
    }
	for(i=1901; i<= cutoff; i++) {
	   if(now_y == i)
		  calString += "<option selected='selected' value = '" +i + "'>" + i + "</option> \n";
	   else
		  calString += "<option value = '" +i + "'>" + i + "</option> \n";
	}
	calString += "</select> \n";

	return calString;
 }


function createCalendarDropDowns(prefix,selectToday,callBackFunctionName)
{
	var month = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
	var now_m = new Date().getMonth() + 1;
	var now_y = new Date().getFullYear();
	var now_d = new Date().getDate();

       if(selectToday == null)
          selectToday = false;

       if(callBackFunctionName == null)
          callBackFunctionName = "";

	var calString = "<input type='hidden' value='' name='" + prefix + "' id='" + prefix + "'>";

       var onChangeString = 'updateHiddenCalendarField(\"' + prefix + '\",\"' + callBackFunctionName + '\");';

	calString += "<select id='" + prefix + "_day' onChange='" + onChangeString + "'  >";
	calString += "<option value=''>&nbsp;</option> \n";
	for(i=1; i<32; i++) {
          if(selectToday == true)
          {
   	      if(i == now_d)
		     calString += "<option selected='selected' value = '" + i + "'>" + i + "</option> \n";
  	      else
		     calString += "<option value = '" + i + "'>" + i + "</option> \n";
          }
          else
	      calString += "<option value = '" + i + "'>" + i + "</option> \n";

	}
	calString += "</select> \n";

	calString += "<select id='" + prefix + "_month'  onChange='" + onChangeString + "' >";
	calString += "<option value=''>&nbsp;</option> \n";
	for(i=1; i<13; i++) {
          if(selectToday == true)
          {
	      if(i == now_m)
		     calString += "<option selected='selected' value = '" + i + "'>" + month[i-1] + "</option> \n";
	      else
		     calString += "<option value = '" + i + "'>" + month[i-1] + "</option> \n";
          }
          else
	      calString += "<option value = '" + i + "'>" + month[i-1] + "</option> \n";
	}
	calString += "</select> \n";

	calString += "<select id='" + prefix + "_year'  onChange='" + onChangeString + "' >";
	calString += "<option value=''>&nbsp;</option> \n";
	for(i= new Date().getFullYear(); i >= 1901; i--) {
          if(selectToday == true)
          {
	      if(now_y == i)
		     calString += "<option selected='selected' value = '" +i + "'>" + i + "</option> \n";
	      else
		     calString += "<option value = '" +i + "'>" + i + "</option> \n";
	   }
          else
	      calString += "<option value = '" +i + "'>" + i + "</option> \n";
       }

	calString += "</select> \n";

	return calString;
}

function updateHiddenCalendarField(prefix,callBackFunctionName)
{
   var d = $(prefix + "_day").value;
   var m = $(prefix + "_month").value;
   var y = $(prefix + "_year").value;

   var oldPrefixValue = $(prefix).value;

   if(d != "" && m != "" && y != "")
      $(prefix).value = y + "-" + m + "-" + d;   
   else 
      $(prefix).value = "";

   if(oldPrefixValue != $(prefix).value)
   {
      if(typeof(callBackFunctionName) != "undefined" && callBackFunctionName != "")
         window[callBackFunctionName]();
   }
}


function createTimeDropDowns(prefix,selectNow,callBackFunctionName)
{
	var now_h = new Date().getHours();
	var now_m = new Date().getMinutes();

       if(selectNow == null)
          selectNow = false;

       if(callBackFunctionName == null)
          callBackFunctionName = "";

	var calString = "<input type='hidden' value='' name='" + prefix + "' id='" + prefix + "'>";

       var onChangeString = 'updateHiddenTimeField(\"' + prefix + '\",\"' + callBackFunctionName + '\");';

	calString += "<select id='" + prefix + "_hour' onChange='" + onChangeString + "'  >";
	calString += "<option value=''>&nbsp;</option> \n";
	for(i=0; i<24; i++) {
	       if (i < 10){
	           i = "0" + i; 
	       }
          if(selectNow == true)
          {
   	      if(i == now_h)
		     calString += "<option selected='selected' value = '" + i + "'>" + i + "</option> \n";
  	      else
		     calString += "<option value = '" + i + "'>" + i + "</option> \n";
          }
          else
	      calString += "<option value = '" + i + "'>" + i + "</option> \n";

	}
	calString += "</select> \n";

	calString += "<select id='" + prefix + "_minute'  onChange='" + onChangeString + "' >";
	calString += "<option value=''>&nbsp;</option> \n";
	for(i=0; i<60; i++) {
	       if (i < 10){
	           i = "0" + i; 
	       }
          if(selectNow == true)
          {
	      if(i == now_m)
		     calString += "<option selected='selected' value = '" + i + "'>" + i + "</option> \n";
	      else
		     calString += "<option value = '" + i + "'>" + i + "</option> \n";
          }
          else
	      calString += "<option value = '" + i + "'>" + i + "</option> \n";
	}
	calString += "</select> \n";

	return calString;
}

function updateHiddenTimeField(prefix,callBackFunctionName)
{
   var h = $(prefix + "_hour").value;
   var m = $(prefix + "_minute").value;

   var oldPrefixValue = $(prefix).value;

   if(h != "" && m != "")
      $(prefix).value = h + ":" + m + ":00";   
   else 
      $(prefix).value = "";

   if(oldPrefixValue != $(prefix).value)
   {
      if(typeof(callBackFunctionName) != "undefined" && callBackFunctionName != "")
         window[callBackFunctionName]();
   }
}



