
var oCalenderDiv = null;
var oCalendarParent = null;
var strCalendarPrefix = '';
var strDateField = '';
var oValidateField = null;


function findCalPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findCalPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

function DisplayCalendar(buttonId, buttonName, reqDateField, showApplyAll, validateField)
{
	var len=buttonId.indexOf(buttonName);

	strCalendarPrefix=buttonId.substr(0,len);
	
	
	
	oCalendarParent = document.getElementById(strCalendarPrefix + reqDateField)
	strDateField = reqDateField;
	oValidateField = validateField;
	
	
	//kblack 06/02/2005
	if(showApplyAll==null)
	{
		showApplyAll=false;
	}
	var sApplyAll = showApplyAll ? "1" : "0";
	
	
	document.cookie="ReqDate=" + oCalendarParent.value + "; path=/";
	document.cookie="ReqDateApplyAll=" + sApplyAll + "; path=/";
	
	oCalendarDiv = document.getElementById('divCal');
	oCalendarDiv.style.display = 'block';
	
	var iLeft =  findCalPosX(oCalendarParent) -10;
	var iTop = findCalPosY(oCalendarParent)-430;
	
	
	oCalendarDiv.style.top = (iTop<0)? "10px" : iTop + "px";
	oCalendarDiv.style.left =(iLeft<0)? "10px" : iLeft + "px";
	oCalendarDiv.innerHTML="<iframe id=\"calframe\"  src=\"/direct/calendar.aspx\" scrolling=\"no\" marginheight=\"0\" marginwidth=\"0\" frameborder=\"0\"></iframe>";
	document.getElementById('calframe').className = 'calendarframe';
	
	
}

function HideCalendar(varReturn)
{

	oCalendarDiv.style.display = "none";
	
	if (varReturn!=null)
	{
		
		if (varReturn.ApplyAll=="1")
		{
			var ctlStart=-1;
			for(var counter=strCalendarPrefix.length-2; counter>0;counter--)
			{
				if(strCalendarPrefix.substr(counter,1)=="_")
				{
					if(strCalendarPrefix.substr(counter,4)=="_ctl")
					{
						ctlStart=counter;
						break;
					}
				}
			}
			
		;
			if (ctlStart>-1)
			{
				var leftPrefix=strCalendarPrefix.substr(0,ctlStart+1);
				var rightStart=strCalendarPrefix.indexOf("_", ctlStart+2);
				var rightPrefix=strCalendarPrefix.substr(rightStart);
				
				for(var counter=0;counter>=0;counter++)
				{
					var newReqDateField=leftPrefix + "ctl" + counter + rightPrefix + strDateField;
				
					if(document.getElementById(newReqDateField)!=null)
					{
					
						var setValue=true;
						
						if (oValidateField!=null)
						{
							
							var newValidateField=leftPrefix + "ctl" + counter + rightPrefix + oValidateField;
							
							if (document.getElementById(newValidateField)==null || document.getElementById(newValidateField).value=="")
							{
								setValue=false;
							}
						}
						if(setValue==true)
						{
							document.getElementById(newReqDateField).value=varReturn.Date;
								
						}
					}
					else if(counter>1)
					{
						if (document.getElementById(strCalendarPrefix + strDateField)!=null)
						{
							// maybe apply all shoudn't have been clicked...
							document.getElementById(strCalendarPrefix + strDateField).value=varReturn.Date;
						}
						break;
					}
					
				}
			}
		}
		else
		{
			document.getElementById(strCalendarPrefix + strDateField).value=varReturn.Date;
		}
	}
		
	
}

/* KBLACK 1/172006 - depricated - only works for IE.
function DisplayCalendar(buttonId, buttonName, reqDateField, showApplyAll, validateField)
{
	var len=buttonId.indexOf(buttonName);
	var prefix=buttonId.substr(0,len);
	var reqDate=document.getElementById(prefix + reqDateField).value;
	
	
	//kblack 06/02/2005
	if(showApplyAll==null)
	{
		showApplyAll=false;
	}
	var sApplyAll = showApplyAll ? "1" : "0";
	
	document.cookie="ReqDate=" + reqDate + "; path=/";
	document.cookie="ReqDateApplyAll=" + sApplyAll + "; path=/";
	//var varReturn=window.showModalDialog("/direct/calendar.aspx",  '', "status:no;center:yes;resizable:no;dialogHeight:540px;dialogWidth:210px;help:no");
	
	alert('test');
	var varReturn;
	window.open("/direct/calendar.aspx", "Calendar", "width=210,height=540");
	 
	
	
	if (varReturn!=null)
	{
		
		if (varReturn.ApplyAll=="1")
		{
			var ctlStart=-1;
			for(var counter=prefix.length-2; counter>0;counter--)
			{
				if(prefix.substr(counter,1)=="_")
				{
					if(prefix.substr(counter,4)=="_ctl")
					{
						ctlStart=counter;
						break;
					}
				}
			}
			if (ctlStart>-1)
			{
				var leftPrefix=prefix.substr(0,ctlStart+1);
				var rightStart=prefix.indexOf("_", ctlStart+2);
				var rightPrefix=prefix.substr(rightStart);
				
				for(var counter=0;counter>=0;counter++)
				{
					var newReqDateField=leftPrefix + "ctl" + counter + rightPrefix + reqDateField;
				
					if(document.getElementById(newReqDateField)!=null)
					{
						var setValue=true;
						
						if (validateField!=null)
						{
							var newValidateField=leftPrefix + "ctl" + counter + rightPrefix + validateField;
							
							if (document.getElementById(newValidateField)==null || document.getElementById(newValidateField).value=="")
							{
								setValue=false;
							}
						}
						if(setValue==true)
						{
							document.getElementById(newReqDateField).value=varReturn.Date;
						}
					}
					else if(counter>1)
					{
						if (document.getElementById(prefix + reqDateField)!=null)
						{
							// maybe apply all shoudn't have been clicked...
							document.getElementById(prefix + reqDateField).value=varReturn.Date;
						}
						break;
					}
					
				}
			}
		}
		else
		{
			document.getElementById(prefix + reqDateField).value=varReturn.Date;
		}
	}
	
	return false;
	
}
*/