 /************************************************************************************************************
 Callendar
 
 
 Author :: Aneesh Aravindan
 ************************************************************************************************************/
var	ie=document.all;
var	dom=document.getElementById;


function MovetoCallendarMonth(elem,y,m,d,srcPath) {
		var elemObj	=	document.getElementById(elem);
	    
		
		if(!srcPath) {
			posElem = document.getElementById('txt'+elem);
			var xPos	=	(posElem.x) ? posElem.x : getAbsPos(posElem,"Left");
			var yPos	=	(posElem.y) ? posElem.y : getAbsPos(posElem,"Top");
			if ( !ie )
			xPos=xPos-35;
			else
			xPos=xPos-20;
			
			
			/*
			var curr_dates	=	posElem.value.split("-");
			if (curr_dates == '') {
				d = 10;
				m = 10;
				y = 1999;
			} else {
				d = curr_dates[0];
				m = curr_dates[1];
				y = curr_dates[2];
			}
			
			var req1  = newXMLHttpRequest();
			req1.onreadystatechange = getReadyStateHandler(req1, serverReseCallendar);	
			str		  = "elem="+elem+"&year="+y+"&month="+m+"&day="+d;
			req1.open("POST", srcPath+"/index.php?mod=callendar&pg=default&act=callendar_navig");	
			req1.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");	
			req1.send(str);
			*/
			
			
			elemObj.style.position='absolute';
			elemObj.style.left = xPos + 'px';
			elemObj.style.top = yPos + 'px';
			elemObj.style.display='block';
			
			hideElement( 'SELECT', document.getElementById(elem) );
			hideElement( 'APPLET', document.getElementById(elem) );
			

		} else {
			
			var req1  = newXMLHttpRequest();
			req1.onreadystatechange = getReadyStateHandler(req1, serverReseCallendar);	
			var FCase =	document.getElementById("hidCASEFETCH_"+elem).value; /* Case */
			var minYear =	document.getElementById("minYear_"+elem).value; /* Min Year */
			var maxYear =	document.getElementById("maxYear_"+elem).value; /* Max Year */
			var TimeShow =	document.getElementById("TimeShow_"+elem).value; /* Max Year */
			var CUSTOM_FUNCTION =	document.getElementById("CUSTOM_FUNCTION_"+elem).value; /* Max Year */
			str		  = "elem="+elem+"&year="+y+"&month="+m+"&day="+d+"&FCase="+FCase+"&minYear="+minYear+"&maxYear="+maxYear+"&TimeShow="+TimeShow+"&CUSTOM_FUNCTION="+CUSTOM_FUNCTION;
			req1.open("POST", srcPath+"/index.php?mod=callendar&pg=default&act=callendar_month");	
			req1.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");	
			req1.send(str);
		}
		
		
}


function HidetoCallendar(elem) {
		var elemObj	=	document.getElementById(elem);
		elemObj.style.display='none';
}

