function limitLength(textBox, limit)
{
	if (textBox.value.length > limit)	
		textBox.value = textBox.value.substring(0, limit);
}

function ScheduleDisableAll()
{
	for (var i = 1; i <= 7; i++ )
	{
		document.getElementById('txtDay' + i + 'From').disabled = true;
		document.getElementById('txtDay' + i + 'To').disabled = true;
	}
}

function ScheduleShowHideControls()
{
	ScheduleDisableAll();
	for (var i = 1; i <= 7; i++ )
	{
		if (document.getElementById('chkDay'+ i).checked)
		{
			document.getElementById('txtDay' + i + 'From').disabled = false;
			document.getElementById('txtDay' + i + 'To').disabled = false;
		}
	}
}

function displayKeyCode(evt)
{
	var e = (!evt) ? window.event : evt;
	var keyCode = (!e.which) ? e.keyCode : e.which;
	alert('You Pressed -- ' + keyCode);
}

function integerOnly(evt)
{
var isIE = document.all?true:false;
	var e = (!evt) ? window.event : evt;
	var keyCode = (!e.which) ? e.keyCode : e.which;

	if(!isDigit(keyCode)) 
	{
		if (isIE)
		{
			e.cancelBubble = true;
			e.returnValue = false;
		}
		else
		{
			if (!isFunctionKey(keyCode))	// For other than IE.
			{
				e.cancelBubble = true;
				e.returnValue = false;
			}
		}
	}
}
function isFunctionKey(keyCode)
{
	if(
		keyCode != 8 &&
		keyCode != 9 &&
		keyCode != 32 &&
		keyCode != 33 &&
		keyCode != 34 &&
		keyCode != 35 &&
		keyCode != 36 &&
		keyCode != 37 &&
		keyCode != 38 &&
		keyCode != 39 &&
		keyCode != 40 &&
		keyCode != 46 &&
		keyCode != 47		
	)
		return false;
	return true;
}

function dateOnly(evt)
{
var isIE = document.all?true:false;
	var e = (!evt) ? window.event : evt;
	var keyCode = (!e.which) ? e.keyCode : e.which;

	//displayKeyCode(e);
	if (!isDigit(keyCode))
	{
		if (keyCode != 47 && keyCode != 45)
		{
			if (isIE)
			{
				e.cancelBubble = true;
				e.returnValue = false;
			}
			else
			{
				if (!isFunctionKey(keyCode))	// For other than IE.
				{
					e.cancelBubble = true;
					e.returnValue = false;
				}
			}
		}
	}
}

function timeLengthOnly(evt)
{
var isIE = document.all?true:false;
	var e = (!evt) ? window.event : evt;
	var keyCode = (!e.which) ? e.keyCode : e.which;

	if ( !isDigit(keyCode) && // 0-9
		keyCode != 58 /* ':' */ ) 
	{
		if (isIE)
		{
			e.cancelBubble = true;
			e.returnValue = false;
		}
		else
		{
			if (!isFunctionKey(keyCode))	// For other than IE.
			{
				e.cancelBubble = true;
				e.returnValue = false;
			}
		}
	}
}

function timeOnly(evt)
{
var isIE = document.all?true:false;
	var e = (!evt) ? window.event : evt;
	var keyCode = (!e.which) ? e.keyCode : e.which;
	
	if ( !isDigit(keyCode) && // 0-9
		keyCode != 65 && // A 
		keyCode != 97 && // a
		keyCode != 80 && // P
		keyCode != 112 && // p
		keyCode != 77 && // M
		keyCode != 109 && // m
		keyCode != 32 && // ' ' 
		keyCode != 58 // :
		)
	{
		if (isIE)
		{
			e.cancelBubble = true;
			e.returnValue = false;
		}
		else
		{
			if (!isFunctionKey(keyCode))	// For other than IE.
			{
				e.cancelBubble = true;
				e.returnValue = false;
			}
		}
	}
}
function isDigit(d)
{
	if (d < 48 || d > 57)
		return false;
		
	return true;
}

