/*Support-Central Javascript Functions
****************************************************************************
function OpenHistory(nIncidentNo)	- opens popup window showing all incidents
									and responses from a given PK
function ChkForNumVal(Time)			-check if a value is numeric	

function OpenResponse(nResponseNo)  - opens a popup window for a response edit	

function AreYouSure(cPrompt)		- Are you sure popup. expects the text for the prompt								
function IFResize()					- Hide or show the left toolbar
function CheckCommonCause(nCategoryMasterValue) - checks for a common cause in category
****************************************************************************
*/

function Left(str, n) {
    if (n <= 0)
        return "";
    else if (n > String(str).length)
        return str;
    else
        return String(str).substring(0, n);
}


function fShowModalDialog (cURL, cName, cArguments, cFeatures){

	window.open(cURL, cName, "modal=yes,alwaysRaisedy=yes,dialog=yes," +cArguments , cFeatures)
    //winHandle.focus()
	
}

function getMonthNo(dMonthName)
{
	var dMonth
		switch (dMonthName)
		{
			case "Jan":
				dMonth = 0;
				break
			case "Feb":
				dMonth = 1;
				break
			case "Mar":
				dMonth = 2;
				break
			case "Apr":
				dMonth = 3;
				break
			case "May":
				dMonth = 4;
				break
			case "Jun":
				dMonth = 5;
				break
			case "Jul":
				dMonth = 6;
				break
			case "Aug":
				dMonth = 7;
				break
			case "Sep":
				dMonth = 8;
				break
			case "Oct":
				dMonth = 9;
				break
			case "Nov":
				dMonth = 10;
				break
			case "Dec":
				dMonth = 11;
				break
		}
		
		return dMonth

}



function SmartGPS(str, textbox) {
    var keyCode = event.keyCode;

    if (keyCode != 8 && keyCode != 37 && keyCode != 39 && keyCode != 46 && keyCode != 35 && keyCode != 36
	) {


        var strlength = str.length;

        if (strlength < 2) {
            str = "S " + str;

        }

        if (strlength < 5 && strlength > 3) {
            str = str + "°";
        }

        if (strlength < 8 && strlength > 6) {
            str = str + "."
        }

        if (strlength < 12 && strlength > 10) {
            str = str + "' E0"
        }

        if (strlength < 18 && strlength > 16) {
            str = str + "°";
        }

        if (strlength < 21 && strlength > 19) {
            str = str + ".";
        }

        if (strlength < 25 && strlength > 23) {
            str = str + "'";
        }
        if (strlength > 24) {
            str = str.substring(0, 25);
        }

        textbox.value = str;
    }
}

function validate_email(field,alerttxt)
	{
	with (field)
	{
	apos=value.indexOf("@")
	dotpos=value.lastIndexOf(".")
	if (apos<1||dotpos-apos<2) 
	{alert(alerttxt);return false}
	else {return true}
	}
} 

function exec (command) {
  if (document.layers && navigator.javaEnabled()) {
    window._command = command;
    window.oldOnError = window.onerror;
    window.onerror = function (err) {
      if (err.indexOf ("User didn't grant") != -1) {
        alert('command execution of ' + window._command + 
              ' disallowed by user.'); 
        return true;
      }
      else return false;
    }
    netscape.security.PrivilegeManager.enablePrivilege
('UniversalExecAccess');
    java.lang.Runtime.getRuntime().exec(command);
    window.onerror = window.oldOnError;
  }
  else if (document.all) {
    window.oldOnError = window.onerror;
    window._command = command;
    window.onerror = function (err) {
      if (err.indexOf('utomation') != -1) {
        alert('command execution of ' + window._command + 
              ' disallowed by user.'); 
        return true;
      }
      else return false;
    };
    var wsh = new ActiveXObject('WScript.Shell');
    if (wsh)
      wsh.Run(command);
    window.onerror = window.oldOnError;
  }
}

function showKeyCode(strText)
{
var character = strText.substring(0,1);
var code = strText.charCodeAt(0);
var msg = "The ASCII Decimal Key Code for the \""+character+"\" character is "+code+".";
alert(msg);
}

function calculatePeriod(StartDate, EndDate, txtPeriod)
	{
	//alert(StartDate + ':' + EndDate + ':' + txtPeriod.value);
		if(StartDate !='' && EndDate!='')
			{
			  
			var StartDate = new Date(StartDate);
			var EndDate = new Date(EndDate);
			var StartDateYear = StartDate.getFullYear(); 
			var EndDateYear = EndDate.getFullYear(); 
			var StartDateMonth = StartDate.getMonth() + 1; 
			var EndDateMonth = EndDate.getMonth() + 1; 
			var EndDatePlusOne = new Date(EndDate);
			EndDatePlusOne.setDate(EndDatePlusOne.getDate() + 1);
			var EndDatePlusOneMonth = EndDatePlusOne.getMonth() + 1;
						
			if(EndDateYear < StartDateYear)
				{
					//alert('The End Date cannot be before the Start Date');
					txtPeriod.value = '0';
				}
			else if(EndDateYear == StartDateYear)
				{
					if(EndDateMonth < StartDateMonth)
						{
							//alert('The End Date cannot be before the Start Date');
							txtPeriod.value = '0';
						}
					else
						{
							if(EndDateMonth==EndDatePlusOneMonth)
							{
							txtPeriod.value = EndDateMonth - StartDateMonth;
							}
							else
							{
							txtPeriod.value = EndDateMonth - StartDateMonth + 1;
							}
							
						}
				}
			else if(EndDateYear > StartDateYear)
				{
					if(StartDateMonth < EndDateMonth)
						{
							var Months = (EndDateYear - StartDateYear) * 12;
							if(EndDateMonth==EndDatePlusOneMonth)
							{
							txtPeriod.value = (EndDateMonth - StartDateMonth) + Months;
							}
							else
							{
							txtPeriod.value = (EndDateMonth - StartDateMonth) + Months + 1;
							}
						}
					else if(StartDateMonth == EndDateMonth)
						{
							var Months = (EndDateYear - StartDateYear) * 12;
							if(EndDateMonth==EndDatePlusOneMonth)
							{
							txtPeriod.value = Months;
							}
							else
							{
							txtPeriod.value = Months + 1;
							}
							txtPeriod.value = Months;
						}
					else if(StartDateMonth > EndDateMonth)
						{
							var Months = (EndDateYear - StartDateYear) * 12;
							if(EndDateMonth==EndDatePlusOneMonth)
							{
							txtPeriod.value = (Months - StartDateMonth) + EndDateMonth;
							}
							else
							{
							txtPeriod.value = (Months - StartDateMonth) + EndDateMonth + 1;
							}
						}
				}
			}
}

function calculatePeriodRemaining(StartDate, EndDate, txtPeriod) {
    //alert(StartDate + ':' + EndDate + ':' + txtPeriod.value);
    if (StartDate != '' && EndDate != '') {

        var TodayDate = new Date();
        var StartDate = new Date(StartDate);
        if (StartDate < TodayDate) {
            StartDate = TodayDate;
        }
        var EndDate = new Date(EndDate);
        var StartDateYear = StartDate.getFullYear();
        var EndDateYear = EndDate.getFullYear();
        var StartDateMonth = StartDate.getMonth() + 1;
        var EndDateMonth = EndDate.getMonth() + 1;
        var EndDatePlusOne = new Date(EndDate);
        EndDatePlusOne.setDate(EndDatePlusOne.getDate() + 1);
        var EndDatePlusOneMonth = EndDatePlusOne.getMonth() + 1;

        if (EndDateYear < StartDateYear) {
            //alert('The End Date cannot be before the Start Date');
            txtPeriod.value = '0';
        }
        else if (EndDateYear == StartDateYear) {
            if (EndDateMonth < StartDateMonth) {
                //alert('The End Date cannot be before the Start Date');
                txtPeriod.value = '0';
            }
            else {
                if (EndDateMonth == EndDatePlusOneMonth) {
                    txtPeriod.value = EndDateMonth - StartDateMonth;
                }
                else {
                    txtPeriod.value = EndDateMonth - StartDateMonth + 1;
                }

            }
        }
        else if (EndDateYear > StartDateYear) {
            if (StartDateMonth < EndDateMonth) {
                var Months = (EndDateYear - StartDateYear) * 12;
                if (EndDateMonth == EndDatePlusOneMonth) {
                    txtPeriod.value = (EndDateMonth - StartDateMonth) + Months;
                }
                else {
                    txtPeriod.value = (EndDateMonth - StartDateMonth) + Months + 1;
                }
            }
            else if (StartDateMonth == EndDateMonth) {
                var Months = (EndDateYear - StartDateYear) * 12;
                if (EndDateMonth == EndDatePlusOneMonth) {
                    txtPeriod.value = Months;
                }
                else {
                    txtPeriod.value = Months + 1;
                }
                txtPeriod.value = Months;
            }
            else if (StartDateMonth > EndDateMonth) {
                var Months = (EndDateYear - StartDateYear) * 12;
                if (EndDateMonth == EndDatePlusOneMonth) {
                    txtPeriod.value = (Months - StartDateMonth) + EndDateMonth;
                }
                else {
                    txtPeriod.value = (Months - StartDateMonth) + EndDateMonth + 1;
                }
            }
        }
    }
}


function removeCommas( strValue ) {
/************************************************
DESCRIPTION: Removes commas from source string.

PARAMETERS:
  strValue - Source string from which commas will
    be removed;

RETURNS: Source string with commas removed.
*************************************************/
  var objRegExp = /,/g; //search for commas globally

  //replace all matches with empty strings
  return strValue.replace(objRegExp,'');
}

function formatnumberdecimalplaces(expr, decplaces)
{

	if (expr == "0")
	{
		return "0.00";
	}
	else
	{
		expr = removeCommas(expr);
		
		var str = "" + Math.round(eval(expr) * Math.pow(10,decplaces));
		
		while (str.length <= decplaces)
		{
			str = "0" + str;
		}
		
		var decpoint = str.length - decplaces;
		return str.substring(0,decpoint) + "." + str.substring(decpoint,str.length);
	}
}

function formatSystemCurrency(expr, decimalplaces, bReturnCurrencyChar, currencycharacter)  
{
	if (expr == "0")
	{
		if (bReturnCurrencyChar==true)
		{
			//var currencychar
			//currencychar = '<%=cCurrChar%>';
		    return currencycharacter + " 0.00";
		}
		else
		{
			return "0.00";
		}
	}
	else
	{
		expr = removeCommas("" + expr);
		var decplaces
		decplaces = decimalplaces;
		var currencychar
		currencychar = currencycharacter;
		
		if (eval(decplaces)==null)
		{
			decplaces=2;
		}
		if (typeof currencycharacter == 'undefined')
		{
			currencychar='R';
		}

		//var decplaces
		//decplaces = 2;//'<%=application("nSystemDecimalPlaces")%>';
		//var currencychar
		//currencychar = 'R';
		
		var str = "" + Math.round(eval(expr) * Math.pow(10,decplaces));
		
		while (str.length <= decplaces)
		{
			str = "0" + str;
		}
		
		var decpoint = str.length - decplaces;
		if (bReturnCurrencyChar==true)
		{
			return  currencychar + " " + str.substring(0,decpoint) + "." + str.substring(decpoint,str.length);
		}
		else
		{
			return str.substring(0,decpoint) + "." + str.substring(decpoint,str.length);
		}
	}

}

function trim(strText) { 
    // this will get rid of leading spaces 
    while (strText.substring(0,1) == ' ') 
        strText = strText.substring(1, strText.length);

    // this will get rid of trailing spaces 
    while (strText.substring(strText.length-1,strText.length) == ' ')
        strText = strText.substring(0, strText.length-1);

   return strText;
}

function OpenOpportunityNo(nOpportunityNo) {
    var nScreenHeight;
    nScreenHeight = 660;
    var nWidth;
    nWidth = 1005;

    window.open("/Sales/OpportunityDetails.asp?nopportunityNo=" + nOpportunityNo, "_blankOpp", "scrollbars=yes,left=0,top=0,height=" + nScreenHeight + ",width=" & nWidth & ",status=yes,toolbar=no,menubar=no,location=no,resizable=yes");
}

function OpenHistoryRef(nIncidentNo, bShowNewHistoryResponsesPage)
//Show incident and all responses from nIncidentNo PrimaryKey
{
    var nScreenHeight;
    nScreenHeight = 660;
    //window.open("/incident_response/history_and_responses.asp?nIncidentrefNo="+nIncidentNo,"_blank","scrollbars=yes,left="+(screen.width-770)/2+",top="+(screen.height-550)/2+",height=550,width=770,status=yes,toolbar=no,menubar=no,location=no,resizable=yes");
    //window.open("/incident_response/history_and_responses.asp?nIncidentrefNo="+nIncidentNo,"_blank","scrollbars=yes,left="+(screen.width-770)/2+",top="+(screen.height-550)/2+",height=620,width=850,status=yes,toolbar=no,menubar=no,location=no,resizable=yes");

    if (typeof bShowNewHistoryResponsesPage == 'undefined') {

        //window.open("/incident_response/history_and_responses.asp?nIncidentNo="+nIncidentNo,"_blank","scrollbars=yes,left="+(screen.width-770)/2+",top="+(screen.height-550)/2+",height=550,width=770,status=yes,toolbar=no,menubar=no,location=no,resizable=yes");
        window.open("/incident_response/history_and_responses.asp?nIncidentrefNo=" + nIncidentNo, "_blank", "scrollbars=yes,left=" + (screen.width - 770) / 2 + ",top=" + (screen.height - 550) / 2 + ",height=620,width=850,status=yes,toolbar=no,menubar=no,location=no,resizable=yes");
    }
    else {
        if (bShowNewHistoryResponsesPage == true) {
            //This was added by tyrone for testing 19 Feb 2009
            window.open("/incident_response/AddUpdateIncident.aspx?nIncidentrefNo=" + nIncidentNo, "_blank", "scrollbars=yes,left=0,top=0,height=" + nScreenHeight + ",width=1024,status=yes,toolbar=no,menubar=no,location=no,resizable=yes");
            //window.open("/incident_response/AddUpdateIncident.aspx?nIncidentrefNo=" + nIncidentNo, "_blank", "scrollbars=yes,left=" + (screen.width - 770) / 2 + ",top=" + (screen.height - 550) / 2 + ",height=" + nScreenHeight + ",width=1024,status=yes,toolbar=no,menubar=no,location=no,resizable=yes");


            //COMMENT THIS CODE OUT BEFORE CHECKING IN
            //	            window.open("/incident_response/history_and_responses.asp?nIncidentNo=" + nIncidentNo, "_blank", "scrollbars=yes,left=" + (screen.width - 770) / 2 + ",top=" + (screen.height - 550) / 2 + ",height=620,width=850,status=yes,toolbar=no,menubar=no,location=no,resizable=yes");
        }
        if (bShowNewHistoryResponsesPage == false) {
            window.open("/incident_response/history_and_responses.asp?nIncidentrefNo=" + nIncidentNo, "_blank", "scrollbars=yes,left=" + (screen.width - 770) / 2 + ",top=" + (screen.height - 550) / 2 + ",height=620,width=850,status=yes,toolbar=no,menubar=no,location=no,resizable=yes");
        }
    }
}

function OpenEventScheduleTimesheetPopup(nConsultantNo) {
    //The variable dStartDate is inherited from the ScheduleByConsultant page as part
    //of the JS defined variables
    var cURL = "../Financial/Reports/WeeklyTS.asp?nConsultantNo=" + nConsultantNo + "&dStartDate=" + dStartDate;
    
    window.open(cURL, "_blank", "scrollbars=yes,left=" + (screen.width - 900) / 2 + ",top=" + (screen.height - 550) / 2 + ",height=550,width=900,status=yes,toolbar=no,menubar=no,location=no,resizable=yes");
}

function OpenPopUp(cURL)
{
window.open(cURL,"_blank","scrollbars=yes,left="+(screen.width-900)/2+",top="+(screen.height-550)/2+",height=550,width=900,status=yes,toolbar=no,menubar=no,location=no,resizable=yes");
}

function OpenPopUp2(cURL)
{
window.open(cURL,"_blank","scrollbars=no,left="+(screen.width-795)/2+",top="+(screen.height-550)/2+",height=380,width=795,status=yes,toolbar=no,menubar=no,location=no,resizable=no");
}

function DescSLA(nSLAClassNo)
	{
	window.open('/sla/describesla.asp?nSLAClassNo='+nSLAClassNo,'_blank','scrollbars=yes,left="+(screen.width-400)/2+",top="+(screen.height-400)/2+",height=400,width=400,status=no,toolbar=no,menubar=no,location=no,resizable=yes');
	}
function DescTargetTrace(nIncidentNo)
	{
	window.open('/sla/describeTargetTrace.asp?nincidentNo='+nIncidentNo,'_blank','scrollbars=yes,left="+(screen.width-300)/2+",top="+(screen.height-300)/2+",height=300,width=300,status=no,toolbar=no,menubar=no,location=no,resizable=yes');
	}
function DescBMCTrace(nIncidentNo)
	{
	window.open('/sla/describeBMCTrace.asp?nincidentNo='+nIncidentNo,'_blank','scrollbars=yes,left="+(screen.width-300)/2+",top="+(screen.height-300)/2+",height=300,width=300,status=no,toolbar=no,menubar=no,location=no,resizable=yes');
	}
