var ie=document.all
var ns6=document.getElementById&&!document.all
var n=document.layers

if (n || ns6) varYearAdjustment=1900
var tableColWidth=12;
if (ns6) {var tableColWidth=20;}
if (ie) varYearAdjustment=0

var MonthNames = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");
var nCurrentYear = 0;
var nCurrentMonth = 0;
var CurrentDate;
var nCurrentDistrict=0;
var nSMCurrentYear = 0;
var nSMCurrentMonth = 0;
var nSMCurrentDate=0;
var DistrictFolder = new Array("DST1", "DST2");
var DistrictFolder2 = new Array("DST1", "DST2");
var photos=new Array()
var photos2=new Array()
var nWidth;
var nHeight;
var loopDate;
var ServerMatchDate;
var ServerMatchDateRange;
var StopOrPause=false;
var DateSelected=false;



function Calendar() {
	var HTMLstr = "";
	HTMLstr += "<table width='121' cellspacing='0' height='61' cellpadding='0' border='0'>\n";
	HTMLstr += "<tr><td width='104' height='120'></td></tr>\n";
	HTMLstr += "</table>\n";
	HTMLstr += "<table width='121' cellspacing='0' cellpadding='0' border='1' bordercolor='#000000'>\n";
	
	HTMLstr += "<tr><td bgcolor='darkblue'>\n";
	HTMLstr += "\n";
	
	HTMLstr += "<table border='0' height='25' width='100%' cellpadding=1 cellspacing=0>\n";
	
	HTMLstr += "<tr height='12'>\n";
	HTMLstr += "<td colspan=4 align=center><p class=title>CALENDAR</p></td>\n";
	HTMLstr += "\n";
	HTMLstr += "</tr>\n";	
	HTMLstr += "<tr height='12'>\n";
	HTMLstr += "<td><b><p class=title>Month:</p></td>\n";
	HTMLstr += "\n";
	HTMLstr += "<td align='right'>\n";
	if (n) {
		HTMLstr += "<a href=\"javascript:prevMonth();\"><img src=\"images\\backwarda.gif\" border=0></a>\n";
	}
	if (ie||ns6) {
		HTMLstr += "<a href=\"javascript:prevMonth();\" style='text-decoration: none; color: white'><img src=\"images\\backwarda.gif\" border=0></a>\n";
	}
	HTMLstr += "</td>\n";
	HTMLstr += "\n";
	HTMLstr += "<td align='center' width='15'>\n";
	if (ie||ns6) HTMLstr += "<div id='main2' style='position=relative; align=center'>";
	if (n) HTMLstr += "<ilayer id='main2'><layer id='idMonth' top='0' left='0' width='20'>\n";
	HTMLstr += "<p class='monthTitle'>Dec</p>\n";
	if (ie||ns6) HTMLstr += "</div>\n";
	if (n) HTMLstr += "</layer></ilayer>\n";
	HTMLstr += "</td>\n";
	HTMLstr += "<td align='right'>\n";
	if (ie||ns6) {
		HTMLstr += "<a href=\"javascript:nextMonth();\" style='text-decoration: none; color: white'><img src=\"images\\forwarda.gif\" border=0></a>\n";
	}
	if (n) {
		HTMLstr += "<a href=\"javascript:nextMonth();\"><img src=\"images\\forwarda.gif\" border=0></a>\n";
		HTMLstr += "</layer></ilayer>\n";
	}
	HTMLstr += "</td>\n";
	HTMLstr += "\n";
	HTMLstr += "</tr>\n";
	
	HTMLstr += "</table>\n";
	HTMLstr += "\n";
	HTMLstr += "</td></tr>\n";
	HTMLstr += "\n";
	
	HTMLstr += "<tr height='110'><td valign=\"top\">\n";
	HTMLstr += "\n";
	
	HTMLstr += "<table border=0>\n";
	
	HTMLstr += "<tr>\n";
	HTMLstr += "<td width='"+tableColWidth+"' align='center'><p class=BoldTitle>S</p></td>\n";
	HTMLstr += "<td width='"+tableColWidth+"' align='center'><p class=BoldTitle>M</p></td>\n";
	HTMLstr += "<td width='"+tableColWidth+"' align='center'><p class=BoldTitle>T</p></td>\n";
	HTMLstr += "<td width='"+tableColWidth+"' align='center'><p class=BoldTitle>W</p></td>\n";
	HTMLstr += "<td width='"+tableColWidth+"' align='center'><p class=BoldTitle>Th</p></td>\n";
	HTMLstr += "<td width='"+tableColWidth+"' align='center'><p class=BoldTitle>F</p></td>\n";
	HTMLstr += "<td width='"+tableColWidth+"' align='center'><p class=BoldTitle>Sa</p></td>\n";
	HTMLstr += "</tr>\n";
	
	HTMLstr += "<tr>\n";
	HTMLstr += "<td colspan=7 width=104>\n";
	if (ie||ns6)HTMLstr += "<div id=mainBorder style='position: relative;'>";
	if (n) HTMLstr += "<ilayer id='idMenuContainer' height='61' width='121'>\n";
	if (n) {
		HTMLstr += "  <layer id=\"idDateBorderCell\" width=\"11\" height=\"11\" bgcolor=\"#C4D7FF\" z-index=\"1000\"></layer>\n";
	}		
	if (ie||ns6) {
		HTMLstr += "  <div id=\"idDateBorderCell\" style=\"position: absolute; visibility: hidden; background-color: #a6a6f7;width: 11px; height: 11px; font-size:10px; z-index: 0;\"></div>\n";
	}
	for (var date=1; date <= 31; date++) {
		if (n) {
			HTMLstr += "  <layer id=\"idDate"+date+"\" val="+date+" visibility=\"hide\">\n";
			HTMLstr += "    <layer><a href='javascript:PreLoadStartUp("+date+")'>"+date+"</a></layer>\n";
			HTMLstr += "  </layer>\n";
		}
		if (ie||ns6) {
			HTMLstr += "  <div id=\"idDate"+date+"\" val="+date+" style=\"position: absolute; visibility: hidden; \">\n";
			HTMLstr += "    <a href='javascript:PreLoadStartUp("+date+")' style='text-decoration:none'>"+date+"</a>\n";
			HTMLstr += "  </div>\n";			
		}
	}
	if (ie||ns6)HTMLstr += "</div>";
	if (n) HTMLstr += "</ilayer>\n";


	
	HTMLstr += "</td></tr>\n";
	HTMLstr += "</table>\n";
	HTMLstr += "\n";
	
	HTMLstr += "</td></tr>\n";
	HTMLstr += "</table>\n";
	
	document.writeln(HTMLstr);
	if (n) {
		OfftheDateFocus();
	}
}