function integerAndFloatOnly(evt)
{
var isIE = document.all?true:false;
	var e = (!evt) ? window.event : evt;
	var keyCode = (!e.which) ? e.keyCode : e.which;

	if(!isDigit(keyCode) && keyCode != 46) 
	{
		if (isIE)
		{
			e.cancelBubble = true;
			e.returnValue = false;
		}
		else
		{
			if (!isFunctionKey(keyCode))	// For other than IE.
			{
				e.cancelBubble = true;
				e.returnValue = false;
			}
		}
	}
}

function domTab(i){
	// Variables for customisation:
	var numberOfTabs = 6;
	var colourOfInactiveTab = "#bbbbbb";
	var colourOfActiveTab = "#9999cc";
	var colourOfInactiveLink = "#000000";
	var colourOfActiveLink = "#ffffff";
	// end variables
	if (document.getElementById){
		for (f=1;f<numberOfTabs+1;f++){
			document.getElementById('contentblock'+f).style.display='none';	
			document.getElementById('link'+f).style.background=colourOfInactiveTab;
			document.getElementById('link'+f).style.color=colourOfInactiveLink;
			document.getElementById('link'+i).style.textDecoration="none";
		}
		document.getElementById('contentblock'+i).style.display='block';
		document.getElementById('link'+i).style.background=colourOfActiveTab;
		document.getElementById('link'+i).style.color=colourOfActiveLink;
		document.getElementById('link'+i).style.textDecoration="none";
	}
	return false;
}

function showHideExceptionSpan(objSpan)
{
    if (document.getElementById && document.getElementById(objSpan) != null)
    {
         if(document.getElementById(objSpan).style.display == "none")
	         node = document.getElementById(objSpan).style.display="";
	     else
	         node = document.getElementById(objSpan).style.display="none";
    }
    else if (document.layers && document.layers[objSpan] != null)
    {
        if (document.layers[objSpan].display  == "none")
        	document.layers[objSpan].display = "";
       	else
        	document.layers[objSpan].display = "none";
    }
    else if (document.all)
    {
        if (document.all[objSpan].style.display == "none")
        	document.all[objSpan].style.display = "";
        else
	        document.all[objSpan].style.display = "none";
    }
}

function ShowHideSpan(span, image/*optional*/)
{
    if (document.getElementById && document.getElementById(span) != null)
    {
         if(document.getElementById(span).style.display == "none")
	     {
	         if (image != null)
				temp = document.getElementById(image).src = "img/Minus.gif";
	         temp = document.getElementById(span).style.display="";
	     }
	     else
	     {
	         if (image != null)
				temp = document.getElementById(image).src = "img/Plus.gif";
	         temp = document.getElementById(span).style.display="none";
	     }
    }
    else if (document.layers && document.layers[span] != null)
    {
        if (document.layers[span].display  == "none")
        {
			if (image != null)
				document.layers[image].src = "img/Minus.gif";
        	document.layers[span].display = "";
		}
       	else
       	{
	        if (image != null)
        		document.layers[image].src = "img/Plus.gif";
        	document.layers[span].display = "none";
        }
    }
    else if (document.all)
    {
        if (document.all[span].style.display == "none")
        {
	        if (image != null)
        		document.all[image].src = "img/Minus.gif";
        	document.all[span].style.display = "";
        }
        else
	    {
	        if (image != null)
		       	document.all[image].src = "img/Plus.gif";
        	document.all[span].style.display = "none";
	    }
    }
}

