// JavaScript Document
function handleSelect(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];

    var txtYear = document.getElementsByName( base + '_' + datatype + '_year_' + id );
    txtYear[0].value = year;

    var txtMonth = document.getElementsByName( base + '_' + datatype + '_month_' + id );
    txtMonth[0].value = month;

    var txtDay = document.getElementsByName( base + '_' + datatype + '_day_' + id );
    txtDay[0].value = day;

    window['cal'+id].hide();
}

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 resourceElem = document.getElementById('itemType');
	if (resourceElem!=null)
	{
	    if (resourceElem.selectedIndex < 1)
		{
		//	return false;
		}else
		{
		    var resourceValue = resourceElem.options[resourceElem.selectedIndex].value;
		    var txtTimestamp = document.getElementById( base + '_' + resourceValue + '_' +id);
	        txtTimestamp.value = '';
//            var txtTimestampTo = document.getElementById( base + '_' + resourceValue + '_'+id );
//	        txtTimestampTo.value = '';
		}
	}
}

function showDatePicker( 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( handleSelect, window['cal'+id], true );
}

/* 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];
	var resourceElem = document.getElementById('itemType');
	if (resourceElem!=null)
	{
	    if (resourceElem.selectedIndex < 1)
		{
		    alert('Please specify resouce.');
		    clearDateFields( base, id, datatype );
		//	return false;
		}else
		{
			//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 resourceValue = resourceElem.options[resourceElem.selectedIndex].value;
	//	    alert( base + '_' + resourceValue + '_timestamp_from_' + id );
		    var txtTimestamp = document.getElementById( base + '_' + resourceValue + '_timestamp_'+id );
	        txtTimestamp.value = mktime( 0, 0, 0, month , day, year );
            //var txtTimestampTo = document.getElementById( base + '_' + resourceValue + '_timestamp_to' );
	        //txtTimestampTo.value = mktime( 23, 59, 59, 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 );
}