function PopulateSubCategories(nCategoryNo,nSelectedValue, nIncidentNo)
	{
	for (nCountSubs=0;nCountSubs<=nCategoryParentChildCount;nCountSubs++)
		{
		
		if (aCatParent[nCountSubs]==nCategoryNo)
			{
			if (nSelectedValue>0)
				{
				popCategoryDropDown(aCatChild[nCountSubs],nSelectedValue, nIncidentNo);
				}
			else
				{
				document.forms.Form1['frmCAT'+aCatChild[nCountSubs]].options.length = 1;
				}
			}
		}
}

function Populatemunicipalities(nSelectedValue) 
{
    window.frames['PopulateProvinceMunicipalityDropDown' + nSelectedValue].document.location.replace('getcategoryvalues.asp?nCategoryNo=' + nCategoryNo + '&nParentNo=' + nParentNo + '&nIncidentNo=' + nIncidentNo);
}
	
function popClientCategoryDropDown(nCategoryNo,nParentNo,nClientNo)
	{
	   
	window.frames['PopulateClientCategoryDropDown'+nCategoryNo].document.location.replace('/client/getclientcategoryvalues.asp?nCategoryNo='+nCategoryNo+'&nParentNo='+nParentNo+'&nClientNo='+nClientNo);
	}
	
function popClientCategoryCopyData(nCategoryNo)
	{
	var nSelectedKey;
	nSelectedKey=document.forms.Form1['frmCAT'+nCategoryNo].options(document.forms.Form1['frmCAT'+nCategoryNo].selectedIndex).value;
	document.forms.Form1['frmCAT'+nCategoryNo].options.length = 1;
		var nC
		for (nC=0;nC<window.frames['PopulateClientCategoryDropDown'+nCategoryNo].document.all.DataTable.rows.length;nC++)
			{
			
				document.forms.Form1['frmCAT'+nCategoryNo].options[nC+1] = new Option(document['PopulateClientCategoryDropDown'+nCategoryNo].document.all.DataTable.rows(nC).cells(1).innerText,document['PopulateClientCategoryDropDown'+nCategoryNo].document.all.DataTable.rows(nC).cells(0).innerText)
				if (document['PopulateClientCategoryDropDown'+nCategoryNo].document.all.DataTable.rows(nC).cells(0).innerText==nSelectedKey)
					{
					document.forms.Form1['frmCAT'+nCategoryNo].selectedIndex=nC+1;
					}
				
			}
	}

function PopulateClientSubCategories(nCategoryNo,nSelectedValue, nClientNo)
	{
	    
	for (nCountSubs=0;nCountSubs<=nCategoryParentChildCount;nCountSubs++)
		{
	
		if (aCatParent[nCountSubs]==nCategoryNo)
			{
				
			if (nSelectedValue>0)
				{
				    
				popClientCategoryDropDown(aCatChild[nCountSubs],nSelectedValue, nClientNo);
				}
			else
				{
				document.forms.Form1['frmCAT'+aCatChild[nCountSubs]].options.length = 1;
				}
			}
		}
	}
	
function popCategoryDropDown(nCategoryNo,nParentNo,nIncidentNo)
	{
	//alert('popCategoryDropDown');
	window.frames['PopulateCategoryDropDown'+nCategoryNo].document.location.replace('getcategoryvalues.asp?nCategoryNo='+nCategoryNo+'&nParentNo='+nParentNo+'&nIncidentNo='+nIncidentNo);
	}
	
function popCategoryCopyData(nCategoryNo)
	{
	var nSelectedKey;
	nSelectedKey=document.forms.Form1['frmCAT'+nCategoryNo].options(document.forms.Form1['frmCAT'+nCategoryNo].selectedIndex).value;
	document.forms.Form1['frmCAT'+nCategoryNo].options.length = 1;
		var nC
		for (nC=0;nC<window.frames['PopulateCategoryDropDown'+nCategoryNo].document.all.DataTable.rows.length;nC++)
			{
			
				document.forms.Form1['frmCAT'+nCategoryNo].options[nC+1] = new Option(document['PopulateCategoryDropDown'+nCategoryNo].document.all.DataTable.rows(nC).cells(1).innerText,document['PopulateCategoryDropDown'+nCategoryNo].document.all.DataTable.rows(nC).cells(0).innerText)
				if (document['PopulateCategoryDropDown'+nCategoryNo].document.all.DataTable.rows(nC).cells(0).innerText==nSelectedKey)
					{
					document.forms.Form1['frmCAT'+nCategoryNo].selectedIndex=nC+1;
					}
				
			}
	}

function popMunicipalityCopyData()
	{
		var nC
		for (nC=0;nC<window.frames['Municipalities'].document.all.DataTable.rows.length;nC++)
			{
			
				document.forms.Form1['nMunicipalityNo'].options[nC+1] = new Option(document['Municipalities'].document.all.DataTable.rows(nC).cells(1).innerText,document['Municipalities'].document.all.DataTable.rows(nC).cells(0).innerText)
				
			}
	}


function IncidentAddFilterConsultantByTeam(nTeamNo,nTotalTeamMembers)
	{
			
			document.all.nResponsibleConsultantNo.options.length = 0;
			var nCountArrayElements;
			var nC2;
			nC2 = 0;
			
			for (nCountArrayElements=1;nCountArrayElements<=nTotalTeamMembers;nCountArrayElements++)
			{
			
			if (aTMTNo[nCountArrayElements]==nTeamNo)
				{
				document.all.nResponsibleConsultantNo.options[nC2] = new Option(aTMN[nCountArrayElements],aTMCNo[nCountArrayElements]);
				nC2++;
				}
			
			}
		

	}

	function OpenHistorypk(nIncidentNo, bShowNewHistoryResponsesPage)
	//Show incident and all responses from nIncidentNo PrimaryKey
	{
	    var nScreenHeight;
	    if (nIncidentNo > 0) {
	        nScreenHeight = 660;
	    }
	    else {
	        nScreenHeight = 400;
	    }
	    if (typeof bShowNewHistoryResponsesPage == 'undefined') {

	        //window.open("/incident_response/history_and_responses.asp?nIncidentNo="+nIncidentNo,"_blank","scrollbars=yes,left="+(screen.width-770)/2+",top="+(screen.height-550)/2+",height=550,width=770,status=yes,toolbar=no,menubar=no,location=no,resizable=yes");
	        window.open("/incident_response/history_and_responses.asp?nIncidentNo=" + nIncidentNo, "_blank", "scrollbars=yes,left=" + (screen.width - 770) / 2 + ",top=" + (screen.height - 550) / 2 + ",height=620,width=850,status=yes,toolbar=no,menubar=no,location=no,resizable=yes");
	    }
	    else {
	        if (bShowNewHistoryResponsesPage == true) {
	            window.open("/incident_response/AddUpdateIncident.aspx?nIncidentNo=" + nIncidentNo, "_blank", "scrollbars=yes,left=0,top=0,height=" + nScreenHeight + ",width=1024,status=yes,toolbar=no,menubar=no,location=no,resizable=yes");
	            
	        }
	        if (bShowNewHistoryResponsesPage == false) {
	            window.open("/incident_response/history_and_responses.asp?nIncidentNo=" + nIncidentNo, "_blank", "scrollbars=yes,left=" + (screen.width - 770) / 2 + ",top=" + (screen.height - 550) / 2 + ",height=620,width=850,status=yes,toolbar=no,menubar=no,location=no,resizable=yes");
	        }
	    }
	}


	function OpenHistorypkNew(nIncidentNo, btnRefresh, bShowNewHistoryResponsesPage) {
	    var nScreenHeight;
	    var nWidth;
	    nWidth = 1005;
	    if (nIncidentNo > 0) {
	        nScreenHeight = 660;
	    }
	    else {
	        nScreenHeight = 400;
	    }
	         //Show Incident and all responses from the nIncidentNo Primarykey
	    if (typeof bShowNewHistoryResponsesPage == 'undefined') {
	        window.open("/incident_response/history_and_responses.asp?nIncidentNo=" + nIncidentNo + "&btnCallingRefresh=" + btnRefresh, "_blank", "scrollbars=yes,left=" + (screen.width - 770) / 2 + ",top=" + (screen.height - 550) / 2 + ",height=620,width=850,status=yes,toolbar=no,menubar=no,location=no,resizable=yes");
	    }
	    else {
	        if (bShowNewHistoryResponsesPage == true) {
	            window.open("/incident_response/AddUpdateIncident.aspx?nIncidentNo=" + nIncidentNo + "&btnCallingRefresh=" + btnRefresh, "_blank", "scrollbars=yes,left=" + (screen.width - nWidth) / 2 + ",top=" + (screen.height - nScreenHeight) / 2 + ",height=" + nScreenHeight + ",width=" + nWidth + ",status=yes,toolbar=no,menubar=no,location=no,resizable=yes");
	           

	        }
	        if (bShowNewHistoryResponsesPage == false) {
	            window.open("/incident_response/history_and_responses.asp?nIncidentNo=" + nIncidentNo + "&btnCallingRefresh=" + btnRefresh, "_blank", "scrollbars=yes,left=" + (screen.width - 770) / 2 + ",top=" + (screen.height - 550) / 2 + ",height=620,width=850,status=yes,toolbar=no,menubar=no,location=no,resizable=yes");
	        }
	    }
	}

	

function OpenReadOnlyResponse(nResponseNo)
//Show  responses from nResponseNo 
{
    window.open("/incident_response/readonlyresponse.asp?nResponseNo="+nResponseNo,"_blank","scrollbars=yes,left="+(screen.width-700)/2+",top="+(screen.height-300)/2+",height=300,width=700,status=no,toolbar=no,menubar=no,location=no,resizable=yes");
}

function OpenResponse(nResponseNo)
//Show response for editing
{
    window.open("/incident_response/UpdateResponse.asp?nResponseNo=" + nResponseNo, "update_response", "scrollbars=yes,left=" + (screen.width - 770) / 2 + ",top=" + (screen.height - 300) / 2 + ",height=300,width=770,status=yes,toolbar=no,menubar=no,location=no,resizable=yes");
}

function ChkForNumVal(Time) {
	if (isNaN(Time)) {
		alert("This value must be numeric.");
		// cName.focus();
    }
}

function ShrinkNav()
	{
	
	top.window.window.frames[0].visibility='hidden';
	//top.window.window.frames.main.visib.width=100;
	}

function AreYouSure(cPrompt) {
	if (confirm(cPrompt)==true)
			return true;
		else
			return false;
}
function OpenTaskResponse(nTaskNo)
	{
		window.open('/Sales/TaskResponse.asp?cMode=Add&nTaskNo='+nTaskNo+'&referrerasp=OpportunityDetails_Tasks','TaskResponse','scrollbars=yes,left="+(screen.width-400)/2+",top="+(screen.height-400)/2+",height=450,width=400,status=no,toolbar=no,menubar=no,location=no');

}
function TaskResponseNoOpportunities(nTaskNo) {
    window.open('/Sales/TaskResponse.asp?noOpportunities=True&cMode=Add&referrerasp=OpportunityDetails_Tasks&nTaskNo=' + nTaskNo, 'TaskResponse', 'scrollbars=yes,left=50,top=50,height=550,width=400,status=no,toolbar=no,menubar=no,location=no');
}
		

	function OpenTaskResponseWithoutOpps(nTaskNo) {
	    window.open('/Sales/TaskResponse.asp?cMode=Add&noOpportunities=True&referrerasp=OpportunityDetails_Tasks&nTaskNo=' + nTaskNo, 'TaskResponse', 'scrollbars=yes,left="+(screen.width-400)/2+",top="+(screen.height-400)/2+",height=450,width=400,status=no,toolbar=no,menubar=no,location=no');
	}

//Resize left menu
varBigger = false;
varColor = 'iframe/blue.html';
varHidden = false;

function LeftMenuShow(){
		//var e = window.event;
        //var X;
       // X = e.pageX;
        //var Y = document.body.scrollTop;
        //alert(e.pageX);
        //var x;
        //x=document.forms('Form1').getElementById('theColumn');
       // document.getElementById('main').childNodes[3].style.width='170';
//        var mainPage=document.getElementById('main');
//document.getElementById('leftmenu').style.width='170';
//document.getElementById('leftmenu').style.display='none';
//document.getElementById('leftMenuDiv').style.display='none';
//window.document.getElementById('leftMenuDiv').style.display='none';
		for(var i=0;i<100;i++){
			
			if(document.getElementById('rightColumn'+i)){
				document.getElementById('rightColumn'+i).style.display='';
			}
		}
	
	

}


function IFResize()
//Hide or show the left toolbar
{

    var ChangeMainSize;

	if (varBigger) { 
			ChangeMainSize= document.body.clientWidth-202;	
			document.getElementById("divMain").style.width=ChangeMainSize;
			document.getElementById("main").width=ChangeMainSize;
			document.getElementById("nav").width=200;
			document.getElementById("divNav").style.width=200;
			document.getElementById("divMain").style.left=202;
			varBigger = false;
			}
		else {
			ChangeMainSize= document.body.clientWidth;				
			document.getElementById("divMain").style.left=0;
			document.getElementById("nav").width=0;
			document.getElementById("divNav").style.width=0;
			document.getElementById("divMain").style.width=ChangeMainSize;
			document.getElementById("main").width=ChangeMainSize;
			varBigger = true;
		}				
						            
}

function NewUnallocatedResponse(nDay,nConsultantNo,nQuarterHourCount,dStartDate)
	{
	window.open('TimesheetResponse.asp?cMode=Add&nConsultantNo='+nConsultantNo+'&referrerasp=WeeklyTimesheet&nDay='+nDay+'&nQuarterHourCount='+nQuarterHourCount+'&dStartDate='+dStartDate,'TaskResponse','scrollbars=yes,left="+(screen.width-760)/2+",top="+(screen.height-580)/2+",height=5800,width=760,status=no,toolbar=no,menubar=no,location=no');
	
	}

function TSNewUnallocatedResponse()
	{
	var nDay;
	var nTopOffSet;
	var nConsultantNo;
	var nQuarterHourCount;
	var dStartDate;
	
	if (window.event.srcElement.id.slice(2,10)!='Response')
		{
		nTopOffSet=window.event.srcElement.id.slice(window.event.srcElement.id.indexOf('_')+3,window.event.srcElement.id.length);
		nConsultantNo=	document.forms[0].nConsultantNo.value;
		
		dStartDate=		document.forms[0].dStartDate.value;
		//alert(dStartDate)
		nQuarterHourCount=nTopOffSet;
		nDay=window.event.srcElement.id.slice(12,13);
		
		window.open('TimesheetResponse.asp?cMode=Add&nConsultantNo='+nConsultantNo+'&referrerasp=WeeklyTimesheet&nDay='+nDay+'&nQuarterHourCount='+nQuarterHourCount+'&dStartDate='+dStartDate,'TaskResponse','scrollbars=yes,left='+(screen.width-760)/2+',top='+(screen.height-580)/2+',height=580,width=760,status=yes,toolbar=no,menubar=no,location=no,resize=yes');
		}
	}

function FFTSNewUnallocatedResponse(element)
	{
	var nDay;
	var nTopOffSet;
	var nConsultantNo;
	var nQuarterHourCount;
	var dStartDate;
	
	//alert(element.id);
	//alert(element.id.slice(2,10));
	//alert(element.id.slice(element.id.indexOf('_')+3,element.id.length));
	
	if (element.id.slice(2,10)!='Response')
		{
		nTopOffSet=element.id.slice(element.id.indexOf('_')+3,element.id.length);
		nConsultantNo=	document.forms[0].nConsultantNo.value;
		//alert(nConsultantNo);
		
		dStartDate=		document.forms[0].dStartDate.value;
		//alert(dStartDate)
		nQuarterHourCount=nTopOffSet;
		//alert(nQuarterHourCount);
		nDay=element.id.slice(12,13);
		
	
		window.open('TimesheetResponse.asp?cMode=Add&nConsultantNo='+nConsultantNo+'&referrerasp=WeeklyTimesheet&nDay='+nDay+'&nQuarterHourCount='+nQuarterHourCount+'&dStartDate='+dStartDate,'TaskResponse','scrollbars=yes,left='+(screen.width-760)/2+',top='+(screen.height-580)/2+',height=580,width=760,status=yes,toolbar=no,menubar=no,location=no,resize=yes');
		}
	}


function TSBillingLocked()
	{
	alert('The selected timeslot is not available for logging time');
	}

function TSNewUnallocatedEvent()
	{
	var nDay;
	var nTopOffSet;
	var nConsultantNo;
	var nQuarterHourCount;
	var dStartDate;
	
	
		nTopOffSet=window.event.srcElement.id.slice(window.event.srcElement.id.indexOf('_')+3,window.event.srcElement.id.length);
		
		
		dStartDate=		document.forms[0].dStartDate.value;
		nClientNo=document.forms[0].nClientNo.value;
		//alert (nClientNo);
		nQuarterHourCount=nTopOffSet;
		nDay=window.event.srcElement.id.slice(12,13);
		
		window.open('/booking/EventUpdate.aspx?cMode=Add&nDay='+nDay+'&nQuarterHourCount='+nQuarterHourCount+'&dStartDate='+dStartDate+'&nClientNo='+nClientNo,'NewEvent','scrollbars=yes,left='+(screen.width-770)/2+',top='+(screen.height-550)/2+',height=550,width=770,status=no,toolbar=no,menubar=no,location=no,resizable=yes');
		
		
	
	}
	