// This script is for Typist GRoup
function move(fbox, tbox) {
	var arrFbox = new Array();
	var arrTbox = new Array();
	var arrLookup = new Array();
	var i;
	for (i = 0; i < tbox.options.length; i++) 
	{
		arrLookup[tbox.options[i].text] = tbox.options[i].value;
		arrTbox[i] = tbox.options[i].text;
	}
	var fLength = 0;
	var tLength = arrTbox.length;
	for(i = 0; i < fbox.options.length; i++) 
	{
		arrLookup[fbox.options[i].text] = fbox.options[i].value;
			if (fbox.options[i].selected && fbox.options[i].value != "") 
			{
				arrTbox[tLength] = fbox.options[i].text;
				tLength++;
			}
			else 
			{
				arrFbox[fLength] = fbox.options[i].text;
				fLength++;
			}
	}
	arrFbox.sort();
	arrTbox.sort();
	fbox.length = 0;
	tbox.length = 0;
	var c;
	for(c = 0; c < arrFbox.length; c++) 
	{
		var no = new Option();
		no.value = arrLookup[arrFbox[c]];
		no.text = arrFbox[c];
		fbox[c] = no;
	}
	for(c = 0; c < arrTbox.length; c++) 
	{
		var no = new Option();
		no.value = arrLookup[arrTbox[c]];
		no.text = arrTbox[c];
		tbox[c] = no;
	}
}
function selectall()
{
var e = document.frmTypistGroup.lstTypist;
	for (i = 0; i < e.options.length; i++) 
		e.options[i].selected = true;
}
// End typist group script

// This is for check box Select All or Disable All for all list.
//Start
function CheckAll(frm)
{
	var trk=0;
	for (var i=0;i<frm.elements.length;i++)
	{
		var e = frm.elements[i];
		if ((e.name != 'allbox') && (e.type=='checkbox'))
		{
			trk++;
			e.checked = frm.allbox.checked;
		}
	}
}
//Alarm Shedule
function alarmSheduleDisableAll()
{
	document.getElementById('txtSunFrom').disabled = true;
	document.getElementById('txtSunTo').disabled = true;
	document.getElementById('txtMonFrom').disabled = true;
	document.getElementById('txtMonTo').disabled = true;
	document.getElementById('txtTueFrom').disabled = true;
	document.getElementById('txtTueTo').disabled = true;
	document.getElementById('txtWedFrom').disabled = true;
	document.getElementById('txtWedTo').disabled = true;
	document.getElementById('txtThuFrom').disabled = true;
	document.getElementById('txtThuTo').disabled = true;
	document.getElementById('txtFriFrom').disabled = true;
	document.getElementById('txtFriTo').disabled = true;
	document.getElementById('txtSatFrom').disabled = true;
	document.getElementById('txtSatTo').disabled = true;
}
function alarmSheduleShowHideControls()
{
	alarmSheduleDisableAll();
	if (document.getElementById('chkSun').checked)
	{
		document.getElementById('txtSunFrom').disabled = false;
		document.getElementById('txtSunTo').disabled = false;
	}
	if (document.getElementById('chkMon').checked)
	{
		document.getElementById('txtMonFrom').disabled = false;
		document.getElementById('txtMonTo').disabled = false;
	}
	if (document.getElementById('chkTue').checked)
	{
		document.getElementById('txtTueFrom').disabled = false;
		document.getElementById('txtTueTo').disabled = false;
	}
	if (document.getElementById('chkWed').checked)
	{
		document.getElementById('txtWedFrom').disabled = false;
		document.getElementById('txtWedTo').disabled = false;
	}
	if (document.getElementById('chkThu').checked)
	{
		document.getElementById('txtThuFrom').disabled = false;
		document.getElementById('txtThuTo').disabled = false;
	}
	if (document.getElementById('chkFri').checked)
	{
		document.getElementById('txtFriFrom').disabled = false;
		document.getElementById('txtFriTo').disabled = false;
	}
	if (document.getElementById('chkSat').checked)
	{
		document.getElementById('txtSatFrom').disabled = false;
		document.getElementById('txtSatTo').disabled = false;
	}
}

