function myc_printf() { 
  var num = arguments.length; 
  var oStr = arguments[0];   
  for (var i = 1; i < num; i++) { 
    var pattern = "\\{" + (i-1) + "\\}"; 
    var re = new RegExp(pattern, "g"); 
    oStr = oStr.replace(re, arguments[i]); 
  } 
  return oStr; 
} 

function SelectListBoxItems(formname, listboxName)
{
   var intCount = window.document.forms[formname].elements[listboxName].options.length;
   for (i = 0; i < intCount; i++)
   {
      window.document.forms[formname].elements[listboxName].options[i].selected = true;
   }
   return false;
}

function SetDivText(destination, text)
{
  if (document.getElementById)
  {
    var dest=document.getElementById(destination);
    if (dest)
    {
      dest.innerHTML=text;
    }
  }
}

function GetDivText(destination)
{
  if (document.getElementById)
  {
    var dest=document.getElementById(destination);
    if (dest)
    {
      return dest.innerHTML;
    }
  }
}

function GetLastDayOfMonth(month, year){
	var isLeapYear=year%4==0;var ma=[31,28,31,30,31,30,31,31,30,31,30,31];if(isLeapYear)ma[1]++;return ma[month-1];
}

function SetImageOpDivText(op, div){
    switch(op){
        case "absWidth":
            SetDivText(div, "Resize image to an absolute width, height remains relative to width");
            break;
        case "absHeight":
            SetDivText(div, "Resize image to an absolute height, width remains relative to height");
            break;
        case "maxWidth":
            SetDivText(div, "If required, reduce the image to the max width, height remains relative to width");
            break;
        case "maxHeight":
            SetDivText(div, "If required, reduce the image to an max height, width remains relative to height");
            break;
        case "maxHeightWidth":
            SetDivText(div, "If required, reduce the image to the max width or height depending on the its longest length, the other dimension remains relative");
            break;
        case "percent":
            SetDivText(div, "Resize the image dimensions by a percentage. The image dimensions may be resized independently of eachother");
            break;
        case "custom":
            SetDivText(div, "Resize image dimensions to a custom size. The image dimensions may be resized independently of eachother");
            break;
        default:
            SetDivText(div, "Unknown Image Operation");
            break;
    }
}

function MakeDateString(formname, dayElem, monElem, yearElem){
	dayObj = window.document.forms[formname].elements[dayElem];
	monObj = window.document.forms[formname].elements[monElem];
	yearObj = window.document.forms[formname].elements[yearElem];
	day = dayObj.options[dayObj.selectedIndex].value;
	mon = monObj.options[monObj.selectedIndex].value;
	year = yearObj.options[yearObj.selectedIndex].value;
	return day + '-' + mon + '-' + year;
}

// ---------- message timer------------------------

var messageTimer_Msg = "";
var messageTimer_URL = "";
var messageTimer_Delay = 50000;
var messageTimer_Counter = 0;

function StartMessageTimer(delay, msg, url, enabled){
	messageTimer_Msg = msg;
	messageTimer_URL = url;
	messageTimer_Delay = delay;
	messageTimer_Counter = messageTimer_Delay;
	if(enabled)
		_MessageTimer();
}

function _MessageTimer(){
	if (messageTimer_Counter < 1)
		return;
	if (messageTimer_Counter==1){
		if(messageTimer_Msg != "")
			alert(messageTimer_Msg);
		if(messageTimer_URL != ""){
			windowHandle = window.open(messageTimer_URL,'','width=1,height=1,scrollbars=no,left=5000,top=5000');
			windowHandle.blur();
			windowHandle.close();			
		}
		messageTimer_Counter = messageTimer_Delay;
		setTimeout("_MessageTimer()",1000);	
	} else{ 
		messageTimer_Counter-=1;
		curmin=Math.floor(messageTimer_Counter/60);
		cursec=messageTimer_Counter%60;
		if (curmin!=0)
			curtime=curmin+" minutes and "+cursec+" seconds left until page refresh!";
		else
			curtime=cursec+" seconds left until page refresh!";
		window.status=curtime;
		setTimeout("_MessageTimer()",1000);
	}
}