function updateDates( formname, beginField, endField, daterangechosen ) { if ( daterangechosen == '1' ) { setOptionValue( getFormElement( formname, beginField + '_webformDateMonth'),'3'); setOptionValue( getFormElement( formname, beginField + '_webformDateDay'),'14'); setOptionValue( getFormElement( formname, beginField + '_webformDateYear'),'2010'); setOptionValue( getFormElement( formname, endField + '_webformDateMonth'),'3'); setOptionValue( getFormElement( formname, endField + '_webformDateDay'),'18'); setOptionValue( getFormElement( formname, endField + '_webformDateYear'),'2010'); return false; } if ( daterangechosen == '2' ) { setOptionValue( getFormElement( formname, beginField + '_webformDateMonth'),'3'); setOptionValue( getFormElement( formname, beginField + '_webformDateDay'),'7'); setOptionValue( getFormElement( formname, beginField + '_webformDateYear'),'2010'); setOptionValue( getFormElement( formname, endField + '_webformDateMonth'),'3'); setOptionValue( getFormElement( formname, endField + '_webformDateDay'),'13'); setOptionValue( getFormElement( formname, endField + '_webformDateYear'),'2010'); return false; } if ( daterangechosen == '3' ) { setOptionValue( getFormElement( formname, beginField + '_webformDateMonth'),'3'); setOptionValue( getFormElement( formname, beginField + '_webformDateDay'),'1'); setOptionValue( getFormElement( formname, beginField + '_webformDateYear'),'2010'); setOptionValue( getFormElement( formname, endField + '_webformDateMonth'),'3'); setOptionValue( getFormElement( formname, endField + '_webformDateDay'),'18'); setOptionValue( getFormElement( formname, endField + '_webformDateYear'),'2010'); return false; } if ( daterangechosen == '4' ) { setOptionValue( getFormElement( formname, beginField + '_webformDateMonth'),'2'); setOptionValue( getFormElement( formname, beginField + '_webformDateDay'),'1'); setOptionValue( getFormElement( formname, beginField + '_webformDateYear'),'2010'); setOptionValue( getFormElement( formname, endField + '_webformDateMonth'),'2'); setOptionValue( getFormElement( formname, endField + '_webformDateDay'),'28'); setOptionValue( getFormElement( formname, endField + '_webformDateYear'),'2010'); return false; } if ( daterangechosen == '5' ) { setOptionValue( getFormElement( formname, beginField + '_webformDateMonth'),'1'); setOptionValue( getFormElement( formname, beginField + '_webformDateDay'),'1'); setOptionValue( getFormElement( formname, beginField + '_webformDateYear'),'2010'); setOptionValue( getFormElement( formname, endField + '_webformDateMonth'),'3'); setOptionValue( getFormElement( formname, endField + '_webformDateDay'),'18'); setOptionValue( getFormElement( formname, endField + '_webformDateYear'),'2010'); return false; } if ( daterangechosen == '6' ) { setOptionValue( getFormElement( formname, beginField + '_webformDateMonth'),'1'); setOptionValue( getFormElement( formname, beginField + '_webformDateDay'),'1'); setOptionValue( getFormElement( formname, beginField + '_webformDateYear'),'2009'); setOptionValue( getFormElement( formname, endField + '_webformDateMonth'),'12'); setOptionValue( getFormElement( formname, endField + '_webformDateDay'),'31'); setOptionValue( getFormElement( formname, endField + '_webformDateYear'),'2009'); return false; } if ( daterangechosen == '7' ) { setOptionValue( getFormElement( formname, beginField + '_webformDateMonth'),'3'); setOptionValue( getFormElement( formname, beginField + '_webformDateDay'),'18'); setOptionValue( getFormElement( formname, beginField + '_webformDateYear'),'2010'); setOptionValue( getFormElement( formname, endField + '_webformDateMonth'),'3'); setOptionValue( getFormElement( formname, endField + '_webformDateDay'),'18'); setOptionValue( getFormElement( formname, endField + '_webformDateYear'),'2010'); return false; } if ( daterangechosen == '8' ) { setOptionValue( getFormElement( formname, beginField + '_webformDateMonth'),'3'); setOptionValue( getFormElement( formname, beginField + '_webformDateDay'),'17'); setOptionValue( getFormElement( formname, beginField + '_webformDateYear'),'2010'); setOptionValue( getFormElement( formname, endField + '_webformDateMonth'),'3'); setOptionValue( getFormElement( formname, endField + '_webformDateDay'),'17'); setOptionValue( getFormElement( formname, endField + '_webformDateYear'),'2010'); return false; } if ( daterangechosen == '9' ) { setOptionValue( getFormElement( formname, beginField + '_webformDateMonth'), '0'); setOptionValue( getFormElement( formname, beginField + '_webformDateDay'), '0'); setOptionValue( getFormElement( formname, beginField + '_webformDateYear'), '0'); setOptionValue( getFormElement( formname, endField + '_webformDateMonth'), '0'); setOptionValue( getFormElement( formname, endField + '_webformDateDay'), '0'); setOptionValue( getFormElement( formname, endField + '_webformDateYear'), '0'); return false; } return true; } function resetDateRangeDropDown( formName ) { getFormElement( formName, formName + '_daterange_select').options[0].selected = true; } function getFormElement( formname, elementname ) { if ( formname == '' ) { for ( var y=0; y < this.document.forms[0].elements.length; y++ ) { if ( this.document.forms[0].elements[y].name == elementname ) { return this.document.forms[0].elements[y]; } } } else { for ( var x=0; x < this.document.forms.length; x++ ) { if ( this.document.forms[x].name == formname ) { for ( var y=0; y < this.document.forms[x].elements.length; y++ ) { if ( this.document.forms[x].elements[y].name == elementname ) { return this.document.forms[x].elements[y]; } } } } return null; } } function setOptionValue( formelement, textValue ) { for ( var y=0; y < formelement.options.length; y++ ) { if ( formelement.options[y].value == textValue ) { formelement.options[y].selected = true; return true; } } return false } function resetDayDropDown( formName, fieldName ) { var currentMonthDex = getFormElement( formName, fieldName + '_webformDateMonth').options.selectedIndex; var currentYearDex = getFormElement( formName, fieldName + '_webformDateYear').options.selectedIndex; var month = getFormElement( formName, fieldName + '_webformDateMonth').options[currentMonthDex].value; var year = getFormElement( formName, fieldName + '_webformDateYear').options[currentYearDex].value; if ( month == '1' || month == '3' || month == '5' || month == '7' || month == '8' || month == '10' || month == '12' ) { populateDayDropDown( formName, fieldName, 31 ); } else if ( month == '4' || month == '6' || month == '9' || month == '11' ) { populateDayDropDown( formName, fieldName, 30 ); } else { // leap year calculation var mod = year % 4; if ( mod == 0 && year > 0) { mod = year % 100; if ( mod == 0 ) { mod = year % 400; if ( mod == 0 ) { populateDayDropDown( formName, fieldName, 29 ); } else { populateDayDropDown( formName, fieldName, 28 ); } } else { populateDayDropDown( formName, fieldName, 29 ); } } else { populateDayDropDown( formName, fieldName, 28 ); } } } function populateDayDropDown( formName, fieldName, end ) { var dayControl = getFormElement( formName, fieldName + '_webformDateDay' ); var selectedDex = dayControl.options.selectedIndex; var lastValue = dayControl.options[ dayControl.length - 1 ].value; // difference between index and actual value // is different if the control starts with empty line or not var offSet = (dayControl.length - 1) - lastValue; if ( lastValue > end ) { // we need to trim down for ( var y = dayControl.options.length - 1; y > (end + offSet); y-- ) { dayControl.remove(y); } } else { if ( lastValue < end ) { // we need to add for ( var y = dayControl.options.length; y < ( end + 1 + offSet ); y++ ) { dayControl.options[y] = new Option( y - offSet, y - offSet ); } } } if ( selectedDex > dayControl.options.length - 1) { dayControl.options[ dayControl.length - 1 ].selected = true; } }