// **************************************************
// *
// * celebrant form submission
// *
// **************************************************

function searchCelebrant(frm) {
  var dtAppointment = frm.dtAppointment;
  if ( dtAppointment.value == "" ) {
    alert("½Ð ¶ñ ¤W ºÊ Â§ ¤é ´Á !!");
    // dtAppointment.focus();
    return false;
  }
  frm.submit();
  return true;
}

var _md_prefix = "md";
var _md_tag_name = "td";
var _md_total_cell = 42;
var _md_blank = " ";

var _md_goodday_ = Array(
"3 Aug 2006",
"11 Aug 2006",
"21 Aug 2006",
"27 Aug 2006",
"1 Sep 2006",
"13 Sep 2006",
"25 Sep 2006",
"3 Oct 2006",
"8 Oct 2006",
"24 Oct 2006",
"3 Nov 2006",
"10 Nov 2006",
"22 Nov 2006",
"1 Dec 2006",
"9 Dec 2006",
"26 Dec 2006",
"27 Dec 2006",
"5 Feb 2007",
"14 Feb 2007",
"17 Feb 2007",
"1 Mar 2007",
"4 Mar 2007",
"11 Mar 2007",
"9 Apr 2007",
"13 Apr 2007",
"21 Apr 2007",
"3 May 2007",
"6 May 2007",
"21 May 2007",
"1 Jun 2007",
"5 Jun 2007",
"25 Jun 2007",
"1 Jul 2007",
"9 Jul 2007",
"20 Jul 2007",
"1 Aug 2007",
"10 Aug 2007",
"18 Aug 2007",
"1 Sep 2007",
"6 Sep 2007",
"28 Sep 2007",
"4 Oct 2007",
"15 Oct 2007",
"27 Oct 2007",
"5 Nov 2007",
"11 Nov 2007",
"28 Nov 2007",
"2 Dec 2007",
"12 Dec 2007",
"24 Dec 2007",
"2 Jan 2008",
"10 Jan 2008",
"22 Jan 2008"
);
 
function mdObject(idx) {
  return document.all[_md_prefix + idx];
}

function mdFillMthDay(wkday, numOfDays) {
  var i = 0;
  var obj = null;
  
  for (i=0;i<_md_total_cell;i++)
    if (( obj = mdObject(i) ) != null ) 
      obj.innerText = _md_blank;
  
  for (i=0;i<numOfDays;i++)
    if (( obj = mdObject(i + wkday) ) != null ) 
      obj.innerText = i+1;
  
  mdClear();
  mdSelected();
}

function mdSelectMthYr() {
  var cboMonth = document.all.cboMonth;
  var cboYear = document.all.cboYear;
  if (( cboMonth == null ) ||
      ( cboYear == null ))
    return;
    
  var strMonth = cboMonth.options[cboMonth.selectedIndex].value;
  var strYear = cboYear.options[cboYear.selectedIndex].value;
  var dateString = "1 " + strMonth + " " + strYear;    
  var dateObj = new Date(dateString);
  
  var dtmYear = strYear; // dateObj.getYear();
  var dtmMonth = dateObj.getMonth();
  var dtmDay = dateObj.getDate();
  var wkday = dateObj.getDay();
    
  var numOfDays = 0;
  switch ( dtmMonth ) {
    case 1:
      numOfDays = 28;
      break;
    case 3:
    case 5:
    case 8:
    case 10:
      numOfDays = 30;
      break;
    default:
      numOfDays = 31;
      break;
  }
  
  mdFillMthDay(wkday, numOfDays);
}

function mdPrevMonth() {
  var cboMonth = document.all.cboMonth;
  var cboYear = document.all.cboYear;
  if (( cboMonth == null ) ||
      ( cboYear == null ))
    return;
  
  var mthIdx = cboMonth.selectedIndex;
  var yrIdx = cboYear.selectedIndex;
  if ( mthIdx <= 0 ) {
    if ( yrIdx <= 0 )
      return;
    cboMonth.selectedIndex = cboMonth.options.length - 1;
    cboYear.selectedIndex = yrIdx - 1;
  } else {
    cboMonth.selectedIndex = mthIdx - 1;
  }
  mdSelectMthYr();
}