function PrintPreview()
{
	var isIE = document.all?true:false;
	if(isIE == true)
	{
		//this.window.onerror = this.window.print();
		window.status = "Winscribe Inc Ltd. New Zealand";
		var OLECMDID = 7;
		/* OLECMDID values:
		* 6 - print
		* 7 - print preview
		* 1 - open window
		* 4 - Save As
		*/
		var PROMPT = 0; // 2 DONTPROMPTUSER 
		var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
		document.body.insertAdjacentHTML('beforeEnd', WebBrowser); 
		WebBrowser1.ExecWB(OLECMDID, PROMPT);
		WebBrowser1.outerHTML = "";
	}
	else
		this.window.print();
}

//For Author Line Key.
function SetJobMode()
{
	e = document.frmAuthorLineKey;
	if (e.lstKeyType.value != "")
	{
		if (e.lstNewJobMode.value == "0")
				e.lstNewJobMode.value = "1"	
		if (e.lstNewJobMode.value == "2")
				e.lstNewJobMode.value = "3"
		
		for(var i=0;i<=15;i++)
		{
			document.getElementById('lstKey'+i).value = "";
			document.getElementById('lstKey'+i).disabled = true;
		}
	}
	else
	{
		e.chkUseDisplay.checked = false;
			for(var i=0;i<=15;i++)
				document.getElementById('lstKey'+i).disabled = false;
	}
}
//End.




<!-- BEGIN Code adapted from the ASPNNET Menu control -->
<!-------------------------------------------------------------------------------------------------
//
//  ASP.NET Menu client-side script for IE4+. 
//  Copyright 2002 CYBERAKT INC. All Rights Reserved.
//  Version 1.04
//
//------------------------------------------------------------------------------------------------>

function showHideSelect(bShow, id)
{
	self.status = ('showHideSelect:' + ' bShow='  + bShow + ', id=' + id);
	var arrElements = document.getElementsByTagName('select'); 
	if(arrElements)
	{
		if (!bShow)
		{
			// Hide all the overlapping SELECT elements
			for (var i = 0; i < arrElements.length; i++) 
			{
				if (isOverlapping(document.all[id], arrElements[i]))
				{
					self.status = ('showHideSelect:' + ' bShow='  + bShow + ', id=' + id + ',OVERLAP');
					arrElements[i].style.visibility = 'hidden';          
				}
			}
		}
		else
		{
			// Show all SELECT elements
			for (var i = 0; i < arrElements.length; i++) 
			{
				arrElements[i].style.visibility = 'visible'; 
			}
		}
	}
}

// Calculates the absolute page x coordinate of any element
function pageX(element)
{
  var x = 0;
  do 
  {
    if (element.style.position == 'absolute') 
    {
      return x + element.offsetLeft; 
    }
    else
    {
      x += element.offsetLeft;
      if (element.offsetParent) 
        if (element.offsetParent.tagName == 'TABLE') 
          if (parseInt(element.offsetParent.border) > 0)
          {
            x += 1; 
          }
    }
  }
  while ((element = element.offsetParent));
  return x; 
}

// Calculates the absolute page y coordinate of any element
function pageY(element)
{
  var y = 0;
  do 
  {
    if (element.style.position == 'absolute') 
    {
      return y + element.offsetTop; 
    }
    else
    {
      y += element.offsetTop;
      if (element.offsetParent) 
        if (element.offsetParent.tagName == 'TABLE') 
          if (parseInt(element.offsetParent.border) > 0)
          {
            y += 1; 
          }
    }
  }
  while ((element = element.offsetParent));
  return y; 
}

function isOverlapping(obj1, obj2)
{
	var result = true; 
	var obj1Left = pageX(obj1) - window.document.body.scrollLeft; 
	var obj1Top = pageY(obj1) - window.document.body.scrollTop; 
	var obj1Right = obj1Left + obj1.offsetWidth; 
	var obj1Bottom = obj1Top + obj1.offsetHeight;
	var obj2Left = pageX(obj2) - window.document.body.scrollLeft; 
	var obj2Top = pageY(obj2) - window.document.body.scrollTop; 
	var obj2Right = obj2Left + obj2.offsetWidth; 
	var obj2Bottom = obj2Top + obj2.offsetHeight;

	if (obj1Right <= obj2Left || obj1Bottom <= obj2Top || obj1Left >= obj2Right || obj1Top >= obj2Bottom) 
		result = false; 

	return result; 
}