function TSNewAllocatedEvent()
	{
	var nDay;
	var nTopOffSet;
	var nConsultantNo;
	var nQuarterHourCount;
	var dStartDate;
	
	
		
		
		
		dStartDate=		document.forms[0].dStartDate.value;
		//alert(window.event.srcElement.id);
		nClientNo=window.event.srcElement.id.slice(12,12+window.event.srcElement.id.slice(12,window.event.srcElement.id.length).indexOf('_'));
		nTopOffSet=window.event.srcElement.id.slice(12+window.event.srcElement.id.slice(12,window.event.srcElement.id.length).indexOf('_')+1,window.event.srcElement.id.length);
		//alert (nClientNo);
		nQuarterHourCount=nTopOffSet;
		nDay=0;
		
		window.open('/booking/EventUpdate.aspx?cMode=Add&nDay='+nDay+'&nQuarterHourCount='+nQuarterHourCount+'&dStartDate='+dStartDate+'&nClientNo='+nClientNo,'NewEvent','scrollbars=yes,left='+(screen.width-770)/2+',top='+(screen.height-550)/2+',height=550,width=770,status=no,toolbar=no,menubar=no,location=no,resizable=yes');
		
		
	
	}

function fMinutesToHHMM(nMinutesIn)
	{
	
	nMinutes=nMinutesIn % 60;
	nHours=(nMinutesIn-nMinutes)/60;
	if (nMinutes==0)
		{
		nMinutes='00';
		}
	if (nHours<10)
		{
		nHours='0'+nHours;
		}
	return nHours + ':' + nMinutes;
	}
	
function OnMouseOver(){
	
	
	
	}
	
function OnMouseOut()
	{
	
	window.event.srcElement.style.overflowY='hidden';
	
	}

function SaveTaskFromChart()
	{
	var nKeyLoop=0;
	nPK=window.event.srcElement.id.slice(window.event.srcElement.id.indexOf('_')+1,window.event.srcElement.id.length);
	
	while(arrTaskPKs[nKeyLoop] != nPK)
		{
		nKeyLoop++
		}
	arrTaskNames[nKeyLoop]=window.event.srcElement.innerText;
	window.event.srcElement.style.zIndex=window.event.srcElement.style.zIndex-1;
	
	if (window.event.srcElement.id.slice(6,10)=='Dura')
		{
		window.event.srcElement.style.borderWidth=1;
		window.event.srcElement.style.backgroundColor='lightblue';
		window.event.srcElement.style.overflowX='hidden';
		window.event.srcElement.innerText=arrTaskResources[nKeyLoop]+': '+arrTaskNames[nKeyLoop];
		window['dvTask_'+nPK].innerText=arrTaskResources[nKeyLoop]+': '+arrTaskNames[nKeyLoop];
		window.event.srcElement.contentEditable=false;
		}
	else
		{
		window.event.srcElement.style.borderWidth=0;
		window.event.srcElement.style.backgroundColor='whitesmoke';
		window.event.srcElement.style.overflowX='visible';
		window.event.srcElement.innerText=arrTaskResources[nKeyLoop]+': '+arrTaskNames[nKeyLoop];
		window.event.srcElement.contentEditable=false;
		}
	window.frames[0].document.location.replace('/Projects/ProjectTaskSave.asp?cFieldName=ProjectTaskName&nPK='+nPK+'&cData='+window.event.srcElement.innerText);
	}

function TSOpenResponse()
	{
	
	var nPK;
	nPK=window.event.srcElement.id.slice(window.event.srcElement.id.indexOf('_')+1,window.event.srcElement.id.length);
	//alert(nPK);
	OpenResponse(nPK);
	}
	
function newTSOpenResponse(e)
	{
	if(e.length>0){
	alert(e);
	}
	//var evnt = window.event; // event object
	//alert(evnt);
	//var target = evt.target || window.event.srcElement; // event target
	//var targetID = target.getAttribute("id"); // event target id
	
	//alert(targetID);
	//var nPK;
	//nPK=window.event.srcElement.id.slice(window.event.srcElement.id.indexOf('_')+1,window.event.srcElement.id.length);
	//alert(nPK);
	//OpenResponse(nPK);
	}

function TSOpenEvent()
	{
	var nPK;
	nPK=window.event.srcElement.id.slice(window.event.srcElement.id.indexOf('_')+1,window.event.srcElement.id.length);
	
	window.open("/Booking/EventUpdate.aspx?cMode=UPDATE&nEventNo="+nPK,"update_event","scrollbars=yes,left="+(screen.width-770)/2+",top="+(screen.height-550)/2+",height=550,width=770,status=no,toolbar=no,menubar=no,location=no,resizable=yes");
	}


function SaveTsResponse()
	{
	
	nPK=window.event.srcElement.id.slice(window.event.srcElement.id.indexOf('_')+1,window.event.srcElement.id.length);
	//window.frames[0].location.reload();
	window.frames[0].document.forms[0].key.value=nPK;
	window.frames[0].document.forms[0].Description.value=window.event.srcElement.innerText;
	window.frames[0].document.forms[0].submit();
	}

function SaveTsEvent()
	{
	
	nPK=window.event.srcElement.id.slice(window.event.srcElement.id.indexOf('_')+1,window.event.srcElement.id.length);
	//window.frames[0].location.reload();
	window.frames[0].document.forms[0].key.value=nPK;
	window.frames[0].document.forms[0].Description.value=window.event.srcElement.innerText;
	window.frames[0].document.forms[0].submit();
	}
	
function SearchEnterKeyOld()
	{
	
	if (window.event.keyCode==13)
		{
		ClientSearch.nUsualProjectRoleNo.value=nUsualProjectRoleNo.value;
		ClientSearch.cClientSearch.value=cClientName.value;
		ClientSearch.submit();
		}
	}
	
function SearchEnterKey(e)
	{
	if (e.keyCode==13)
		{
		//vc old
		//ClientSearch.nUsualProjectRoleNo.value=nUsualProjectRoleNo.value;
		//ClientSearch.cClientSearch.value=cClientName.value;
		//ClientSearch.action="/Client/Clientsearch.asp";
		//ClientSearch.submit();
		
		//vc new 
		Form1.nUsualProjectRoleNo.value=Form1.nUsualProjectRoleNo.value;
        if (Form1.cClientName.value=='Search...')
		   {
		        Form1.cClientName.value='';
		   }
		Form1.cClientSearch.value=Form1.cClientName.value;
		Form1.action="/Client/Clientsearch.asp";
		Form1.target="main";
		Form1.submit();
		
		}
	}


function SearchEnterKeyCalendar()
	{
	
	if (window.event.keyCode==13)
		{
		getDate();
		}
	}


//function SearchEnterKeyCalendar(e)
//	{
//	
//	if (e.keyCode==13)
//		{
//		getDate();
//		}
//	}
		