function mdNextMonth() {
  var cboMonth = document.all.cboMonth;
  var cboYear = document.all.cboYear;
  if (( cboMonth == null ) ||
      ( cboYear == null ))
    return;
  
  var mthIdx = cboMonth.selectedIndex;
  var yrIdx = cboYear.selectedIndex;
  if ( mthIdx >= cboMonth.options.length - 1 ) {
    if ( yrIdx >= cboYear.options.length - 1 )
      return;
    cboMonth.selectedIndex = 0;
    cboYear.selectedIndex = yrIdx + 1;
  } else {
    cboMonth.selectedIndex = mthIdx + 1;
  }
  mdSelectMthYr();
}

function mdClassOf(idObj) {
  var cboMonth = document.all.cboMonth;
  var cboYear = document.all.cboYear;
  if (( cboMonth == null ) ||
      ( cboYear == null ))
    return;

  var md = _md_prefix;
  var className = "";
  if ( idObj != null ) {
    var strID = idObj.id;
    if ( strID.indexOf(md) >= 0 ) {
      
      var innerText = idObj.innerText
      if ( innerText != _md_blank ) {
        var strDay = innerText;
        var strMonth = cboMonth.options[cboMonth.selectedIndex].value;
        var strYear = cboYear.options[cboYear.selectedIndex].value;
        var dateString = strDay + " " + strMonth + " " + strYear;
      
        var bGoodday = false;
        for (var i=0;i<_md_goodday_.length;i++)
          if ( dateString == _md_goodday_[i] ) {
            bGoodday = true;
            break;
          }
     	
        var intID = parseInt(strID.replace(md, ""));
        if ( bGoodday ) { 
          switch ( intID % 7 ) {
      	    case 0:
      	      className = "gdsunday";
      	      break;
      	    default:
      	      className = "gdweekday";
      	      break;
          }
        } else {
          switch ( intID % 7 ) {
      	    case 0:
      	      className = "sunday";
      	      break;
      	    default:
      	      className = "weekday";
      	      break;
          }
        }
      } else {
        className = "weekday";
      }
    }
  }
  return className;
}

function mdClear() {
  var md = _md_prefix;
  var arr = document.getElementsByTagName(_md_tag_name);
  if (( arr != null ) && ( arr.length > 0 )) {
    for (var i=0;i<arr.length;i++)
      if ( arr[i].id.indexOf(md) >= 0 )
        arr[i].className = mdClassOf(arr[i]);
  }
}

function mdSelected() {
  var dtAppointment = document.all.dtAppointment;
  var cboMonth = document.all.cboMonth;
  var cboYear = document.all.cboYear;
  if (( dtAppointment == null ) ||
      ( cboMonth == null ) ||
      ( cboYear == null ))
    return;

  var dateString = dtm2str_v(dtAppointment.value);
  if ( dateString == "" )
    return;

  var arrString = dateString.split(" ");
  var strDay = arrString[0];
  var strMonth = arrString[1];
  var strYear = arrString[2];
  
  if (( strMonth == cboMonth.options[cboMonth.selectedIndex].value ) &&
      ( strYear == cboYear.options[cboYear.selectedIndex].value )) {
    var dateObj = new Date(dateString);
    var dtmYear = strYear; // dateObj.getYear();
    var dtmMonth = dateObj.getMonth();
    var dtmDay = dateObj.getDate();
    var wkday = dateObj.getDay();
    var nwkday = ( wkday + 1 - dtmDay ) % 7;
    if ( nwkday < 0 )
      nwkday += 7;
    
    var obj = null;
    if (( obj = mdObject(dtmDay - 1 + nwkday) ) != null )
      obj.className = 'selectedday';
  }
}

