// JavaScript Document

function clearDateFields( base, id, datatype ) {

  	var txtYear = document.getElementById( base + '_' + datatype + '_year_' + id );
    txtYear.value = '';

    var txtMonth = document.getElementById( base + '_' + datatype + '_month_' + id );
    txtMonth.value = '';

    var txtDay = document.getElementById( base + '_' + datatype + '_day_' + id );
    txtDay.value = '';


		    var txtTimestamp = document.getElementById( base + '_' + 45 + '_' +id);
	        txtTimestamp.value = '';
}

/* Search Data Picker */
function mktime() {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: baris ozdil
    // +      input by: gabriel paderni
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: FGFEmperor
    // *     example 1: mktime( 14, 10, 2, 2, 1, 2008 );
    // *     returns 1: 1201871402

    var no, ma = 0, mb = 0, i = 0, d = new Date(), argv = arguments, argc = argv.length;
    d.setHours(0,0,0); d.setDate(1); d.setMonth(1); d.setYear(1972);

    var dateManip = {
        0: function(tt){ return d.setHours(tt); },
        1: function(tt){ return d.setMinutes(tt); },
        2: function(tt){ set = d.setSeconds(tt); mb = d.getDate() - 1; return set; },
        3: function(tt){ set = d.setMonth(parseInt(tt)-1); ma = d.getFullYear() - 1972; return set; },
        4: function(tt){ return d.setDate(tt+mb); },
        5: function(tt){ return d.setYear(tt+ma); }
    };

    for( i = 0; i < argc; i++ ){
        no = parseInt(argv[i]);
        if(no && isNaN(no)){
            return false;
        } else if(no){
            // arg is number, let's manipulate date object
            if(!dateManip[i](no)){
                // failed
                return false;
            }
        }
    }

    return Math.floor(d.getTime()/1000);
}

function handleSearchSelect(type,args,obj) 
{

		    var dates = args[0];
		    var date = dates[0];
		    var year = date[0], month = date[1], day = date[2];

			var objIDArray = obj.id.split( '_' );
		    var id = objIDArray[3];
		    var datatype = objIDArray[1];
		    var base = objIDArray[0];

			//alert(id);
		    var txtYear = document.getElementById( base + '_' + datatype + '_year_timestamp_' + id );
		    txtYear.value = year;

		    var txtMonth = document.getElementById( base + '_' + datatype + '_month_timestamp_' + id );
		    txtMonth.value = month;

		    var txtDay = document.getElementById( base + '_' + datatype + '_day_timestamp_' + id );
		    txtDay.value = day;

		    var txtTimestamp = document.getElementById( base + '_' + 45 + '_timestamp_'+id );
	        txtTimestamp.value = mktime( 0, 0, 0, month , day, year );

    window['cal'+id].hide();
}

function showSearchDatePicker( base, id, datatype ) {
    var calIconID = base + '_' + datatype + '_cal_' + id;
    var calContainerID = base + '_' + datatype + '_cal_container_' + id;
    var calContainer = document.getElementById( calContainerID );

    var xy = YAHOO.util.Dom.getXY( calIconID );

    calContainer.style.left = ( xy[0] + 26 ) + 'px';
    calContainer.style.top = ( xy[1] + 30 ) + 'px';
    calContainer.style.display = 'block';

    window['cal'+id] = new YAHOO.widget.Calendar( base + '_' + datatype + '_cal_' + id , calContainerID, { close: true,
                                                                                              mindate: "1/1/1970",
                                                                                              LOCALE_WEEKDAYS: "medium" } );
    window['cal'+id].render();
    window['cal'+id].selectEvent.subscribe( handleSearchSelect, window['cal'+id], true );
}