function setToday(nSMDate, nSMMonth, nSMYear) {
  CurrentDate = new Date(nSMYear, nSMMonth-1, nSMDate);
  currentYear=CurrentDate.getYear();
  currentYear+=varYearAdjustment;
  currentMonth=CurrentDate.getMonth()+1;
  currentDate=CurrentDate.getDate();
  setYearMonth(currentYear, currentMonth);  
  PreLoadStartUp(currentDate);
}

function setYearMonth(nYear, nMonth) {
  if (ie||ns6) {
	  nCurrentYear = nYear;
	  nCurrentMonth = nMonth;
	  nWidth=10; nHeight=14;
	  var cross_obj2=ns6? document.getElementById("main2"): document.all["main2"]	  
	  cross_obj2.innerHTML = "<p class='monthTitle'>"+MonthNames[nCurrentMonth-1]+"</p>\n";
	
	  var date   = new Date(nCurrentYear, nCurrentMonth-1, 1);
	  var nWeek  = 1;
	  var nDate;
	
	  while (date.getMonth() == nCurrentMonth-1) {
		nDate = date.getDate();
		nLastDate = nDate;
	
		var posDay = date.getDay();
		var posLeft = posDay*(nWidth+5)+5;
		var posTop  = (nWeek-1)*nHeight;
		
	    var cross_obj3=ns6? document.getElementById("idDate"+nDate).style : document.all["idDate"+nDate].style
		cross_obj3.left = posLeft;
		cross_obj3.top  = posTop;
		cross_obj3.visibility = "visible";
		date = new Date(nCurrentYear, date.getMonth(), date.getDate()+1);
		
		if (posDay == 6) nWeek++;
	  }
	  for (++nDate; nDate <= 31; nDate++) {
		cross_obj3=ns6? document.getElementById("idDate"+nDate).style : document.all["idDate"+nDate].style
		cross_obj3.visibility = "hidden";
	  }
  }
  if (n) {
	  // Verify parameters
	  if (nMonth < 1 || nMonth > 12) {alert("Function: setYearMonth()\nERROR: Incorrect month "+nMomth);}
	  nWidth=12; nHeight=12;
	  nCurrentYear = nYear;
	  nCurrentMonth = nMonth;
	  document.main2.document.idMonth.document.open();
	  document.main2.document.idMonth.document.write("<p class='monthTitle'>"+MonthNames[nCurrentMonth-1]+"</p>\n");
	  document.main2.document.idMonth.document.close();
	
	  var date   = new Date(nYear, nMonth-1, 1);
	  var nWeek  = 1;
	  var nDate;
	
	  while (date.getMonth() == nMonth-1) {
		nDate = date.getDate();
		nLastDate = nDate;
	
		var posDay = date.getDay();
		//if (posDay == 7) posDay=6;
		var posLeft = posDay*(nWidth+5)+5;
		var posTop  = (nWeek-1)*nHeight;
	
		document.layers["idMenuContainer"].document.layers["idDate"+nDate].left = posLeft;
		document.layers["idMenuContainer"].document.layers["idDate"+nDate].top  = posTop;
		document.layers["idMenuContainer"].document.layers["idDate"+nDate].visibility = "visible";
		date = new Date(nCurrentYear, date.getMonth(), date.getDate()+1);
		if (posDay == 6) nWeek++;
	  }
	  for (++nDate; nDate <= 31; nDate++)
		document.layers["idMenuContainer"].document.layers["idDate"+nDate].visibility = "hidden";
	}
}