function mdHovered(idObj) {
  idObj.className = 'hoveredday';
}

function mdClick(idObj) {
  var dtAppointment = document.all.dtAppointment;
  var cboMonth = document.all.cboMonth;
  var cboYear = document.all.cboYear;
  if (( dtAppointment == null ) ||
      ( cboMonth == null ) ||
      ( cboYear == null ))
    return;

  var innerText = idObj.innerText
  if ( innerText == _md_blank )
    return;

  var strDay = innerText;
  var strMonth = cboMonth.options[cboMonth.selectedIndex].value;
  var strYear = cboYear.options[cboYear.selectedIndex].value;
  var dateString = strDay + " " + strMonth + " " + strYear;

  dtAppointment.value = dtm2str_v(dateString);
  
  mdClear();
  mdSelected();
} 

function mdOver(idObj) {
  var innerText = idObj.innerText
  if ( innerText == _md_blank )
    return;
  var className = idObj.className;
  if (( className == "sunday" ) || ( className == "weekday" ))
    mdHovered(idObj);
}

function mdOut(idObj) {
  var innerText = idObj.innerText
  if ( innerText == _md_blank )
    return;
  var className = idObj.className;
  if ( className == "hoveredday" )
    idObj.className = mdClassOf(idObj);
}

function tblLogon_openClose(_objID) {
  var tblLogon = Array("tbllogon_couples", "tbllogon_celebrants", "tbllogon_services");
  for (var i=0;i<tblLogon.length;i++) {
    var obj = document.all[tblLogon[i]];
    var display = obj.style.display;
    obj.style.display = ( obj.id == _objID )
		? ( display != "none" ) ? "none" : ""
		: "none";
  }
}

// **************************************************
// *
// * common functions
// *
// **************************************************

function imageAs(imgObj, imgURL) {
  imgObj.src =  imgURL;
}

function imageAsOf(imgName, imgURL) {
  var obj = document[imgName];
  if ( obj != null ) {
    imageAs(obj, className);
  }
}

function classAs(htmlObj, className) {
  htmlObj.className =  className;
}

function classAsOf(nameOfObj, className) {
  var obj = document.all[nameOfObj];
  if ( obj != null ) {
    classAs(obj, className);
  }
}

// **************************************************
// *
// * adobe dreamweaver functions
// *
// **************************************************

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
  var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
  if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
  d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
  if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

// **************************************************
// *
// * input device routines
// *
// **************************************************
function selectAll(selObj) {
  if ( selObj.length ) {
    for(var i=0;i<selObj.length;i++) {
      selObj[i].checked = true;
    }
  } else {
    selObj.checked = true;
  }
}

function unselectAll(selObj) {
  if ( selObj.length ) {
    for(var i=0;i<selObj.length;i++) {
      selObj[i].checked = false;
    }
  } else {
    selObj.checked = false;
  }
}

function copyTextToClipboard(txt) {
  if ( window.clipboardData ) {
    if ( window.clipboardData.setData ) {
      window.clipboardData.setData("text", txt); 
      return true;
    }
  }

  alert("Internet Explorer 5.5 or higher is required !!");
  return false;
}

function copyTextObjToClipboard(txtObj) {
  return copyTextToClipboard(txtObj.value);
}

// **************************************************
// *
// * open win routines
// *
// **************************************************
var dfwndWidth = 800;
var dfwndHeight = 600
var dfwndState = "menubar=no,scrollbars=yes,toolbar=no,location=no,status=no,resizable=no";

function openWinWH(theURL, winName, theWidth, theHeight) {
  var theStatus = "width=" + theWidth + "," + 
    		"height=" + theHeight + "," + 
    		dfwndState;
  return window.open(theURL, winName, theStatus);
}

function openWin(theURL, winName) {
  return openWinWH(theURL, winName, dfwndWidth, dfwndHeight);
}

function closeWin() {
  if ( opener != null )
    opener.location.reload();
  window.close();
}