function MovetoCallendar(elem,y,m,d,srcPath) {
	
		var elemObj	=	document.getElementById(elem);
	    
		
		if(!srcPath) {
			posElem = document.getElementById('txt'+elem);
			var xPos	=	(posElem.x) ? posElem.x : getAbsPos(posElem,"Left");
			var yPos	=	(posElem.y) ? posElem.y : getAbsPos(posElem,"Top");
			if ( !ie )
			xPos=xPos-35;
			else
			xPos=xPos-20;
			
			
			if(y) {
				e = y;
				var posx = 0;
				var posy = 0;
				var eobj = document.getElementById(posElem);
				if (!e) var e = window.event;
				
				if (e.pageX || e.pageY) 	{
					posx = e.pageX;
					posy = e.pageY;
				}
				else if (e.clientX || e.clientY) 	{
					posx = e.clientX + document.body.scrollLeft
						+ document.documentElement.scrollLeft;
					posy = e.clientY + document.body.scrollTop
						+ document.documentElement.scrollTop;
				}
				
				xPos=posx;
				yPos=posy;
			}
			/*
			var curr_dates	=	posElem.value.split("-");
			if (curr_dates == '') {
				d = 10;
				m = 10;
				y = 1999;
			} else {
				d = curr_dates[0];
				m = curr_dates[1];
				y = curr_dates[2];
			}
			
			var req1  = newXMLHttpRequest();
			req1.onreadystatechange = getReadyStateHandler(req1, serverReseCallendar);	
			str		  = "elem="+elem+"&year="+y+"&month="+m+"&day="+d;
			req1.open("POST", srcPath+"/index.php?mod=callendar&pg=default&act=callendar_navig");	
			req1.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");	
			req1.send(str);
			*/
			
			if(xPos>750)
			xPos = 750;
			
			elemObj.style.position='absolute';
			elemObj.style.left = xPos + 'px';
			elemObj.style.top = yPos + 'px';
			elemObj.style.display='block';
			
			
		
			
			hideElement( 'SELECT', document.getElementById(elem) );
			hideElement( 'APPLET', document.getElementById(elem) );
			
		} else {
			var req1  = newXMLHttpRequest();
			req1.onreadystatechange = getReadyStateHandler(req1, serverReseCallendar);	
			var FCase =	document.getElementById("hidCASEFETCH_"+elem).value; /* Case */
			var minYear =	document.getElementById("minYear_"+elem).value; /* Min Year */
			var maxYear =	document.getElementById("maxYear_"+elem).value; /* Max Year */
			var TimeShow =	document.getElementById("TimeShow_"+elem).value; /* Max Year */
			var CUSTOM_FUNCTION =	document.getElementById("CUSTOM_FUNCTION_"+elem).value; /* Max Year */
			str		  = "elem="+elem+"&year="+y+"&month="+m+"&day="+d+"&FCase="+FCase+"&minYear="+minYear+"&maxYear="+maxYear+"&TimeShow="+TimeShow+"&CUSTOM_FUNCTION="+CUSTOM_FUNCTION;
			req1.open("POST", srcPath+"/index.php?mod=callendar&pg=default&act=callendar_navig");	
			req1.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");	
			req1.send(str);
		}
		
		
}


function MovetoCallendarYear(elem,caseval,srcPath) {
		var elemObj	=	document.getElementById(elem); //
		
		if (caseval == 'n')
		var dates = document.getElementById('hidnext_'+elem);
		else
		var dates = document.getElementById('hidprev_'+elem);
		
		
		var req1  = newXMLHttpRequest();
		req1.onreadystatechange = getReadyStateHandler(req1, serverReseCallendar);	
		var FCase =	document.getElementById("hidCASEFETCH_"+elem).value; /* Case */ 
		var ColSet =	document.getElementById("ColSet_"+elem).value; /* ColSet */ 
		var minDate =	document.getElementById("minDate_"+elem).value; /* ColSet */ 
		var maxDate =	document.getElementById("maxDate_"+elem).value; /* ColSet */ 
		str		  = "elem="+elem+"&dates="+dates.value+"&FCase="+FCase+"&ColSet="+ColSet+"&minDate="+minDate+"&maxDate="+maxDate;
		//alert(str);
		req1.open("POST", srcPath+"/index.php?mod=callendar&pg=default&act=callendar_navig_year");	
		req1.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");	
		req1.send(str);
}




function MovetoCallendarMonthDrag(elem,y,m,d,srcPath) {
		var elemObj	=	document.getElementById(elem);
	    
		
		if(!srcPath) {
			posElem = document.getElementById('txt'+elem);
			var xPos	=	(posElem.x) ? posElem.x : getAbsPos(posElem,"Left");
			var yPos	=	(posElem.y) ? posElem.y : getAbsPos(posElem,"Top");
			if ( !ie )
			xPos=xPos-35;
			else
			xPos=xPos-20;
			
			
			
			
			elemObj.style.position='absolute';
			elemObj.style.left = xPos + 'px';
			elemObj.style.top = yPos + 'px';
			elemObj.style.display='block';
			
			hideElement( 'SELECT', document.getElementById(elem) );
			hideElement( 'APPLET', document.getElementById(elem) );
			

		} else {
			
			var req1  = newXMLHttpRequest();
			req1.onreadystatechange = getReadyStateHandler(req1, serverReseCallendar);	
			var FCase =	document.getElementById("hidCASEFETCH_"+elem).value; /* Case */
			var minYear =	document.getElementById("minYear_"+elem).value; /* Min Year */
			var maxYear =	document.getElementById("maxYear_"+elem).value; /* Max Year */
			var TimeShow =	document.getElementById("TimeShow_"+elem).value; /* Max Year */
			var CUSTOM_FUNCTION =	document.getElementById("CUSTOM_FUNCTION_"+elem).value; /* Max Year */
			str		  = "elem="+elem+"&year="+y+"&month="+m+"&day="+d+"&FCase="+FCase+"&minYear="+minYear+"&maxYear="+maxYear+"&TimeShow="+TimeShow+"&CUSTOM_FUNCTION="+CUSTOM_FUNCTION;
			req1.open("POST", srcPath+"/index.php?mod=callendar&pg=default&act=callendar_drag_month");	
			req1.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");	
			req1.send(str);
		}
		
		
}



	
function serverReseCallendar(_var) {
	
	_var = _var.split('|');	
	if (_var[0]) 
	{	
		document.getElementById(_var[1]).innerHTML = _var[0];
	}
}