<!-- END Code adapted from the ASPNNET Menu control -->



function SelectAll(list, sel)
{
	if (list != null && list.options != null)
	{
		for (var i = 0; i < list.options.length; ++i) 
		{
			list.options[i].selected = sel;
		}
	}
}

function AuthorSpeechRec(isOnLoad)
{
	var isOnLoad;
	
	var speechRec = document.getElementById("chkSendJobsSR");
	var pcUser = document.getElementById("txtPcDictationUsername");
	var telUser = document.getElementById("txtTelephoneDictationUsername");
	var aa = document.getElementById("chkSendJobsAA");
	
	if (speechRec.checked)
	{
		aa.disabled = false;
		pcUser.disabled = false;
		telUser.disabled = false;
		
		if (!isOnLoad)
		{
			var fname = document.getElementById("txtFirstName").value;
			var lname = document.getElementById("txtLastName").value;

			// Auto Generate the dictation username based on 														
			// first and last name, only if first and last 
			// name values are not blank.
			if (fname != "" && lname != "")
			{
				if (pcUser.value == "")
					pcUser.value = fname.charAt(0) + lname;
				if (telUser.value == "")
					telUser.value = fname.charAt(0) + lname + "P";
			}
		}
	}
	else
	{
		aa.disabled = true;
		pcUser.disabled = true;
		telUser.disabled = true;
	}
}

function doCheckDate(from, to) 
{
	var f = new Date(from.substring(6,10), from.substring(0,2)-1, from.substring(3,5));                   
	var t = new Date(to.substring(6,10), to.substring(0,2)-1, to.substring(3,5));
	if (f > t)
	{
		alert("Invalid selection range.");
		return false;
	}
	return true;
}

function setAdvanced()
{
	var jobrouting = document.getElementById("chkChangeJobRouting");
	var advanced = document.getElementById("chkAdvancedRouting");
	if  (jobrouting.checked) 
	{
		advanced.disabled = false;	
	}
	else
	{
		advanced.disabled = true;
		advanced.checked = false;
	}
}

function setAdvancedAlloc()
{
	var jobrouting = document.getElementById("ChkAllocateJobToOthers");
	var advanced = document.getElementById("chkAdvancedAllocation");
	if  (jobrouting.checked) 
	{
		advanced.disabled = false;	
	}
	else
	{
		advanced.disabled = true;
		advanced.checked = false;
	}
}

function convertDate(date,dateFormat) 
{
	var d = "";
	var m = "";
	var y = "";			
	switch (dateFormat) {
			
		case "MM/DD/YYYY" :
		case "MM.DD.YYYY" :
		case "MM-DD-YYYY" :
			//0123456789
			d = date.substring(3,5);
			m = date.substring(0,2);
			y = date.substring(6,10);
			break;
		case "DD.MM.YYYY" :
		case "DD-MM-YYYY" :
		case "DD/MM/YYYY" :
			//0123456789
			d = date.substring(0,2);
			m = date.substring(3,5);
			y = date.substring(6,10);
			break;
		case "YYYY.MM.DD" :
		case "YYYY/MM/DD" :
		case "YYYY-MM-DD" :
			//0123456789
			d = date.substring(8,10);
			m = date.substring(5,7);
			y = date.substring(0,4);
			break;
	}
	date = m + "/" + d + "/" + y;
	return date;
}

function setAdvanced()
{
	var jobrouting = document.getElementById("chkChangeJobRouting");
	var advanced = document.getElementById("chkAdvancedRouting");
	if  (jobrouting.checked) 
	{
		advanced.disabled = false;	
	}
	else
	{
		advanced.disabled = true;
		advanced.checked = false;
	}
}