function SetCurrentClient(nCurrentClientNo,cCurrentClientName) {
   // alert(nCurrentClientNo = ' - ' + cCurrentClientName)
			if (top.document.all.cClientSelectType.value != null)
			{
			
			    if (top.document.all.cClientSelectType.value=='CLIENTDROPDOWN')
				    {
    	
				    var nSelectedIndex;
				    var nCount;

				    for (nC=0;nC<top.document.all.cClient.options.length;nC++)
					    {
					    if (top.document.all.cClient.options(nC).value===nCurrentClientNo)
						    {
						    top.document.all.cClient.selectedIndex=nC;
						    }
					    }
    	
				    }
    				
			    if (top.document.all.cClientSelectType.value=='CLIENTSEARCH')
				    {
				        top.document.all.nSessionClientStateNo.value = nCurrentClientNo;
					    top.document.all.lnkCurrentClient.innerText = 'Show ' + Left(cCurrentClientName,20);
					    top.document.all.lnkCurrentClient.title = cCurrentClientName;
					    top.document.all.lnkCurrentClient.href = '/Incident_response/list.asp?page=CLIENTDETAILS&next='
				    }
		
			}
	
		};
	function SelectXUser()
		{
		document.all.nUserX.selectedIndex=document.all.nReportingUser.selectedIndex
		};

			
	function setcons(inputname)
		{
			//lUseRoundRobinCategoryConsultantAssignment -vc TODO
			var nSelectedCategoryDefaultConsultant = aDefaultConsultant[inputname.value];
			var nArrayElements = document.forms.Form1.nResponsibleConsultantNo.length;
			
			for (nC=0;nC<nArrayElements;nC++)
				{
						
					if (document.forms.Form1.nResponsibleConsultantNo.options[nC].value == nSelectedCategoryDefaultConsultant)
					{
						document.forms.Form1.nResponsibleConsultantNo.options[nC].selected=true;
					}
				}
		}
	
	function setteam(inputname)
	{
		var nSelectedCategoryDefaultConsultant = aDefaultConsultant[inputname.value];
		var nSelectedCategoryDefaultTeam = aDefaultTeam[inputname.value];
		//now we need to submit away through an iframe and get this function to set the
		//team for that consultant.
		
		if (nSelectedCategoryDefaultTeam > 0) //set default team based on category team default
		{
		    //alert('/incident_response/incidentadd1iframe.asp?nconsultantno=' + nSelectedCategoryDefaultConsultant + '&nTeamno=' + nSelectedCategoryDefaultTeam);
			document.teamiframe.document.location.replace('/incident_response/incidentadd1iframe.asp?nconsultantno=' + nSelectedCategoryDefaultConsultant + '&nTeamno='+nSelectedCategoryDefaultTeam)
			}
		else
			{
			//any team that this cons is a member of
			document.teamiframe.document.location.replace('/incident_response/incidentadd1iframe.asp?nTeamno=0&nconsultantno='+nSelectedCategoryDefaultConsultant);
			}
	}
	
	function CheckCommonCause(nCategoryMasterValue,nCategoryNo)
		{
		//alert ('CategoryMasterValue=' + nCategoryMasterValue);
		var nArrayElements = 100;
		var lLastOne;
		var nLeft=window.screen.width-300;
		var nTop=250;
		if (nCategoryMasterValue==-1)
			{
			window.frames.CommonCauseCheck.location.replace("/incident_response/CommonCauseCheck.asp?lForceFirst=true&nCommonCauseNo="+nCategoryNo);
			}
		else
			{
			for (nC=0;nC<nArrayElements;nC++)
				{
				if (nCategoryNo==aCategoryMasterValueCategoryNo[nC])
					{
					if (aCategoryMasterValue[nC]==nCategoryMasterValue)
						{
						
						//alert('Possible Common Cause found: '+aCategoryMasterValueCommonCause[nC]);
						aCategoryMasterValueTrue[nC]=1;
						lLastOne=1;
						for (nC2=0;nC2<nArrayElements;nC2++)
							{
							if (aCategoryMasterValueTrue[nC2]!= 1 && aCategoryMasterValueCommonCause[nC]==aCategoryMasterValueCommonCause[nC2])
								{
								lLastOne=0;
								
								}
							}
						if (lLastOne==1)
							{
							//alert('Definite Common Cause found: '+aCategoryMasterValueCommonCause[nC]);
							window.frames.CommonCauseCheck.location.replace("/incident_response/CommonCauseCheck.asp?nCommonCauseNo="+aCategoryMasterValueCommonCause[nC]);
							}
						
						}
				
						else
							{
							//alert('Possible Common Cause changed: '+aCategoryMasterValueCommonCause[nC]);
							aCategoryMasterValueTrue[nC]=0;
							}		
				
					}
				
				}
			}					
		}
		
	function MakeDescription(cCategoryMasterValue,cCategory)
		{
		if (document.all.cDescription.value.length>0) 
			{
			
			if (document.all.cDescription.value.indexOf(cCategory+': ')>=0)
				{
				var cTmp
				var nNPos
				cTmp = document.all.cDescription.value+'x';
				nNPos = cTmp.indexOf(('\n'),cTmp.indexOf(cCategory+': '));
				document.all.cDescription.value = cTmp.slice(0,cTmp.indexOf(cCategory+': '))+cCategory+': '+cCategoryMasterValue;
				document.all.cDescription.value = document.all.cDescription.value + cTmp.slice(nNPos, -1);
				}
			else
				{
				document.all.cDescription.value=document.all.cDescription.value+'\n'+cCategory+': '+cCategoryMasterValue;
				}
			}
		else
			{
			document.all.cDescription.value=document.all.cDescription.value+cCategory+': '+cCategoryMasterValue;
			}
		}
	
	
		//calendar functions
		function getDays(month, year) {
            // Test for leap year when February is selected.
            if (1 == month)
               return ((0 == year % 4) && (0 != (year % 100))) ||
                  (0 == year % 400) ? 29 : 28;
            else
               return daysInMonth[month];
         }

         

        

         function newCalendar(nDd) {
            today = new getToday();
            if (nDd>0) today.day=nDd;
            //set day to pass back
            nSelDay=today.day
            
            var parseYear = parseInt(document.all.year
               [document.all.year.selectedIndex].text);
            var newCal = new Date(parseYear,
               document.all.month.selectedIndex, 1);
            var day = -1;
            var startDay = newCal.getDay();
            var daily = 0;
            if ((today.year == newCal.getFullYear()) &&
                  (today.month == newCal.getMonth()))
               day = today.day;
            // Cache the calendar table's tBody section, dayList.
            var tableCal = document.all.calendar.tBodies.dayList;
            var intDaysInMonth =
               getDays(newCal.getMonth(), newCal.getFullYear());
            for (var intWeek = 0; intWeek < tableCal.rows.length;
                  intWeek++)
               for (var intDay = 0;
                     intDay < tableCal.rows[intWeek].cells.length;
                     intDay++) {
                  var cell = tableCal.rows[intWeek].cells[intDay];

                  // Start counting days.
                  if ((intDay == startDay) && (0 == daily))
                     daily = 1;

                  // Highlight the current day.
                  cell.className = (today.day == daily) ? "today" : "";

                  // Output the day number into the cell.
                  if ((daily > 0) && (daily <= intDaysInMonth))
                     cell.innerText = daily++;
                  else
                     cell.innerText = "";
               }
         }

         function getDate() {
		 			var sDate;
            if ("TD" == event.srcElement.tagName)
               // Test whether day is valid.
               if ("" != event.srcElement.innerText)
                  //alert(event.srcElement.innerText);
          //	mm/dd/yyyy
				  //sDate = document.all.month.value + "/" + event.srcElement.innerText + "/" + document.all.year.value;
          //	dd/mm/yyyy
				  //sDate = event.srcElement.innerText + "/" + document.all.month.value + "/" + document.all.year.value;
				  //  dd mmm yyyy
				  var sStr;
				  sStr= months[(document.all.month.value)-1],3
				  sDate = nSelDay + " " + sStr.substr(0,3) + " " + document.all.year.value + " " + document.all.nHrs.value + ":" + document.all.nMins.value;
				  //alert(sDate)
				  document.all.ret.value = sDate;
				  //alert(sDate);
 		  		  window.close();
         }


         function LoadCustomFieldHyperlinkPopup(btnPopout) {
             var str = btnPopout;
             str = str.replace("imgCustomHyperlinkhyperlink", "txtCustomhyperlink")
             var url = document.getElementById(str).value;

             if (url.search("http://") < 0) {
                url = "http://" + url
             }

             if (url != '') {
                 window.open(url, "", "scrollbars=yes,status=yes,toolbar=no,menubar=no,location=no,resizable=yes");
             }
         }    

	function PRJOpenTask(X,Y,uID)
		
		{
		var nPK;
		var nOffSetTop;
		var nOffSetLeft;
		var nTasksToShow;
		var nHeight;
		var nSubTaskCountStart;
		var nSubTaskCountEnd;
		var X;
		var Y;
		

		
		nOffSetLeft=window.screenLeft+2;
		nOffSetTop=window.screenTop+2;
		
		nPK=window.event.srcElement.id.slice(window.event.srcElement.id.indexOf('_')+1,window.event.srcElement.id.length);
		//alert(nPK);
		nSubTaskCountStart=event.srcElement.innerText.indexOf('(')+1;
		nSubTaskCountEnd=event.srcElement.innerText.indexOf(' sub-tasks)',nSubTaskCountStart);
		nTasksToShow=event.srcElement.innerText.slice(nSubTaskCountStart,nSubTaskCountEnd);
		
		if (window.event.shiftKey)
			
				{
				if (!isNaN(nTasksToShow))
					{
					
					nHeight=nTasksToShow*24;
					//alert (nHeight);
					//window.open("/projects/ProjectDetails_tasks.asp?nParentNo="+nPK,"_blank","scrollbars=no,left="+(window.event.srcElement.offsetLeft+nOffSetLeft)+",top="+(window.event.srcElement.offsetTop+nOffSetTop)+",height="+nHeight+"px,width=750,status=no,toolbar=no,titlebar=no,menubar=no,location=no,resizable=yes");
					openProjectParent(nPK);
					}
				else
					alert('This task has no sub-tasks. You can add sub-tasks by double-clicking the task, and clicking Add Sub-task');
				}
			else
			
					{
					
					window.open("/projects/TasksUpdate.asp?nProjectTaskNo="+nPK+"&x="+X+"&y="+Y,"update_task"+uID,"scrollbars=yes,left=100,top=100,height=700,width=750,status=yes,toolbar=no,menubar=no,location=no,resizable=yes");
					}

	}

	function PRJOpenNETTask(X, Y, uID,nProjectNo,SubProject,EmailTask,WaitTask) {
	    var nPK;
	    var nTasksToShow;
	    var nHeight;
	    var nSubTaskCountStart;
	    var nSubTaskCountEnd;
	    var X;
	    var Y;
	    var nHeight;
	    var nWidth;
	    //alert(uID);
	    
	    if(uID != '-1'){
	        nPK = window.event.srcElement.id.slice(window.event.srcElement.id.indexOf('_') + 1, window.event.srcElement.id.length);
	       
	        nSubTaskCountStart = event.srcElement.innerText.indexOf('(') + 1;
	        nSubTaskCountEnd = event.srcElement.innerText.indexOf(' sub-tasks)', nSubTaskCountStart);
	        nTasksToShow = event.srcElement.innerText.slice(nSubTaskCountStart, nSubTaskCountEnd);
	    }
	    else
	    {
	        nPK = '0'+'';
	        uID = '0' + '';
	    }
	    
	    
	    if (window.event.shiftKey) {
	        if (!isNaN(nTasksToShow)) {

	            nHeight = nTasksToShow * 24;
	            //window.open("/projects/ProjectDetails_tasks.asp?nParentNo=" + nPK, "_blank", "scrollbars=no,left=" + (window.event.srcElement.offsetLeft + nOffSetLeft) + ",top=" + (window.event.srcElement.offsetTop + nOffSetTop) + ",height=" + nHeight + "px,width=750,status=no,toolbar=no,titlebar=no,menubar=no,location=no,resizable=yes");
	            openProjectParent(nPK);
	        }
	        else
	            alert('This task has no sub-tasks. You can add sub-tasks by double-clicking the task, and clicking Add Sub-task');
	    }
	    else {
	        var timestamp = new Date();
	        var tim1 = (timestamp.getTime());
	        var sec1 = timestamp.getSeconds();
	        var ms1 = timestamp.getMilliseconds();

	        thetime = tim1 + sec1 + ms1;
	        if (SubProject == false && WaitTask == false && EmailTask == false) {
	            
	            nHeight = 700;
	            nWidth = 800;
	            window.open("/projects/ProjectTaskAddUpdate.aspx?nProjectTaskNo=0" + nPK + "&x=" + X + "&y=" + Y + "&nProjectNo=" + nProjectNo + "&theTime=" + thetime, "update_task0" + uID, "scrollbars=yes,left=" + (screen.width-nWidth)/2 + ",top=" + (screen.height-nHeight)/2 + ",height=" + nHeight + ",width=" + nWidth + ",status=yes,toolbar=no,menubar=no,location=no,resizable=yes");
	            }
	        else {
	            if (WaitTask == false) {
	                if (EmailTask == false) {
	                    nHeight = 450;
	                    nWidth = 650;
	                    window.open("/projects/TaskSubProjectAddUpdate.aspx?nTaskNo=" + nPK + "&nProjectNo=" + nProjectNo + "&x=" + X + "&y=" + Y + "&theTime=" + thetime, "update_task0" + uID, "scrollbars=yes,left=" + (screen.width - nWidth) / 2 + ",top=" + (screen.height - nHeight) / 2 + ",height=" + nHeight + ",width=" + nWidth + ",status=yes,toolbar=no,menubar=no,location=no,resizable=yes");
	                }
	                else {
	                    nHeight = 450;
	                    nWidth = 650;
	                    window.open("/projects/SystemTaskUpdate.aspx?nSystemTaskNo=" + nPK + "&nProjectNo=" + nProjectNo + "&x=" + X + "&y=" + Y + "&theTime=" + thetime, "update_task0" + uID, "scrollbars=yes,left=" + (screen.width - nWidth) / 2 + ",top=" + (screen.height - nHeight) / 2 + ",height=" + nHeight + ",width=" + nWidth + ",status=yes,toolbar=no,menubar=no,location=no,resizable=yes");
	                }
	            }
	            else {
	                nHeight = 350;
	                nWidth = 650;
	                window.open("/projects/ProjectWaitTaskAddUpdate.aspx?nProjectTaskNo=" + nPK + "&nProjectNo=" + nProjectNo + "&x=" + X + "&y=" + Y + "&theTime=" + thetime, "update_task0" + uID, "scrollbars=yes,left=" + (screen.width - nWidth) / 2 + ",top=" + (screen.height - nHeight) / 2 + ",height=" + nHeight + ",width=" + nWidth + ",status=yes,toolbar=no,menubar=no,location=no,resizable=yes");
	            }
	            }
	        }

	    }

	    function PRJOpenNETTaskFromNET(X, Y, TaskNo, nProjectNo, SubProject,EmailTask,WaitTask) {
	        var nPK;
	        var nOffSetTop;
	        var nOffSetLeft;
	        var nTasksToShow;
	        var nHeight;
	        var nWidth;
	        var nSubTaskCountStart;
	        var nSubTaskCountEnd;
	        var X;
	        var Y;

	        // PRJOpenTask(X, Y, uID)

	        if (TaskNo != '-1') {
	            nPK = TaskNo
	           
	            nSubTaskCountStart = event.srcElement.innerText.indexOf('(') + 1;
	            nSubTaskCountEnd = event.srcElement.innerText.indexOf(' sub-tasks)', nSubTaskCountStart);
	            nTasksToShow = event.srcElement.innerText.slice(nSubTaskCountStart, nSubTaskCountEnd);
	        }
	        else {
	            nPK = '0' + '';
	            //uID = '0' + '';
	        }


	        if (window.event.shiftKey) {
	            if (!isNaN(nTasksToShow)) {

	                nHeight = nTasksToShow * 24;
	                //alert (nHeight);
	                //window.open("/projects/ProjectDetails_tasks.asp?nParentNo=" + nPK, "_blank", "scrollbars=no,left=" + (window.event.srcElement.offsetLeft + nOffSetLeft) + ",top=" + (window.event.srcElement.offsetTop + nOffSetTop) + ",height=" + nHeight + "px,width=750,status=no,toolbar=no,titlebar=no,menubar=no,location=no,resizable=yes");
	                openProjectParent(nPK);
	            }
	            else
	                alert('This task has no sub-tasks. You can add sub-tasks by double-clicking the task, and clicking Add Sub-task');
	        }
	        else {
	            if (SubProject == false) {
	                nHeight = 700;
	                nWidth = 800;
	                window.open("/projects/ProjectTaskAddUpdate.aspx?nProjectTaskNo=0" + nPK + "&x=" + X + "&y=" + Y + "&nProjectNo=" + nProjectNo, "update_task0" + nPK, "scrollbars=yes,left=" + (screen.width-nWidth)/2 + ",top=" + (screen.height-nHeight)/2 + ",height=" + nHeight + ",width=" + nWidth + ",status=yes,toolbar=no,menubar=no,location=no,resizable=yes");
	            }
	            else {
	                nHeight = 450;
	                nWidth = 650;
	                window.open("/projects/TaskSubProjectAddUpdate.aspx?nTaskNo=" + nPK + "&nProjectNo=" + nProjectNo + "&x=" + X + "&y=" + Y, "update_task0" + nPK, "scrollbars=yes,left=100,top=100,left=' + (screen.width-nWidth)/2 + ',top=' + (screen.height-nHeight)/2 + ',height=' + nHeight + ',width=' + nWidth + ',status=yes,toolbar=no,menubar=no,location=no,resizable=yes");

	            }
	        }

	    }

	    function PRJOpenNETTaskFromNETold(X, Y, TaskNo, nProjectNo) {
	        var nPK;
	        var nOffSetTop;
	        var nOffSetLeft;
	        var nTasksToShow;
	        var nHeight;
	        var nSubTaskCountStart;
	        var nSubTaskCountEnd;
	        var X;
	        var Y;

	        nOffSetLeft = window.screenLeft + 2;
	        nOffSetTop = window.screenTop + 2;

	        // PRJOpenTask(X, Y, uID)

	       

	        if (TaskNo != '-1') {
	            nPK = TaskNo
	           
	            nSubTaskCountStart = event.srcElement.innerText.indexOf('(') + 1;
	            nSubTaskCountEnd = event.srcElement.innerText.indexOf(' sub-tasks)', nSubTaskCountStart);
	            nTasksToShow = event.srcElement.innerText.slice(nSubTaskCountStart, nSubTaskCountEnd);
	        }
	        else {
	            nPK = '0' + '';
	            //uID = '0' + '';
	        }


	        if (window.event.shiftKey) {
	            if (!isNaN(nTasksToShow)) {

	                nHeight = nTasksToShow * 24;
	                //alert (nHeight);
	                window.open("/projects/ProjectDetails_tasks.asp?nParentNo=" + nPK, "_blank", "scrollbars=no,left=" + (window.event.srcElement.offsetLeft + nOffSetLeft) + ",top=" + (window.event.srcElement.offsetTop + nOffSetTop) + ",height=" + nHeight + "px,width=750,status=no,toolbar=no,titlebar=no,menubar=no,location=no,resizable=yes");
	            }
	            else
	                alert('This task has no sub-tasks. You can add sub-tasks by double-clicking the task, and clicking Add Sub-task');
	        }
	        else {
	            if (lThisTaskIsASubProject == false) {
	                window.open("/projects/ProjectTaskAddUpdate.aspx?nProjectTaskNo=0" + nPK + "&x=" + X + "&y=" + Y + "&nProjectNo=" + nProjectNo, "update_task0" + nPK, "scrollbars=yes,left=100,top=100,height=710,width=760,status=yes,toolbar=no,menubar=no,location=no,resizable=yes");
	            }
	            else {
	                //window.open("/projects/TaskSubProjectAddUpdate.aspx?nTaskNo=" + nPK + "&nProjectNo=" + nProjectNo + "&x=" + X + "&y=" + Y, "update_task0" + uID, "scrollbars=yes,left=100,top=100,height=410,width=660,status=yes,toolbar=no,menubar=no,location=no,resizable=yes");

	            }
	        }

	    }
	
	function TaskOpenTask(TaskNo, ProjectNo) {
	    var nHeight;
	    var nWidth;
	    nHeight = 750;
	    nWidth = 800;
	    window.open("/projects/ProjectTaskAddUpdate.aspx?nProjectTaskNo=0" + TaskNo + "&nProjectNo=" + ProjectNo, "update_task0" + TaskNo, "scrollbars=yes,left=' + (screen.width-nWidth)/2 + ',top=' + (screen.height-nHeight)/2 + ',height=' + nHeight + ',width=' + nWidth + ',status=yes,toolbar=no,menubar=no,location=no,resizable=yes");
	    //window.open("/projects/ProjectTaskAddUpdate.aspx?nProjectTaskNo=0" + TaskNo + "&nProjectNo=" + ProjectNo + "");

	}
	function PRJOpenTaskNet(X,Y)
		
		{
		var nPK;
		var nOffSetTop;
		var nOffSetLeft;
		var nTasksToShow;
		var nHeight;
		var nSubTaskCountStart;
		var nSubTaskCountEnd;
		var X;
		var Y;
		

		
		nOffSetLeft=window.screenLeft+2;
		nOffSetTop=window.screenTop+2;
		
		nPK=window.event.srcElement.id.slice(window.event.srcElement.id.indexOf('_')+1,window.event.srcElement.id.length);
		nSubTaskCountStart=event.srcElement.innerText.indexOf('(')+1;
		nSubTaskCountEnd=event.srcElement.innerText.indexOf(' sub-tasks)',nSubTaskCountStart);
		nTasksToShow=event.srcElement.innerText.slice(nSubTaskCountStart,nSubTaskCountEnd);
		
		if (window.event.shiftKey)
			
				{
				if (!isNaN(nTasksToShow))
					{
					
					nHeight=nTasksToShow*24;
					//alert (nHeight);
					//window.open("/projects/ProjectDetails_tasks.asp?nParentNo="+nPK,"_blank","scrollbars=no,left="+(window.event.srcElement.offsetLeft+nOffSetLeft)+",top="+(window.event.srcElement.offsetTop+nOffSetTop)+",height="+nHeight+"px,width=750,status=no,toolbar=no,titlebar=no,menubar=no,location=no,resizable=yes");
					openProjectParent(nPK);
					}
				else
					alert('This task has no sub-tasks. You can add sub-tasks by double-clicking the task, and clicking Add Sub-task');
				}
			else
			
					{
					window.open("/projects/Tasksupdate.aspx?nProjectTaskNo="+nPK+"&x="+X+"&y="+Y,"update_task_dotNet","scrollbars=no,resizable=no,toolbar=no,menubar=no,status=no,location=no");
					//window.open("/projects/Tasksupdate.aspx?nProjectTaskNo="+nPK+"&x="+X+"&y="+Y,"update_task_dotNet","scrollbars=no,height=100,width=100,status=no,toolbar=no,menubar=no,location=no,resizable=no");
					}
		
		}	
		
		
	function PRJOpenIncident()

		{
		var nPK;
		nPK=window.event.srcElement.id.slice(window.event.srcElement.id.indexOf('_')+1,window.event.srcElement.id.length);
		{
		//window.open("/incident_response/history_and_responses.asp?nIncidentNo="+nPK,"_blank","scrollbars=yes,left='+(screen.width-770)/2+',top='+(screen.height-550)/2+',height=550,width=770,status=yes,toolbar=no,menubar=no,location=no,resizable=yes");
		//window.open("/incident_response/history_and_responses.asp?nIncidentNo="+nPK,"_blank","scrollbars=yes,left='+(screen.width-770)/2+',top='+(screen.height-550)/2+',height=620,width=850,status=yes,toolbar=no,menubar=no,location=no,resizable=yes");
		OpenHistorypk(nPK, true)
		}
        }

	function PRJOnMouseDown	()
		{
		window.event.srcElement.dragDrop();
		return true;
		}

	function PRJOnMouseOver()
		{
		window.event.srcElement.focus();
		return true;
		}


	function PRJSelectTask()

		{
		var nPK;
		var nKeyLoop=0;
		nPK=window.event.srcElement.id.slice(window.event.srcElement.id.indexOf('_')+1,window.event.srcElement.id.length);
		while(arrTaskPKs[nKeyLoop] != nPK)
			{
			nKeyLoop++
			}
	
		return true;
		
		}

	function PRJDragStart()

		{
		var nPK;
		nPK=window.event.srcElement.id.slice(window.event.srcElement.id.indexOf('_')+1,window.event.srcElement.id.length);
		nDraggedTask=nPK;
		

		}
	function PRJDrop()

		{
		var nPK;
		nPK=window.event.srcElement.id.slice(window.event.srcElement.id.indexOf('_')+1,window.event.srcElement.id.length);
		if (nDraggedTask != nPK)
			{
			window.frames.framSave.document.location.replace('ProjectPredecessorSave.asp?nPredecessorNo='+nDraggedTask+'&nSuccessorNo='+nPK);
			window.event.returnValue=false;
			}

		}
		
	function defaultToZero(txtBox)
		{
			if(isNaN(txtBox.value)||(txtBox.value==''))
				{
					txtBox.value = 0;
				}
		}
	function debug()
		{
			ret = prompt ("Enter object", "document");
			obj = eval(ret);
			var temp = "";
			for (x in obj)
			temp += x + ": " + obj[x] + "\n";
			alert (temp);		
		}

	function clientPopup(nClientNo)
		{
		window.open('/Incident_response/SearchPopup.aspx?section=Client&pk='+nClientNo,'Client_Details','scrollbars=yes,left='+(screen.width-770)/2+',top='+(screen.height-550)/2+',height=500,width=450,Status=no,toolbar=no,menubar=no,location=no,resizable=yes')
		}
	
	function openProject(nProjectNo)
		{
		    var nHeight;
		    var nWidth;
		    nHeight = 550;
		    nWidth = 1005;
		    window.open('/Projects/ProjectDetails.asp?sState=tasks&nProjectNo=' + nProjectNo, '_blank', 'scrollbars=yes,left=' + (screen.width-nWidth)/2 + ',top=' + (screen.height-nHeight)/2 + ',height=' + nHeight + ',width=' + nWidth + ',status=yes,toolbar=no,menubar=no,location=no,resizable=yes');

		}
	function openProjectParent(nParentProjectNo) {
		    var nHeight;
		    var nWidth;
		    nHeight = 550;
		    nWidth = 1005;
		    window.open('/Projects/ProjectDetails.asp?sState=tasks&nParentNo=' + nParentProjectNo, '_blank', 'scrollbars=yes,left=' + (screen.width - nWidth) / 2 + ',top=' + (screen.height - nHeight) / 2 + ',height=' + nHeight + ',width=' + nWidth + ',status=yes,toolbar=no,menubar=no,location=no,resizable=yes');

		}
	
	function SetIncidentStatus(nIncidentNo,nStatusNo,lGetDate)
		{
		if (!lGetDate)
			{
			//window.frames.updateincidentstatus.location.replace('/admin/FrontPageUpdateIncidentStatus.asp?lGetDate=false&nIncidentNo='+nIncidentNo+'&nStatusNo='+nStatusNo);
			window.frames['updateincidentstatus'].location.replace('/admin/FrontPageUpdateIncidentStatus.asp?lGetDate=false&nIncidentNo='+nIncidentNo+'&nStatusNo='+nStatusNo);
			
			}
		else
			{
			window.open('/admin/FrontPageUpdateIncidentStatus.asp?lGetDate=true&nIncidentNo='+nIncidentNo+'&nStatusNo='+nStatusNo,'_blank','scrollbars=no,left='+(screen.width-770)/2+',top='+(screen.height-550)/2+',height=100,width=320,status=no,toolbar=no,menubar=no,location=no,resizable=no');
			}
		}
	
	
	
	function DateDiffInHours(LargerDateTime, SmallerDateTime){
	//this takes dates formatted as 12 Sep 2007 17:00:00 and compares them to return the difference in hours
	
	//first split them into variables
	var LargerDay;
	var LargerMonth;
	var LargerYear;
	var LargerHour;
	var LargerMinute;
	
	var SmallerDay;
	var SmallerMonth;
	var SmallerYear;
	var SmallerHour;
	var SmallerMinute;
	
	LargerDay = LargerDateTime.substring(0,2);
	LargerMonth = LargerDateTime.substring(3,6);
	LargerYear = LargerDateTime.substring(6,10);
	LargerHour = LargerDateTime.substring(11,13);
	LargerMinute = LargerDateTime.substring(14,16);
	
	alert(LargerDay);
	alert(LargerMonth);
	alert(LargerYear);
	alert(LargerHour);
	alert(LargerMinute);
	
	SmallerDay = SmallerDateTime.substring(0,1);
	SmallerMonth = SmallerDateTime.substring(3,6);
	SmallerYear = SmallerDateTime.substring(6,10);
	SmallerHour = SmallerDateTime.substring(11,13);
	SmallerMinute = SmallerDateTime.substring(14,16);

	LargerMonth = getMonthNo(LargerMonth);
	SmallerMonth = getMonthNo(SmallerMonth);
	
	//now do the subtractions
	var YearDiff;
	var MonthDiff;
	var DayDiff;
	var HourDiff;
	var MinuteDiff;
	var SecondDiff;
	
	YearDiff=LargerYear-SmallerYear;
	MonthDiff=LargerMonth-SmallerMonth;
	DayDiff=LargerDay-SmallerDay;
	HourDiff=LargerHour-SmallerHour;
	MinuteDiff=LargerMinute-SmallerMinute;
	
	alert(YearDiff+' Years '+MonthDiff+' months '+DayDiff+' days '+HourDiff+' Hours '+MinuteDiff+' Minutes ');

	
	}
	
	
	function calculateDeadlineDate()
	
		{
		var nNumberOfDays;
		var nClaimNo;
		nNumberOfDays=document.forms.Form1.nNumberOfDays.value;
		nClaimNo=document.forms.Form1.nClaimNo.value;
		
		if (isNaN(nNumberOfDays))
			{
			alert('The number of days must be numeric');
			nNumberOfDays.value='';
			}
			else
			{
			window.frames.frmCalculateDeadlineDate.location.replace('calculatedeadlinedate.asp?dReportingDate='+document.forms.Form1.repdate.value+'&nNumberOfDays='+nNumberOfDays+'&nClaimNo='+nClaimNo)
			}
		}

		function drawDayHead(nDayCount, nDayOfMonthNumber, nDayOfWeekNumber) {
	     document.body.appendChild(drawBox('dvDayHead'+nDayCount,20,nOffsetLeft+(nDayWidth*nDayCount),nDocumentHeight-20,nDayWidth,1,1,'silver','grey'));
	     document.getElementById('dvDayHead'+nDayCount).innerText=nDayOfMonthNumber;

	 }
	 
	 function drawDayHead2(nDayCount, nDayOfMonthNumber, nDayOfWeekNumber, cHeadText) {

	     document.body.appendChild(drawBox('dvDayHead' + nDayCount, 20, nOffsetLeft + (nDayWidth * nDayCount), nDocumentHeight - 20, nDayWidth, 1, 1, 'SlateGray', 'DarkKhaki'));
	     document.getElementById('dvDayHead' + nDayCount).innerText = cHeadText;
	     try {
	         document.getElementById('dvDayHead' + nDayCount).textContent = cHeadText;
	     }
	     catch (e) {
	     }

	 }

	 function drawTimeHead(nDayCount,nTimeCount,cHeadText) {

	     document.body.appendChild(drawBox('dvTimeHead_' + nDayCount + '_' + nTimeCount, 40, nOffsetLeft + ((nDayWidth * nDayCount) + (nTimeWidth * nTimeCount)), nDocumentHeight - 40, nTimeWidth, 1, 1, 'SlateGray', 'Khaki'));
	     document.getElementById('dvTimeHead_' + nDayCount + '_' + nTimeCount).innerText = cHeadText;
	     try {
	         document.getElementById('dvTimeHead_' + nDayCount + '_' + nTimeCount).textContent = cHeadText;
	     }
	     catch (e) {
	     }

	 }
	    
	    function drawDayHeadSpace()
	    {
	  
	    document.body.appendChild(drawBox('dvDayHeadSpace',20,nPageWidthInPixels+nDayWidth,nDocumentHeight-20,50,1,1,'silver','grey'));
	   
	          
	    }
	  
	    function drawDayCol(nDayCount,nDayOfMonthNumber,nDayOfWeekNumber)
	    {
	    var nExtraRows=0;
	    if (nConsultantNoMagnify>0)
	        {
	        nExtraRows=5;
	        }
	     document.body.appendChild(drawBox('dvDayCol'+nDayCount,0,nOffsetLeft+(nDayWidth*nDayCount),((nConsultantCount+nExtraRows)*nRowHeight)+nPageRowHeight,nDayWidth,1,1,'silver','white'));
	     if (nDayOfWeekNumber==6 || nDayOfWeekNumber==0)
	        {
	        document.getElementById('dvDayCol'+nDayCount).style.backgroundColor='lightgrey';
	        }

	    }

	    function drawDayCol2(nDayCount, nDayOfMonthNumber, nDayOfWeekNumber, cBackColour) {
	        var nExtraRows = 0;
	        if (nConsultantNoMagnify > 0) {
	            nExtraRows = 5;
	        }
	        
	        document.body.appendChild(drawBox('dvDayCol' + nDayCount, 0, nOffsetLeft + (nDayWidth * nDayCount), ((nConsultantCount + nExtraRows) * nRowHeight) + nPageRowHeight, nDayWidth, 1, 1, 'silver', cBackColour));
	        if (nDayOfWeekNumber == 6 || nDayOfWeekNumber == 0) {
	            document.getElementById('dvDayCol' + nDayCount).style.backgroundColor = 'lightgrey';
	        }

	    }
	    
	    function drawTimeCol(nDayCount, nTimeCount, cBackColour) {
	        var nExtraRows = 0;
	        if (nConsultantNoMagnify > 0) {
	            nExtraRows = 5;
	        }
	        document.body.appendChild(drawBox('dvTimeCol_' + nDayCount + '_' + nTimeCount, 0, nOffsetLeft + ((nDayWidth*nDayCount) + (nTimeWidth * nTimeCount)), ((nConsultantCount + nExtraRows) * nRowHeight) + nPageRowHeight, nTimeWidth, 1, 1, 'silver', cBackColour));

	    }
	   
	    function drawConsultantBox(nRow,nConsultantKey,cConsultantFullName, cTitle)
	    {
	     document.body.appendChild(drawBox('dvConsultantBox_'+nConsultantKey,(nRow+nAddRowsForMagnify)*nPageRowHeight,2,nRowHeight+1,nOffsetLeft-1 -1,1,2,'silver','white'));
	     document.getElementById('dvConsultantBox_' + nConsultantKey).innerHTML = cConsultantFullName;
	     document.getElementById('dvConsultantBox_'+nConsultantKey).style.overflow='hidden';
	     document.getElementById('dvConsultantBox_'+nConsultantKey).title=cTitle;
	     document.getElementById('dvConsultantBox_'+nConsultantKey).PrimaryKey=nConsultantKey;
	     aConsultantRowElementNameArray[nRow]='dvConsultantBox_'+nConsultantKey;
         aConsultantRowTopArray[nRow]=StripOffPX(document.getElementById('dvConsultantBox_'+nConsultantKey).style.top);
         aConsultantRowBottomArray[nRow]=StripOffPX(document.getElementById('dvConsultantBox_'+nConsultantKey).style.top)+nRowHeight+1;
         
         aConsultantRowPrimaryKeyArray[nRow]=nConsultantKey;
	     
	    }


	    function drawConsultantBox2(nRow, nConsultantKey, cConsultantFullName, cTitle) {
	        document.body.appendChild(drawBox('dvConsultantBox_' + nConsultantKey, (nRow + nAddRowsForMagnify) * nPageRowHeight, 2, nRowHeight + 1, nOffsetLeft - 1 -3, 1, 2, 'silver', 'DarkKhaki'));
	        document.getElementById('dvConsultantBox_' + nConsultantKey).innerHTML = cConsultantFullName;
	        document.getElementById('dvConsultantBox_' + nConsultantKey).style.overflow = 'hidden';
	        document.getElementById('dvConsultantBox_' + nConsultantKey).title = cTitle;
	        document.getElementById('dvConsultantBox_' + nConsultantKey).PrimaryKey = nConsultantKey;
	        aConsultantRowElementNameArray[nRow] = 'dvConsultantBox_' + nConsultantKey;
	        aConsultantRowTopArray[nRow] = StripOffPX(document.getElementById('dvConsultantBox_' + nConsultantKey).style.top);
	        aConsultantRowBottomArray[nRow] = StripOffPX(document.getElementById('dvConsultantBox_' + nConsultantKey).style.top) + nRowHeight + 1;

	        aConsultantRowPrimaryKeyArray[nRow] = nConsultantKey;

	    }
	    
	    
	    function drawTaskBox(nRow,nPositionInRow,nLeft,nTaskHeight,nWidth,cText,cToolTip,nTaskKey,nProjectNo,cColour)
	    {
	     
	     document.body.appendChild(drawBox('dvTaskBox'+nRow+'_'+nPositionInRow,((nRow+nAddRowsForMagnify)*nRowHeight)+1,nLeft+nOffsetLeft,nTaskHeight,nWidth,1,2,'black',cColour));
	     document.getElementById('dvTaskBox'+nRow+'_'+nPositionInRow).innerText='Task: '+cText;
	     document.getElementById('dvTaskBox'+nRow+'_'+nPositionInRow).title=cToolTip+' (Drag to re-assign. Click to open project)';
	     document.getElementById('dvTaskBox'+nRow+'_'+nPositionInRow).EntityName='PROJECTTASK';
	     document.getElementById('dvTaskBox'+nRow+'_'+nPositionInRow).PrimaryKey=nTaskKey;
	     document.getElementById('dvTaskBox'+nRow+'_'+nPositionInRow).ProjectNo=nProjectNo;
	     //document.getElementById('dvTaskBox'+nRow+'_'+nPositionInRow).onclick=ScheduleOpenTask;
	     document.getElementById('dvTaskBox'+nRow+'_'+nPositionInRow).contentEditable=false;
	     document.getElementById('dvTaskBox'+nRow+'_'+nPositionInRow).onmousedown=ScheduleDragStart;
	     document.getElementById('dvTaskBox'+nRow+'_'+nPositionInRow).onmouseup=ScheduleDragEnd;
	    }
	    
	    function drawIncidentBox(nRow,nPositionInRow,nLeft,nTaskHeight,nWidth,cText,cToolTip,nIncidentNo,nClientNo,nProjectNo,cColour,cTextColour)
	    {
	     
	     document.body.appendChild(drawBox('dvTaskBox'+nRow+'_'+nPositionInRow,((nRow+nAddRowsForMagnify)*nRowHeight)+1,nLeft+nOffsetLeft,nTaskHeight,nWidth,1,2,cTextColour,cColour));
	     document.getElementById('dvTaskBox'+nRow+'_'+nPositionInRow).innerText=cText;
	     document.getElementById('dvTaskBox'+nRow+'_'+nPositionInRow).title=cToolTip+' (Drag to re-assign. Click to open)';
	     document.getElementById('dvTaskBox'+nRow+'_'+nPositionInRow).EntityName='INCIDENT';
	     document.getElementById('dvTaskBox'+nRow+'_'+nPositionInRow).PrimaryKey=nIncidentNo;
	     document.getElementById('dvTaskBox'+nRow+'_'+nPositionInRow).ProjectNo=nProjectNo;
	     document.getElementById('dvTaskBox'+nRow+'_'+nPositionInRow).ClientNo=nClientNo;
	     //document.getElementById('dvTaskBox'+nRow+'_'+nPositionInRow).onclick=ScheduleOpenTask;
	     document.getElementById('dvTaskBox'+nRow+'_'+nPositionInRow).contentEditable=false;
	    
	     
	     document.getElementById('dvTaskBox'+nRow+'_'+nPositionInRow).onmousedown=ScheduleDragStart;
	     document.getElementById('dvTaskBox'+nRow+'_'+nPositionInRow).onmouseup=ScheduleDragEnd;
	     
	     
	     
	    }

	    function drawEventBox(nRow, nPositionInRow, nLeft, nTaskHeight, nWidth, cText, cToolTip, nEventNo, nClientNo, nLinkIncidentNo, cColour, cTextColour, nBorderWidth) {

	        document.body.appendChild(drawBox('dvTaskBox' + nRow + '_' + nPositionInRow, ((nRow + nAddRowsForMagnify) * nRowHeight) + 1, nLeft + nOffsetLeft, nTaskHeight, nWidth, nBorderWidth, 2, cTextColour, cColour));
	        document.getElementById('dvTaskBox' + nRow + '_' + nPositionInRow).innerText = cText;
	        try {
	            document.getElementById('dvTaskBox' + nRow + '_' + nPositionInRow).textContent = cText;
	        }
	        catch (e) {
	        }
	        document.getElementById('dvTaskBox' + nRow + '_' + nPositionInRow).title = cToolTip + '\n(Drag to re-assign. Click to open)';
	        document.getElementById('dvTaskBox' + nRow + '_' + nPositionInRow).EntityName = 'EVENT';
	        document.getElementById('dvTaskBox' + nRow + '_' + nPositionInRow).PrimaryKey = nEventNo;
	        document.getElementById('dvTaskBox' + nRow + '_' + nPositionInRow).ProjectNo = nLinkIncidentNo;
	        document.getElementById('dvTaskBox' + nRow + '_' + nPositionInRow).ClientNo = nClientNo;
	        //document.getElementById('dvTaskBox'+nRow+'_'+nPositionInRow).onclick=ScheduleOpenTask;
	        document.getElementById('dvTaskBox' + nRow + '_' + nPositionInRow).contentEditable = false;

	        document.getElementById('dvTaskBox' + nRow + '_' + nPositionInRow).onmousemove = ScheduleDragStart2;
	        document.getElementById('dvTaskBox' + nRow + '_' + nPositionInRow).onmousedown = mouseDownTest;
	        document.getElementById('dvTaskBox' + nRow + '_' + nPositionInRow).onmouseup = mouseUpTest;

//	        document.getElementById('dvTaskBox' + nRow + '_' + nPositionInRow).onmousedown = ScheduleDragStart2;
//	        document.getElementById('dvTaskBox' + nRow + '_' + nPositionInRow).onmouseup = ScheduleDragEnd2;


	    }

	    function drawSalesBox(nRow, nPositionInRow, nLeft, nTaskHeight, nWidth, cText, cToolTip, nEventNo, nClientNo, nLinkIncidentNo, cColour, cTextColour, nBorderWidth) {

	        document.body.appendChild(drawBox('dvTaskBox' + nRow + '_' + nPositionInRow, ((nRow + nAddRowsForMagnify) * nRowHeight) + 1, nLeft + nOffsetLeft, nTaskHeight, nWidth, nBorderWidth, 2, cTextColour, cColour));
	        document.getElementById('dvTaskBox' + nRow + '_' + nPositionInRow).innerText = cText;
	        try {
	            document.getElementById('dvTaskBox' + nRow + '_' + nPositionInRow).textContent = cText;
	        }
	        catch (e) {
	        }
	        document.getElementById('dvTaskBox' + nRow + '_' + nPositionInRow).title = cToolTip + '\n(Drag to re-assign. Click to open)';
	        document.getElementById('dvTaskBox' + nRow + '_' + nPositionInRow).EntityName = 'SALES';
	        document.getElementById('dvTaskBox' + nRow + '_' + nPositionInRow).PrimaryKey = nEventNo;
	        document.getElementById('dvTaskBox' + nRow + '_' + nPositionInRow).ProjectNo = nLinkIncidentNo;
	        document.getElementById('dvTaskBox' + nRow + '_' + nPositionInRow).ClientNo = nClientNo;
	        //document.getElementById('dvTaskBox'+nRow+'_'+nPositionInRow).onclick=ScheduleOpenTask;
	        document.getElementById('dvTaskBox' + nRow + '_' + nPositionInRow).contentEditable = false;

	        document.getElementById('dvTaskBox' + nRow + '_' + nPositionInRow).onmousemove = ScheduleDragStart2;
	        document.getElementById('dvTaskBox' + nRow + '_' + nPositionInRow).onmousedown = mouseDownTest;
	        document.getElementById('dvTaskBox' + nRow + '_' + nPositionInRow).onmouseup = mouseUpTest;

	        //	        document.getElementById('dvTaskBox' + nRow + '_' + nPositionInRow).onmousedown = ScheduleDragStart2;
	        //	        document.getElementById('dvTaskBox' + nRow + '_' + nPositionInRow).onmouseup = ScheduleDragEnd2;


	    }
	    
	    
	    function ScheduleDragStart()

		{
		    
		    if (window.event.button==1)
		    {
            cDraggedTaskID=window.event.srcElement.id;
            nDraggedTask=window.event.srcElement.PrimaryKey;

            if (bCanUpdateEvent == 1) {
                document.getElementById(cDraggedTaskID).style.cursor = 'move';
            }
            else {
                document.getElementById(cDraggedTaskID).style.cursor = 'auto';
            }
            document.getElementById(cDraggedTaskID).style.zIndex = 5;
            
            
            nMouseOffSetFromTopOfTask=nMouseY-StripOffPX(document.getElementById(cDraggedTaskID).style.top);
            
            nInitialDragY=nMouseY;
            lMoved=false;
            return true
            }
		}

		function ScheduleDragStart2(e) {
		    //if (bCanUpdateEvent == 0) { return false; }

		    
		    if (iMouseDown && !lMouseState && cDraggedTaskID == '') {

		        e = e || window.event;
		        var evt;
		        //evt = (e.target) ? e.target : window.event.srcElement;
		        evt = e.target || window.event.srcElement;

		        cDraggedTaskID = evt.id;
		        nDraggedTask = evt.PrimaryKey;

		        if (bCanUpdateEvent == 1) {
		            document.getElementById(cDraggedTaskID).style.cursor = 'move';
		        }
		        else {
		            document.getElementById(cDraggedTaskID).style.cursor = 'auto';
		        }
		        document.getElementById(cDraggedTaskID).style.zIndex = 5;


		        nMouseOffSetFromTopOfTask = nMouseY - StripOffPX(document.getElementById(cDraggedTaskID).style.top);
		        nMouseOffSetFromLeftOfTask = nMouseX - StripOffPX(document.getElementById(cDraggedTaskID).style.left);

		        nInitialDragY = nMouseY;
		        nInitialDragX = nMouseX;
		        lMoved = false;
		        return true
		    }
		    //lMouseState = iMouseDown;
		    return false;
		}
				
		function ScheduleDragEnd() {
            		    if (nInitialDragY != nMouseY)
		    {
                document.getElementById(cDraggedTaskID).style.cursor = 'auto'; 
                document.getElementById(cDraggedTaskID).style.top = (nMouseY-nMouseOffSetFromTopOfTask) +'px';

                ScheduleDragDrop(nDraggedTask)
                cDraggedTaskID='';
                nDraggedTask = 0;
                return true;
            }
            else
            {
                //it is a mouse-up in the same place as the mouse-down
                if (lMoved==false)
                {
                    
                    document.getElementById(cDraggedTaskID).style.cursor = 'auto';
                    cDraggedTaskID = '';
                    nDraggedTask = 0;

                    iMouseDown = false;
                    lMouseState = iMouseDown;
                    lMoved = false;

                    ScheduleOpenTask();
                    
                    
                    return true;
                }
                else
                {
                //do nothing, they moved it and put it back
                }
            }
        }

        function ScheduleDragEnd2(e) {
            e = e || window.event;
            var evt;
            //evt = (e.target) ? e.target : window.event.srcElement;
            evt = e.target || window.event.srcElement;
            
            if ((nInitialDragY != nMouseY) || (nInitialDragX != nMouseX)) {
                document.getElementById(cDraggedTaskID).style.cursor = 'auto';
                document.getElementById(cDraggedTaskID).style.top = (nMouseY - nMouseOffSetFromTopOfTask) + 'px';
                document.getElementById(cDraggedTaskID).style.left = (nMouseX - nMouseOffSetFromLeftOfTask) + 'px';

                ScheduleDragDrop2(e,nDraggedTask)
                
                iMouseDown = false;
                lMoved = false;
                cDraggedTaskID = '';
                nDraggedTask = 0;

                return true;
            }
            else {
                //it is a mouse-up in the same place as the mouse-down
                if (lMoved == false) {

                    document.getElementById(cDraggedTaskID).style.cursor = 'auto';
                    cDraggedTaskID = '';
                    nDraggedTask = 0;
                    iMouseDown = false;
                    lMouseState = iMouseDown;

                    lMoved = false;
                    
                    if (bCanUpdateEvent == 1 || bCanViewEvent==1) {
                        ScheduleOpenTask(e);
                    }

                    return true;
                }
                else {
                    //do nothing, they moved it and put it back
                }
            }
        } 
		
		// iMouseDown represents the current mouse button state: up or down 
        /*
        lMouseState represents the previous mouse button state so that we can
        check for button clicks and button releases:

        if(iMouseDown && !lMouseState) // button just clicked!
        if(!iMouseDown && lMouseState) // button just released!
        */ 
        var mouseOffset = null; 
	    var iMouseDown  = false; 
	    var lMouseState = false; 
	    var dragObject  = null;

	    function mouseMoveTest(ev) {
            ev= ev || window.event; 
	 
	        /*
	        We are setting target to whatever item the mouse is currently on
    	
	        Firefox uses event.target here, MSIE uses event.srcElement
	        */
	        var target   = ev.target || ev.srcElement;
	        if (iMouseDown && !lMouseState) {
	            alert('here with moving');
	            cDraggedTaskID = window.event.srcElement.id;
	            nDraggedTask = window.event.srcElement.PrimaryKey;

	            document.getElementById(cDraggedTaskID).style.cursor = 'move';
	            document.getElementById(cDraggedTaskID).style.zIndex = 5;


	            nMouseOffSetFromTopOfTask = nMouseY - StripOffPX(document.getElementById(cDraggedTaskID).style.top);
	            nMouseOffSetFromLeftOfTask = nMouseX - StripOffPX(document.getElementById(cDraggedTaskID).style.left);

	            nInitialDragY = nMouseY;
	            nInitialDragX = nMouseX;

	            lMoved = false;
	            //return true;
	        }

            // track the current mouse state so we can compare against it next time
	        lMouseState = iMouseDown;
	        //if (lMouseState == true) { alert(lMouseState); }

            // track the current mouse state so we can compare against it next time 
            lMouseState = iMouseDown; 

            // this helps prevent items on the page from being highlighted while dragging 
            return false; 
	    }


	    function mouseUpTest(ev) {
	        
	        iMouseDown = false;
	        lMouseState = false;
	        lMoved = false;

	        if (cDraggedTaskID.length > 0) {
	            ScheduleDragEnd2(ev);
	            cDraggedTaskID = '';
	            
	        }
	        else {
	            
	            if (cDraggedTaskID.length > 0) {
	                document.getElementById(cDraggedTaskID).style.cursor = 'auto';
	            }
	            cDraggedTaskID = '';
	            nDraggedTask = 0;

	            if (bCanUpdateEvent == 1 || bCanViewEvent == 1) {
	                
	                ScheduleOpenTask(ev);
	            }

	        }

	        iMouseDown = false;
	        lMouseState = false;
	    }

	    function mouseDownTest(e) {
	        //alert(cDraggedTaskID = '');
	        iMouseDown = true;
//	        if (cDraggedTaskID == '') {
//	            return false;
//	        }
	    } 
		
		function MouseMove(event) {
		    var nConsultantKey;
            if(event.offsetX || event.offsetY) 
                { //For Internet Explorer 
                  nMouseX== window.event.clientX + document.documentElement.scrollLeft      + document.body.scrollLeft;

                  nMouseY=window.event.clientY + document.documentElement.scrollTop      + document.body.scrollTop;

                }
            else 
                { //For FireFox
                  nMouseX=event.pageX;
                  nMouseY=event.pageY;
                } 
          
            if(nDraggedTask>0)
                { //
                  //if (nMouseY+StripOffPX(document.getElementById(cDraggedTaskID).style.height) < aConsultantRowBottomArray[nConsultantCount] && nMouseY> aConsultantRowTopArray[1])
                  //  {
                    var nActualTopOfTask = (nMouseY - nMouseOffSetFromTopOfTask);
                    lMoved=true;
                    document.getElementById(cDraggedTaskID).style.top = nActualTopOfTask + 'px'; //
                    nConsultantKey=ScheduleGetConsultantKeyFromMousePos();
                    //document.getElementById(cDraggedTaskID).innerText=nConsultantKey;
                    ScheduleHighlightConsultant(nConsultantKey);
                    return false;
                  //  }
                } //

            }

            function MouseMove2(event) {
                if (bCanUpdateEvent == 0 && bCanAddEvent==0) { return false; }
                
                var nConsultantKey;
                if (event.offsetX || event.offsetY) { //For Internet Explorer 
                    nMouseX = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft;

                    nMouseY = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop;

                }
                else { //For FireFox
                    nMouseX = event.pageX;
                    nMouseY = event.pageY;
                }

                if (nDraggedTask > 0) { //

                    //if (nMouseY+StripOffPX(document.getElementById(cDraggedTaskID).style.height) < aConsultantRowBottomArray[nConsultantCount] && nMouseY> aConsultantRowTopArray[1])
                    //  {
                    if (iMouseDown && !lMouseState) {
                        var nActualTopOfTask = (nMouseY - nMouseOffSetFromTopOfTask);
                        var nActualLeftOfTask = (nMouseX - nMouseOffSetFromLeftOfTask);
                        lMoved = true;
                        document.getElementById(cDraggedTaskID).style.top = nActualTopOfTask + 'px'; //
                        document.getElementById(cDraggedTaskID).style.left = nActualLeftOfTask + 'px'; //
                        nConsultantKey = ScheduleGetConsultantKeyFromMousePos();
                        //document.getElementById(cDraggedTaskID).innerText=nConsultantKey;
                        ScheduleHighlightConsultant(nConsultantKey);
                        return false;
                        //  }
                    }
                    lMouseState = iMouseDown;
                } //

            } 

		function ScheduleDragDrop(nDraggedTask) {
		  
		
		        var nConsultantNo = 0;
                nConsultantNo = ScheduleGetConsultantKeyFromMousePos();
                if (nConsultantNo > 0) {

                    //get which consultant

                    for (nConsultantIncrement = 0; nConsultantIncrement <= nConsultantCount; nConsultantIncrement++) {

                        if (nMouseY > aConsultantRowTopArray[nConsultantIncrement] && nMouseY < aConsultantRowBottomArray[nConsultantIncrement]) {

                            if (document.getElementById(cDraggedTaskID).EntityName == 'INCIDENT') {
                                document.location.replace('/Projects/ProjectTaskScheduleByConsultant.asp?cHeaderOnly=false&nZoomFigure=' + nZoomFigure + '&dStartDate=' + dStartDate + '&dEndDate=' + dEndDate + '&nTeamNo=' + nTeamNo + '&nConsultantNoMagnify=' + nConsultantNoMagnify + '&lAssignIncident=true&nAssignIncidentNo=' + nDraggedTask + '&nAssignIncidentToConsultantNo=' + ScheduleGetConsultantKeyFromMousePos());
                            }
                            if (document.getElementById(cDraggedTaskID).EntityName == 'PROJECTTASK') {
                                document.location.replace('/Projects/ProjectTaskScheduleByConsultant.asp?cHeaderOnly=false&nZoomFigure=' + nZoomFigure + '&dStartDate=' + dStartDate + '&dEndDate=' + dEndDate + '&nTeamNo=' + nTeamNo + '&nConsultantNoMagnify=' + nConsultantNoMagnify + '&lAssignTask=true&nAssignTaskNo=' + nDraggedTask + '&nAssignTaskToConsultantNo=' + ScheduleGetConsultantKeyFromMousePos());
                            }
                            if (document.getElementById(cDraggedTaskID).EntityName == 'EVENT') {
                                document.location.replace('/Incident_Response/EventScheduleByConsultant.aspx?nIncidentNo=' + nIncidentNo + '&cHeaderOnly=false&nZoomFigure=' + nZoomFigure + '&dStartDate=' + dStartDate + '&dEndDate=' + dEndDate + '&nTeamNo=' + nTeamNo + '&nConsultantNoMagnify=' + nConsultantNoMagnify + '&lAssignEvent=true&nAssignEventNo=' + nDraggedTask + '&nAssignEventToConsultantNo=' + ScheduleGetConsultantKeyFromMousePos());
                            }
                            if (document.getElementById(cDraggedTaskID).EntityName == 'SALES') {
                                document.location.replace('/Incident_Response/EventScheduleByConsultant.aspx?nOpportunityNo=' + nOpportunityNo + '&nTaskNo=' + nTaskNo + '&cHeaderOnly=false&nZoomFigure=' + nZoomFigure + '&dStartDate=' + dStartDate + '&dEndDate=' + dEndDate + '&nTeamNo=' + nTeamNo + '&nConsultantNoMagnify=' + nConsultantNoMagnify + '&lAssignEvent=true&nAssignEventNo=' + nDraggedTask + '&nAssignEventToConsultantNo=' + ScheduleGetConsultantKeyFromMousePos());
                            }
                        }
                    }
                }
                else {
                    if (document.getElementById(cDraggedTaskID).EntityName == 'INCIDENT') {
                        document.location.replace('/Projects/ProjectTaskScheduleByConsultant.asp?cHeaderOnly=false&nZoomFigure=' + nZoomFigure + '&dStartDate=' + dStartDate + '&dEndDate=' + dEndDate + '&nTeamNo=' + nTeamNo + '&nConsultantNoMagnify=' + nConsultantNoMagnify + '&lAssignIncident=false&nAssignIncidentNo=' + nDraggedTask + '&nAssignIncidentToConsultantNo=' + ScheduleGetConsultantKeyFromMousePos());
                    }
                    if (document.getElementById(cDraggedTaskID).EntityName == 'PROJECTTASK') {
                        document.location.replace('/Projects/ProjectTaskScheduleByConsultant.asp?cHeaderOnly=false&nZoomFigure=' + nZoomFigure + '&dStartDate=' + dStartDate + '&dEndDate=' + dEndDate + '&nTeamNo=' + nTeamNo + '&nConsultantNoMagnify=' + nConsultantNoMagnify + '&lAssignTask=false&nAssignTaskNo=' + nDraggedTask + '&nAssignTaskToConsultantNo=' + ScheduleGetConsultantKeyFromMousePos());
                    }
                    if (document.getElementById(cDraggedTaskID).EntityName == 'EVENT') {
                        document.location.replace('/Incident_Response/EventScheduleByConsultant.aspx?nIncidentNo=' + nIncidentNo + '&cHeaderOnly=false&nZoomFigure=' + nZoomFigure + '&dStartDate=' + dStartDate + '&dEndDate=' + dEndDate + '&nTeamNo=' + nTeamNo + '&nConsultantNoMagnify=' + nConsultantNoMagnify + '&lAssignEvent=false&nAssignEventNo=' + nDraggedTask + '&nAssignEventToConsultantNo=' + ScheduleGetConsultantKeyFromMousePos());
                    }
                    if (document.getElementById(cDraggedTaskID).EntityName == 'SALES') {
                        document.location.replace('/Incident_Response/EventScheduleByConsultant.aspx?nOpportunityNo=' + nOpportunityNo + '&nTaskNo=' + nTaskNo + '&cHeaderOnly=false&nZoomFigure=' + nZoomFigure + '&dStartDate=' + dStartDate + '&dEndDate=' + dEndDate + '&nTeamNo=' + nTeamNo + '&nConsultantNoMagnify=' + nConsultantNoMagnify + '&lAssignEvent=false&nAssignEventNo=' + nDraggedTask + '&nAssignEventToConsultantNo=' + ScheduleGetConsultantKeyFromMousePos());
                    }
                }
		}

		function ScheduleDragDrop2(e, nDraggedTask) {
		   

		    var nConsultantNo = 0;
		    nConsultantNo = ScheduleGetConsultantKeyFromMousePos();
		    var nTimeSlot = 0;
		    nTimeSlot = ScheduleGetTimeSlotForColumnFromMousePos(cDraggedTaskID);
            if (nConsultantNo > 0 && nTimeSlot>0) {

		        //get which consultant

		        for (nConsultantIncrement = 0; nConsultantIncrement <= nConsultantCount; nConsultantIncrement++) {

		            if (nMouseY > aConsultantRowTopArray[nConsultantIncrement] && nMouseY < aConsultantRowBottomArray[nConsultantIncrement]) {

		                if (document.getElementById(cDraggedTaskID).EntityName == 'INCIDENT') {
		                    document.location.replace('/Projects/ProjectTaskScheduleByConsultant.asp?cHeaderOnly=false&nZoomFigure=' + nZoomFigure + '&dStartDate=' + dStartDate + '&dEndDate=' + dEndDate + '&nTeamNo=' + nTeamNo + '&nConsultantNoMagnify=' + nConsultantNoMagnify + '&lAssignIncident=true&nAssignIncidentNo=' + nDraggedTask + '&nAssignIncidentToConsultantNo=' + ScheduleGetConsultantKeyFromMousePos());
		                }
		                if (document.getElementById(cDraggedTaskID).EntityName == 'PROJECTTASK') {
		                    document.location.replace('/Projects/ProjectTaskScheduleByConsultant.asp?cHeaderOnly=false&nZoomFigure=' + nZoomFigure + '&dStartDate=' + dStartDate + '&dEndDate=' + dEndDate + '&nTeamNo=' + nTeamNo + '&nConsultantNoMagnify=' + nConsultantNoMagnify + '&lAssignTask=true&nAssignTaskNo=' + nDraggedTask + '&nAssignTaskToConsultantNo=' + ScheduleGetConsultantKeyFromMousePos());
		                }
		                if (document.getElementById(cDraggedTaskID).EntityName == 'EVENT') {
		                    document.location.replace('/Incident_Response/EventScheduleByConsultant.aspx?nIncidentNo=' + nIncidentNo + '&cHeaderOnly=false&nZoomFigure=' + nZoomFigure + '&dStartDate=' + dStartDate + '&dEndDate=' + dEndDate + '&nTeamNo=' + nTeamNo + '&nConsultantNoMagnify=' + nConsultantNoMagnify + '&lAssignEvent=true&nAssignEventNo=' + nDraggedTask + '&nAssignEventToConsultantNo=' + ScheduleGetConsultantKeyFromMousePos() + '&nDragToColumnNo=' + nDragColumnNo + '&nDragToHourNo=' + nDragHourNo + '&nDragToMinNo=' + nDragMinNo);
		                }
		                if (document.getElementById(cDraggedTaskID).EntityName == 'SALES') {
		                    document.location.replace('/Incident_Response/EventScheduleByConsultant.aspx?nOpportunityNo=' + nOpportunityNo + '&nTaskNo=' + nTaskNo + '&cHeaderOnly=false&nZoomFigure=' + nZoomFigure + '&dStartDate=' + dStartDate + '&dEndDate=' + dEndDate + '&nTeamNo=' + nTeamNo + '&nConsultantNoMagnify=' + nConsultantNoMagnify + '&lAssignEvent=true&nAssignEventNo=' + nDraggedTask + '&nAssignEventToConsultantNo=' + ScheduleGetConsultantKeyFromMousePos() + '&nDragToColumnNo=' + nDragColumnNo + '&nDragToHourNo=' + nDragHourNo + '&nDragToMinNo=' + nDragMinNo);
		                }
		            }
		        }
		    }
		    else {
		        if (document.getElementById(cDraggedTaskID).EntityName == 'INCIDENT') {
		            document.location.replace('/Projects/ProjectTaskScheduleByConsultant.asp?cHeaderOnly=false&nZoomFigure=' + nZoomFigure + '&dStartDate=' + dStartDate + '&dEndDate=' + dEndDate + '&nTeamNo=' + nTeamNo + '&nConsultantNoMagnify=' + nConsultantNoMagnify + '&lAssignIncident=false&nAssignIncidentNo=' + nDraggedTask + '&nAssignIncidentToConsultantNo=' + ScheduleGetConsultantKeyFromMousePos());
		        }
		        if (document.getElementById(cDraggedTaskID).EntityName == 'PROJECTTASK') {
		            document.location.replace('/Projects/ProjectTaskScheduleByConsultant.asp?cHeaderOnly=false&nZoomFigure=' + nZoomFigure + '&dStartDate=' + dStartDate + '&dEndDate=' + dEndDate + '&nTeamNo=' + nTeamNo + '&nConsultantNoMagnify=' + nConsultantNoMagnify + '&lAssignTask=false&nAssignTaskNo=' + nDraggedTask + '&nAssignTaskToConsultantNo=' + ScheduleGetConsultantKeyFromMousePos());
		        }
		        if (document.getElementById(cDraggedTaskID).EntityName == 'EVENT') {
		            document.location.replace('/Incident_Response/EventScheduleByConsultant.aspx?nIncidentNo=' + nIncidentNo + '&cHeaderOnly=false&nZoomFigure=' + nZoomFigure + '&dStartDate=' + dStartDate + '&dEndDate=' + dEndDate + '&nTeamNo=' + nTeamNo + '&nConsultantNoMagnify=' + nConsultantNoMagnify + '&lAssignEvent=false&nAssignEventNo=' + nDraggedTask + '&nAssignEventToConsultantNo=' + ScheduleGetConsultantKeyFromMousePos());
		        }
		        if (document.getElementById(cDraggedTaskID).EntityName == 'SALES') {
		            document.location.replace('/Incident_Response/EventScheduleByConsultant.aspx?nOpportunityNo=' + nOpportunityNo + '&nTaskNo=' + nTaskNo + '&cHeaderOnly=false&nZoomFigure=' + nZoomFigure + '&dStartDate=' + dStartDate + '&dEndDate=' + dEndDate + '&nTeamNo=' + nTeamNo + '&nConsultantNoMagnify=' + nConsultantNoMagnify + '&lAssignEvent=false&nAssignEventNo=' + nDraggedTask + '&nAssignEventToConsultantNo=' + ScheduleGetConsultantKeyFromMousePos());
		        }
		    }
		}
		
		function ScheduleGetConsultantKeyFromMousePos()
		    {
		   
		    
		    
		    for (nConsultantIncrement=0;nConsultantIncrement<=nConsultantCount;nConsultantIncrement++)
		        {
    		    
		        if (nMouseY>aConsultantRowTopArray[nConsultantIncrement] && nMouseY<aConsultantRowBottomArray[nConsultantIncrement])
		            {
    		        
		            return aConsultantRowPrimaryKeyArray[nConsultantIncrement];
		            
		            }
                }
		    }

		    function ScheduleGetTimeSlotForColumnFromMousePos(cDraggedTaskID) {
		        var nBoxCount = 0;

		        for (nBoxCount = 0; nBoxCount <= nPageDays - 1; nBoxCount++) {
		            var nBoxLeft = nOffsetLeft + (nDayWidth * nBoxCount);
		            if (nMouseX >= nBoxLeft && nMouseX <= (nBoxLeft + nDayWidth)) {
		                nDragColumnNo = nBoxCount;
		                
		                var nBoxLeft = document.getElementById('dvDayCol'+nBoxCount).style.left;
		                nBoxLeft = nBoxLeft.replace("px", "");

		                var nBoxWidth = document.getElementById('dvDayCol' + nBoxCount).style.width;
		                nBoxWidth = nBoxWidth.replace("px", "");

		                var nBoxX = document.getElementById(cDraggedTaskID).style.left;
		                nBoxX = nBoxX.replace("px", "");

		                var boxPosx = nBoxX - nBoxLeft;
		                //var boxPosx = nMouseX - nBoxLeft;
		                var nHourSegments = (nBoxWidth / 24); //Divide the segments to work out the hours in the day = 24

		                var nHourCount;
		                var nHour = 0;

                        //Loop through the hours in this day to work out the exact hour dragged to
		                for (nHourCount = 0; nHourCount <= nBoxWidth; nHourCount = nHourCount + nHourSegments) {
		                    if (boxPosx >= nHourCount && boxPosx <= (nHourCount + nHourSegments)) {
		                        if (nHour < 10) { nHour = '0' + nHour; }
		                        nDragHourNo = nHour;
		                        var nMinsegments = (nBoxWidth / (24 * 4));
		                        var nMinCount;
		                        var nMin = 0;

		                        //Loop through the mins to work out the exact 15 segment to use

		                        for (nMinCount = 0; nMinCount <= nBoxWidth; nMinCount = nMinCount + nMinsegments) {
		                            if (boxPosx >= nMinCount && boxPosx <= (nMinCount + nMinsegments)) {
		                                nDragMinNo = nMin;
		                                return 1;
		                            }
		                            nMin = nMin + 15;
		                            if (nMin >= 60) {nMin = 0;}
		                        }

		                    }
		                    nHour++;
		                } 
		            }
		        }
		    }

	    function ScheduleHighlightConsultant(nHighlightConsultantNo)
	        {
	        for (nConsultantIncrement=1;nConsultantIncrement<=nConsultantCount;nConsultantIncrement++)
	            {
	            if (aConsultantRowPrimaryKeyArray[nConsultantIncrement]==nHighlightConsultantNo)
	                {
	                document.getElementById(aConsultantRowElementNameArray[nConsultantIncrement]).style.backgroundColor='lightgreen';
	                //nRowCount=nConsultantIncrement-1;
	                //ScheduleCleanUpRow();
	                }
	                else
	                {
	                    var nBoxWidth = document.getElementById(aConsultantRowElementNameArray[nConsultantIncrement]).style.height;
	                    nBoxWidth = nBoxWidth.replace("px", "");
	                    if (nBoxWidth > 30) {
	                        document.getElementById(aConsultantRowElementNameArray[nConsultantIncrement]).style.backgroundColor = 'DarkKhaki';
	                    }
	                    else {
	                        document.getElementById(aConsultantRowElementNameArray[nConsultantIncrement]).style.backgroundColor = 'white';
	                    }
	                }
	            }
	        }
	    
	    function drawConsultantRowLine(nRow)
	    {
	     document.body.appendChild(drawBox('dvConsultantRowLine_'+nRow,(nRow+nAddRowsForMagnify)*nPageRowHeight,nOffsetLeft+1,1,nPageWidthInPixels-nOffsetLeft,1,2,'silver','silver'));
	           
	    }
	    function drawConsultantRowLine2(nRow) {
	        document.body.appendChild(drawBox('dvConsultantRowLine_' + nRow, (nRow + nAddRowsForMagnify) * nPageRowHeight + 0.5, nOffsetLeft + 1, 1, nPageWidthInPixels - nOffsetLeft, 0, 2, 'silver', 'silver'));

	    }
	   
	   function drawBox(cID,nTop,nLeft,nHeight,nWidth,nBorderWidth,zIndex,cBorderColour,cFillColour)
	   {
	    //Returns a Div object with the specified id
	    
	   
	   
	   var eDiv=document.createElement("DIV");
	   var cTop=nTop+'px';
	   var cWidth=nWidth+'px';
	   var cBorderWidth=nBorderWidth+'px';
	   var cHeight = nHeight +'px';
	   var cLeft = nLeft+ 'px';

	   eDiv.setAttribute('style', 'left: ' + cLeft + '; height: ' + cHeight + '; width: ' + cWidth + '; top: ' + cTop + '; border: ' + cBorderWidth + ' solid ' + cBorderColour + '; overflow: hidden; position: absolute; background-color: ' + cFillColour + '; color: #000000');
	   //eDiv.style.left = cLeft;
	   //eDiv.style.width = cWidth;
	   //eDiv.style.height = cHeight;
	   //eDiv.style.position = "absolute";
       //eDiv.style.backgroundColor=cFillColour;
       //eDiv.style.top=cTop;
       //eDiv.style.border='solid';
       //eDiv.style.borderColor=cBorderColour;
       //eDiv.style.borderWidth=cBorderWidth;

       //eDiv.style.overflowX='hidden';
       //eDiv.style.overflowY='hidden';
       
       eDiv.id=cID;
       return eDiv;

	   
	    
	    }
	   
	   
	   function ScheduleCleanUpRow()
	   {
	   for (nTaskCount=1;nTaskCount<=nConsultantTaskCount;nTaskCount++)
				{
				nThisTaskLeft=StripOffPX(document.getElementById('dvTaskBox'+nRowCount+'_'+nTaskCount).style.left);
				nThisTaskRight=StripOffPX(document.getElementById('dvTaskBox'+nRowCount+'_'+nTaskCount).style.left)+StripOffPX(document.getElementById('dvTaskBox'+nRowCount+'_'+nTaskCount).style.width);
				nConcurrentTask=0;
				nTopOffset=1;
			    for (nCountNextTo=1;nCountNextTo<=nConsultantTaskCount;nCountNextTo++)
				    {
				    
				    nOtherTaskLeft=StripOffPX(document.getElementById('dvTaskBox'+nRowCount+'_'+nCountNextTo).style.left);
				    nOtherTaskRight=StripOffPX(document.getElementById('dvTaskBox'+nRowCount+'_'+nCountNextTo).style.left)+StripOffPX(document.getElementById('dvTaskBox'+nRowCount+'_'+nCountNextTo).style.width);
				    
					if (nOtherTaskRight>nThisTaskLeft && nOtherTaskLeft<nThisTaskRight )
						{
						nConcurrentTask++;
						}
				    }
			    
			    for (nCountNextTo=1;nCountNextTo<=nConsultantTaskCount;nCountNextTo++)
				    {
				    
				    nOtherTaskLeft=StripOffPX(document.getElementById('dvTaskBox'+nRowCount+'_'+nCountNextTo).style.left);
				    nOtherTaskRight=StripOffPX(document.getElementById('dvTaskBox'+nRowCount+'_'+nCountNextTo).style.left)+StripOffPX(document.getElementById('dvTaskBox'+nRowCount+'_'+nCountNextTo).style.width);
				    
					if (nOtherTaskRight>nThisTaskLeft && nOtherTaskLeft<nThisTaskRight )
						{			
						//document.getElementById('dvTaskBox'+nRowCount+'_'+nCountNextTo).style.borderColor='blue';

						document.getElementById('dvTaskBox'+nRowCount+'_'+nTaskCount).style.height=Math.round(((nRowHeight-2)/(nConcurrentTask))) + 'px';
						document.getElementById('dvTaskBox'+nRowCount+'_'+nCountNextTo).style.height=Math.round(((nRowHeight-2)/(nConcurrentTask))) + 'px';
						document.getElementById('dvTaskBox'+nRowCount+'_'+nCountNextTo).style.top=((nRowCount+nAddRowsForMagnify)*(nPageRowHeight))+nTopOffset + 'px';
						nTopOffset=nTopOffset+Math.round(((nRowHeight-2)/(nConcurrentTask)));
						//if (StripOffPX(document.getElementById('dvTaskBox'+nRowCount+'_'+nTaskCount).style.height)<18)
						// {
						// 
						// document.getElementById('dvTaskBox'+nRowCount+'_'+nTaskCount).innerText=document.getElementById('dvTaskBox'+nRowCount+'_'+nTaskCount).style.height;
						// }
						
						}
				    }
				    
				    
				}
		
	   }
	   
	   function windowScroll(X,Y) {
	       
	    window.scrollTo(X,Y)
	    }
    	
	    
	    function ScheduleOpenTask(e) {

	        e = e || window.event;
	        var evt;
	        evt = e.target || window.event.srcElement;

             var X = document.body.scrollLeft;
             var Y = document.body.scrollTop;

             var uID = evt.PrimaryKey;
             var nProjectNo = evt.ProjectNo;
             evt.style.cursor = 'wait';
             
             if (evt.EntityName == "INCIDENT")
                {
                    OpenHistorypk(uID, false);
                }
             if (evt.EntityName=="PROJECTTASK" )
                {
                    //window.open("/Projects/ProjectDetails.asp?nProjectNo=" + nProjectNo+"&sState=tasks","_blank", "scrollbars=yes,left=100,top=100,height=610,width=770,status=yes,toolbar=no,menubar=no,location=no,resizable=yes");
                    openProject(nProjectNo);
	            }
	            if (evt.EntityName == "EVENT" || evt.EntityName == "SALES") {
	                //nProjectNo in this instance is used as the Linked Incident No on the Event Table
	                //This has no relation to the actual Project
	                //if (nProjectNo == 0) {
	                    //Show the Event
	                //window.open("/Booking/EventUpdateSummarised.aspx?nEventNo=" + uID, "EventUpdate_" + uID, "scrollbars=yes,left=100,top=100,height=400,width=500,status=yes,toolbar=no,menubar=no,location=no,resizable=yes");
	                var cSrc= '/Booking/EventUpdateSummarised.aspx?nEventNo=' + uID
	                ShowSchedulerDivPopup(e, cSrc, 360, 420, 0);
	                //}
	                //else {
	                //    //Show the linked Incident
	                //    OpenHistorypk(nProjectNo, true);
	                //}
             }
             evt.style.cursor = 'auto';

             return false;
	         
	      }

	      function openNewProject(bTemplate) {
	            if(bTemplate==true){
	                window.open('/Projects/ProjectAddUpdate.aspx?TemplateYN=true','_blank','scrollbars=yes,left='+(screen.width-770)/2+',top='+(screen.height-550)/2+',height=550,width=1005,status=yes,toolbar=no,menubar=no,location=no,resizable=yes')
	            }
	            else
	            {
                    window.open('/Projects/ProjectAddUpdate.aspx','_blank','scrollbars=yes,left='+(screen.width-770)/2+',top='+(screen.height-550)/2+',height=550,width=1005,status=yes,toolbar=no,menubar=no,location=no,resizable=yes')
                }
	      }  
	    
	    function mouseCoords()
          {
              var e = window.event;
              var X = document.body.scrollLeft;
              var Y = document.body.scrollTop;
              var uID = findTaskPK();

              
                PRJOpenNETTask(X, Y, uID,0);
    			
            }
            
         function findTaskPK(){
            
            var divNam = window.event.srcElement.id;
            var dashIndex = divNam.indexOf('_',0);
            var index = dashIndex + 1;
            var totalCount = window.event.srcElement.id.length;
            return divNam.slice(index,totalCount);
         }
         
         function StripOffPX(cString)
            {
            
            
            
            var pxIndex = cString.indexOf('px',0);
            var cStringLength = cString.length;
            return 1*cString.slice(0,pxIndex);
         
            }
         
         function ScheduleMagnifyConsultant()
            {
            var divNam = window.event.srcElement.id;
            var dashIndex = divNam.indexOf('_',0);
            var index = dashIndex + 1;
            var totalCount = window.event.srcElement.id.length;
            var nConsultantNoMagnify= divNam.slice(index,totalCount);
            document.location.replace('/Projects/ProjectTaskScheduleByConsultant.asp?cHeaderOnly=false&nZoomFigure=' + nZoomFigure + '&dStartDate=' + dStartDate + '&dEndDate=' + dEndDate + '&nTaskNo=' + nTaskNo + '&nOpportunityNo=' + nOpportunityNo + '&nTeamNo=' + nTeamNo + '&nConsultantNoMagnify=' + nConsultantNoMagnify);
            window.event.returnValue=false;
            }

            function EventScheduleMagnifyConsultant(e) {
                e = e || window.event; 
                var evt;
                evt= e.target || window.event.srcElement;
                var divNam = evt.id;
                var dashIndex = divNam.indexOf('_', 0);
                var index = dashIndex + 1;
                var totalCount = evt.id.length;
                var nConsultantNoMagnify = divNam.slice(index, totalCount);
                var nBoxWidth = document.getElementById(divNam).style.height;
                nBoxWidth = nBoxWidth.replace("px", "");
                if (nBoxWidth > 30) { nConsultantNoMagnify = 0; }
                var posx = 0;
                var posy = 0;
                posx = document.documentElement.scrollLeft; 
                posy = document.documentElement.scrollTop; 
                if (((posx==0) && (document.body.scrollLeft >0)) || ((posy ==0) && (document.body.scrollTop > 0))) {
                    posx = document.body.scrollLeft;
                    posy = document.body.scrollTop;
                }
                document.location.replace('/Incident_Response/EventScheduleByConsultant.aspx?nIncidentNo=' + nIncidentNo + '&nTaskNo=' + nTaskNo + '&nOpportunityNo=' + nOpportunityNo + '&cHeaderOnly=false&nZoomFigure=' + nZoomFigure + '&dStartDate=' + dStartDate + '&dEndDate=' + dEndDate + '&nTeamNo=' + nTeamNo + '&nConsultantNoMagnify=' + nConsultantNoMagnify + '&X=' + posx + '&Y=' + posy);

                evt.returnValue = false;
                try {
                    evt.preventDefault();
                }
                catch (e) {
                }
                return false;
            }

            function EventScheduleCreateNewOnHour(e) {
                e = e || window.event;
                var evt;
                evt = e.target || window.event.srcElement;
                
                var nConsultantNo = 0;
                nConsultantNo = ScheduleGetConsultantKeyFromMousePos();
                if (nConsultantNo > 0) {
                    var divNam = evt.id;
                    var dayIndex = divNam.indexOf('_', 0) + 1;
                    var timeIndex = divNam.indexOf('_', dayIndex) + 1;
                    var nDayPK = 0;
                    var nTimePK = 0;

                    nDayPK = evt.id.slice(dayIndex, timeIndex-1);
                    nTimePK = evt.id.slice(timeIndex, evt.id.length);

                    if (nTimePK.length < 2) {
                        nTimePK = '0' + nTimePK;
                    }

                    //var e = window.event;
                    var X = document.body.scrollLeft;
                    var Y = document.body.scrollTop;

                    var posx = 0;
                    var posy = 0;
                    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.documentElement.scrollLeft;
                        posy = e.clientY + document.documentElement.scrollTop;
                    }

                    var nBoxLeft = evt.style.left;
                    nBoxLeft = nBoxLeft.replace("px", "");
                    
                    var nBoxWidth = evt.style.width;
                    nBoxWidth = nBoxWidth.replace("px", "");

                    var boxPosx = posx - nBoxLeft;
                    var nIntervalSegments = (nBoxWidth / 4);//Divide the segments by 4 to simulate 15 min intervals

                    var nTimeCount;
                    var nMin = 0;
                    for (nTimeCount = 0; nTimeCount <= nBoxWidth; nTimeCount = nTimeCount + nIntervalSegments) {
                        if (boxPosx >= nTimeCount && boxPosx <= (nTimeCount + nIntervalSegments)) {
                            //document.location.replace('/Incident_Response/EventScheduleByConsultant.aspx?nIncidentNo=' + nIncidentNo + '&cHeaderOnly=false&nZoomFigure=' + nZoomFigure + '&dStartDate=' + dStartDate + '&dEndDate=' + dEndDate + '&nTeamNo=' + nTeamNo + '&nAssignedconsultantNo=' + nConsultantNo + '&nHour=' + nTimePK + '&nMin=' + nMin + '&lMakeNewEvent=true');
                            
                            //window.open('/Booking/EventUpdateSummarised.aspx?cMode=Add&nEventNo=0&nAssignedConsultantNo=' + nConsultantNo + '&nIncidentNo=' + nIncidentNo + '&dStartDate=' + dStartDate + '&nHour=' + nTimePK + '&nMin=' + nMin, 'EventUpdate_0', 'scrollbars=yes,left=100,top=100,height=400,width=500,status=yes,toolbar=no,menubar=no,location=no,resizable=yes');
                            var cSrc = '/Booking/EventUpdateSummarised.aspx?cMode=Add&nEventNo=0&nAssignedConsultantNo=' + nConsultantNo + '&nIncidentNo=' + nIncidentNo + '&nTaskNo=' + nTaskNo + '&nOpportunityNo=' + nOpportunityNo + '&dStartDate=' + escape(dStartDate) + '&nHour=' + nTimePK + '&nMin=' + nMin
                            ShowSchedulerDivPopup(e, cSrc, 320, 450, 0);

                        }
                        nMin = nMin + 15;
                    }
                }
            }

            function EventScheduleCreateNewOnDay(e) {
                e = e || window.event;
                var evt;
                evt = e.target || window.event.srcElement;
                
                var nConsultantNo = 0;
                nConsultantNo = ScheduleGetConsultantKeyFromMousePos();
                if (nConsultantNo > 0) {
                    var divNam = evt.id;
                    var dayIndex = 0;
                    dayIndex = divNam.replace("dvDayCol", "");
                    var dDayDate = new Date(dStartDate)
//                    alert(dDayDate + ' - ' + dStartDate)
//                    //dDayDate.setDate(dDayDate.getDate() + dayIndex)
//                    
//                    dDayDate.add('d', dayIndex);
//                    alert(dDayDate + ' --- ' + dDayDate.getDate() + ' ' + dDayDate.getMonth() + ' ' + dDayDate.getFullYear());

                    //var e = window.event;
                    var X = document.body.scrollLeft;
                    var Y = document.body.scrollTop;

                    var posx = 0;
                    var posy = 0;
                    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.documentElement.scrollLeft;
                        posy = e.clientY + document.documentElement.scrollTop;
                    }
                    
                    var nBoxLeft = evt.style.left;
                    nBoxLeft = nBoxLeft.replace("px", "");

                    var nBoxWidth = evt.style.width;
                    nBoxWidth = nBoxWidth.replace("px", "");

                    var boxPosx = posx - nBoxLeft;
                    var nHourSegments = (nBoxWidth / 24); //Divide the segments to work out the hours in the day = 24

                    var nHourCount;
                    var nHour = 0;

                    for (nHourCount = 0; nHourCount <= nBoxWidth; nHourCount = nHourCount + nHourSegments) {
                        if (boxPosx >= nHourCount && boxPosx <= (nHourCount + nHourSegments)) {
                            if (nHour < 10) { nHour = '0' + nHour; }

                            //document.location.replace('/Incident_Response/EventScheduleByConsultant.aspx?nIncidentNo=' + nIncidentNo + '&cHeaderOnly=false&nZoomFigure=' + nZoomFigure + '&dStartDate=' + dStartDate + '&dEndDate=' + dEndDate + '&nTeamNo=' + nTeamNo + '&nAssignedconsultantNo=' + nConsultantNo + '&nDayCount=' + dayIndex + '&nHour=' + nHour + '&lMakeNewEvent=true&nConsultantNoMagnify=' + nConsultantNoMagnify);
                            //window.open('/Booking/EventUpdateSummarised.aspx?cMode=Add&nEventNo=0&nAssignedConsultantNo=' + nConsultantNo + '&nDayCount=' + dayIndex + '&nIncidentNo=' + nIncidentNo + '&dStartDate=' + dStartDate + '&nHour=' + nHour, 'EventUpdate_0', 'scrollbars=yes,left=100,top=100,height=400,width=500,status=yes,toolbar=no,menubar=no,location=no,resizable=no');
                            var cSrc = "/Booking/EventUpdateSummarised.aspx?cMode=Add&nEventNo=0&nAssignedConsultantNo=" + nConsultantNo + "&nDayCount=" + dayIndex + "&nIncidentNo=" + nIncidentNo + "&nTaskNo=" + nTaskNo + "&nOpportunityNo=" + nOpportunityNo + "&dStartDate=" + escape(dStartDate) + "&nHour=" + nHour
                            ShowSchedulerDivPopup(e, cSrc, 320, 450, 0);
                        }
                        nHour++;
                    }
                }
            }

	     
	     //Add a PK property to the Div object (RVR)
	     
	     function Div(w,h,t,l,p,bg){
        // define object properties
        this.div=document.createElement('div');
        this.w=w+'px';
        this.h=h+'px';
        this.pos='absolute';
        this.top=t+'px';
        this.left=l+'px';
        this.pad=p+'px';
        this.bord='1px solid #000';
        this.bg='#'+bg;
        // define 'display()' method
        this.display=function(){
            this.div.style.width=this.w;
            this.div.style.height=this.h;
            this.div.style.position=this.pos;
            this.div.style.top=this.top;
            this.div.style.left=this.left;
            this.div.style.padding=this.pad;
            this.div.style.border=this.bord;
            this.div.style.background=this.bg;
            document.getElementsByTagName('body')[0].appendChild(this.div);
        }
    }



	     
	     Div.prototype.PrimaryKey=0;
	     Div.prototype.ProjectNo=0;
	     Div.prototype.ClientNo=0;
	     Div.prototype.EntityName='';
	     
	     
	     //This below adds a dateadd type function to the Date object in JS (RVR)
	     Date.prototype.add = function (sInterval, iNum){
          var dTemp = this;
          if (!sInterval || iNum == 0) return dTemp;
          switch (sInterval.toLowerCase()){
            case "ms":
              dTemp.setMilliseconds(dTemp.getMilliseconds() + iNum);
              break;
            case "s":
              dTemp.setSeconds(dTemp.getSeconds() + iNum);
              break;
            case "mi":
              dTemp.setMinutes(dTemp.getMinutes() + iNum);
              break;
            case "h":
              dTemp.setHours(dTemp.getHours() + iNum);
              break;
            case "d":
              dTemp.setDate(dTemp.getDate() + iNum);
              break;
            case "mo":
              dTemp.setMonth(dTemp.getMonth() + iNum);
              break;
            case "y":
              dTemp.setFullYear(dTemp.getFullYear() + iNum);
              break;
          }
          return dTemp;
        }

        //divCatalogueItem and divCatalogueItemShadow functions
        //Used mainly on the financial documents, but also used on
        //Other documents that show the div popup inside the form
        function ShowDivPopup(e, cSrc, divHeight, divWidth, bShowAbove) {
            //0 = Show Below Y Position (the top of the popup is at position Y)
            //1 = Show Above Y position (the bottom of the popup is at position Y)
            //2 = Show Middle Y Position (the middle of the popup is at position Y)
            var posx = GetMousePosX(e);
            var posy = GetMousePosY(e);

            if (bShowAbove == 'undefined')  {
                bShowAbove = 0;
            }

            //alert(posx + ' - ' + posy + ' - ' + document.documentElement.scrollTop);

            var cIFrame = '<iframe frameborder=0 height=' + divHeight + 'px width=' + divWidth + 'px src=' + cSrc + ' ></iframe>'

            document.getElementById('divCatalogueItem').innerHTML = cIFrame;
            document.getElementById('divCatalogueItemShadow').style.height = divHeight + 'px';
            document.getElementById('divCatalogueItemShadow').style.width = divWidth + 'px';
            document.getElementById('divCatalogueItemShadow').style.display = '';
            document.getElementById('divCatalogueItem').style.display = '';
            if (bShowAbove == 1) {
                document.getElementById('divCatalogueItem').style.top = (posy - divHeight) + 'px';
            }
            if (bShowAbove == 2) {
                document.getElementById('divCatalogueItem').style.top = (posy - (divHeight/2)) + 'px';
            }
            if (bShowAbove == 0) {
                document.getElementById('divCatalogueItem').style.top = (posy) + 'px';
            }
            document.getElementById('divCatalogueItem').style.left = (posx + 5) + 'px';
            if (bShowAbove == 1) {
                document.getElementById('divCatalogueItemShadow').style.top = (posy - (divHeight - 3)) + 'px';
            }
            if (bShowAbove == 2) {
                document.getElementById('divCatalogueItemShadow').style.top = (posy - ((divHeight/2) - 3)) + 'px';
            }
            if (bShowAbove ==0) {
                document.getElementById('divCatalogueItemShadow').style.top = (posy + 3) + 'px';
            }
            document.getElementById('divCatalogueItemShadow').style.left = (posx + 8) + 'px';

        }

        //divCatalogueItem and divCatalogueItemShadow functions
        //Used mainly on the financial documents, but also used on
        //Other documents that show the div popup inside the form
        function ShowSchedulerDivPopup(e, cSrc, divHeight, divWidth, bShowAbove) {
            //0 = Show Below Y Position (the top of the popup is at position Y)
            //1 = Show Above Y position (the bottom of the popup is at position Y)
            //2 = Show Middle Y Position (the middle of the popup is at position Y)
            var posx = GetMousePosX(e);
            var posy = GetMousePosY(e);

            if (bShowAbove == 'undefined') {
                bShowAbove = 0;
            }

            //alert(posx + ' - ' + posy + ' - ' + document.documentElement.scrollTop);

            var cIFrame = '<iframe frameborder=0 height=' + divHeight + 'px width=' + divWidth + 'px src=' + cSrc + ' ></iframe>'

            window.parent.document.getElementById('divCatalogueItem').innerHTML = cIFrame;
            window.parent.document.getElementById('divCatalogueItemShadow').style.height = divHeight + 'px';
            window.parent.document.getElementById('divCatalogueItemShadow').style.width = divWidth + 'px';
            window.parent.document.getElementById('divCatalogueItemShadow').style.display = '';
            window.parent.document.getElementById('divCatalogueItem').style.display = '';
            if (bShowAbove == 1) {
                window.parent.document.getElementById('divCatalogueItem').style.top = (posy - divHeight) + 'px';
            }
            if (bShowAbove == 2) {
                window.parent.document.getElementById('divCatalogueItem').style.top = (posy - (divHeight / 2)) + 'px';
            }
            if (bShowAbove == 0) {
                window.parent.document.getElementById('divCatalogueItem').style.top = (posy) + 'px';
            }
            window.parent.document.getElementById('divCatalogueItem').style.left = (posx - (divWidth/2)) + 'px';
            if (bShowAbove == 1) {
                window.parent.document.getElementById('divCatalogueItemShadow').style.top = (posy - (divHeight - 3)) + 'px';
            }
            if (bShowAbove == 2) {
                window.parent.document.getElementById('divCatalogueItemShadow').style.top = (posy - ((divHeight / 2) - 3)) + 'px';
            }
            if (bShowAbove == 0) {
                window.parent.document.getElementById('divCatalogueItemShadow').style.top = (posy + 3) + 'px';
            }
            window.parent.document.getElementById('divCatalogueItemShadow').style.left = ((posx - (divWidth / 2)) + 3) + 'px';

        }

        function GetMousePosX(e) {
            var evt = e || window.event;

            var posx = 0;
            //if (!e) var e = window.event;
            if (evt.pageX ) {
                posx = evt.pageX + document.body.scrollLeft;
            }
            else if (evt.clientX) {
                posx = evt.clientX + document.documentElement.scrollLeft;  //+ document.documentElement.scrollLeft;
            }
            //posx = evt.clientX;
            return posx;
        }
        function GetMousePosY(e) {
            var evt = e || window.event;

            var posy = 0;
            //if (!e) var e = window.event;
            if (evt.pageY) {
                posy = evt.pageY + document.body.scrollTop;
            }
            else if (evt.clientY) {
                posy = evt.clientY + document.documentElement.scrollTop;  //+ document.documentElement.scrollTop;
            }
            //posy = evt.clientY
            return posy;
        }


 