function nextMonth() {
  nCurrentMonth++;
  if (nCurrentMonth > 12) {
	nCurrentMonth -= 12;
	nCurrentYear++;
  }  
  setYearMonth(nCurrentYear, nCurrentMonth);
  OfftheDateFocus();
  DateSelected=false;
  if (StopOrPause) StopOrPause=false;
}

function prevMonth() {
  nCurrentMonth--;
  if (nCurrentMonth < 1) {
	nCurrentMonth += 12;
	nCurrentYear--;
  }
  setYearMonth(nCurrentYear, nCurrentMonth);
  OfftheDateFocus();
  DateSelected=false;
  if (StopOrPause) StopOrPause=false;
}

//  File Loading Function
function PreLoadStartUp(theDateStart) {	
	StopOrPause=false;
	loopYear=nCurrentYear;
	loopMonth=nCurrentMonth-1;
	loopDay=theDateStart;
	var loopDate = new Date(nCurrentYear, nCurrentMonth-1, theDateStart);
	var loopDate1 = new Date(nCurrentYear, nCurrentMonth-1, theDateStart+1);
	d = new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
  	tYear=loopDate.getYear();
  	tYear+=varYearAdjustment;
  	tMonth=loopDate.getMonth()+1;
	if (tMonth < 10) {tMonth="0"+tMonth;}
  	tDate=loopDate.getDate();
	if (tDate < 10) {tDate="0"+tDate;}
	tWeek=d[loopDate.getDay()]; 
	t1Year=loopDate1.getYear();
  	t1Year+=varYearAdjustment;
  	t1Month=loopDate1.getMonth()+1;
	if (t1Month < 10) {t1Month="0"+t1Month;}
	t1Date=loopDate1.getDate();
	if (t1Date < 10) {t1Date="0"+t1Date;}
	t1Week=d[loopDate1.getDay()]; 

	
	setCurrentDateFocus(theDateStart);
	sMonth=''+(100+nCurrentMonth);
	sDay=''+(100+theDateStart);
	sMonth=sMonth.substring(1,3);
	sDay=sDay.substring(1,3);
	
	photos[0]="graphs/"+tYear+ tMonth + tDate + nCurrentDistrict +".png";
	photos2[0]="graphs/"+t1Year+ t1Month + t1Date + nCurrentDistrict +".png";
	if (nCurrentDistrict == 7) {
		photos[0]="graphs/blank.gif";
		photos2[0]="graphs/blank.gif";
	}

	if (nCurrentDistrict == 0) {
		var name = "<p class=titleDate align=center></p><p class=titleText align=center>Bulkers & Tankers</p><p class=text1 align=left>LOA: 230m or less<br>Draught: 12.5m or less<br>Restricted transit period @Mawan = Current Against >2.5 knots / With >1.5 knots<br>(There are no limitations for vessels of LOA 183m or less and draught 10m or less.)</p>";
	} 
	if (nCurrentDistrict == 1) {
		var name = "<p class=titleDate align=center></p><p class=titleText align=center>Bulkers & Tankers</p><p class=text1 align=left>LOA: 230m or less<br>Draught: 13.0m or less but more than 12.5m<br>Restricted transit period @Mawan = Current Against >2.5 knots / With >1.5 knots<br>Transit@Mawan: Day=(Sunrise- 30 mins.) To (Sunset + 30 mins.)</p>";
	} 
	if (nCurrentDistrict == 6) {
		var name = "<p class=titleDate align=center></p><p class=titleText align=center>Bulkers & Tankers</p><p class=text1 align=left>LOA: more than 290m<br>Draught: 16.8m or less<br>Restricted transit period @Mawan = Current Against >1 knots / With >0.5 knots<br>Transit@Mawan: Day=(Sunrise- 30 mins.) To (Sunset + 30 mins.)</p>";
	} 
	if (nCurrentDistrict == 3) {
		var name = "<p class=titleDate align=center></p><p class=titleText align=center>Bulkers & Tankers</p><p class=text1 align=left>LOA: 280m or less but more than 255m<br>Draught: 16.8m or less but more than 14m<br>Restricted transit period @Mawan = Current Against >1.5 knots / With >0.5 knots<br>Transit@Mawan: Day=(Sunrise- 30 mins.) To (Sunset + 30 mins.)</p>";
	} 
	if (nCurrentDistrict == 5) {
		var name = "<p class=titleDate align=center></p><p class=titleText align=center>Bulkers & Tankers</p><p class=text1 align=left>LOA: 255m or less but more than 230m<br>Draught: 15m or less<br>Restricted transit period @Mawan = Current Against >2 knots / With >1 knots<br>Transit@Mawan: Day=(Sunrise- 30 mins.) To (Sunset + 30 mins.)</p>";
	} 
        if (nCurrentDistrict == 2) {
                var name = "<p class=titleDate align=center></p><p class=titleText align=center>Bulkers & Tankers</p><p class=text1 align=left>LOA: 290m or less but more than 255m<br>Draught: 16.8m or less<br>Restricted transit period @Mawan = Current Against >1.5 knots / With >0.5 knots<br>Transit@Mawan: Day=(Sunrise- 30 mins.) To (Sunset + 30 mins.)</p>";
        }
	if (nCurrentDistrict == 7) {
		var name = "<p class=titleDate align=center></p><p class=titleText align=center>Bulkers & Tankers</p><p class=text1 align=left>Conditions are under revision, please refer to Berthing Guidelines for details.</p>";
	} 
	if (nCurrentDistrict == 4) {
		var name = "<p class=titleDate align=center></p><p class=titleText align=center>Container & Passenger Ships</p><p class=text1 align=left>LOA: 310m or less<br>Restricted transit period @Mawan = Current Against >3 knots / With >2 knots<br>(There are no limitations for vessels of LOA 183m or less and draught 10m or less.)</p>";
	}
	name = name + "<p align=right><a href=\"#\" onClick=\"window.open('print2.htm?dist="+nCurrentDistrict+"&date1="+tYear+tMonth+tDate+"&date2="+t1Year+t1Month+t1Date+"','_blank','resizable=yes,scrollbars=1,width=680'); return false;\"><img src=\"images/printer.gif\" border=0 alt=\"Printed Version\"></a></p>";
		
	if (n) {
		document.layers["mainPhoto"].document.images.photoslider.src=photos[0];
		
		
	}
	if (ie||ns6) {
		document.images.photoslider.src=photos[0]			
		document.images.photoslider1.src=photos2[0]		
		var date1_obj=document.all["Date1"];
		date1_obj.innerHTML = "<p class=titleDate align=center>"+tDate+"-"+tMonth+"-"+tYear+" ("+tWeek+")</p></td>\n";
		var date2_obj=document.all["Date2"];
		date2_obj.innerHTML = "<p class=titleDate align=center>"+t1Date+"-"+t1Month+"-"+t1Year+" ("+t1Week+")</p></td>\n";	
		var texts_obj=document.all["texts"];
		texts_obj.innerHTML = name;
		if (nCurrentDistrict == 7) {
		date1_obj.innerHTML = "<p class=titleDate align=center></p></td>\n";
		date2_obj.innerHTML = "<p class=titleDate align=center></p></td>\n";
		}
	}	

	DateSelected=true;
}




