/////////////////////////////////////////////
/*
dateformat.js:
1) locates date input fields on the page based on naming convention
2) places a default text string in field 'mm/dd/yyyy'
3) clears text onfocus
4) clears if field not changed from original 'mm/dd/yyyy' onunload and onsubmit
*/
////////////////////////////////////////////
var i=0, j=0,k=0;
var frField = 'DateFrom';
var toField = 'DateTo';
var defaultDate = 'mm/dd/yyyy';
var allObj = '';

attachE(window, 'onbeforeunload', dispose);

function attachE(obj, eventName, functionName, objid){    
    if (objid != null){obj = document.getElementById(objid);}        
    if (obj.attachEvent){
        obj.attachEvent(eventName, functionName);
    }
    else if (obj.addEventListener){        
        eventName = eventName.substr(2,eventName.length);                  
        obj.addEventListener(eventName, functionName, false);                
    }
}
for (i=0; i < document.forms.length; i++){ //locate all forms
    var df=document.forms[i];    
    attachE(df, 'onsubmit', dispose); //clear all on submit
    for (j=0; j < df.elements.length; j++){ //locate all text fields        
        var dfe=df.elements[j];
        if (dfe.type == 'text'){ //text field        
            if ((dfe.id.indexOf(frField) > 0) ||(dfe.id.indexOf(toField) > 0)){ //searched field                                                        
                if (dfe.value == ''){
                    dfe.value = defaultDate;                    
                }
                allObj += dfe.id + ',';                                
                attachE(dfe, 'onclick', clearIt, dfe.id);                
                attachE(dfe, 'onblur', replaceIt, dfe.id);   
            }
        }
    }
}

function clearIt(e){
    var evnt = (e.target) ? e.target : event.srcElement;
    if (evnt.value == defaultDate){
        evnt.value = '';
    }    
}

function replaceIt(e){
    var evnt = (e.target) ? e.target : event.srcElement;
    if ((evnt.value != defaultDate) && (evnt.value == '')){
        evnt.value = defaultDate;
    }    
}

var arrObj = allObj.split(',');
function dispose(){
    for (i=0; i < arrObj.length-1; i++){    
        var dObj = document.getElementById(arrObj[i]);
        if (dObj.value == defaultDate){            
            dObj.value = '';
        }
    } 
    return true;
}
