//<![CDATA[

var fontFace="verdana";
var fontSize=9;

var titleWidth=90;
var titleMode=1;
var dayWidth=12;
var dayDigits=1;

var titleColor="#6699CC";
var daysColor="#6699CC";
var bodyColor="#ffffff";
var dayColor="#ffffff";
var disabledDayColor="#CCCCCC";
var currentDayColor="#FFCC00";
var footColor="#6699CC";
var borderColor="#6699CC";

var titleFontColor = "#ffffff";
var daysFontColor = "#ffffff";
var dayFontColor = "#6699CC";
var disabledDayFontColor="#6699CC";
var currentDayFontColor = "#000000";
var footFontColor = "#ffffff";

var calFormat = "yyyy/mm/dd";

var iDefaultDay = 1;
var iDefaultMonth = 12;
var iDefaultYear = 2005;

var weekDay = 0;
// ------

// codes
var calWidth=150, calHeight=175, calOffsetX=-200, calOffsetY=16;
var calWin=null;
var winX=0, winY=0;
var cal="cal";
var cals=new Array();
var currentCal=null;

var yxMonths=new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
var yxDays=new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday");
var yxLinks=new Array("[close]", "[clear]");

var isOpera=(navigator.userAgent.indexOf("Opera")!=-1)?true:false;
var isOpera5=(navigator.appVersion.indexOf("MSIE 5")!=-1 && navigator.userAgent.indexOf("Opera 5")!=-1)?true:false;
var isOpera6=(navigator.appVersion.indexOf("MSIE 5")!=-1 && navigator.userAgent.indexOf("Opera 6")!=-1)?true:false;
var isN6=(navigator.userAgent.indexOf("Gecko")!=-1);
var isN4=(document.layers)?true:false;
var isMac=(navigator.userAgent.indexOf("Mac")!=-1);
var isIE=(document.all && !isOpera && (!isMac || navigator.appVersion.indexOf("MSIE 4")==-1))?true:false;

if (isN4) {
  fontSize+=2;
}

var span2="</span>";

function span1(tag) {
  return "<span class='"+tag+"'>";
}
function spanx(tag, color) {
  return "."+tag+" { font-family:"+fontFace+"; font-size:"+fontSize+"px; color:"+color+"; }\n";
}

function a1(tag) {
  return "<a class='"+tag+"' href=";
}

function ax(tag, color) {
  return "."+tag+" { text-decoration:none; color:"+color+"; }\n";
}

function calOBJ(name, title, field, form) {
  this.name = name;
  this.title = title;
  this.field = field;
  this.formName = form;
  this.form = null
}

function setFont(font, size) {
  if (font != "") {
    fontFace=font;
  }
  if (size > 0) {
    fontSize=size;

    if (isN4) {
      fontSize+=2;
    }
  }
}

function setWidth(tWidth, tMode, dWidth, dDigits) {
  if (tWidth > 0) {
    titleWidth=tWidth;
  }
  if (tMode == 1 || tMode == 2) {
    titleMode=tMode;
  }
  if (dWidth > 0) {
    dayWidth=dWidth;
  }
  if (dDigits > 0) {
    dayDigits=dDigits;
  }
}

function setColor(tColor, dsColor, bColor, dColor, cdColor, fColor, bdColor) {
  if (tColor != "") {
    titleColor=tColor;
  }
  if (dsColor != "") {
    daysColor=dsColor;
  }
  if (bColor != "") {
    bodyColor=bColor;
  }
  if (dColor != "") {
    dayColor=dColor;
  }
  if (cdColor != "") {
    currentDayColor=cdColor;
  }
  if (fColor != "") {
    footColor=fColor;
  }
  if (bdColor != "") {
    borderColor=bdColor;
  }
}

function setFontColor(tColorFont, dsColorFont, dColorFont, cdColorFont, fColorFont) {
  if (tColorFont != "") {
    titleFontColor=tColorFont;
  }
  if (dsColorFont != "") {
    daysFontColor=dsColorFont;
  }
  if (dColorFont != "") {
    dayFontColor=dColorFont;
  }
  if (cdColorFont != "") {
    currentDayFontColor=cdColorFont;
  }
  if (fColorFont != "") {
    footFontColor=fColorFont;
  }
}

function setFormat(format) {
  calFormat = format;
}

function setSize(width, height, ox, oy) {
  if (width > 0) {
    calWidth=width;
  }
  if (height > 0) {
    calHeight=height;
  }

  calOffsetX=ox;
  calOffsetY=oy;
}

function setWeekDay(wDay) {
  if (wDay == 0 || wDay == 1) {
    weekDay = wDay;
  }
}

function setMonthNames(janName, febName, marName, aprName, mayName, junName, julName, augName, sepName, octName, novName, decName) {
  if (janName != "") {
    yxMonths[0] = janName;
  }
  if (febName != "") {
    yxMonths[1] = febName;
  }
  if (marName != "") {
    yxMonths[2] = marName;
  }
  if (aprName != "") {
    yxMonths[3] = aprName;
  }
  if (mayName != "") {
    yxMonths[4] = mayName;
  }
  if (junName != "") {
    yxMonths[5] = junName;
  }
  if (julName != "") {
    yxMonths[6] = julName;
  }
  if (augName != "") {
    yxMonths[7] = augName;
  }
  if (sepName != "") {
    yxMonths[8] = sepName;
  }
  if (octName != "") {
    yxMonths[9] = octName;
  }
  if (novName != "") {
    yxMonths[10] = novName;
  }
  if (decName != "") {
    yxMonths[11] = decName;
  }
}

function setDayNames(sunName, monName, tueName, wedName, thuName, friName, satName) {
  if (sunName != "") {
    yxDays[0] = sunName;
    yxDays[7] = sunName;
  }
  if (monName != "") {
    yxDays[1] = monName;
  }
  if (tueName != "") {
    yxDays[2] = tueName;
  }
  if (wedName != "") {
    yxDays[3] = wedName;
  }
  if (thuName != "") {
    yxDays[4] = thuName;
  }
  if (friName != "") {
    yxDays[5] = friName;
  }
  if (satName != "") {
    yxDays[6] = satName;
  }
}

function setLinkNames(closeLink, clearLink) {
  if (closeLink != "") {
    yxLinks[0] = closeLink;
  }
  if (clearLink != "") {
    yxLinks[1] = clearLink;
  }
}

function addCalendar(name, title, field, form) {
  cals[cals.length] = new calOBJ(name, title, field, form);
}

function findCalendar(name) {
  for (var i = 0; i < cals.length; i++) {
    if (cals[i].name == name) {
      if (cals[i].form == null) {
        if (cals[i].formName == "") {
          if (document.forms[0]) {
            cals[i].form = document.forms[0];
          }
        }
        else if (document.forms[cals[i].formName]) {
          cals[i].form = document.forms[cals[i].formName];
        }
      }

      return cals[i];
    }
  }

  return null;
}

function getDayName(y,m,d) {
  var wd=new Date(y,m,d);
  return yxDays[wd.getDay()].substring(0,3);
}

function getMonthFromName(m3) {
  for (var i = 0; i < yxMonths.length; i++) {
    if (yxMonths[i].toLowerCase().substring(0,3) == m3.toLowerCase()) {
      return i;
    }
  }

  return 0;
}

