﻿
function displaydate(myYear, myMonth, myDate ) {
  var i,j,k,l; 
  monthDates = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
  monthDates2 = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
  var newDateLen;
  var oldDateLen = myDate.length;

  var yy = myYear.options[myYear.selectedIndex].value
  var mm = myMonth.options[myMonth.selectedIndex].value
  var dd = myDate.options[myDate.selectedIndex].value
  
  if (yy != "-1")
  {
   myMonth.disabled = false;
   myDate.disabled = false;
   
   if( checkPeakYear(yy) == true)
   { 
    newDateLen = monthDates2[mm-1] 
   }
   else 
   { 
    newDateLen = monthDates[mm-1] 
   } 

   if ( newDateLen < oldDateLen ) 
   {
      for ( k=oldDateLen ; k>newDateLen; k--)
      {
    if(myDate.options[k-1].selected) 
     myDate.options[newDateLen-1].selected=true;
       myDate.options[k-1] = null;
      }
   }
   else if(newDateLen > oldDateLen )
   {
      for(l=0;l<oldDateLen && !myDate.options[l].selected; l++)
      {;}
      for(k=oldDateLen; k<newDateLen; k++)
      {
    newOption = new Option(k+1, k+1, false, false);
    myDate.options[k] = newOption;
   }
      myDate.options[l].selected=true;
   }
  }
  else
  {
   myMonth.disabled = true;
   myDate.disabled = true;
  }
}

function displaydateForMix(myYear, myMonth, myDate ) {
  var i,j,k,l; 
  monthDates = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
  monthDates2 = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
  var newDateLen;
  var oldDateLen = myDate.length;
  
  var yy = myYear.options[myYear.selectedIndex].value
  var mm = myMonth.options[myMonth.selectedIndex].value
  var dd = myDate.options[myDate.selectedIndex].value
  
  var yyNoVal = false
  var mmNoVal = false
  if(isNaN(parseInt(yy)) || parseInt(yy)<=0 ) yyNoVal = true
  if(isNaN(parseInt(mm)) || parseInt(mm)<=0 ) mmNoVal = true
  
  if(yyNoVal || mmNoVal) { 
   if(!mmNoVal) {newDateLen = monthDates[mm-1] }
   else newDateLen = monthDates[0]
  }
  else {
   if( checkPeakYear(yy) == true ){ newDateLen = monthDates2[mm-1] }
   else { newDateLen = monthDates[mm-1] }
  }


  newDateLen = newDateLen + 1
  
  if ( newDateLen < oldDateLen ) {
     for ( k=oldDateLen ; k>newDateLen; k--){
 if(myDate.options[k-1].selected) myDate.options[newDateLen-1].selected=true;
      myDate.options[k-1] = null;
     }
  }
  else if(newDateLen > oldDateLen ){
     for(l=0;l<oldDateLen && !myDate.options[l].selected; l++){;}
     for(k=oldDateLen; k<newDateLen; k++){
  newOption = new Option(k, k, false, false);
  myDate.options[k] = newOption;
 }
     myDate.options[l].selected=true;
  }
}
function  validateDate(yy, mm, dd)
{
  var monthDates = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
  if( yy <=0 || mm <= 0 || mm > 12 || dd <= 0 || dd > 31 ){
   return false
  }
   //check month dates. if month is not Feb, month dates are not changed
  if(mm != 2) 
  {
     if(dd > monthDates[mm - 1]) { return false }
  }
  else {
   //if month=2, (peak year or not)
   isPeakYear = checkPeakYear(yy)
  
   var maxDates = monthDates[mm-1]
   if( isPeakYear == true ) { maxDates = 29 }
 if( dd > maxDates ) { return false }
  }
   
  return true
}

function checkPeakYear(yy)
{
  if(yy % 4 == 0) {
   if( yy % 100 != 0) { return true }
   else if( yy % 400 == 0) { return true } 
  }
  return false
}
// return 1 : if date1 is later than date2
// return 0 : if date1 is equal to date2
// return -1: if date1 is earlier than date2
function compareDates(yy1, mm1, dd1, yy2, mm2, dd2)
{ 
 if(yy1 > yy2) { return 1 }
 else if(yy1 < yy2) { return -1 }
 else if(yy1 == yy2){
     if(mm1 > mm2) { return 1 }
     else if(mm1 < mm2) { return -1}
     else if(mm1 == mm2) {
      if(dd1 > dd2) {return 1}
      else if(dd1 < dd2) {return -1}
      else if(dd1 == dd2) { return 0 }
     }
 }
}

function createYear(birYear)
{
	var select_Syear = document.getElementById(birYear);
	for(var i=2000;i<=2020;i++)
	{
		var option = new Option(i,i);
		select_Syear.add(option);
	}
	select_Syear.value = (new Date()).getFullYear();
}

function createMonth(birMonth)
{
	var select_Smonth = document.getElementById(birMonth);
	for(var i=1;i<=12;i++)
	{
		var option = new Option(i,i);
		select_Smonth.add(option);
	}
	select_Smonth.value = (new Date()).getMonth() + 1;
}

function createDate(birDay)
{
	var select_Sdate = document.getElementById(birDay);
	for(var i = 1;i<=31;i++)
	{
		var option = new Option(i,i);
		select_Sdate.add(option);
	}
	select_Sdate.value = (new Date()).getDate();
}

function GoForex(_this, birYear, birMonth, birDay)
{
	var year	= $SelectValue(birYear);
	var month	= $SelectValue(birMonth);
	var day		= $SelectValue(birDay);
	if(month.length == 1 )
		month = "0" + month;
	if(day.length == 1 )
		day = "0" + day;
	_this.href	= "http://forex.money.hexun.com/calendar/default.aspx?year=" + year + "&month=" + month + "&day=" + day + "&newsday=" + year + month + day;
}
function Go(d, birYear, birMonth, birDay)
{
	var year	= $SelectValue(birYear);
	var month	= $SelectValue(birMonth);
	var day		= $SelectValue(birDay);
	if(month.length == 1 )
		month = "0" + month;
	if(day.length == 1 )
		day = "0" + day;
	document.getElementById(d).value = year + month + day;
	alert(year + month + day);
}
createYear("birYear");
createMonth("birMonth");
createDate("birDay");