function setAdvancedAlloc()
{
	var jobrouting = document.getElementById("ChkAllocateJobToOthers");
	var advanced = document.getElementById("chkAdvancedAllocation");
	if  (jobrouting.checked) 
	{
		advanced.disabled = false;	
	}
	else
	{
		advanced.disabled = true;
		advanced.checked = false;
	}
}

//[JX 22/Dec/2008] added for v4.0 improvement - make LM users feel better with WM
function checkEnteredTime(id)
{
    var enteredTime = document.getElementById(id).value;
    
    switch(enteredTime.length)
    {
        case 7:
            if(enteredTime.match(new RegExp("^([0-1][0-9]|2[0-3]):([0-5][0-9]):([0-9])$"))) // hh:mm:s
            {
                document.getElementById(id).value = enteredTime.substring(0,6) + "0" + enteredTime.substring(6,7);
            } 
            else
            {
                if(enteredTime.match(new RegExp("^([0-1][0-9]|2[0-3]):([0-9]):([0-5][0-9])$"))) // hh:m:ss
                {
                    document.getElementById(id).value = enteredTime.substring(0,3) + "0" + enteredTime.substring(3,7);
                }
                else
                {
                    if(enteredTime.match(new RegExp("^([0-9]):([0-5][0-9]):([0-5][0-9])$"))) // h:mm:ss
                    {
                        document.getElementById(id).value = "0" + enteredTime;
                    }
                }
            }
            break;
        case 6:
            if(enteredTime.match(new RegExp("^([0-1][0-9]|2[0-3]):([0-9]):([0-9])$"))) // hh:m:s
            {
                document.getElementById(id).value = enteredTime.substring(0,3) + "0" + enteredTime.substring(3,5) + "0" + enteredTime.substring(5,6);
            } 
            else
            {
                if(enteredTime.match(new RegExp("^([0-9]):([0-5][0-9]):([0-9])$"))) // h:mm:s
                {
                    document.getElementById(id).value = "0" + enteredTime.substring(0,5) + "0" + enteredTime.substring(5,6);
                }
                else
                {
                    if(enteredTime.match(new RegExp("^([0-9]):([0-9]):([0-5][0-9])$"))) // h:m:ss
                    {
                        document.getElementById(id).value = "0" + enteredTime.substring(0, 2) + "0" + enteredTime.substring(2, 6);
                    }
                }
            }
            break;
        case 5:
            if(enteredTime.match(new RegExp("^([0-1][0-9]|2[0-3]):([0-5][0-9])$"))) // hh:mm
            {
                document.getElementById(id).value = enteredTime + ":00";
            } 
            else
            {
                if(enteredTime.match(new RegExp("^([0-9]):([0-9]):([0-9])$"))) // h:m:s
                {
                    document.getElementById(id).value = "0" + enteredTime.substring(0,2) + "0" + enteredTime.substring(2,4) + "0" + enteredTime.substring(4,5);
                }
            }
            break;
        case 4:
            if(enteredTime.match(new RegExp("^([0-9]):([0-5][0-9])$"))) // h:mm
            {
                document.getElementById(id).value = "0" + enteredTime + ":00";
            }
            else
            {
                if(enteredTime.match(new RegExp("^([0-1][0-9]|2[0-3]):([0-9])$"))) // hh:m
                {
                    document.getElementById(id).value = enteredTime.substring(0,3) + "0" + enteredTime.substring(3,4) + ":00";
                }
            }
            break;
        case 3:
            if(enteredTime.match(new RegExp("^([0-9]):([0-9])$"))) // h:m
                document.getElementById(id).value = "0" + enteredTime.substring(0,2) + "0" + enteredTime.substring(2,3) + ":00";
            break;
    }
}
//[End JX 22/Dec/2008]