function getAbsPos(elt,which) {
	iPos = 0;
	while (elt != null) {
	iPos += elt["offset" + which];
	elt = elt.offsetParent;
	}
	return iPos;
}

    /* hides <select> and <applet> objects (for IE only) */
    function hideElement( elmID, overDiv )
    {
      if( ie )
      {
        for( i = 0; i < document.all.tags( elmID ).length; i++ )
        {
          obj = document.all.tags( elmID )[i];
          if( !obj || !obj.offsetParent )
          {
            continue;
          }
      
          // Find the element's offsetTop and offsetLeft relative to the BODY tag.
          objLeft   = obj.offsetLeft;
          objTop    = obj.offsetTop-20;
          objParent = obj.offsetParent;
          
		  

		  
          while( objParent.tagName.toUpperCase() != "BODY" )
          {
			  	if (objParent.tagName.toUpperCase() == 'HTML')
			    break;
	
				objLeft  += objParent.offsetLeft;
				objTop   += objParent.offsetTop;
				objParent = objParent.offsetParent;
          }
      
	  
          objHeight = obj.offsetHeight;
          objWidth = obj.offsetWidth;
      
          if(( overDiv.offsetLeft + overDiv.offsetWidth ) <= objLeft );
          else if(( overDiv.offsetTop + overDiv.offsetHeight ) <= objTop );
          else if( overDiv.offsetTop >= ( objTop + objHeight ));
          else if( overDiv.offsetLeft >= ( objLeft + objWidth ));
          else
          {
            obj.style.visibility = "hidden";
          }
        }
      }
    }

    /*
    * unhides <select> and <applet> objects (for IE only)
    */
    function showElement( elmID )
    {
      if( ie )
      {
        for( i = 0; i < document.all.tags( elmID ).length; i++ )
        {
          obj = document.all.tags( elmID )[i];
          
          if( !obj || !obj.offsetParent )
          {
            continue;
          }
        
          obj.style.visibility = "";
        }
      }
    }


	function setTimMin	(CASEH,ELEM_C,ELEM_O)	{
		var ELEM_C	=	document.getElementById (ELEM_C);
		var ELEM_O	=	document.getElementById (ELEM_O);
		if (CASEH == 'Hrs')	{
			if ( ELEM_C.value < 0 ||   ELEM_C.value > 22 )
			ELEM_C.value	=	-1;
		} else if (CASEH == 'Min')	{
			if ( ELEM_C.value < 0 ||   ELEM_C.value > 58 )
			ELEM_C.value	=	-1;
		}

		var hrsNow	=	parseInt(ELEM_C.value) + 1;
		ELEM_C.value	=	hrsNow;

		if ( ELEM_C.value == 23 && CASEH == 'Hrs')		
		ELEM_O.value  = 0;

		if ( ELEM_C.value == 0 && CASEH == 'Min')		
		setTimMin('Hrs','hrs','mins');
	}

	function showTimMin	(ELEM,DATE_STR,ELEM_H,ELEM_M)	{
		var ELEM_H	=	document.getElementById (ELEM_H);
		var ELEM_M	=	document.getElementById (ELEM_M);

		ELEM_H.value = parseInt(ELEM_H.value) +1;
		ELEM_H.value = parseInt(ELEM_H.value) -1;
		
		ELEM_M.value = parseInt(ELEM_M.value) +1;
		ELEM_M.value = parseInt(ELEM_M.value) -1;

		if ( parseInt(ELEM_H.value) > 23 || parseInt(ELEM_H.value) < 0 )
		ELEM_H.value	=	0;

		if ( parseInt(ELEM_M.value) > 59 || parseInt(ELEM_M.value) < 0 )
		ELEM_M.value	=	0;



		ELEM.value	=	DATE_STR + " " + ELEM_H.value + ":" + ELEM_M.value;

	}

