// JavaScript Document
    var cur_date = new Date();
	var day_select = {id:null,className:null};
	var calendar_target = null; 
	//calendar_body,monthly_body,quarterly_body,yearly_body 
	var calendar_body_id = 'calendar_body';
	var month_body_id = 'monthly_body';
	var quarter_body_id = 'quarterly_body';
	var year_body_id = 'yearly_body';
	
	function getTimeFormat(in_date){
		var h = in_date.getHours()<10?'0'+in_date.getHours():in_date.getHours();
		var m = in_date.getMinutes()<10?'0'+in_date.getMinutes():in_date.getMinutes();
		var s = in_date.getSeconds()<10?'0'+in_date.getSeconds():in_date.getSeconds();
		 
		 return h+':'+m;
	}
	
	
	function ConvertObjDateToStrForUI(in_date){
		return  in_date.getDate()+'/'+(in_date.getMonth()+1)+'/'+in_date.getFullYear();	
	}
	
	function ConvertObjDateToMonth(in_date){	
	
		return 'M'+ (in_date.getMonth()+1)+'/'+in_date.getFullYear();
	}
	
	function ConvertObjDateToQuarter(in_date){
		var m = (in_date.getMonth()+1);
		var q = '';
		//alert(m);
		if(m>=1 && m<=3){
			q=1;
		}else if(m>=4 && m<=6){
			q=2;
		}else if(m>=7 && m<=9){
			q=3;
		}else if(m>=10 && m<=12){
			q=4;
		}
		return 'Q'+q+'/' + in_date.getFullYear();
	}
	
	function ConvertObjDateToYear(in_date){		
		return in_date.getFullYear();
	}
	
	
	function showPopup(target_name,event){       
		var value_com = '';
		calendar_target = document.getElementById(target_name);
		var obj_calendar =  document.getElementById(calendar_body_id);			
		obj_calendar.className = '';		
		obj_calendar.style.top = event.clientY+'px';
		obj_calendar.style.left = event.clientX + 'px';
		
		var month_node = createMonthOption(document.frm_criteria.op_month);
		month_node.onchange = function(){
			var year_ = document.frm_criteria.op_year.value;
			createCalendar(this.value,year_,null);		
		}
		
		var year_node = createYearOption(document.frm_criteria.op_year);
		year_node.onchange = function(){
			var month_ = document.frm_criteria.op_month.value;
			
			createCalendar(month_,this.value,null);
		}
		
		
		var date_value = calendar_target.value;
		var begin = date_value.indexOf('/');
		
		var y = date_value.substring(date_value.length-4,date_value.length);
		var m = date_value.substring(begin+1,date_value.indexOf('/',begin+1));
		document.frm_criteria.op_month.value = m;
		document.frm_criteria.op_year.value = y;
		createCalendar(m,y,date_value.substring(0,date_value.indexOf('/')));    
	 }
	 
	 
	 
	 //calendar_body,monthly_body,quarterly_body,yearly_body 
	function showMonthPopup(target_name,event){
		calendar_target = document.getElementById(target_name);
		var obj_calendar = document.getElementById(month_body_id);
		obj_calendar.className = '';		
		obj_calendar.style.top = event.clientY+'px';
		obj_calendar.style.left = event.clientX + 'px';
		
		var month_node = createMonthOption(document.frm_monthly_criteria.op_month_m);				
		var year_node = createYearOption(document.frm_monthly_criteria.op_year_m);
		
			
		 
		assignValueToMonthPopup(calendar_target.getAttribute('mValue'),month_node,year_node);
		
	}
	function assignValueToMonthPopup(mValue,mNode,yNode){
		 
		 yNode.value   = endCodeGetYear(mValue);
		 mNode.value = endCodeGetMOrQ(mValue);
		 //alert( mValue + '    ' + yNode.value  +'    '+mNode.value);	
	 }
    function monthlyPopupClose(butt){
		//alert(butt.parentNode.childNodes.length);
		var m = butt.parentNode.getElementsByTagName('select')[0].value;
		var y  = butt.parentNode.getElementsByTagName('select')[1].value;
		var mValue = 'M'+m+'/'+y;
 		calendar_target.setAttribute('mValue', mValue);
		calendar_target.value = mValue;
		butt.parentNode.parentNode.parentNode.className = 'calendar_invisibal';		
	}
	
	
	
	function showQuarterPopup(target_name,event){
		calendar_target = document.getElementById(target_name);
		var obj_calendar = document.getElementById(quarter_body_id);
		obj_calendar.className = '';		
		obj_calendar.style.top = event.clientY+'px';
		obj_calendar.style.left = event.clientX + 'px';
		
		var quarter_node = createQuarterOption(document.frm_quarterly_criteria.op_quarter);
		var year_node = createYearOption(document.frm_quarterly_criteria.op_year_q);		
		
		assignValueToQuarterPopup(calendar_target.getAttribute('qValue'),quarter_node,year_node);	
	}
	
	function assignValueToQuarterPopup(qValue,qNode,yNode){
		
		yNode.value   = endCodeGetYear(qValue);		
//		alert(qNode);
		qNode.value = endCodeGetMOrQ(qValue);
		
	}
	function quarterPopupClose(butt){
		var q = butt.parentNode.getElementsByTagName('select')[0].value;
		var y  = butt.parentNode.getElementsByTagName('select')[1].value;
		var qValue = 'Q'+q+'/'+y;
 		calendar_target.setAttribute('qValue', qValue);
		calendar_target.value = qValue;
		butt.parentNode.parentNode.parentNode.className = 'calendar_invisibal';		
	}
	
	
	function showYearPopup(target_name,event){
		calendar_target = document.getElementById(target_name);
		var obj_calendar = document.getElementById(year_body_id);
		obj_calendar.className = '';		
		obj_calendar.style.top = event.clientY+'px';
		obj_calendar.style.left = event.clientX + 'px';
		var year_node = createYearOption(document.frm_yearly_criteria.op_year_y);
		assignValueToYearPopup(calendar_target.getAttribute('yValue'),year_node);	
		
	}
	function assignValueToYearPopup(yValue,yNode){
		yNode.value = yValue;
	}
	function yearlyPopupClose(butt){
		var y = butt.parentNode.getElementsByTagName('select')[0].value;
		calendar_target.setAttribute('yValue', y);
		calendar_target.value = y;
		butt.parentNode.parentNode.parentNode.className = 'calendar_invisibal';		
	}
	
	function showCalendarByType(sel_type_id,target_id,event){
		var type_value = document.getElementById(sel_type_id).value;
		if(type_value == '0'){
			showPopup(target_id,event);
		}else if(type_value == '1'){
			showMonthPopup(target_id,event);
		}else if(type_value == '2'){
			showQuarterPopup(target_id,event);
		}else if(type_value == '3'){
			showYearPopup(target_id,event);
		}
		
	}
	
	
	function createCalendar(month,year,cur_day){    
		var dateEnd = 	getDateEnd(month,year);
		
		var mn = month-1;
		
		var date_target = '';
		
		if(cur_day!= null){
			date_target = cur_day+'/'+mn+'/'+year;
		}
		
		var day_id = '';
		var week =1;
		clearDayNode();
		
		for(var day = 1; day <=dateEnd; day++){			
			var obj_Date = new Date(year,mn,day);				
			var day_of_week = obj_Date.getDay();
			
			if(day_of_week == 0 && day >1){
				week++;
			}
			day_id = week+'_'+day_of_week;

			var day_node = document.getElementById(day_id);
			
			removeNode(day_node);
			
			
			var h4_day_label = document.createElement('h4');
			
			h4_day_label.appendChild(document.createTextNode(day));
			h4_day_label.setAttribute('day',day);
			h4_day_label.setAttribute('month',mn);
			h4_day_label.setAttribute('year',year);
			h4_day_label.setAttribute('date_value',day+'/'+mn+'/'+year);
			
			if(day_of_week == 0 || day_of_week== 6){
				h4_day_label.className = 'day_holiday_label';
			}else{
				h4_day_label.className = 'day_label';
			}
			
			h4_day_label.ondblclick = function(){			
				document.getElementById(calendar_body_id).className = 'calendar_invisibal';
			}
			
			
			h4_day_label.onclick = function(){
			
			   var d = this.getAttribute('day');
			   var m = this.getAttribute('month');
			   var y = this.getAttribute('year');
			   
			   //var day_select = {id:null,className:null};
			   if(day_select['id']!= null){           
				var pre_select = document.getElementById(day_select['id']); 
					try{                                       
						pre_select.childNodes[0].className = day_select['className'];
						pre_select.childNodes[0].style.color= '';
					}catch(err){
					
					}
			   }
			   
			   day_select['id'] = this.parentNode.id;
			   day_select['className'] = this.className;
			   //this.className = 'day_select';
			   this.style.color ='#FF0000';
			   
			   var dd_select = new Date(y,m,d);
			   var var_value_ui   = dd_select.getDate()+'/'+(dd_select.getMonth()+1)+'/'+dd_select.getFullYear();    	
			  // calendar_target.setAttribute('VALUE',var_value_ui);
			   calendar_target.setAttribute('value',var_value_ui);
			   calendar_target.value =var_value_ui;
			   calendar_target.setAttribute('Year',dd_select.getFullYear());
			   calendar_target.setAttribute('Month',(dd_select.getMonth()+1));
			   calendar_target.setAttribute('Day',dd_select.getDate());
			   
			    on_calendar_afterclick(calendar_target);
			  
			}
			
			
			
			day_node.appendChild(h4_day_label);
			if(date_target!=''){
				if(date_target == h4_day_label.getAttribute('date_value')){
					day_select['id'] = h4_day_label.parentNode.id;
					day_select['className'] = h4_day_label.className;
					h4_day_label.onclick();
				}
			}
	
		}
		
		
	}
	
	function clearDayNode(){
		for(var i = 1; i < 7; i++){
			for(var j = 0; j < 7; j++){
				var day_id =  i+'_'+j;
				var day_node = document.getElementById(day_id);		
				removeNode(day_node);
			}
		}
	}
	
	
	function createQuarterOption(in_select){
		var opQuarterNode = in_select;
		removeNode(opQuarterNode);
		for(var i=1; i<=4; i++){
			var op_node = document.createElement('option');
			op_node.setAttribute('value',i);
			op_node.appendChild(document.createTextNode('Q'+i));
			opQuarterNode.appendChild(op_node);
		}
		return opQuarterNode;
	}
	
	function createMonthOption(in_select){
		var startMonth = 1;
		var endMonth = 12;
		//var opMonthNode = document.getElementById('op_month');
		
		var opMonthNode = in_select;
		removeNode(opMonthNode);
		for(var i= startMonth; i<=endMonth; i++){
			var op_node = document.createElement('option');
			op_node.setAttribute('value',i);
			op_node.appendChild(document.createTextNode(i));
			opMonthNode.appendChild(op_node);
		}
		return opMonthNode;
	}
	
	function createYearOption(in_select){
		var cur = new Date();
		var startYear = cur.getFullYear();
		var endYear =2008;
		var year_0 = '';
		//var opYearNode = document.getElementById('op_year');
		var opYearNode = in_select;
		removeNode(opYearNode);
		for(var i= startYear; i>=endYear; i--){
			var op_node = document.createElement('option');
			
			op_node.setAttribute('value',i);
			year_0 = i;
	
	
			op_node.appendChild(document.createTextNode(year_0));
			
			opYearNode.appendChild(op_node);
		}
		
		return opYearNode;
	}
	
	
	function getDateEnd(month,year){
		var length = 30;
		
		if(month == '1'){
				length = 31;
		}else if(month == '2'){
				if(year % 4 == 0){
					length = 29;
				}else{
					length = 28;
				}
		}else if(month == '3'){
			length = 31;
		}else if(month == '4'){
			length = 30;
		}else if(month == '5'){
			length = 31;
		}else if(month == '6'){
			length = 30;
		}else if(month == '7'){			
			length = 31;
		}else if(month == '8'){			
			length = 31;
		}else if(month == '9'){			
			length = 30;
		}else if(month == '10'){			
			length = 31;
		}else if(month == '11'){			
			length = 30;
		}else if(month == '12'){			
			length = 31;
		}	
		return length;
	}
	
	
	
	
	
	function endCodeGetYear(mValue){
		return mValue.substring(mValue.length-4);		
	}
	
	
	function endCodeGetMOrQ(mValue){
		return mValue.substring(1,mValue.indexOf('/'));
	}