function getFormat() {
  var calF = calFormat;

  calF = calF.replace(/\\/g, '\\\\');
  calF = calF.replace(/\//g, '\\\/');
  calF = calF.replace(/\[/g, '\\\[');
  calF = calF.replace(/\]/g, '\\\]');
  calF = calF.replace(/\(/g, '\\\(');
  calF = calF.replace(/\)/g, '\\\)');
  calF = calF.replace(/\{/g, '\\\{');
  calF = calF.replace(/\}/g, '\\\}');
  calF = calF.replace(/\</g, '\\\<');
  calF = calF.replace(/\>/g, '\\\>');
  calF = calF.replace(/\|/g, '\\\|');
  calF = calF.replace(/\*/g, '\\\*');
  calF = calF.replace(/\?/g, '\\\?');
  calF = calF.replace(/\+/g, '\\\+');
  calF = calF.replace(/\^/g, '\\\^');
  calF = calF.replace(/\$/g, '\\\$');

  calF = calF.replace(/dd/i, '\\d\\d');
  calF = calF.replace(/mm/i, '\\d\\d');
  calF = calF.replace(/yyyy/i, '\\d\\d\\d\\d');
  calF = calF.replace(/day/i, '\\w\\w\\w');
  calF = calF.replace(/mon/i, '\\w\\w\\w');

  return new RegExp(calF);
}

function getDateNumbers(date) {
  var y, m, d;

  var yIdx = calFormat.search(/yyyy/i);
  var mIdx = calFormat.search(/mm/i);
  var m3Idx = calFormat.search(/mon/i);
  var dIdx = calFormat.search(/dd/i);

  y=date.substring(yIdx,yIdx+4)-0;
  if (mIdx != -1) {
    m=date.substring(mIdx,mIdx+2)-1;
  }
  else {
    var m = getMonthFromName(date.substring(m3Idx,m3Idx+3));
  }
  d=date.substring(dIdx,dIdx+2)-0;

  return new Array(y,m,d);
}

function hideCal() {
  calWin.close();
  calWin = null;
  window.status = "";
}

function getLeftIE(x,m) {
  var dx=0;
  if (x.tagName=="TD"){
    dx=x.offsetLeft;
  }
  else if (x.tagName=="TABLE") {
    dx=x.offsetLeft;
    if (m) { dx+=(x.cellPadding!=""?parseInt(x.cellPadding):2); m=false; }
  }
  return dx+(x.parentElement.tagName=="BODY"?0:getLeftIE(x.parentElement,m));
}
function getTopIE(x,m) {
  var dy=0;
  if (x.tagName=="TR"){
    dy=x.offsetTop;
  }
  else if (x.tagName=="TABLE") {
    dy=x.offsetTop;
    if (m) { dy+=(x.cellPadding!=""?parseInt(x.cellPadding):2); m=false; }
  }
  return dy+(x.parentElement.tagName=="BODY"?0:getTopIE(x.parentElement,m));
}

function getLeftN4(l) { return l.pageX; }
function getTopN4(l) { return l.pageY; }

function getLeftN6(l) { return l.offsetLeft; }
function getTopN6(l) { return l.offsetTop; }

function lastDay(d) {
  var yy=d.getFullYear(), mm=d.getMonth();
  for (var i=31; i>=28; i--) {
    var nd=new Date(yy,mm,i);
    if (mm == nd.getMonth()) {
      return i;
    }
  }
}

function firstDay(d) {
  var yy=d.getFullYear(), mm=d.getMonth();
  var fd=new Date(yy,mm,1);
  return fd.getDay();
}

function dayDisplay(i) {
  if (dayDigits == 0) {
    return yxDays[i];
  }
  else {
    return yxDays[i].substring(0,dayDigits);
  }
}

function calTitle(d) {
  var yy=d.getFullYear(), mm=yxMonths[d.getMonth()];
  var s;

  if (titleMode == 2) {
    // Show month and year direction arrows
	//s="<tr align='center' bgcolor='"+titleColor+"'><td colspan='7'>\n<table cellpadding='0' cellspacing='0' border='0'><tr align='center' valign='middle'><td align='right'>"+span1("title")+"<b>"+a1("titlea")+"'javascript:if(window.opener && !window.opener.closed && window.opener.moveYear) window.opener.moveYear(-10)'>&nbsp;&#171;</a>&nbsp;"+a1("titlea")+"'javascript:if(window.opener && !window.opener.closed && window.opener.moveYear) window.opener.moveYear(-1)'>&#139;&nbsp;</a></b>"+span2+"</td><td width='"+titleWidth+"'><b>"+span1("title")+yy+span2+"</b></td><td align='left'>"+span1("title")+"<b>"+a1("titlea")+"'javascript:if (window.opener && !window.opener.closed && window.opener.moveYear) window.opener.moveYear(1)'>&nbsp;&#155;</a>&nbsp;"+a1("titlea")+"'javascript:if (window.opener && !window.opener.closed && window.opener.moveYear) window.opener.moveYear(10)'>&#187;&nbsp;</a></b>"+span2+"</td></tr><tr align='center' valign='middle'><td align='right'>"+span1("title")+"<b>"+a1("titlea")+"'javascript:if (window.opener && !window.opener.closed && window.opener.prepMonth) window.opener.prepMonth("+d.getMonth()+")'>&nbsp;&#139;&nbsp;</a></b>"+span2+"</td><td width='"+titleWidth+"'><b>"+span1("title")+mm+span2+"</b></td><td align='left'>"+span1("title")+"<b>"+a1("titlea")+"'javascript:if (window.opener && !window.opener.closed && window.opener.nextMonth) window.opener.nextMonth("+d.getMonth()+")'>&nbsp;&#155;&nbsp;</a></b>"+span2+"</td></tr></table>\n</td></tr><tr align='center' bgcolor='"+daysColor+"'>";
	//	Show month direction arrows only
	s="<tr align='center' bgcolor='"+titleColor+"'><td colspan='7'>\n<table cellpadding='0' cellspacing='0' border='0'><tr align='center' valign='middle'><td align='right'>"+span1("title")+span2+"</td><td width='"+titleWidth+"'><b>"+span1("title")+yy+span2+"</b></td><td align='left'>"+span1("title")+span2+"</td></tr><tr align='center' valign='middle'><td align='right'>"+span1("title")+"<b>"+a1("titlea")+"'javascript:if (window.opener && !window.opener.closed && window.opener.prepMonth) window.opener.prepMonth("+d.getMonth()+")'>&nbsp;&#139;&nbsp;</a></b>"+span2+"</td><td width='"+titleWidth+"'><b>"+span1("title")+mm+span2+"</b></td><td align='left'>"+span1("title")+"<b>"+a1("titlea")+"'javascript:if (window.opener && !window.opener.closed && window.opener.nextMonth) window.opener.nextMonth("+d.getMonth()+")'>&nbsp;&#155;&nbsp;</a></b>"+span2+"</td></tr></table>\n</td></tr><tr align='center' bgcolor='"+daysColor+"'>";
  }
  else {
    s="<tr align='center' bgcolor='"+titleColor+"'><td colspan='7'>\n<table cellpadding='0' cellspacing='0' border='0'><tr align='center' valign='middle'><td>"+span1("title")+"<b>"+a1("titlea")+"'javascript:if (window.opener && !window.opener.closed && window.opener.prepMonth) window.opener.prepMonth("+d.getMonth()+")'>&#139;&nbsp;</a></b>"+span2+"</td><td width='"+titleWidth+"'><nobr><b>"+span1("title")+mm+" "+yy+span2+"</b></nobr></td><td>"+span1("title")+"<b>"+a1("titlea")+"'javascript:if (window.opener && !window.opener.closed && window.opener.nextMonth) window.opener.nextMonth("+d.getMonth()+")'>&nbsp;&#155;</a></b>"+span2+"</td></tr></table>\n</td></tr><tr align='center' bgcolor='"+daysColor+"'>";
  }

  for (var i=weekDay; i<weekDay+7; i++) {
    s+="<td width='"+dayWidth+"'>"+span1("days")+dayDisplay(i)+span2+"</td>";
  }

  s+="</tr>";

  return s;
}

function calHeader() {
  return "<head>\n<title>"+currentCal.title+"</title>\n<style type='text/css'>\n"+spanx("title",titleFontColor)+spanx("days",daysFontColor)+spanx("foot",footColor)+spanx("day",dayFontColor)+spanx("currentDay",currentDayFontColor)+ax("titlea",titleFontColor)+ax("daya",dayFontColor)+ax("currenta",currentDayFontColor)+ax("foota",footFontColor)+"</style>\n</head>  \n<body leftmargin='0' topmargin='0'>\n<table align='left' border='0' bgcolor='"+borderColor+"' cellspacing='0' cellpadding='1'><tr><td>\n<table cellspacing='1' cellpadding='3' border='0'>";
}

function calFooter() {
  return "<tr bgcolor='"+footColor+"'><td colspan='7' align='center'>"+span1("foot")+"<b>"+a1("foota")+"'javascript:if (window.opener && !window.opener.closed && window.opener.hideCal) window.opener.hideCal()'>"+yxLinks[0]+"</a></b>"+span2+"</td></tr></table>\n</td></tr></table>\n</body>";
}

function calBody(d,day) {
	var myToday = new Date();
	var myToday_ms = myToday.getTime();

	var s="", dayCount=1, fd=firstDay(d), ld=lastDay(d);

	if (weekDay > 0 && fd == 0) {
		fd = 7;
	}

	for (var i=0; i<6; i++) {
		s+="<tr align='center' bgcolor='"+bodyColor+"'>";
		for (var j=weekDay; j<weekDay+7; j++) {
			if (i*7+j<fd || dayCount>ld) {
				s+="<td>"+span1("day")+"&nbsp;"+span2+"</td>";
			}
			else {
				var fgTag="day";
				var fgTagA="daya";
				//	DATE SHOULDN'T BE SELECTABLE IF <= TODAY (ADDED BY BEN 14/07/04) 
				var thisFullDate = new Date(cY+"/"+(parseInt(cM)+1)+"/"+dayCount); // month val is zero-based!! 
				var thisFullDate_ms = thisFullDate.getTime(); // milliseconds since 1970 
				if (thisFullDate_ms<=myToday_ms){
					bgColor=disabledDayColor;
					if (dayCount==day) { 
						bgColor=currentDayColor; 
						fgTag="currentDay";
						fgTagA="currenta";
					}
					s+="<td bgcolor='"+bgColor+"'>"+span1(fgTag)+(dayCount++)+span2+"</td>";
				}
				// The else if is to block May to Oct off season dates - karl
				else if (thisFullDate.getMonth() > 3 && thisFullDate.getMonth() < 10){
					bgColor=disabledDayColor;
					if (dayCount==day) { 
						bgColor=currentDayColor; 
						fgTag="currentDay";
						fgTagA="currenta";
					}
					s+="<td bgcolor='"+bgColor+"'>"+span1(fgTag)+(dayCount++)+span2+"</td>";
				}
				
				// Dates past 2008 are not bookable
				else if (thisFullDate.getYear() > 2008){
					bgColor=disabledDayColor;
					if (dayCount==day) { 
						bgColor=currentDayColor; 
						fgTag="currentDay";
						fgTagA="currenta";
					}
					s+="<td bgcolor='"+bgColor+"'>"+span1(fgTag)+(dayCount++)+span2+"</td>";
				}
				
				else{
					bgColor=dayColor;
					if (dayCount==day) { 
						bgColor=currentDayColor; 
						fgTag="currentDay";
						fgTagA="currenta";
					}
					s+="<td bgcolor='"+bgColor+"'>"+span1(fgTag)+a1(fgTagA)+"'javascript: if (window.opener && !window.opener.closed && window.opener.pickDate) window.opener.pickDate("+dayCount+")'>"+(dayCount++)+"</a>"+span2+"</td>";
				}
			}
		}
		s+="</tr>";
	}
	return s;
}

function moveYear(dy) {
  cY+=dy;
  var nd=new Date(cY,cM,1);
  changeCal(nd);
}

function prepMonth(m) {
  cM=m-1;
  if (cM<0) { cM=11; cY--; }
  var nd=new Date(cY,cM,1);
  changeCal(nd);
}

function nextMonth(m) {
  cM=m+1;
  if (cM>11) { cM=0; cY++;}
  var nd=new Date(cY,cM,1);
  changeCal(nd);
}

function changeCal(d) {
  var dd = 0;

  if (currentCal != null) {
    var calRE = getFormat();

    if (currentCal.form[currentCal.field].value!="" && calRE.test(currentCal.form[currentCal.field].value)) {
      var cd = getDateNumbers(currentCal.form[currentCal.field].value);
      if (cd[0] == d.getFullYear() && cd[1] == d.getMonth()) {
        dd=cd[2];
      }
    }
    else {
      var cd = new Date();
      if (cd.getFullYear() == d.getFullYear() && cd.getMonth() == d.getMonth()) {
        dd=cd.getDate();
      }
    }
  }

  var calendar=calHeader()+calTitle(d)+calBody(d,dd)+calFooter();

  calWin.document.open();
  calWin.document.write(calendar);
  calWin.document.close();
}

function markClick(e) {

  if (isIE || isOpera6) {
    winX=event.clientX;
    winY=event.clientY;
  }
  else if (isN4 || isN6) {
    winX=e.clientX;
    winY=e.clientY;

    document.routeEvent(e);
  }

  if (isN4 || isN6) { 
    document.routeEvent(e); 
  } 
  else { 
    event.cancelBubble=false; 
  } 

  return true;
}

function showCal(name,e) {

  var lastCal=currentCal;
  currentCal = findCalendar(name);
  var iYear = parseInt(currentCal.form["yyyy"].options[currentCal.form["yyyy"].selectedIndex].value);
  var iMonth = parseInt(currentCal.form["mm"].options[currentCal.form["mm"].selectedIndex].value);
  var iDay = parseInt(currentCal.form["dd"].options[currentCal.form["dd"].selectedIndex].value);
  
	if (isNaN(iDay) || iDay == 0){
		iDay = iDefaultDay;
		iMonth = iDefaultMonth;
		iYear = iDefaultYear;
	}
  var d=new Date(iYear +"/"+ iMonth +"/"+ iDay), hasCal=false;

  if (currentCal != null && currentCal.form != null && currentCal.form[currentCal.field]) {
    var calRE = getFormat();

    if (currentCal.form[currentCal.field].value!="" && calRE.test(currentCal.form[currentCal.field].value)) {
      var cd = getDateNumbers(currentCal.form[currentCal.field].value);
      d=new Date(cd[0],cd[1],cd[2]);

      cY=cd[0];
      cM=cd[1];
      dd=cd[2];
    }
    else {
      cY=d.getFullYear();
      cM=d.getMonth();
      dd=d.getDate();
    }
	
	
    var calendar=calHeader()+calTitle(d)+calBody(d,dd)+calFooter();

    if (calWin != null && !calWin.closed) {
      hasCal=true;
      calWin.moveTo(e.clientX+calOffsetX,e.clientY+calOffsetY);
    }

    if (!hasCal) {
      if (isIE || isOpera6) {
        calWin=window.open("","cal","toolbar=0,width="+calWidth+",height="+calHeight+",left="+(e.clientX+calOffsetX)+",top="+(e.clientY+calOffsetY));
      }
      else {
        calWin=window.open("","cal","toolbar=0,width="+calWidth+",height="+calHeight+",screenx="+(e.clientX+calOffsetX)+",screeny="+(e.clientY+calOffsetY));
      }
    }

    calWin.document.open();
    calWin.document.write(calendar);
    calWin.document.close();

    calWin.focus();
  }
  else {
    if (currentCal == null) {
      window.status = "Calendar ["+name+"] not found.";
    }
    else if (!currentCal.form) {
      window.status = "Form ["+currentCal.formName+"] not found.";
    }
    else if (!currentCal.form[currentCal.field]) {
      window.status = "Form Field ["+currentCal.formName+"."+currentCal.field+"] not found.";
    }

    if (lastCal != null) {
      currentCal = lastCal;
    }
  }
}

function get2Digits(n) {
  return ((n<10)?"0":"")+n;
}

function clearDate() {
  currentCal.form[currentCal.field].value="";
  hideCal();
}

function pickDate(d) {
	hideCal();
	window.focus();
	
	var date=calFormat;
	date = date.replace(/yyyy/i, cY);
	date = date.replace(/mm/i, get2Digits(cM+1));
	date = date.replace(/MON/, yxMonths[cM].substring(0,3).toUpperCase());
	date = date.replace(/Mon/i, yxMonths[cM].substring(0,3));
	date = date.replace(/dd/i, get2Digits(d));
	date = date.replace(/DAY/, getDayName(cY,cM,d).toUpperCase());
	date = date.replace(/day/i, getDayName(cY,cM,d));
	
	currentCal.form[currentCal.field].value=date;
	
	myDates =date.split("/")
	
	currentCal.form[currentCal.field].value=myDates[2]+myDates[1]+myDates[0]; 
	
	iOptionLength = parseInt(currentCal.form["yyyy"].length)
	for(i=0;i<iOptionLength;i++){
		currentCal.form["yyyy"].options[i].setAttribute("selected",false);
			if (currentCal.form["yyyy"].options[i].value == myDates[0]) {
				currentCal.form["yyyy"].options[i].setAttribute("selected",true);
			}
	}
		
  iOptionLength = parseInt(currentCal.form["mm"].length)
	for(i=0;i<iOptionLength;i++){
		currentCal.form["mm"].options[i].setAttribute("selected",false);
			if (currentCal.form["mm"].options[i].value == myDates[1]) {
				currentCal.form["mm"].options[i].setAttribute("selected",true);
			}
	}
	
	iOptionLength = parseInt(currentCal.form["dd"].length)
	for(i=0;i<iOptionLength;i++){
		currentCal.form["dd"].options[i].setAttribute("selected",false);
			if (get2Digits(currentCal.form["dd"].options[i].value) == myDates[2]) {
				currentCal.form["dd"].options[i].setAttribute("selected",true);
			}
	}

	currentCal.form["dd"].onchange();
	currentCal.form["mm"].onchange();
	currentCal.form["yyyy"].onchange();
  
}


// user functions
function checkDate(name) {
  var thisCal = findCalendar(name);

  if (thisCal != null && thisCal.form != null && thisCal.form[thisCal.field]) {
    var calRE = getFormat();

    if (calRE.test(thisCal.form[thisCal.field].value)) {
      return 0;
    }
    else {
      return 1;
    }
  }
  else {
    return 2;
  }
}

function getCurrentDate() {
  var date=calFormat, d = new Date();
  date = date.replace(/yyyy/i, d.getFullYear());
  date = date.replace(/mm/i, get2Digits(d.getMonth()+1));
  date = date.replace(/dd/i, get2Digits(d.getDate()));

  return date;
}

function compareDates(date1, date2) {
  var calRE = getFormat();
  var d1, d2;

  if (calRE.test(date1)) {
    d1 = getNumbers(date1);
  }
  else {
    d1 = getNumbers(getCurrentDate());
  }

  if (calRE.test(date2)) {
    d2 = getNumbers(date2);
  }
  else {
    d2 = getNumbers(getCurrentDate());
  }

  var dStr1 = d1[0] + "" + d1[1] + "" + d1[2];
  var dStr2 = d2[0] + "" + d2[1] + "" + d2[2];

  if (dStr1 == dStr2) {
    return 0;
  }
  else if (dStr1 > dStr2) {
    return 1;
  }
  else {
    return -1;
  }
}

function getNumbers(date) {
  var calRE = getFormat();
  var y, m, d;

  if (calRE.test(date)) {
    var yIdx = calFormat.search(/yyyy/i);
    var mIdx = calFormat.search(/mm/i);
    var m3Idx = calFormat.search(/mon/i);
    var dIdx = calFormat.search(/dd/i);

    y=date.substring(yIdx,yIdx+4);
    if (mIdx != -1) {
      m=date.substring(mIdx,mIdx+2);
    }
    else {
      var mm=getMonthFromName(date.substring(m3Idx,m3Idx+3))+1;
      m=(mm<10)?("0"+mm):(""+mm);
    }
    d=date.substring(dIdx,dIdx+2);

    return new Array(y,m,d);
  }
  else {
    return new Array("", "", "");
  }
}
// ------

if (isN4 || isN6) {
  document.captureEvents(Event.CLICK);
}
document.onclick=markClick;


//Define calendar(s): addCalendar ("Unique Calendar Name", "Window title", "Form element's name", Form name")
//don't need to add calendars here - add in-page so each page form can have a calendar if it needs to
//addCalendar("Calendar1", "Select Date", "hdn_depdate", "frmSearch");
//addCalendar("Calendar2", "Select Date", "secondinput", "sampleform");

// default settings for English
// Uncomment desired lines and modify its values
// setFont("verdana", 9);
 setWidth(90, 1, 15, 1);
// setColor("#cccccc", "#cccccc", "#ffffff", "#ffffff", "#6699CC", "#cccccc", "#6699CC");
// setFontColor("#6699CC", "#6699CC", "#6699CC", "#ffffff", "#6699CC");
// setFormat("yyyy/mm/dd");
// setSize(200, 200, -200, 16);

// setWeekDay(0);
// setMonthNames("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
// setDayNames("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
// setLinkNames("[Close]", "[Clear]");

function getDepDate()
{

	var dd,mm,yy;
	var di,mi,yi;
	var arydaynames = new Array();
	arydaynames[0]="Sunday";
	arydaynames[1]="Monday";
	arydaynames[2]="Tuesday";
	arydaynames[3]="Wednesday";
	arydaynames[4]="Thursday";
	arydaynames[5]="Friday";
	arydaynames[6]="Saturday";
	
	di=document.forms['frmSearch'].elements['dd'].options[document.forms['frmSearch'].elements['dd'].selectedIndex];
	mi=document.forms['frmSearch'].elements['mm'].options[document.forms['frmSearch'].elements['mm'].selectedIndex];
	yi=document.forms['frmSearch'].elements['yyyy'].options[document.forms['frmSearch'].elements['yyyy'].selectedIndex];

	dd=di.value;
	mm=mi.value;
	yy=yi.value;

	var yyyy=yi.text;
	if(mm > 4 && mm < 11) {
		alert("Sorry. May to Oct is not bookable.");
		document.frmSearch.mm.focus();
		for (i=0; i<12;i++){	// reset to November
			if (document.forms['frmSearch'].elements['mm'].options[i].value==11){
				document.forms['frmSearch'].elements['mm'].selectedIndex=i;
			}
		}
	} 	
	var myDate=new Date(yyyy,mm,dd);
	
	document.forms['frmSearch'].elements['hdn_depdate'].value=get2Digits(dd)+""+mm+""+yyyy;
	
}



// The following function is added to set the 
// dropdown date fields with default date at the time of loading
// This first function must be called at the time of body onload - karl

function initdt(formName) {
	if (document.forms[formName] != null){
		var t = new Date;
		// WE CAN'T SET THE DATE TO TODAY IF WE DON'T ALLOW MAY-OCT 
		// Month April=3 , May = 4, June = 5 etc.
		// Day 30th = 29 etc.
		if ( (t.getDate() == 30 && t.getMonth() == 3) || t.getMonth() == 4 || t.getMonth() == 5 || t.getMonth() == 6 || t.getMonth() == 7 || t.getMonth() == 8 || t.getMonth() == 9)
			t.setTime(Date.parse( "November 1," + t.getYear() ));				 
		else
			t.setDate(t.getDate() + 1); // to set tomorrow's date as default

		var mf = document.forms[formName];
		mf.dd.value = t.getDate() //getValue(t.getDate()); --> suddenly this stopped working properly, even in thomsoncities
		mf.mm.value = getValue(t.getMonth() + 1);
		mf.yyyy.value = (t.getFullYear()+"");
		
		getDepDate();
	}
}

function uninitdt(formName) {

 if (document.forms[formName] != null)  {
 var mf = document.forms[formName];
 mf.dd.value = "";
 mf.mm.value = "";
 mf.yyyy.value = "";
 }

}

function initDtWithDate(dd,mm,yy,formName) {
 var mf = document.forms[formName];
	di=mf.elements['dd'];
	di.value = dd;
	mi=mf.elements['mm'];
	mi.value = getValue(mm);
	yi=mf.elements['yyyy'];
	yi.value=yy;
	
	getDepDate();
}

// This is convert the single digit date & month (1 - 9)
// into 2 digit string (01 - 09). This is important for the calender to work

function getValue(val)
 {
	if (val < 10) {
	val = "0" + val;
	}
 return val;
 }

//]]>
function getSelelectCouRes (){
		var cid = document.getElementById("countryList1").value;
		var  cidarr = cid.split('|');
	    if (cidarr.length >1){
	    document.getElementById("countryList").value = cidarr[1];
		document.getElementById("resortList").value = cidarr[0];
		} else{
		document.getElementById("countryList").value = cidarr[0];
		document.getElementById("resortList").value = "";
		}
		}
function validateMonth()
  {
	    var monyearid = document.getElementById("datemmyy").value;
    	var monyear=String(monyearid);
	    var mon=monyear.substring(0,3);
        var year=monyear.substring(4,8);
		var month;
		switch(mon)
	  {
			case "Jan":month=1;break
			case "Feb":month=2;break
			case "Mar":month=3;break
			case "Apr":month=4;break
			case "May":month=5;break
			case "Jun":month=6;break
			case "Jul":month=7;break
			case "Aug":month=8;break				
			case "Sep":month=9;break
			case "Oct":month=10;break
			case "Nov":month=11;break
			case "Dec":month=12;break
	  }
		
		if( month > 4 && month < 11 )
					{
			alert("Sorry. May to Oct is not bookable.");
			return false
			}
			else
			{
				var myToday = new Date();
				var myToday_ms = myToday.getTime();
			    var monyearid = document.getElementById("datemmyy").value;
				var monyear=String(monyearid);
				var mon=monyear.substring(0,3);
		        var year=monyear.substring(4,8);
				var myTomorrow = new Date(myToday.getFullYear(),myToday.getMonth(), myToday.getDate() + 1);
				var month;
				switch(mon)
				{
					case "Jan":month=0;break
					case "Feb":month=1;break
					case "Mar":month=2;break
					case "Apr":month=3;break
					case "May":month=4;break
					case "Jun":month=5;break
					case "Jul":month=6;break
					case "Aug":month=7;break				
					case "Sep":month=8;break
					case "Oct":month=9;break
					case "Nov":month=10;break
					case "Dec":month=11;break
				}
				var thisFullDate = new Date(parseInt(year),month,document.getElementById("datedd").value);
				var thisFullDate_ms = thisFullDate.getTime(); // milliseconds since 1970 
				if (thisFullDate_ms<=myToday_ms)
				{
					alert('Please note that booking for today or earlier than today is not possible!');
					document.getElementById("datedd").selectedIndex = 0;
					document.getElementById("datemmyy").selectedIndex = 0; 
					document.getElementById("datedd").focus();
					return false;		
				}
				else 
				{
					return true;
				}
			}
	}

   function getSelecteMonYearToForm()
  {
	 // alert("In the get selecte monyear to form function")
	  var monyearid = document.getElementById("datemmyy").value;
		var monyear=String(monyearid);
	    var mon=monyear.substring(0,3);
        var year=monyear.substring(4,8);
		//alert("Month = "+mon+"Year is "+year);
		var month;
		switch(mon)
	  {
			case "Jan":month=1;break
			case "Feb":month=2;break
			case "Mar":month=3;break
			case "Apr":month=4;break
			case "May":month=5;break
			case "Jun":month=6;break
			case "Jul":month=7;break
			case "Aug":month=8;break				
			case "Sep":month=9;break
			case "Oct":month=10;break
			case "Nov":month=11;break
			case "Dec":month=12;break
	  }
		
	
		if (month <= 9)
		{
		month = "0"+month
		}
		
		//alert("Month ="+month+"Year="+year);
		document.getElementById("mm").value = month;
		document.getElementById("yyyy").value =year;
	  
	
 }

    function getSelelectMonYear ()
	 {

var sdate = document.frmSearch.startdate.value;
var edate =document.frmSearch.endate.value;
var dayid = document.getElementById("datedd").value;
dayid=parseInt(dayid);


		var syy =  "20"+sdate.substring(0,2);
		var smm =  sdate.substring(2,4) - 1 ;
		var sdd =  sdate.substring(4,6);		

		var eyy =  "20"+edate.substring(0,2);
		var emm =  edate.substring(2,4) - 1;
		var edd =  edate.substring(4,6);	
			 
if (sdate == "")
	{
 var tstart = new Date;
 tstart.setDate(tstart.getDate() + 1); // to set tomorrow's date as default
 var ddstart = getValue(tstart.getDate()); 
 var mmstart = getValue(tstart.getMonth());
 var mmyear = tstart.getFullYear();
 var d1 = new Date(mmyear,mmstart,ddstart); //start date 

} 

else 
{
var d1 = new Date(syy,smm,sdd); //start date
}

if (edate == "")
{
var d2 = new Date(2008,11,31); //end date
}
else 
{
var d2 = new Date(eyy,emm,edd); //end date
}
			//var d1 = new Date(2006,00,09);
			//var d2 = new Date(2006,10,09);
var monyearid = document.getElementById("datemmyy").value;
		var monyear=String(monyearid);
	    var mon=monyear.substring(0,3);
        var year=monyear.substring(4,8);
		//alert("U selected month="+mon+"And Year is "+year);
		
        var obj = document.getElementById("datedd");
		var yearnum =parseInt(year); //document.getElementById("year").value;
		var tempyearnum=yearnum;
		var jan = '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31';
		 
if(yearnum%4==0) 
{ var feb = '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29'; }
else 
{ var feb = '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28'; }
 
var mar = '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31';
var apr = '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30';
var may = '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31';
var jun = '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30';
var jul = '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31';
var aug = '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31';
var sep = '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30';
var oct = '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31';
var nov = '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30';
var dec = '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31';
 
var temp = new Array();
var month;
if(mon=="Jan") { temp = jan.split(","); month=1;}
if(mon=="Feb") { temp = feb.split(","); month=2;}
if(mon=="Mar") { temp = mar.split(","); month=3;}
if(mon=="Apr") { temp = apr.split(","); month=4;}
if(mon=="May") { temp = may.split(","); month=5;}
if(mon=="Jun") { temp = jun.split(","); month=6;}
if(mon=="Jul") { temp = jul.split(","); month=7;}
if(mon=="Aug") { temp = aug.split(","); month=8;}
if(mon=="Sep") { temp = sep.split(","); month=9;}
if(mon=="Oct") { temp = oct.split(","); month=10;}
if(mon=="Nov") { temp = nov.split(","); month=11;}
if(mon=="Dec") { temp = dec.split(",");month=12; }
/* this condition is to delete all dates from combo so that new dates will be loaded */

if( month > 4 && month < 11 )
{
alert("Sorry. May to Oct is not bookable.");
document.getElementById("datedd").options.length=0;
restoreall();
}
else
{


//var monyearid = document.getElementById("datemmyy").value;
//var monyear=String(monyearid);
//var mon=monyear.substring(0,3);
//var year=monyear.substring(3,7);
var initday=d1.getDate();
var initmonth=d1.getMonth()+1;
var inittemp=initmonth;
//alert("The innitial month is "+initmonth);
var inityear=d1.getFullYear();

switch(inittemp)
{
case 1:initmonth="Jan";break
case 2:initmonth="Feb";break
case 3:initmonth="Mar";break
case 4:initmonth="Apr";break 
case 5:initmonth="May";break
case 6:initmonth="Jun";break
case 7:initmonth="Jul";break
case 8:initmonth="Aug";break
case 9:initmonth="Sep";break
case 10:initmonth="Oct";break
case 11:initmonth="Nov";break
case 12:initmonth="Dec";break
//default:alert("In the default section of swithc of initmonth ");
}
var midend;
switch(inittemp)
	{
	case 1: midend=31; break
	case 2: midend=28; break
	case 3: midend=31;  break
	case 4: midend=30; break
	case 5: midend=31;break 
	case 6: midend=30; break
	case 7: midend=31; break
	case 8: midend=31; break
	case 9: midend=30; break
	case 10: midend=31; break
	case 11: midend=30; break
	case 12: midend=31; break
//    default:alert("In the default Section of the switch statement for midend");
	}

var endday=d2.getDate();
var endmonth=d2.getMonth()+1;
switch(endmonth)
{
case 1:endmonth="Jan";break
case 2:endmonth="Feb";break
case 3:endmonth="Mar";break
case 4:endmonth="Apr";break
case 5:endmonth="May";break
case 6:endmonth="Jun";break
case 7:endmonth="Jul";break
case 8:endmonth="Aug";break
case 9:endmonth="Sep";break
case 10:endmonth="Oct";break
case 11:endmonth="Nov";break
case 12:endmonth="Dec";break
}
var yearnum=d2.getFullYear();
var endyear=parseInt(year);
		//document.getElementById("year").value;

		if ( (mon == endmonth)&&(parseInt(yearnum)==endyear))
		{

		var tempn=new Array();
		tempn=temp.slice(0,endday);
		temp=tempn;
		}
		//alert("initmonth "+initmonth +"And mon = "+mon);
		//alert("inityear "+inityear+"and year num ="+yearnum);
		
		if ( (mon == initmonth)&&(parseInt(tempyearnum)==inityear))
		{
		//alert("The mon ="+mon+"Initmonth = "+initmonth+"init year is "+inityear+"And tempyear num is "+tempyearnum);
		var tempn=new Array();
		tempn=temp.slice(initday-1,midend);
		temp=tempn;
		}

firstday=temp[0];
if(document.getElementById("datedd").options.length>0)
   document.getElementById("datedd").options.length=0;
//-------------------------------------
//this is for loading dates in combo

for(var i=0;i<temp.length;i++)
  document.getElementById("datedd").options[i] = new Option(temp[i],temp[i]);
  //get the last date of the generated month
var lastday=temp[i-1];
if(lastday > dayid)
{  
				try
				{
						if(firstday<dayid)
					  document.frmSearch.datedd.options[dayid-1].selected = true;
					  }
					  catch(err)
					  {
					  }
				  }
  else
  {
				  try
				  {
				   document.frmSearch.datedd.options[lastday-1].selected = true;
				   }
				   catch(err)
				   {
				   }
     }
       
   


    }//else close
  
  }	



// To filter calender dates

function filtercalender(sdate,edate,typeflag) {
	  // alert(typeflag);
	  //var sdatearr = sdate.split('-');
	 
		var syy =  "20"+sdate.substring(0,2);
		var smm =  sdate.substring(2,4) - 1 ;
		var sdd =  sdate.substring(4,6);		
	  //  var edatearr = edate.split('-');
	 
		var eyy =  "20"+edate.substring(0,2);
		var emm =  edate.substring(2,4) - 1;
		var edd =  edate.substring(4,6);	
		var d1;
		var d2;
        
		

		if (typeflag == "1")
		{
			if ((sdate == "") && (edate != "")){
            d1 = new Date(eyy,emm,edd);
            } else {
           d1 = new Date(syy,smm,sdd); //start date
            }

            if ((edate == "") && (sdate != "")){
            d2 = d1; //end date
            } else {
            d2 = new Date(eyy,emm,edd); //end date
            }

			if ((sdate == "") && (edate == ""))
			{
			 var tstart = new Date;
			 tstart.setDate(tstart.getDate() + 1); // to set tomorrow's date as default
			 var ddstart = getValue(tstart.getDate()); 
			 var mmstart = getValue(tstart.getMonth());
			 var mmyear = tstart.getFullYear();
			  //d1 = new Date(mmyear,mmstart,ddstart); //start date 
			 d1 = new Date(mmyear,mmstart,ddstart);
			 var d2 = new Date(2008,11,31); //end date
			}
		} else {
			 var tstart = new Date;
			 tstart.setDate(tstart.getDate() + 1); // to set tomorrow's date as default
			 var ddstart = getValue(tstart.getDate()); 
			 var mmstart = getValue(tstart.getMonth());
			 var mmyear = tstart.getFullYear();
			  //d1 = new Date(mmyear,mmstart,ddstart); //start date 
			 d1 = new Date(mmyear,mmstart,ddstart);
			 var d2 = new Date(2008,11,31); //end date
		}
			 


var d1default = 0; // default date
var mmyydefault = 02006; //default month and year

var arr1dd =  new Array(); 
var arr2dd = new Array();
var arr1mmyy =  new Array(); 
var arr2mmyy = new Array();
var temp1 = new Array();
var temp2 = new Array();
var temp3 = new Array();


var yxMonths=new Array("0","Jan","1","Feb","2","Mar","3","Apr","4","May","5","Jun","6","Jul","7","Aug", "8","Sep","9","Oct","10","Nov","11","Dec");


/*
arr2dd.push(d1.getDate());
arr2mmyy.push((String(d1.getMonth()))+(String(d1.getFullYear())));

for(x=d1;x<d2;)
{
  i = 0;
  x.setDate(x.getDate()+1);
  dd = x.getDate();
  mmyy = String(x.getMonth())+String(x.getFullYear());
  arr1dd[i] = dd;
  arr1mmyy[i] = mmyy;
   arr2dd.push(arr1dd[i]) ;
   arr2mmyy.push(arr1mmyy[i]) ;
  i++;
}*/
	var initdate=d1.getDate();
			var inityear=d1.getFullYear();
			var inittemp=d1.getFullYear();
			var initmonth=d1.getMonth()+1;
			//alert("Initial month after declaratino "+initmonth);
			var endyear=d2.getFullYear();
			var endtemp=d2.getFullYear();
			var endmonth=d2.getMonth()+1;
			var enddate=d2.getDate();

switch(initmonth)
	{
	case 1: midend=31; break
	case 2: midend=28; break
	case 3: midend=31;  break
	case 4: midend=30; break
	case 5: midend=31;break 
	case 6: midend=30; break
	case 7: midend=31; break
	case 8: midend=31; break
	case 9: midend=30; break
	case 10: midend=31; break
	case 11: midend=30; break
	case 12: midend=31; break
  // default:alert("In the default Section of the switch statement");
	}
			var		tempinit	= inityear;
			var     tempend = endyear;
	
	if( (initmonth == endmonth)&&(tempinit == tempend) )
		{
//		alert("Will  be true if initmonth and endmonth is same and the years also same ")
		for(var i=initdate;i<=parseInt(enddate);i++)
		{
		arr2dd[i]=i;
		}
		}
		else
		{
		//alert("Init date is "+initdate+"End Date  is "+midend);
		for(var i=initdate;i<=midend;i++)
		arr2dd[i]=i;
		}

		var p=0;
		while(inityear<=endyear)
		{
			//alert(" Firt step of while loop and inityear is "+inityear);
		if(tempinit == tempend )
			{
			//alert("Initial month in for loop  "+initmonth);	
			 var em=parseInt(endmonth);
			 for(var I=initmonth;I<=em;I++)
				{
				 var mmyy;
				 switch(I)
					{
						case 1:mmyy= "Jan"+" "+String(inittemp);arr2mmyy[p]=mmyy;p++; break
						case 2:mmyy= "Feb"+" "+String(inittemp);arr2mmyy[p]=mmyy;p++;break
						case 3:mmyy= "Mar"+" "+String(inittemp);arr2mmyy[p]=mmyy;p++;break
						case 4:mmyy= "Apr"+" "+String(inittemp);  arr2mmyy[p]=mmyy;p++;break
						case 5:mmyy= "May"+" "+String(inittemp); arr2mmyy[p]=mmyy;p++;break
						case 6:mmyy= "Jun"+" "+String(inittemp); arr2mmyy[p]=mmyy;p++;break
						case 7:mmyy= "Jul"+" "+String(inittemp);arr2mmyy[p]=mmyy;p++;break
						case 8:mmyy= "Aug"+" "+String(inittemp);arr2mmyy[p]=mmyy;p++;break
						case 9:mmyy= "Sep"+" "+String(inittemp); arr2mmyy[p]=mmyy;p++;break
						case 10:mmyy="Oct"+" "+String(inittemp); arr2mmyy[p]=mmyy;	p++;break
						case 11:mmyy="Nov"+" "+String(inittemp);arr2mmyy[p]=mmyy;	p++;break
						case 12:mmyy="Dec"+" "+String(inittemp);arr2mmyy[p]=mmyy;	p++;break
					}
				}
			}

		else
			{
//This condition will be true for the first iteration of the loop.
	if(inityear==inittemp)
			{
				for(var I=initmonth;I<=12;I++)
				{
				var mmyy;
				switch(I)
					{
						case 1:mmyy= "Jan"+" "+String(inittemp);arr2mmyy[p]=mmyy;p++; break
						case 2:mmyy= "Feb"+" "+String(inittemp);arr2mmyy[p]=mmyy;p++;break
						case 3:mmyy= "Mar"+" "+String(inittemp);arr2mmyy[p]=mmyy;p++;break
						case 4:mmyy= "Apr"+" "+String(inittemp);  arr2mmyy[p]=mmyy;p++;break
						case 5:mmyy= "May"+" "+String(inittemp); arr2mmyy[p]=mmyy;p++;break
						case 6:mmyy= "Jun"+" "+String(inittemp); arr2mmyy[p]=mmyy;p++;break
						case 7:mmyy= "Jul"+" "+String(inittemp);arr2mmyy[p]=mmyy;p++;break
						case 8:mmyy= "Aug"+" "+String(inittemp);arr2mmyy[p]=mmyy;p++;break
						case 9:mmyy= "Sep"+" "+String(inittemp); arr2mmyy[p]=mmyy;p++;break
						case 10:mmyy="Oct"+" "+String(inittemp); arr2mmyy[p]=mmyy;	p++;break
						case 11:mmyy="Nov"+" "+String(inittemp);arr2mmyy[p]=mmyy;	p++;break
						case 12:mmyy="Dec"+" "+String(inittemp);arr2mmyy[p]=mmyy;	p++;break
					}
				}
			}
	else if (inityear==endtemp)
	{
		//alert("This  will be tru for last year ");
    
		var em=parseInt(endmonth);
		for(I=1;I<=em;I++)
		
		{
			var mmyy;
			switch(I)
					{
						case 1:mmyy= "Jan"+" "+String(endtemp);arr2mmyy[p]=mmyy;p++; break
						case 2:mmyy= "Feb"+" "+String(endtemp);arr2mmyy[p]=mmyy;p++;break
						case 3:mmyy= "Mar"+" "+String(endtemp);arr2mmyy[p]=mmyy;p++;break
						case 4:mmyy= "Apr"+" "+String(endtemp);  arr2mmyy[p]=mmyy;p++;break
						case 5:mmyy= "May"+" "+String(endtemp); arr2mmyy[p]=mmyy;p++;break
						case 6:mmyy= "Jun"+" "+String(endtemp); arr2mmyy[p]=mmyy;p++;break
						case 7:mmyy= "Jul"+" "+String(endtemp);arr2mmyy[p]=mmyy;p++;break
						case 8:mmyy= "Aug"+" "+String(endtemp);arr2mmyy[p]=mmyy;p++;break
						case 9:mmyy= "Sep"+" "+String(endtemp); arr2mmyy[p]=mmyy;p++;break
						case 10:mmyy="Oct"+" "+String(endtemp); arr2mmyy[p]=mmyy;p++;break
						case 11:mmyy="Nov"+" "+String(endtemp);arr2mmyy[p]=mmyy;p++;break
						case 12:mmyy="Dec"+" "+String(endtemp);arr2mmyy[p]=mmyy;p++;break
					}
					
		}

	}
	else
		{
		//alert("Will be tru for the between years");
		for(I=1;I<=12;I++)
				{
				var mmyy;
				switch(I)
					{
						case 1:mmyy= "Jan"+" "+String(inityear);arr2mmyy[p]=mmyy;p++; break
						case 2:mmyy= "Feb"+" "+String(inityear);arr2mmyy[p]=mmyy;p++;break
						case 3:mmyy= "Mar"+" "+String(inityear);arr2mmyy[p]=mmyy;p++;break
						case 4:mmyy= "Apr"+" "+String(inityear);  arr2mmyy[p]=mmyy;p++;break
						case 5:mmyy= "May"+" "+String(inityear); arr2mmyy[p]=mmyy;p++;break
						case 6:mmyy= "Jun"+" "+String(inityear); arr2mmyy[p]=mmyy;p++;break
						case 7:mmyy= "Jul"+" "+String(inityear);arr2mmyy[p]=mmyy;p++;break
						case 8:mmyy= "Aug"+" "+String(inityear);arr2mmyy[p]=mmyy;p++;break
						case 9:mmyy= "Sep"+" "+String(inityear); arr2mmyy[p]=mmyy;p++;break
						case 10:mmyy="Oct"+" "+String(inityear); arr2mmyy[p]=mmyy;	p++;break
						case 11:mmyy="Nov"+" "+String(inityear);arr2mmyy[p]=mmyy;	p++;break
						case 12:mmyy="Dec"+" "+String(inityear);arr2mmyy[p]=mmyy;	p++;break
					}
					
				}
		}
	
	}
inityear++;
	
//alert(" inityear after increment "+inityear);
}
/*for(I=initdate;I<=31;I++)
arr2dd[I]=I;*/
/*for(x=d1;x<d2;)
{
  i = 0;
  x.setDate(x.getDate()+1);
  dd = x.getDate();
  mmyy = String(x.getMonth())+String(x.getFullYear());
  arr1dd[i] = dd;
  arr1mmyy[i] = mmyy;
   arr2dd.push(arr1dd[i]) ;
   arr2mmyy.push(arr1mmyy[i]) ;
  i++;
}*/




var ddarr = new datefilter(arr2dd,"ddref");
var mmyyarr = new datefilter(arr2mmyy,"mmyyref");

function datefilter(inarray,ref)
{
  for (k=0;k<inarray.length;k++ )
  {
    addOption(inarray[k],k,ref);
  }
  
}

function addOption (arrval,m,ref)
{
  
  if ((m==0) && (ref=="mmyyref"))
  {
  temp3.push(arrval);
  } else if ((m==0) && (ref=="ddref"))
  {
  temp2.push(arrval);
  }
   temp1.push(arrval);
   if (m>0)
   {
  		for(l=0;l<(temp1.length-1);l++)
		{
		if (arrval == temp1[l] )
		{
		  break;
		} else if(l ==(temp1.length-2)  ) {
		 if (ref=="mmyyref"){
		temp3.push(arrval); 
		} else if (ref=="ddref"){
		temp2.push(arrval); 
		} 
		}
		}

  } 
  
} 

//dd
/*temp2.sort(sortNumber);
for (n=0;n<temp2.length;n++)
{

  p = new Option(temp2[n],temp2[n]);
  document.frmSearch.datedd.options[n] = p;
  if (d1default == temp2[n]){
  document.frmSearch.datedd.options[n].selected = true;
  }
}

function sortNumber(sa, sb)
{
return sa - sb ;
}

//mmyy
for (a=0;a<temp3.length;a++)
{

 if ( temp3[a].length == 5)
 {
 strsub1 = temp3[a].substr(0,1);
 strsub2 = temp3[a].substr(1,4);
 } else  if ( temp3[a].length == 6)
 {
 strsub1 = temp3[a].substr(0,2);
 strsub2 = temp3[a].substr(2,4);
 }

strsubtxt = monthconv(strsub1,yxMonths) + " " + strsub2;
strsubval = strsub1 + "|" + strsub2;
//alert(strsubval);
  b = new Option(strsubtxt,strsubval);
  document.frmSearch.datemmyy.options[a] = b;

   if (mmyydefault == temp3[a]){
  document.frmSearch.datemmyy.options[a].selected = true;

  }

}*/
//dd
temp2.sort(sortNumber);
for (n=0;n<temp2.length-1;n++)
{
 //var i = n+1;
  p = new Option(temp2[n],temp2[n]);
  document.frmSearch.datedd.options[n] = p;
}
//document.frmSearch.datedd.options[0].selected = true;

function sortNumber(sa, sb)
{
return sa - sb ;
}
//for(k=0;k<temp3.length;k++)
//alert("The values to be displayed are "+temp3[k]);

//mmyy
for(a=0;a<temp3.length;a++)
		{
	p=new Option(temp3[a],temp3[a]);
	document.frmSearch.datemmyy.options[a]=p;
   if (mmyydefault == temp3[a])
	   {
      document.frmSearch.datemmyy.options[a].selected = true;
       }
	    }



function monthconv(txt,yxMonths){

for(xyz=0;xyz<yxMonths.length ;xyz=xyz+2) {
if(yxMonths[xyz] == txt) {
				
				return yxMonths[xyz+1]
				break;
			}
  
			
} 
}
  
}
function getFocus()
{
}

function getSelelectDay ()
	{
		var dayid = document.getElementById("datedd").value;
		if (dayid <= 9)
		{
		dayid = "0"+dayid
		}
		document.getElementById("dd").value = parseInt(dayid);
	}