function setCurrentDateFocus(theDateStart) {
	nWeek=Math.round((theDateStart)/7-0.5)+1;
	nReminder=theDateStart%7;
	
	var tmpDate   = new Date(nCurrentYear, nCurrentMonth-1, 1);
	firstDayWeek=tmpDate.getDay();
	if ((nReminder+firstDayWeek)>7) nWeek++;		
	if (firstDayWeek==0 && Math.round(theDateStart/7)*7==theDateStart ) nWeek--;

	
	var tmpDateNow = new Date(nCurrentYear, nCurrentMonth-1, theDateStart);
	var posDay=tmpDateNow.getDay();
	var posLeft=posDay*(nWidth+5)+5;
	var posTop=(nWeek-1)*nHeight;
	if (ie||ns6) {
	    var cell_obj=ns6? document.getElementById("idDateBorderCell").style : document.all["idDateBorderCell"].style;
		cell_obj.left = posLeft;
		if (ns6) cell_obj.top  = posTop+1;
		if (ie) cell_obj.top  = posTop+5;
		cell_obj.visibility="visible";
	}
	if (n) {
		cell_obj=document.idMenuContainer.document.idDateBorderCell;
		cell_obj.visibility="visible";
		cell_obj.left = posLeft;
		cell_obj.top  = posTop;
	}	
	var tmpValid=validOutOfDate();
	if (tmpValid==false) {
		alert("Data is not available !");
		window.location="index.htm";
	}
}


function OfftheDateFocus() {
	if (ie||ns6) {
	    var cell_obj=ns6? document.getElementById("idDateBorderCell").style : document.all["idDateBorderCell"].style
	}	
	if (n) {
		cell_obj=document.idMenuContainer.document.idDateBorderCell;
	}
	cell_obj.visibility="hidden";
}


//function updateDistrict(thedistrict) {
//	nCurrentDistrict=thedistrict.value;
//	if (DateSelected && StopOrPause==false) PreLoadStartUp(loopDay)
//}

function updateDistrictForm(thedistrict) {
	if (ie||ns6) {
		nCurrentDistrict=thedistrict;
		//nCurrentDistrict=document.mainForm.district[thedistrict].value;
		//document.mainForm.district[thedistrict].checked=true
		if (DateSelected && StopOrPause==false) PreLoadStartUp(loopDay)	
	}
	
}


function setServerMatch(nSMDate, nSMMonth, nSMYear) {
	nSMCurrentYear = nSMYear;
	nSMCurrentMonth = nSMMonth;
	nSMCurrentDate = nSMDate;	
	ServerMatchDate = new Date(nSMYear, nSMMonth-1, nSMDate);	
	ServerMatchDateRange = new Date(nSMYear, nSMMonth-1, nSMDate+62);
	ServerMatchDateRangeB = new Date(nSMYear, nSMMonth-1, nSMDate-31);	
}

function validOutOfDate() {
	var tmpCmpDate = new Date(nCurrentYear, nCurrentMonth-1, loopDay);
	if (tmpCmpDate<ServerMatchDateRangeB || tmpCmpDate>ServerMatchDateRange) 
		return false;
	else
		return true;
}

function OpenSalesOutLet() {
	window.open ("outlet.htm", "theWin", "toolbar=no,location=no,status=no,directories=no, menubar=no, scrollbars=yes, resizable=no,top=0,left=0,width=250,height=110");
}
