<!-- Hide script
        function bIE() {
            var MSIE = navigator.userAgent.indexOf('MSIE')>=0?true:false;
            //alert('agent: '+navigator.userAgent);
            return MSIE;
        }
        
       function padLeft(pHowmany, pValue, pPadwith) {
		 if (pPadwith == null ) {
	        pPadwith = "0";
         }
         
         var pad = pPadwith;
         while (pad.length < pHowmany) {
			pad = pPadwith + pad;
		 }

		 return String(pad + pValue).slice(-1 * pHowmany)
	   }
	 function AddDays(pHowmany, pValue) {
		var d = new Date(pValue);    
		d.setDate(d.getDate()+pHowmany);
		var dt = d;
		return dt;
	 }

    function _FindControlPopup(id) {
	        if ( typeof(document.getElementById) != "undefined" ) {
	           // alert('running');
		        var Ctl = document.getElementById(id);
		        if ( Ctl != null ) {
			        return Ctl;
		        }
	        }
	        for(var i = 0; i < document.forms.length; i++ ) {
		        var frm = document.forms[i];
		        var ctl = frm[id];
		        if ( ctl != null ) {
			        return ctl;
		        }
	        }
	        return null;
        }
    
	 function popup(strUrl, event){

		var w=470;
		var h=450;
		var x=event.screenX + 10
		var y=event.screenY + 10

		if (x > screen.width/2) { x = x-w }
		if (y > screen.height/2) { y = y-h }

        Y=screen.height/6;
        
		awindow = window.open(strUrl,"Noteshow","left="+x+",top="+y+",width="+w+",height="+h+",resizable=1,toolbar=0,menubar=0,status=0,scrollbars=1");

		//awindow = window.open(strUrl,"Noteshow","resizable=1,toolbar=0,menubar=0,status=0,scrollbars=1");

	}
	 function popuplg(strUrl, event){

		var w=590;
		var h=450;
		var x=event.screenX + 10
		var y=event.screenY + 10

		if (x > screen.width/2) { x = x-w }
		if (y > screen.height/2) { y = y-h }

		awindow = window.open(strUrl,"Noteshow","left="+x+",top="+y+",width="+w+",height="+h+",resizable=1,toolbar=0,menubar=0,status=0,scrollbars=1");

	}
	function popuphw(strUrl,h,w, event){

		var x=event.screenX + 10
		var y=event.screenY + 10

		if (x > screen.width/2) { x = x-w }
		if (y > screen.height/2) { y = y-h }

		awindow = window.open(strUrl,"Noteshow","left="+x+",top="+y+",width="+w+",height="+h+",resizable=1,toolbar=0,menubar=0,status=0,scrollbars=1");

	}
	function closeandrefresh() {
	   window.opener.location.reload(); 
       window.close(); 
	
	}
	function statusbar(msg) {
		self.status=msg;
		return true;
	}
	
	// Call this function from the AJAX Modal Control to force postback
	function fnClickOK(sender, e) { 
	    //alert('fnClickOK');
        __doPostBack(sender,e); 
    }

    // gantt chart scripts
    var aryZooms = ['zoom1','zoom2','zoom3','zoom4','zoom5','zoom6','zoom7','zoom8'];
    var zoomlevel = 4;

    function setStyle(pMode) {

	    var elem = document.getElementById('mytable');

	    if (pMode == 'up') {

		    zoomlevel = zoomlevel + 1;

				    if (zoomlevel>7) {
					    zoomlevel=7;
					    alert('max:'+aryZooms[zoomlevel]);
				    }

		    elem.setAttribute("class", aryZooms[zoomlevel]);
		    elem.setAttribute("className", aryZooms[zoomlevel]);


	    } else {


		    zoomlevel = zoomlevel - 1;


		    if (zoomlevel<0) {
			    zoomlevel=0;
			    alert('min:'+aryZooms[zoomlevel]);
		    }

		    elem.setAttribute("class", aryZooms[zoomlevel]);
		    elem.setAttribute("className", aryZooms[zoomlevel]);
	    }

    }
  
    
    //Docking stuff
    
    function OnClientDock (dockObj, eventArgs)
       {
		    // get Columns
		    var listItems = document.getElementsByTagName('DIV');	// Get array containing all tables
            var sTest
            var iCols = 0
            var my_cols= new Array()
            for(var no=0;no<listItems.length;no++){ // loop thru list items
                    sTest = listItems[no].id
                   if (sTest.indexOf('RDZ1') > 0) {
                        if ( sTest.indexOf('CM4_') < 0) {
                            //alert('Found Zone: '+listItems[no].id);
                            iCols = iCols+1;                            
                            my_cols[listItems[no].id]=iCols;
                        }
		             }
            }
            
            // get item dockObj.id
            var sItemID
            var sItem = dockObj.get_id()
            //alert('Item: '+sItem);
            var sItemPrefix = 'CM4_' // remember to change this if codebehind changes
            sItemID = sItem.substring(sItem.indexOf(sItemPrefix)).replace(sItemPrefix,'')

            var ColObj = document.getElementById(dockObj.get_dockZoneID());
            var sCol = ColObj.getAttribute('_Cm4Col');
            var sReg = ColObj.getAttribute('_Cm4Reg');
            var sPos = dockObj.get_index();
            
            //alert('aDocked to col: '+sCol);
            //alert('Docked to pos: '+sPos);
            
	        // using ajax
            var url = 'members/popups/setColumn.aspx';
            var pars = '?i='+sItemID+'&c='+sCol+'&p='+sPos+'&r='+sReg;
            makeRequest(url,pars);
                  
        }
             
        function makeRequest(url, parameters) {
           
           //alert('making a request '+url+parameters);
             var http_request;
              if (window.XMLHttpRequest) { // Mozilla, Safari,...
                 http_request = new XMLHttpRequest();
                 if (http_request.overrideMimeType) {
         	        // set type accordingly to anticipated content type
                    //http_request.overrideMimeType('text/xml');
                    http_request.overrideMimeType('text/html');
                 }
              } else if (window.ActiveXObject) { // IE
                 try {
                    http_request = new ActiveXObject("Msxml2.XMLHTTP");
                 } catch (e) {
                    try {
                       http_request = new ActiveXObject("Microsoft.XMLHTTP");
                    } catch (e) {}
                 }
              }
              if (!http_request) {
                 alert('Cannot create XMLHTTP instance');
                 return false;
              }
              http_request.onreadystatechange = alertContents;
              http_request.open('GET', url + parameters, true);
              http_request.send(null);
           }

           function alertContents() {
              try {
                  if (http_request.readyState == 4) {
                     if (http_request.status == 200) {
                        //alert(http_request.responseText);
                        //result = http_request.responseText;
                        //document.getElementById('myspan').innerHTML = result;            
                     } else {
                        //alert("status:"+http_request.status);
                        alert('Error Code: '+http_request.status+' - There was a problem processing your request.');
                     }
                  }
              }
              catch(err)
              {
                //alert(err);
              }
              
              
           }
   
   
        // end basic AJAX stuff
        var imgun = false; // to use in the imgswappig-allowing script

        function swapSubImg(x){
        //alert('1:'+x.src);
        x.src = (x.src.indexOf("unsubscribe")> 0)?'images/subscribe.png':'images/unsubscribe.png'
        //alert(x.href);
        //alert('2:'+x.src);
        imgun = (x.src == 'images/subscribe.png')
        }
        
      // Telerik RadWindow Support
      function openRadWindow(url, winname,x,y, modal, behaviors )
             {
             
                var center = true;
                var setsize = true;

                 if ( winname == 'radwin1') {
                   center = false;
                 } 

                 if ( winname == 'radwinmax') {
                   setsize = false;
                 } 
                 if ( !x || x == 0 ) {
                    setsize = false;
                 }
                 if ( !y || y == 0 ) {
                    setsize = false;
                 }
                 
                 var oWnd = radopen(url, winname );

                if ( behaviors ) {
                     
                      var behset = 0 ;
                      if (behaviors.toUpperCase().indexOf('CLOSE') > -1) {                       
                        behset = behset + Telerik.Web.UI.WindowBehaviors.Close;
                      }
                      if (behaviors.toUpperCase().indexOf('MOVE') > -1) {
                        behset = behset + Telerik.Web.UI.WindowBehaviors.Move;
                      }
                      if (behaviors.toUpperCase().indexOf('RESIZE') > -1) {
                        behset = behset + Telerik.Web.UI.WindowBehaviors.Resize;
                      }
                      if (behaviors.toUpperCase().indexOf('RELOAD') > -1) {
                        behset = behset + Telerik.Web.UI.WindowBehaviors.Reload;
                      }
                      if (behaviors.toUpperCase().indexOf('MAXIMIZE') > -1) {
                        behset = behset + Telerik.Web.UI.WindowBehaviors.Maximize;
                      }
                      oWnd.set_behaviors( behset);
                 }
                 
                 if ( modal ) {
                      oWnd.set_modal(true);
                 }
                 
                 if (setsize) {                                 
                    var MSIE = bIE();
                    var hOffset = 0;
                    var wOffset = 0;
                    var w;
                    var h;
                    if(MSIE){ //IE
			            hOffset= 0;
			            wOffset= 0;
		            } else { //FF - needs to be wider for some reason so scroll bars dont appear
			            wOffset= 0;
			            hOffset= 25;
		            }
                     w = x+wOffset;
                     h = y+hOffset; 
                     oWnd.SetSize(w,h);
                 }
                 
                 if (center) {
                    oWnd.Center();
                 }
                 
                 if ( winname == 'radwinmax') {
                   oWnd.maximize();
                 } 
                
                 if ( winname == 'raddialogwin') {
                      oWnd.hide();
                      oWnd.set_behaviors( 
                            Telerik.Web.UI.WindowBehaviors.Close + 
                            Telerik.Web.UI.WindowBehaviors.Maximize +
                            Telerik.Web.UI.WindowBehaviors.Move +
                            Telerik.Web.UI.WindowBehaviors.Reload +
                            Telerik.Web.UI.WindowBehaviors.Resize); 
                      oWnd.set_modal(true);
                      oWnd.show();
                 }
                
            }
             
       function CloseRadToolTip() 
       {
         var tooltip = Telerik.Web.UI.RadToolTip.getCurrent();
               if (tooltip) tooltip.hide();
       }
             
       function GetRadWindow()                 
       {
             var oWindow = null;
             if (window.radWindow)
                oWindow = window.radWindow;     
             else if (window.frameElement.radWindow)
               oWindow = window.frameElement.radWindow;   
             return oWindow;
        }
        function CloseOnReload(newurl)
        {
        //TODO - Rename to CloseRadWindowReload
            RefreshParentPage(newurl);
            GetRadWindow().close();
        }
        function CloseRadWindowWithoutReload()
        {
            GetRadWindow().close();
        }
        function RefreshParentPage(newurl)
        {
          GetRadWindow().BrowserWindow.location.reload();
        }
        function runDockCommandAdmin(dockObj, eventArgs) {         
//	        var url = "members/popups/AdminContent.aspx?" + dockObj.getCommand("iteminfo").get_text();
//	        openRadWindow(url, "raddialogwin",715,715)
 	        var url = "index.aspx?u=Item_Admin&" + dockObj.getCommand("iteminfo").get_text();
            window.location.href = url;
       }
        function runDockCommandHelp(dockObj, eventArgs) {         
	         var url = "members/popups/HelpContent.aspx?" + dockObj.getCommand("iteminfo").get_text();
	        //var url = "custom/lip/help/google.html?" + dockObj.getCommand("iteminfo").get_text();
	        openRadWindow(url, "radwin1",700,550)
        }
        function runDockCommandItem(dockObj, eventArgs) {         
	        var url = "members/popups/Item.aspx?" + dockObj.getCommand("iteminfo").get_text() + "&" + location.search.substring(1,location.search.length);
	        //alert(url);
	        openRadWindow(url, "radwinmax")
        }
        function runDockCommandItemPrint(dockObj, eventArgs) {         
	        var url = "members/popups/Item.aspx?mode=print&" + dockObj.getCommand("iteminfo").get_text() + "&" + location.search.substring(1,location.search.length);
	        openRadWindow(url, "radwinmax")
        }
        function runDockCommandEdit(dockObj, eventArgs) {
                            
	        var url =  dockObj.getCommand("editurl").get_text() + dockObj.getCommand("iteminfo").get_text();
	        
	        //this will all go -- the window supports old method
	        if ( url.indexOf('t=2') + url.indexOf('t=45') > 0) {
	            openRadWindow(url, "raddialogwin",515,515)
	        } else if ( url.indexOf('t=18') > 0 ) {
	            openRadWindow(url, "raddialogwin",715,715)
	        } else {
	            openRadWindow(url, "raddialogwin",515,515)
	        }
	        
        }
        
        function runDockCommandDelete(dockObj, eventArgs) {         
	        var msg = "Are you sure you want to delete this item";
	        var t = dockObj.get_title();
	        if (t) {
	            var newt = removeHTMLTags(t);
	            msg = msg + ": " + newt;
	            }
	        msg = msg + "?";
	        
            var answer = confirm(msg);
            if (answer) {
            
                var url = "members/popups/procDelItem.aspx"
                var parameters = "?passthru=1&" + dockObj.getCommand("iteminfo").get_text();
	          
	            // using ajax
	            makeRequest(url, parameters)
            }
            else {
                dockObj.set_closed(false);
            }
        }
      
    // to use, add OnClientNodeClicked="onClientNodeClickDoExpand"  
    function onClientNodeClickDoExpand(sender, eventArgs) 
    { 
        var node = eventArgs.get_node(); 
        node.toggle(); 
    }  
      
        // Utilities
        
        function removeHTMLTags(str){
 	            var strTagStrippedText = str.replace(/<\/?[^>]+(>|$)/g, "");
 		        return strTagStrippedText;
          
        }
        
    //Yahoo Map Functions
    function magicTrigFunctionX (pointRatio){   return Math.cos(pointRatio*2*Math.PI);} 
    function magicTrigFunctionY (pointRatio){    return Math.sin(pointRatio*2*Math.PI); }
        
    function drawMapCircle(Map, MapSizeX, MapSizeY, miles, sides) { 
     		
            var radius =  miles / ( Map.getUnitsPerPixel(Map.getZoomLevel()).miles ) ;	
            var centerX = MapSizeX / 2;
            var centerY = MapSizeY / 2;
    		var polylinePoints = []; 

       //alert (MapSizeX);
       //alert (radius);
        for(var i=0; i<=sides; i++){			
            
            var pointRatio = i/sides;							
            var xSteps = magicTrigFunctionX(pointRatio);			
            var ySteps = magicTrigFunctionY(pointRatio);			
            var pointX = centerX + xSteps * radius;			
            var pointY = centerY + ySteps * radius;			
            var coord = new YCoordPoint(pointX, pointY);
            var xy = Map.convertXYLatLon(coord);
            polylinePoints.push(xy);	
            Map.addOverlay(new YPolyline(polylinePoints, 'red',1));	          
         }		
    } // end drawMapCircle

    function myMapCallbackDoNothing(_e, _c){	 
        alert('Please enter edit mode to add points to the map.');
    }
     //Yahoo Map Functions - End
   
       function FindActualInputID (pCommonName) {
            var listItems = document.getElementsByTagName('input')
              
                for(var no=0;no<listItems.length;no++){ // loop thru list items                        
                                sTest = listItems[no].id
                               if (sTest.indexOf(pCommonName) > 0) {                                                          
                                    break;                       
		                       }
                }  
            return sTest;
        } // FindActualInputID
        
        function containsElement(arr, ele) {
		     var found = false, index = 0;
		     while(!found && index < arr.length)
		     if(arr[index] == ele)
		      {
		      found = true;
		      } else {
		      index++;
		      }
	    return found;
	    } // end containsElement
	 
	
	    function getElementsById(sId)
	     {
	        var outArray = new Array();	
		    if(typeof(sId)!='string' || !sId)
		    {
			    return outArray;
		    };
    		
		    if(document.evaluate)
		    {
			    var xpathString = "//*[@id='" + sId.toString() + "']"
			    var xpathResult = document.evaluate(xpathString, document, null, 0, null);
			    while ((outArray[outArray.length] = xpathResult.iterateNext())) { }
			    outArray.pop();
		 
    			
		    } else if(document.getElementsByTagName)
		    {
    		
			    var aEl = document.getElementsByTagName( '*' );	
			    for(var i=0,j=aEl.length;i<j;i+=1){
    			
				    if(aEl[i].id == sId )
				    {
					    outArray.push(aEl[i]);
				    };
				    
			    };	
   			
		    };
		    
		    // add this junk back in if there are old browser compat probs
		    //}
		    //else if(document.all)
		    //{
    		//	alert(' document.all[sId].length:' + sId + '-' + document.all[sId].length );
			//    for(var i=0,j=document.all[sId].length;i<j;i+=1){
			//    outArray[i] =  document.all[sId][i];}
			//    
			//    alert(' i:' + i );
			
		    return outArray;
	     } // end getElementsbyID
	     
function GetElementPosition(el) {
  var winWidth=document.all?document.body.clientWidth:window.innerWidth; 
  //TODO - need to adjust ie width by a couple pts
  var winHeight =document.all?document.body.clientHeight:window.innerHeight; 
  winWidth = parseInt((winWidth - 960) /2);
    var _3e=null;
    var pos={x:0,y:0};
    var box;
    if(el.getBoundingClientRect){
        box=el.getBoundingClientRect();
        var _41=document.documentElement.scrollTop||document.body.scrollTop;
        var _42=document.documentElement.scrollLeft||document.body.scrollLeft;
       pos.x=box.left + _42 -5 - winWidth;
        pos.y=box.top + _41 ;
        return pos;
    }else{
        if(document.getBoxObjectFor){
            box=document.getBoxObjectFor(el);
            pos.x=box.x-2;
            pos.y=box.y-2;
        }else{
            pos.x=el.offsetLeft;
            pos.y=el.offsetTop;
            _3e=el.offsetParent;
            if(_3e!=el){
                while(_3e){
                    pos.x+=_3e.offsetLeft;
                    pos.y+=_3e.offsetTop;
                    _3e=_3e.offsetParent;
                }
            }
        }
    }
    if(window.opera){
        _3e=el.offsetParent;
        while(_3e&&_3e.tagName!="BODY"&&_3e.tagName!="HTML"){
            pos.x-=_3e.scrollLeft;
            pos.y-=_3e.scrollTop;
            _3e=_3e.offsetParent;
        }
    }else{
        _3e=el.parentNode;
        while(_3e&&_3e.tagName!="BODY"&&_3e.tagName!="HTML"){
            pos.x-=_3e.scrollLeft;
            pos.y-=_3e.scrollTop;
            _3e=_3e.parentNode;
        }
    }
    return pos;
}   	 

    function GetElemPosition(obj){
        var Left = obj.offsetLeft;
        var Top = obj.offsetTop;
        while(obj.offsetParent){
            Left = Left+obj.offsetParent.offsetLeft;
            Top = Top+obj.offsetParent.offsetTop;
            if(obj==document.getElementsByTagName('body')[0]){
                break}
            else{
                obj=obj.offsetParent;
            }
        }
        var pos = new Object();
        pos.x=Left;
        pos.y=Top;
        return pos;
    }

	     function SetSelectElemByVal(elemdd, seltext) {
	        elemdd.selectedIndex = -1;
            for(var i=0; i<=elemdd.length-1; i++){      
                if (elemdd.options[i].value == seltext) {
                    elemdd.selectedIndex = i;
                }
            }
	    }
	 
	     function SetSelectElemNameByVal(elem, seltext) {
	        var elemdd = document.getElementById(elem);
 	        SetSelectElemByVal(elemdd, seltext);
	    }

	     function SetSelectElem(elemdd, seltext) {
	        elemdd.selectedIndex = -1;
            for(var i=0; i<=elemdd.length-1; i++){      
                if (elemdd.options[i].text == seltext) {
                    elemdd.selectedIndex = i;
                }
            }
	    }
	 
	     function SetSelectElemName(elem, seltext) {
	        var elemdd = document.getElementById(elem);
 	        SetSelectElem(elemdd, seltext);
	    }
	    
        function ClearSelectElemByName(pName)
        {
	        var ctl = document.getElementById(pName);
	        ClearSelectElemByVar(ctl);
        }
	    
        function ClearSelectElemByVar(ctl)
        {
	        ctl.options.length = 0;
        }
    	    	
	    function MakeSelectElem( pName, pValue, pWidth, aryopts, aryvals) {
            var elem;
            elem = document.createElement("select"); 
            elem.name = pName;
            elem.id = pName;
            
            if (pWidth) { elem.style.width = pWidth; } 

            LoadSelectElem(elem, pValue, pWidth, aryopts, aryvals);
                       
            return elem;
	    } // MakeSelectElem
    	    	
	    function LoadSelectElem(elem, pValue, pWidth, aryopts, aryvals) {

             for(var i=0; i<=aryopts.length-1; i++){
                var opt = document.createElement('option');
                opt.text =aryopts[i];
                if (aryvals) {
                    opt.value = aryvals[i];
                } else {
                    opt.value = aryopts[i];
                }

                try {
                      elem.add(opt, null); // standards compliant; doesn't work in IE

                    }
                    catch(ex) {
                      elem.add(opt); // IE only
                    }
                    
                //alert(pValue + ' - ' + aryopts[i]);
                if (aryvals) {
                    if (pValue == aryvals[i]) {
                       elem.selectedIndex = i;
                    }
                } else {
                     if (pValue == aryopts[i]) {
                       elem.selectedIndex = i;
                    }
               }
             }
            
            return elem;
	    } // LoadSelectElem
	    
	    function MakeLabel( pName, pValue, pLblFor, pClass) {
                var elem = document.createElement("label");
                elem.innerHTML = pValue;
                if (pName) {
                    elem.name = pName;
                    elem.id = pName;
                }
                if (pLblFor) {elem.setAttribute("for", pLblFor); }
                if (pClass) {setClassByVar(elem, pClass); }
                
                return elem;
	    }

	    function MakeTextElem( pName, pValue, pWidth, pType, pCreateType, pReadOnly, pDisabled, pOnblur) {
            var elem;
            if (pCreateType) { elem = document.createElement(pCreateType); } else { elem = document.createElement("input"); }
            if (pType) { elem.type = pType; } else { elem.type = "text"; }
            elem.name = pName;
            elem.id = pName;
            elem.value = pValue;
            if (pWidth) { elem.style.width = pWidth; } 
            if (pReadOnly) { setReadOnlyByVar(elem, pReadOnly); }
            if (pDisabled) { setDisabledByVar(elem, pDisabled); }
            if (pOnblur) {
                if (elem.attachEvent){
			        elem.attachEvent('onblur', pOnblur); 
		        } else {
			        elem.setAttribute('onblur', '"' + pOnblur + '();"' ); 
		        }  
            }
          return elem;
	    } // MakeTextElem
	    
        function getMaxLength() {
            //TODO: finish this
            var ctl;
        }    
	    
        function setMaxLength(pCtl, pMaxLength) {
            if (pCtl.value.length > pMaxLength + 1) {
                alert('Your entry has been truncated. The maximum length is' + pMaxLength);
                pCtl.value = pCtl.value.substring(0, pMaxLength);
            } 
        }  
          
	    function MakeTextAreaElem( pName, pValue, pWidth, pCols, pRows, pReadOnly, pDisabled, pOnblur, pMaxLength) {
            var elem = document.createElement("textarea"); 
            elem.name = pName;
            elem.id = pName;
            elem.value = pValue;
            if (pWidth) { elem.style.width = pWidth; } 
            if (pCols) { elem.cols = pCols; } 
            if (pRows) { elem.rows = pRows; } else { elem.rows = 2; } 
            if (pReadOnly) { setReadOnlyByVar(elem, pReadOnly); }
            if (pDisabled) { setDisabledByVar(elem, pDisabled); }
            if (pOnblur) {
                if (elem.attachEvent){
			        elem.attachEvent('onblur', pOnblur); 
		        } else {
			        elem.setAttribute('onblur', '"' + pOnblur + '();"' ); 
		        }  
		    }
            if (pMaxLength) {
                if (elem.attachEvent){
			        elem.attachEvent('onkeyup', getMaxLength); 
		        } else {
			        elem.setAttribute('onkeyup', '"setMaxLength(this,' + pMaxLength + ');"' ); 
		        }  
            }
            
            return elem;
	    } // MakeTextAreaElem
	    
	    function MakeLinkElem ( url, pText, pName) {
	    
            var elem = document.createElement('a');
            if (pName) {
                elem.name = pName;
                elem.id = pName;
            }
            elem.setAttribute('href', url);
           
            tn = document.createTextNode(pText);
            elem.appendChild(tn);
            
            return elem;
        }
        // end MakeLinkElem
        
		function MakeEditImgLinkElem ( url, pAtl, pName ) {
	    
            var elem = document.createElement('a');
            if (pName) {
                elem.name = pName;
                elem.id = pName;
            }
            elem.setAttribute('href', url);
           
            var image = MakeImageElem('images/icon-edit.gif', pAtl ) ;
            elem.appendChild(image);
           
            return elem;
        }
        // end MakeImageImgEditElem
        
  	    function MakeImageElem ( pSrc, pAtl, pName ) {
	    
            var elem = document.createElement('img');
            elem.src = pSrc;
            
            if (pName) {
                elem.name = pName;
                elem.id = pName;
            }
            
             if (pAtl) {
                elem.alt = pAtl;
            }
            
           return elem;
        }
        // end MakeEditImgLinkElem
   
	    function MakeTextElemNumeric( pName, pValue, pWidth, pType, pCreateType, pReadOnly, pDisabled) {
            var elem;
            if (pCreateType) { elem = document.createElement(pCreateType); } else { elem = document.createElement("input"); }
            if (pType) { elem.type = pType; } else { elem.type = "text"; }
            elem.name = pName;
            elem.id = pName;
            elem.value = pValue;
            if (pWidth) { elem.style.width = pWidth; } 
            var eClass = "numeric";
            if (pReadOnly) { setReadOnlyByVar(elem, pReadOnly); eClass="numericRO"; }
            setClassByVar(elem, eClass);
            if (pDisabled) { setDisabledByVar(elem, pDisabled); }
         return elem;
	    } // MakeTextElemNumeric
	    
	    function MakeRadioElement( pName, pValue, pChecked, pLabel ) {
           var elem = null;
           var tmpChecked = "";
           if (pChecked == 'Y' || pChecked == 'checked' ) {
                tmpChecked = 'checked';
           }
           
           // Try the IE way; this fails on standards-compliant browsers
           try {
                elem = document.createElement('<input type="radio" name="'+pName+'" id="'+pName+'" value="'+pValue+'" '+tmpChecked+'>');
           } catch (e) {
                //alert('ff:'+pName);
                elem = document.createElement('input');
                  elem.type = "radio";
                  elem.name = pName;
                  elem.id = pName;
                  elem.value = pValue;
                  if (tmpChecked == 'checked') { // todo or 'T'
                        elem.checked = true;
                  } 
           }
 
           return elem;
        }
        
        
        // 1/18 BKR
         function MakeCheckboxElement( pName, pValue, pChecked , pDisabled) {
        
           var elem = null;
           var tmpChecked = "";
           
           if (pChecked) {
               tmpChecked = 'checked';
           } else {
               if (pChecked == 'Y' || pChecked == 'checked' ) {
                    tmpChecked = 'checked';
               }
           }
           
           // Try the IE way; this fails on standards-compliant browsers
           try {
              elem = document.createElement('<input type="checkbox" name="'+pName+'" id="'+pName+'" value="'+pValue+'" '+tmpChecked+'>');
              //alert('IE:'+pName);
           } catch (e) {
                //alert('ff:'+pName);
                elem = document.createElement('input');
                  elem.type = "checkbox";
                  elem.name = pName;
                  elem.id = pName;
                  elem.value = pValue;
                  if (tmpChecked == 'checked') { // todo or 'T'
                        elem.checked = true;
                  } 
           }
             if (pDisabled) { setDisabledByVar(elem, pDisabled); }
           return elem;
        }
        
    function getRadioListSelectedValueByName(rdlName){
        //for asp.net radiolistbuttons
        var rdl = document.getElementById(rdlName);
        return getRadioListSelectedValue(rdl);
   }
        
    function getRadioListSelectedValue(rdl){
        //for asp.net radiolistbuttons
        var options = rdl.getElementsByTagName('input');
        var val = '';
        for(i=0;i<options.length;i++){
            var opt = options[i];
            if(opt.checked){
                val = opt.value;
                break;
            }
        }
        return val;
    }

    function setRadioListSelectedValueByName(rdlName, pValue){
        //for asp.net radiolistbuttons
        var rdl = document.getElementById(rdlName);
        setRadioListSelectedValue(rdl, pValue);
   }
        
    function setRadioListSelectedValue(rdl, pValue){
        //for asp.net radiolistbuttons
        var options = rdl.getElementsByTagName('input');
        var val = '';
        for(i=0;i<options.length;i++){
            var opt = options[i];
            if(opt.value == pValue){
                opt.checked = true ;
                break;
            }
        }
        return val;
    }

    function setRadioCheckedValueByName(rdName, pValue) {
        var rdl = getElementsById(rdName);
        setRadioCheckedValue(rdl, pValue);
    }
    
    function setRadioCheckedValue(rdl, pValue) {
	    var Length = rdl.length;
	    
	    if(Length == undefined) {
		    rdl.checked = (rdl.value == pValue);
	    } else {
	        for(var i = 0; i < Length; i++) {
		        rdl[i].checked = false;
		        if(rdl[i].value == pValue) {
			        rdl[i].checked = true;
		        }
	        }
        }
    }

    function getRadioCheckedValueByName(rdName) {
        var rdl = getElementsById(rdName);
        return getRadioCheckedValue(rdl);
    }
    
    function getRadioCheckedValue(rdl) {
        var val = '';
        for(i=0; i < rdl.length; i++){
            if (rdl[i].checked == true) {
                val = rdl[i].value;
                break;
            }
        }
        return val;
    }
    
     function getCheckboxValuesByName(rdName) {
        var val = '';
         var rdl = getElementsById(rdName);
        for(i=0; i < rdl.length; i++){
            if (rdl[i].checked == true) {
                val += ','+rdl[i].value;
            }
        }
        return val;
    }

    function ShowDivBasedOnCk(ckboxName, dvName, pMatch) {
        var ck = document.getElementById(ckboxName).checked;
        var show =0;        
        if (ck == pMatch) {
            show = 1;
        }
        ShowCtlByName(dvName,show);
    }

    function ShowDivBasedOnRdl(RdlName, dvName, pMatch) {
       
        var docs = getRadioListSelectedValueByName(RdlName);
        var show =0;        
        if (docs == pMatch) {
            show = 1;
        }
        ShowCtlByName(dvName,show);
    }

    
    function DisableDivBasedOnRdl(RdlName, dvName, pMatch) {
        var docs = getRadioListSelectedValueByName(RdlName);
        var dis =0;        
        if (docs == pMatch) {
            dis = 1;
        }
        setDisabledByName(dvName,dis);
    }

    function FixRowObj( p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) {
            if (p1) { this.col1 = p1; } else { this.col1 = ""; }
            if (p2) { this.col2 = p2; } else { this.col2 = ""; }
            if (p3) { this.col3 = p3; } else { this.col3 = ""; } 
            if (p4) { this.col4 = p4; } else { this.col4 = ""; }
            if (p5) { this.col5 = p5; } else { this.col5 = ""; }
            if (p6) { this.col6 = p6; } else { this.col6 = ""; }
            if (p7) { this.col7 = p7; } else { this.col7 = ""; }
            if (p8) { this.col8 = p8; } else { this.col8 = ""; }
            if (p9) { this.col9 = p9; } else { this.col9 = ""; }
            if (p10) { this.col10 = p10; } else { this.col10 = ""; }
        } // End FixRowObj
    
    function MakeRow( p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20) {
        
        var oRow = document.createElement("tr");
        for(var i=0; i<=arguments.length-1; i++){
        
            var arg = arguments[i];
            //if (arg) { 
                    var oCell = document.createElement("td");
                    oCell.appendChild(arg);
                    oRow.appendChild(oCell); 
            //} 
            
        }
        return oRow;

    } // End MakeRow
    
    
     function ClearTable(tableName) {
    
       var tbl = document.getElementById(tableName);
       if (tbl) {
           var tBody = tbl.getElementsByTagName('tbody')[0];
           var len = tBody.rows.length;
           for (i=1;i<len;i++) {
	           tBody.deleteRow(1);
           }
       }
    }
        
    // table row clear links
    function GetClearTableRow() {
        var row = event.srcElement
        var rowid = row.getAttribute('RowID');
        var tblname = row.getAttribute('DataTableName');
        ClearTableRow(rowid,tblname);
    }
    
    function ClearTableRow(pRow, tableName) {
    
        if (tableName) {
            var tbl = document.getElementById(tableName);
        } else {
            var tbl = document.getElementById("DataTable");
        }
         
        var tBody = tbl.getElementsByTagName('tbody')[0];
        for (i=0;i<tBody.rows.length;i++) {
            if (tBody.rows[i].getAttribute('RowID') == pRow) {
	            tBody.deleteRow(i);
	            break;
            }
        }
       
    }  // end ClearTableRow
        
     function ClearTableRowByRowSequence(pRow, tableName) {
    
        if (tableName) {
            var tbl = document.getElementById(tableName);
        } else {
            var tbl = document.getElementById("DataTable");
        }
         
        var tBody = tbl.getElementsByTagName('tbody')[0];
        tBody.deleteRow(i);
      
       
    }  // end ClearTableRow

    function MakeClearLink ( tablename, pRow) {
   
        var newlink = document.createElement('a');
        newlink.setAttribute('href', 'javascript:void(0)');
        
        var clearRowText = 'ClearTableRow('+ pRow +' , "' + tablename + '" );';          
        if (newlink.attachEvent) {
           newlink.attachEvent('onclick', GetClearTableRow);
        } else {
           newlink.setAttribute('onclick', clearRowText); 
        }
        newlink.setAttribute('DataTableName', tablename);
        newlink.setAttribute('RowID', pRow); 
        
        tn = document.createTextNode('clear');
        newlink.appendChild(tn);
        
        return newlink;
    }
        
    // clear and refresh map
    
    function gfxMakeClearRefreshMapLink ( tablename, pRow ) {
   
        var newlink = document.createElement('a');
        newlink.setAttribute('href', 'javascript:void(0)');
        
        var clearRowText = 'ClearTableRowRefreshMap('+ pRow +' , "' + tablename + '" );';
       
        if (newlink.attachEvent) {
           newlink.attachEvent('onclick', GetClearTableRowRefreshMap);
        } else {
           newlink.setAttribute('onclick', clearRowText); 
        }
        newlink.setAttribute('DataTableName', tablename);
        newlink.setAttribute('RowID', pRow); 
        
        tn = document.createTextNode('clear');
        newlink.appendChild(tn);
        
        return newlink;
    }
        
    function ClearTableRowRefreshMap(pRow, tableName) {
    
        var tbl = document.getElementById(tableName); 
        var tBody = tbl.getElementsByTagName('tbody')[0];
        for (i=0;i<tBody.rows.length;i++) {
            if (tBody.rows[i].getAttribute('RowID') == pRow) {
	            tBody.deleteRow(i);
            }
        }
        
        RefreshMap(pRow);
        
    }  // end ClearTableRowRefreshMap
    
    function GetClearTableRowRefreshMap() {
        var row = event.srcElement
        var rowid = row.getAttribute('RowID');
        var tblname = row.getAttribute('DataTableName');
        ClearTableRowRefreshMap(rowid,tblname);
    } // end GetClearTableRowRefreshMap
    
    
    // clear and Refresh
        
     function gfxMakeClearLink ( tablename, pRow, fxCleanup ) {
   
        var newlink = document.createElement('a');
        newlink.setAttribute('href', 'javascript:void(0)');
        
        var clearRowText = 'ClearTableRow('+ pRow +' , "' + tablename + '" );';
       
        
        addEvent(newlink,'click',GetClearTableRow, false);
       
        //newlink.setAttribute('onclick', clearRowText); 
       
        newlink.setAttribute('DataTableName', tablename);
        newlink.setAttribute('RowID', pRow); 
        
        tn = document.createTextNode('clear');
        newlink.appendChild(tn);
        
        return newlink;
    }
    // end table row clear links	    	    
    	    
    function setDisabledByName (Ctlname, bDisabled) {
       var ctl = document.getElementById(Ctlname);
	   setDisabledByVar (ctl, bDisabled);
    }
    function setDisabledByVar (ctl, bDisabled) {
	   if ( ctl == undefined ) {
	        alert('setDisabledByVar could not find ctl');
	   } else {
          if (bDisabled) { ctl.disabled="disabled"; } else { ctl.removeAttribute('disabled'); }
       }     
    }
    	    
    function setReadOnlyByName (Ctlname, bReadOnly) {
       var ctl = document.getElementById(Ctlname);
	   setReadOnlyByVar (ctl, bReadOnly); 
    }
    function setReadOnlyByVar (ctl, bReadOnly) {
	   if ( ctl == undefined ) {
	        alert('setReadOnlyByVar could not find ctl');
	   } else {
           if (bReadOnly) {ctl.setAttribute('readOnly','readOnly');} else { ctl.removeAttribute('readOnly'); }
       }     
    }

    function setClassByName (Ctlname, pClass) {
       var ctl = document.getElementById(Ctlname);
	   setClassByVar (ctl, pClass);
    }
    function setClassByVar (ctl, pClass) {
	   if ( ctl != undefined ) {
	       ctl.className = pClass;
           //ctl.setAttribute("class", pClass);
       }     
    }
    
    function ShowCtlByName(Ctlname, bShow) {

       var ctl = document.getElementById(Ctlname);       
	   ShowCtlByVar(ctl, bShow);
    }
       
    function ShowCtlByToggle(Ctlname) {
      var ctl = document.getElementById(Ctlname);
      
       if (ctl.style.display  != 'none') {
            ShowCtlByVar(ctl, false);
       } else {
            ShowCtlByVar(ctl, true);
       }
    }
    
    function ShowCtlByVar(ctl, bShow, sStyle) {
    
	   if ( ctl != undefined ) {
	        if ( ctl.style ) {

                var Style;
                if (bShow) {
                    
                    if (sStyle == undefined) {
                        Style = 'inline';
                    } else {
                        Style = sStyle;
                    }
                    
                } else {
                    Style = 'none';
                }
                    
                ctl.style.display = Style;
            
           } else {
               alert("ctl.style is undefined for " + ctl);
           }   
        }
    }
         
    function trim(stringToTrim ) {
        return stringToTrim.replace(/^\s+|\s+$/g,"");
    }
    function ltrim(stringToTrim) {
        return stringToTrim.replace(/^\s+/,"");
    }
    function rtrim(stringToTrim) {
        return stringToTrim.replace(/\s+$/,"");
    }
    
    function groupDigits(nStr){  
        
        nStr += '';  
        x = nStr.split('.');  
        x1 = x[0];  
        x2 = x.length > 1 ? '.' + x[1] : '';  
        var rgx = /(\d+)(\d{3})/;  
        while (rgx.test(x1)) {  
            x1 = x1.replace(rgx, '$1' + ',' + '$2');  
        }
        return x1 + x2;  
    }  
   
    function roundNumber(num, dec) {
        var iDec = 0;
        var result;
        if (dec)  {
            iDec = dec;
            result = Math.round(num*Math.pow(10,iDec)) / Math.pow(10,iDec);
       } else {
            result = Math.round(num);
       }
       
       if (isNaN(result)) result = 0;
       return result;
    }

    function makeNumeric(invar) {
        var ReplacedNumber = trim(invar + '');
        if (invar != parseFloat(invar)) {
            ReplacedNumber = invar.replace(/,/g,'');
            ReplacedNumber = ReplacedNumber.replace(/\$/g,'');
       }
        ReplacedNumber = ReplacedNumber.replace(/^0+/, ''); 
        if (ReplacedNumber == '' || ReplacedNumber == ' ') ReplacedNumber = 0;
        if (isNaN(ReplacedNumber)) ReplacedNumber = 0;
        return ReplacedNumber;
    }
    
    function ValidateInt(ctl) {
        ctl.value = makeInt(ctl.value);
        return v;
    }
    function ValidateRangeInt(ctl, min, max) {
        var v = makeInt(ctl.value);
        ctl.value = ValidateRange(v, min, max);
        return v;
    }
  
    function makeInt(invar) {
       var ReplacedNumber = makeNumeric(invar);
       return parseInt(ReplacedNumber);
    }

    function ValidateFloat(ctl, roundTo) {
        var v = makeFloat(ctl.value);
        if (roundTo !=-1) {
            v = roundNumber(v,roundTo);
        }
        ctl.value  = v;
        return v;
    }
    function ValidateRangeFloat(ctl, roundTo, min, max) {
        var v = makeFloat(ctl.value);
        if (roundTo !=-1) {
            v = roundNumber(v,roundTo);
        }
        ctl.value = ValidateRange(v, min, max);
        return v;
    }
   
     function ValidateRange(val, min, max) {
        if (val < min) val = min;
        if (val > max) val = max;
        return val;
    }
   
    function makeFloat(invar) {
        var ReplacedNumber =  makeNumeric(invar);
        return parseFloat(ReplacedNumber);
    }
	    
	function do100Pct(ctl1, ctl2, roundTo, bAllowTotalLessThan100) {   
        var v = makeFloat(ctl1.value);
        if (roundTo !=-1) {
            v = roundNumber(v,roundTo);
        }
        var v2 = 0;
        if (v > 100) {
            v=100;
            v2=0;
        } else {   
            if (v < 0) {
                v =0;
                v2 =100;
            } else {
                if (ctl2) {
                    if (bAllowTotalLessThan100) {
                        v2 = makeFloat(ctl2.value);
                        if (roundTo !=-1) {
                            v2 = roundNumber(v2,roundTo);
                        }
                        if ((v + v2) > 100) {
                            v2 = 100-v;
                        }
                    } else {
                        v2 = 100-v;
                    }
                }
            }
        }
        ctl1.value =v;
        if (ctl2) ctl2.value =v2;
    }

         function doAcres(itemSF, itemAcres) {
            //alert('43560 sf in an acres');
            var val = roundNumber(makeInt(itemSF.value) / 43650, 2);
            itemAcres.value = val;
        }
        
        function doAcresVal(invar) {
            // in SF,  returns acres 43560 sf in an acre
            var val = roundNumber(makeInt(invar) / 43650, 2);
            return val;
        }
        
        function doSF(itemSF, itemAcres) {
            // 43560 sf in an acre
            var val = parseInt(makeFloat(itemAcres.value) * 43650);
            itemSF.value = val;
        }
        
        function convSFtoAcres(invar) {
            // in: acres return: sf - 43560 sf in an acre
            var val = roundNumber(makeInt(invar) / 43650, 2);
            return val;
        } 
        function convAcrestoSF(invar) {
            // in SF,  returns acres 43560 sf in an acre
              var val = parseInt(makeFloat(invar) * 43650);
            return val;
        }    
        
        function simulateRadioBtn(CurrCheckedVal, strict, ChkBx1) {
           //this obviously could be expanded to more check boxes 
           // alert('doSimulateRadioBtn');
            if (CurrCheckedVal) {
                ChkBx1.checked = false;
            } else {
                if (strict) {
                    ChkBx1.checked = true;
               }
            }
        }
        
        function showUnivWarning() {
            alert("This field is Universal Data and may affect other credits");
        }
        function showOverride() {
            alert("Warning: You are overriding a calculated value!");
        }
        
        function doPercent( num, denom, dec, allowneg) {

            var tmptotal = (num / denom)*100;
            var total = 0.0;

            if ( isFinite(tmptotal)  ) {
                if (dec) {
                    var places = parseInt(dec * 10);
                    total = Math.round(tmptotal*places)/places;
                } else {
                    total = Math.round(tmptotal);
                }
            } else {
                total = 0;
            }
            
            return total;
	    }
	    
    // Tooltip extensions
    // toggles tooltip when text is clicked
    var gShowSchedule = true; // CM4.UPUtil.AppSettingsTF("ShowSchedule")
    
	function GoCredit(PRID,CRID,COID,PCID,pEdit,pTab) {
	    CloseRadToolTip();
	    var url;
	    if (PCID == '') {
	        url  = 'members/popups/setProjectCredit.aspx?pr=' + PRID + '&cr=' + CRID + '&Edit=' + pEdit;
	    } else {
	        var pPage = 'index.aspx?u=projectcredit';
	        if (pTab == 'calc') {
	            pPage  = pPage + 'calc';
	            pTab = '';
	        } else {
	            if (pTab) {
	                pTab = '&tab103-4411=' + pTab;
	            }
	        }
	        url =  pPage + '&pr=' + PRID + '&cr=' + CRID + '&co=' + COID + '&pc=' + PCID ;
	        
            if (pEdit) {
                url = url  + '&Edit4411=' + pEdit ;
            }
            if (pTab) {
                url = url + pTab;
            }
	    }
        window.location.href = url;
        return true;
    } 
	                                
	function GoGetCredit(PCID, pPage, pEdit) {
	    CloseRadToolTip();
	    var url  = 'members/popups/setProjectCredit.aspx?pc=' + PCID + '&pg=' + pPage + '&Edit=' + pEdit;
        window.location.href = url;
        return true;
    } 
	   
	function GoGetProject(PRID, pPage, pEdit) {
	    CloseRadToolTip();
	    var url  = 'members/popups/setProject.aspx?pr=' + PRID + '&pg=' + pPage + '&Edit=' + pEdit;
        window.location.href = url;
        return true;
    } 
	   
	function GoAddMtl(PRID,MTID,pEdit) {
	    CloseRadToolTip();
	    var url  = 'index.aspx?u=LPTaskAddMtl&pr=' + PRID + '&mt=' + MTID;
        window.location.href = url;
        return true;
    } 
	   
	function GoTeamMbr(PRID,USID) {
	    CloseRadToolTip();
	    var url  = 'index.aspx?u=teammember&pr=' + PRID + '&us=' +USID;
        window.location.href = url;
        return true;
    } 
    
    function GetEmailTag(pEmail, pName)
    {   
        var result = '';
        
        if (pEmail != '') {
            if (pName == '') {pName = pEmail;}
            result = "<a href='mail" + "to:" + pEmail + "'>" + pName +"</a>";
        }
        
        return result;
    }
    
    function GetLinkTag(pUrl, pText, pOnclick)
    {   
        var result = '';
        
        if (pUrl == '') { pUrl = 'javascript:void(0)';}

        if (pText == '') {pText = pUrl;}
        if (pUrl.indexOf('www.') == 0) {
            pUrl = 'http://' + pUrl;
        }    
        
        result = "<a href='" + pUrl + "'";
        
        if (pOnclick != '') {
            result = result = result + ' onclick="' + pOnclick + '"';
        }    
        
        result = result + ">" + pText +"</a>";
        
        return result;
    }

    var gvShowToolTips = false;
    
    function ShowTeamTT(ctl, PRID, USID, pLastLogin, pPhone, pEmail, pCompanyName, pProconnectPage, pType, XRefID) {
    if (gvShowToolTips) { 
        if (ctl) {
        
            var tooltip = $find("rttToolTip"); //tootip on index.aspx 
           
            var msg = '<b>Team Member Quick Menu</b><br />';
            msg = msg + '&nbsp;Click On The Link To Jump To Persons Team Member Page&nbsp;';
            msg = msg + '<div style="margin: 10px 10px 10px 10px;">';
            
            if (pCompanyName != '') {msg = msg + pCompanyName;}
            if (pPhone != '') {msg = msg + '<br />' + pPhone;}
            if (pEmail != '') {msg = msg + '<br />' + GetEmailTag(pEmail,'');}
            
            msg = msg + '<br />';
            if (pLastLogin == '') {
                msg = msg + 'User has not logged in: ' ;
            } else {
                 msg = msg + "<b>Last Login:</b> " + pLastLogin;
            }
            msg = msg + '<br />';
            
            if (pProconnectPage != '') {
                pProconnectPage = pProconnectPage.toLowerCase();
                if (pProconnectPage.indexOf('www.') == -1) {
                    pProconnectPage = 'index.aspx?u=' + pProconnectPage;
                }    
                msg = msg + '<br />' + GetLinkTag(pProconnectPage, 'Jump To User\'s Proconnect Page','') + '<br />';
            }
            
//            if (pType == '1') {
//                var js = "GoGetProject('" + PRID + "', 'pr', '1');";
//                msg = msg + '<br />' + GetLinkTag( '', 'Reassign', js) + '<br />';
//            }
                       
            msg = msg + '</div>';
   
            tooltip.set_content(msg);
            tooltip.set_targetControl(ctl);
            tooltip.show(); 
            window.setTimeout(function(){tooltip.set_targetControl(null);},100);
        }
    }
    }
    
    function ShowProjTT(ctl, PRID, pProconnectPage) {
    if (gvShowToolTips) { 
        if (ctl) {
        
            var tooltip = $find("rttToolTip"); //tootip on index.aspx 
           
            var msg = '<b>Project Quick Menu</b><br />';

            msg = msg + '&nbsp;Click On The Link To Jump To General Info Page&nbsp;<br /><br />';
            msg = msg + '&nbsp;Click On A Link Below To Jump To This Project\'s:&nbsp;';
            msg = msg + '<div style="margin: 0 10px 10px 10px;">';
            
            var BaseUrl  = "GoGetProject('" + PRID + "','" ;
 
            msg = msg + GetLinkTag('','General Info (Edit)', BaseUrl + "pr'" + ",'1');") ;
           if (gShowSchedule) {
                msg = msg + '<br />' + GetLinkTag('','Schedule',BaseUrl + "sc'" + ",'');") ;
           }
            msg = msg + '<br />' + GetLinkTag('','Credit List',BaseUrl + "cr'" + ",'');") ;
            msg = msg + '<br />' + GetLinkTag('','Tasks',BaseUrl + "ta'" + ",'');") ;
            msg = msg + '<br />' + GetLinkTag('','Documents',BaseUrl + "dc'" + ",'');") ;
            msg = msg + '<br />' + GetLinkTag('','Team',BaseUrl + "tm'" + ",'');") ;
            msg = msg + '<br />' + GetLinkTag('','Materials',BaseUrl + "mt'" + ",'');") ;
            msg = msg + '<br />' + GetLinkTag('','Map',BaseUrl + "mp'" + ",'');") ;
            msg = msg + '<br />' + GetLinkTag('','Reports',BaseUrl + "rp'" + ",'');") ;
            msg = msg + '<br />' + GetLinkTag('','White Board',BaseUrl + "wh'" + ",'');") ;

            if (pProconnectPage != '') {
                pProconnectPage = pProconnectPage.toLowerCase();
                if (pProconnectPage.indexOf('www.') == -1) {
                    pProconnectPage = 'index.aspx?u=' + pProconnectPage;
                }    
                msg = msg + '<br />' + GetLinkTag(pProconnectPage, 'Proconnect Page','') + '<br />';
            }
           
            msg = msg + '<br />' + GetLinkTag('members/popups/setDefaultProject.aspx?pr=' + PRID ,'Set as Default Project','') ;
            msg = msg + '<br />' + GetLinkTag( 'index.aspx?u=task&ci=&i=4472&t=34&d=' + PRID + '&pr=' + PRID,'Create a Task for this Project','') + '<br />';;
                   
            msg = msg + '</div>';

            tooltip.set_content(msg);
            tooltip.set_targetControl(ctl);
            tooltip.show(); 
            window.setTimeout(function(){tooltip.set_targetControl(null);},100);
        }
    }
    }
    
    function ShowCredTT(ctl, PRID, CRID, COID, PCID, bCalledFromCreditList) {
    if (gvShowToolTips) { 
        if (ctl) {
        
            var tooltip = $find("rttToolTip"); //tootip on index.aspx 
           
            var msg = '<b>Credit Quick Menu</b><br />';

            msg = msg + '&nbsp;Click On The Link To Jump To Credits Overview Page&nbsp;<br /><br />';
            msg = msg + '&nbsp;Click On A Link Below To Jump To This Credit\'s:&nbsp;';
            msg = msg + '<div style="margin: 0 10px 10px 10px;">';
            
            var BaseUrl  = "GoCredit('" + PRID + "','" + CRID + "','" + COID + "','" + PCID + "'" ;
 
            msg = msg + '<br />' + GetLinkTag('','Credit Overview (Edit)', BaseUrl + ",'1','');") ;
            msg = msg + '<br />' + GetLinkTag('','Credit Data On Seperate Page (Edit)', BaseUrl + ",'1','calc');") ;
          //  msg = msg + '<br />' + GetLinkTag('','Options', BaseUrl + ",'','1');") ;
            msg = msg + '<br />' + GetLinkTag('','Tasks', BaseUrl + ",'','2');") ;
            msg = msg + '<br />' + GetLinkTag('','Credit Data', BaseUrl + ",'','3');") ;
            msg = msg + '<br />' + GetLinkTag('index.aspx?u=documents&pr=' + PRID + '&cr=' + CRID,'Documents','') ;
            msg = msg + '<br />' + GetLinkTag('','Generate LEED Template', BaseUrl + ",'','4');") ;
            msg = msg + '<br />'
            
            if (bCalledFromCreditList != '1') {
                msg = msg + '<br />' + GetLinkTag('index.aspx?u=projectstandards&pr=' + PRID,'Credit List','') ;
            }
            msg = msg + '<br />' + GetLinkTag('index.aspx?u=task&ci=&i=4411&t=103&d=' + PRID + '&pr=' + PRID + '&cr=' + CRID,'Create a Task for this Credit','') + '<br />';;
                   
            msg = msg + '</div>';
                  
            tooltip.set_content(msg);
            tooltip.set_targetControl(ctl);
            tooltip.show(); 
            window.setTimeout(function(){tooltip.set_targetControl(null);},100);
        }
    }
    }
//    function ShowTaskTT(ctl, TaskID) {
//    
//        if (ctl) {
//        
//            var tooltip = $find("rttToolTip"); //tootip on index.aspx 
//           
//            var msg = '<b>Task Quick Menu</b>'
//            msg = msg + '<br /><br />Click On The Link Above To Perform This Task<br />';
//            msg = msg + '<br />Click On a Link Below To Jump To This Project\'s:'
//            
//            var BaseUrl  = "GoGetTask('" + TaskID + "','" ;
// 
//            msg = msg + '<br />' + GetLinkTag('','View', BaseUrl + "'" + ",'1');") ;
//            msg = msg + '<br />' + GetLinkTag('','Edit', BaseUrl + "'" ,'');") ;
//            msg = msg + '<br />' + GetLinkTag('','Delete',BaseUrl + "'" + ",'D');") ;

//            msg = msg + '<br />' + GetLinkTag('','Assign To Me', BaseUrl + "'" + ",'1');") ;
//            msg = msg + '<br />' + GetLinkTag('','Mark Complete', BaseUrl + "'" + ",'1');") ;
////            "View/Assign Team"

//            msg = msg + '<br />';

//            tooltip.set_content(msg);
//            tooltip.set_targetControl(ctl);
//            tooltip.show(); 
//            window.setTimeout(function(){tooltip.set_targetControl(null);},100);
//        }
//    }

 function doSRI(R,E) {
    //var R = numReflectance;
    //var E = numEmittance;

    // Start Main If loop
    if ((R>0) && (E > 0) && (R < 1) && (E < 1)) { 

        var powtcalc = 0;
        var powtsky = 0;
	    var RB = 0.05;
	    var RW = 0.8;
	    var EB = 0.9;
	    var EW = 0.9;
	    var I = 1000;
	    var tsky = 300;
	    var ta = 310;
	    var hc = 12;
	    var threshold = 0.1;
	    var sigma = 0.0000000567;
	    var SRI = 20;
	    var expression;
	    var expressionB;
	    var expressionW;
	    var minsurface = 200;
	    var maxsurface = 500;
	    var tsurface;
	    var tsurfaceB;
	    var tsurfaceW;
	    var maxtries = 50;
	    var tcalc = minsurface;
	    var tries = -1;
	    var f = 0;
	    var f1 = 0;
	    var f2 = 0;
	    var maxf = 0;
	    var testvar = 0;

	    //evaluate expression
	    var x1 = minsurface;
	    var x2 = maxsurface;
    	
	    for (tries=-1;tries<=maxtries;tries++) { 
      		
		    if (tries==-1) { 
  			    tcalc=x1;
  		    }  
  		    if (tries==0) {
  			    tcalc=x2;
  		    }
  		    if (tries > 0) {
  			    tcalc=(x1+x2)/2;
  		    }

  		    tsurface = tcalc;
      		
		    powtcalc = tcalc*tcalc*tcalc*tcalc;
		    powtsky = tsky*tsky*tsky*tsky;
    		
		    f = (1-R)*I-(E*sigma*(powtcalc-powtsky)+hc*(tcalc-ta)) ;
    		
		    if (tries==-1) {
			    f1=f;
  		    }
  		    if (tries==0) {
  			    f2=f;
  		    }
  		    if (tries<=0) {
  			    continue;
  		    }

  		    if (f*f1>0.0) {
  		      f1=f; 
  		      x1=tcalc;
  		    } else {
  		      f2=f; 
  		      x2=tcalc;
  		    }

 	    } // END FOR		
    	  	
	    tsurface = tcalc;
	    maxf = Math.max(Math.abs(f),Math.abs(maxf));

	    x1 = minsurface;
	    x2 = maxsurface;
	    tcalc = minsurface;

	    for (tries=-1;tries<=maxtries;tries++) { 
      		
		    if (tries==-1) { 
  			    tcalc=x1;
  		    }
  		    if (tries==0) {
  			    tcalc=x2;
  		    }
  		    if (tries > 0) {
  			    tcalc=(x1+x2)/2;
  		    }

  		    tsurfaceB= tcalc
      		
		    powtcalc = tcalc*tcalc*tcalc*tcalc
		    powtsky = tsky*tsky*tsky*tsky	
    			
	        f = (1-RB)*I-(EB*sigma*(powtcalc-powtsky)+hc*(tcalc-ta));   
     
		    if (tries==-1) {
			    f1=f;
  		    }
  		    if (tries==0) {
  			    f2=f;
  		    }
  		    if (tries<=0) {
  			    continue;
  		    }
      		     
  		    if (f*f1>0.0) {
  			     f1=f ;
  		 	    x1=tcalc;
  		    } else {          
  			    f2=f; 
  			    x2=tcalc;
  		    }

	    } //end for
    		
	    tsurfaceB = tcalc;
	    maxf = Math.max(Math.abs(f),Math.abs(maxf));

	    x1 = minsurface;
	    x2 = maxsurface;
	    tcalc = minsurface;

	    for (tries=-1;tries<=maxtries;tries++) { 
      		
		    if (tries==-1) { 
  			    tcalc=x1;
  		    }
  		    if (tries==0) {
  			    tcalc=x2;
  		    }
  		    if (tries > 0) {
  			    tcalc=(x1+x2)/2;
  		    }  

		    tsurfaceW = tcalc;
         
		    powtcalc = tcalc*tcalc*tcalc*tcalc;
		    powtsky = tsky*tsky*tsky*tsky;	
    		
   		    f = (1-RW)*I-(EW*sigma*(powtcalc-powtsky)+hc*(tcalc-ta)) ;
         
		    if (tries==-1) {
			    f1=f;
  		    }
  		    if (tries==0) {
  			    f2=f;
  		    }
  		    if (tries<=0) {
  			    continue;
  		    }
      
	        if (f*f1>0.0) {
			    f1=f ;
			    x1=tcalc;
		    } else {          
			    f2=f ;
			    x2=tcalc;
		    }

	    } // end for

	    tsurfaceW = tcalc;
	    maxf = Math.max(Math.abs(f),Math.abs(maxf));

	    var powtsurface ;
	    var powtsurfaceB;
	    var powtsurfaceW;

	    powtsurface = tsurface * tsurface * tsurface * tsurface ;
	    powtsurfaceB = tsurfaceB * tsurfaceB * tsurfaceB * tsurfaceB; 
	    powtsurfaceW = tsurfaceW * tsurfaceW * tsurfaceW * tsurfaceW; 
	    powtsky = tsky * tsky * tsky *tsky;
	    
	    expression = (1-R)*I-(E*sigma*(powtsurface-powtsky)+hc*(tsurface-ta));
	    expressionB = (1-RB)*I-(EB*sigma*(powtsurfaceB-powtsky)+hc*(tsurfaceB-ta));
	    expressionW = (1-RW)*I-(EW*sigma*(powtsurfaceW-powtsky)+hc*(tsurfaceW-ta));

	    if (maxf <= threshold) {
		    SRI = 100*(tsurfaceB-tsurface)/(tsurfaceB-tsurfaceW);
	    } else { 
		    SRI = 0;
	    }
    	
    } else {
        SRI = 0;
	    alert("Please enter values between 0 and 1 for both emittance and reflectance");
    }
    return SRI;
}
 
function EnableTelerikTab(pTabStripName, pTabText, pEnable)
{
    var tabStrip = $find(pTabStripName);
    if (!tabStrip) {
        alert("There is no tabstrip with Name \"" + pTabStripName + "\"");
        return false;
   }
    var tab = tabStrip.findTabByValue(pTabText);
    if (!tab) {
        tab = tabStrip.findTabByText(pTabText);
    } 
    if (!tab)
    {
        alert("There is no tab with text \"" + pTabText + "\"");
        return false;
    } else {
        tab.set_enabled(pEnable); //The same as tab.select();
        return true;
    }
}
function HideTelerikTab(pTabStripName, pTabText, pEnable)
{
    var tabStrip = $find(pTabStripName);
    if (!tabStrip) {
        alert("There is no tabstrip with Name \"" + pTabStripName + "\"");
        return false;
   }
    var tab = tabStrip.findTabByValue(pTabText);
    if (!tab) {
        tab = tabStrip.findTabByText(pTabText);
    } 
    if (!tab)
    {
        alert("There is no tab with text \"" + pTabText + "\"");
        return false;
    } else {
        if (pEnable) {
            tab.get_element().style.display = "inline" ;
        } else {
               tab.get_element().style.display = "none" ;
        }
         
        return true;
    }
}
function getTelerikSelectedTab(pTabStripClientID) {
     
      var tabStrip = $find(pTabStripClientID);
      var selectedTab = tabStrip.get_selectedTab().get_index();
      return selectedTab;
                
    }
// End hiding -->

function IsLastRowNull(pCol1, pCol2, pCol3, pCol4, pCol5, pCol6) {
	
	    var ary1 = getElementsById(pCol1);
        var ary2 = getElementsById(pCol2);
        var ary3 = getElementsById(pCol3);
        var ary4 = getElementsById(pCol4);
        var ary5 = getElementsById(pCol5);
        var ary6 = getElementsById(pCol6);

        var iLength = ary1.length-1;
               
        if (iLength>0) {
        
            var sCheck="";
            if (pCol1) {sCheck += ary1[iLength].value}
            if (pCol2) {sCheck += ary2[iLength].value}
            if (pCol3) {sCheck += ary3[iLength].value}
            if (pCol4) {sCheck += ary4[iLength].value}
            if (pCol5) {sCheck += ary5[iLength].value}
            if (pCol6) {sCheck += ary6[iLength].value}
       
            if ( sCheck == '' ) {
                return true;
            } else {
                return false;
            }
        } else {
            return false;
        }
        
	}
	
function IsLastRowNullAry(aryCols) {

    var sCheck="";
    for(var i = 0; i < aryCols.length; i++ ) {
        var ary1 = getElementsById(aryCols[i]);
        var iLength = ary1.length-1;
        if (iLength>0) {
            sCheck += ary1[iLength].value;
        }
    }
    
    if ( sCheck == '' ) {
        return true;
    } else {
        return false;
    }
    
}

function trimAll(sString)
    {
    while (sString.substring(0,1) == ' ')
    {
        sString = sString.substring(1, sString.length);
    }
    while (sString.substring(sString.length-1, sString.length) == ' ')
    {
        sString = sString.substring(0,sString.length-1);
    }
    return sString;
} 

// conversions

 function gfxConvToKWH(pUse, pUnit) {
        var nkWh;
        var nUse = makeNumeric(pUse);
        var sUnit = pUnit.toUpperCase().replace("/YR", "");
        switch (sUnit)
            {
             case "KWH":
                nkWh = roundNumber( (nUse * 1) );
                break;
            case "MWH":
                nkWh = roundNumber( (nUse * 1000) );
                break;
            case "KBTU":
                nkWh = roundNumber( (nUse *(1/3.412)) );
                break;
            case "MBTU":
                
                nkWh = roundNumber( (nUse * (1/0.003412)) );
                break;
            case "TON HRS":
                nkWh = roundNumber( (nUse * 3.517) );
                break;
            case "THERMS":
                nkWh = roundNumber( (nUse * 100) );
                break;
            default:
                //alert("Conversion Unit Not Found:"+sUnit);
                nkWh = nUse * 1;
                break;
            }
        return nkWh;
    } 
    
/* new ajax functions */

/* <![CDATA[ */

  function setTaskStatus(obj, taskid, status, updControlName)
     {
        
        var url = 'members/popups/AJAXSetTaskStatus.aspx';
        var pars = '?taskid='+taskid+'&statusid='+status;
        //        var elem = document.getElementById(updControlName);
        //        elem.innerHTML = 'Working...';
        //        makeRequest(url,pars);
        //        elem.innerHTML = getTaskStatusDescr(status);
        //        CloseRadToolTip();
        //        showLegendMessageArea('Task Status Updated');
       
        obj.innerHTML = 'Working...';
        makeRequest(url,pars);
        obj.innerHTML = getTaskStatusDescr(status);
        CloseRadToolTip();
        showLegendMessageArea('Task Status Updated');
     }
     
    function setProjectStatus(obj, updControlName, PRID, status)
     {
        var url = 'members/popups/AJAXSetProjectStatus.aspx';
        var pars = '?taskid='+taskid+'&statusid='+status;
        var elem = document.getElementById(updControlName);
        elem.innerHTML = 'Working...';
        makeRequest(url,pars);
        elem.innerHTML = getTaskStatusDescr(status);
        CloseRadToolTip();
        showLegendMessageArea('Project Status Updated');
     }
     
     function setCreditStatus(obj, updControlName, PRID, CRID, status)
     {
        var url = 'members/popups/AJAXSetCreditStatus.aspx';
        var pars = '?prid='+PRID+'&crid='+CRID+'&statusid='+status;
        var elem = document.getElementById(updControlName);
        elem.innerHTML = 'Working...';
        makeRequest(url,pars);
        elem.innerHTML = getTaskStatusDescr(status);
        CloseRadToolTip();

        showLegendMessageArea('Credit Status Updated');
       
     }

     function setCreditStatusWS(obj, updControlName, PRID, CRID, status)
     {


        var serviceUrl = "modules/WebServices/SetCreditStatusWS.asmx/SetCreditStatus";
        var requestParams = "{ 'PRID': '" + PRID + "', 'CRID' : '" + CRID + "', 'StatusId' : '" + status + "'  }";
        var oldStatus = document.getElementById(updControlName).childNodes[0].data;
        var newStatus = getTaskStatusDescr(status);
        var updateElement = document.getElementById(updControlName).childNodes[0];
        function requestSuccess() {

        updateElement.nodeValue = newStatus;
        showLegendMessageArea('Credit Status Updated');
        };
        



        function beginRequest() {
        CloseRadToolTip();
          updateElement.nodeValue = "Working...";
        }

        //requestError will be called both if an ajax called failed (ie not internet connection, or page not found)
        //as well as when the response from the webservice call is failure (ie database error)
        function requestError() {

            updateElement.nodeValue = oldStatus;
            showLegendMessageArea('Error Changing Credit Status');
            alert("There was an error saving your changes");
        }


        makeRequestWS(serviceUrl, requestParams, beginRequest, requestSuccess, requestError);


             
     }

     
     function showLegendMessageArea(pMsg) {
        // update message area if exists        
        var ctlLeg = document.getElementById('imgLegend');
        if (ctlLeg != undefined) {
            ShowCtlByVar(ctlLeg, true); 
            var ctlSp = document.getElementById('spLegend');
            if (ctlSp != undefined) {
                ctlSp.innerHTML = pMsg;
                ShowCtlByVar(ctlSp, true);
            }
            
        }
     
     }
     
     function setLeadAssigneeTask(taskid, userid, updControlName, updVal)
     {
        
        var url = 'members/popups/AJAXSetTaskLead.aspx';
        var pars = '?taskid='+taskid+'&userid='+userid;
        var elem = document.getElementById(updControlName);
        elem.innerHTML = 'Working...';
        makeRequest(url,pars);
        elem.innerHTML = updVal;
        CloseRadToolTip();
        showLegendMessageArea('Lead Assignee Updated');
     }

     
    
    function setLeadAssigneeCredit(obj, updControlName, prid, crid, usid, username)
     {   
        var url = 'members/popups/AJAXSetLeadAssignee.aspx';
        var pars = '?prid='+prid+'&crid='+crid+'&usid='+usid;
        var elem = document.getElementById(updControlName);
        elem.innerHTML = 'Working...';
        makeRequest(url,pars);
        elem.innerHTML = username;
        CloseRadToolTip();
        showLegendMessageArea('Credit Assignee Updated');
     }
     

       
    function setLeadAssigneeCreditWS(obj, updControlName, prid, crid, usid, username)
     {   
       
       var serviceUrl = "modules/WebServices/SetLeadAssigneeWS.asmx/SetLeadAssignee";
        var requestParams = "{ 'PRID': '" + prid + "', 'CRID' : '" + crid + "', 'USID' : '" + usid + "'  }";
       var oldUser = document.getElementById(updControlName).childNodes[0].data;
        var newUser = username;
        var updateElement = document.getElementById(updControlName).childNodes[0];
        function requestSuccess() {

        updateElement.nodeValue = newUser;
       
        showLegendMessageArea('Credit Assignee Updated');
        };
        



        function beginRequest() {
         CloseRadToolTip();
          updateElement.nodeValue = "Working...";
        }

        //requestError will be called both if an ajax called failed (ie not internet connection, or page not found)
        //as well as when the response from the webservice call is failure (ie database error)
        function requestError() {

            updateElement.nodeValue = oldUser;
            showLegendMessageArea('Error Assigning Credit');
            alert("There was an error saving your changes");
        }


        makeRequestWS(serviceUrl, requestParams, beginRequest, requestSuccess, requestError);




    }
     
    
     
// Reference

  function getTaskStatusDescr(StatusID) {

          var sReturn ="";
          switch(StatusID)
            {
            case 1:
                sReturn = 'Needs Assignments';
                break;
            case 2:
                sReturn = 'Assigned';
                break;
            case 3:
                sReturn = 'In Process';
                break;
            case 4:
                sReturn = 'On Hold';
                break;        
            case 5:
                sReturn = 'Being Researched';
                break;
            case 6:
                sReturn = 'Completed';
                break;
            case 7:
                sReturn = 'Can Not Complete';
                break;
            case 8:
                sReturn = 'Completed - Reviewed';
                break;        
            default:
              sReturn ="";
            }
            return sReturn;
        }


// Cookie support
 
    function setCookie(c_name, value, expiredays) {    
        var exdate = new Date();    
        exdate.setDate(exdate.getDate() + expiredays);    
        document.cookie = c_name + "=" + escape(value) +        
            ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString());
    }
    
    function getCookie(c_name) {    
        try { 
            if (document.cookie.length > 0) { 
                c_start = document.cookie.indexOf(c_name + "=");            
                if (c_start != -1) { 
                    c_start = c_start + c_name.length + 1;                
                    c_end = document.cookie.indexOf(";", c_start);                
                    if (c_end == -1) c_end = document.cookie.length;                
                    return unescape(document.cookie.substring(c_start, c_end));            
                }        
            }    
        } catch (err) { }    
        
        //If there is an error or no cookie 
        //return an empty string 
        return "";
    }
    
    // Telerik Tab Support
    // Primary Tab
    function gfxOnClientTabSelected(sender, args) {    
        var tabText = args.get_tab().get_value();     
        saveTabIndex(tabText);
        //alert('gfxOnClientTabSelected');
    }
     function saveTabIndex(tabText) {  
        // alert('');
       // alert("tabCookieName: "+tabCookieName); 
        setCookie(tabCookieName, tabText, 1);
    }
     function gfxOnClientTabLoad(sender) {
        tabstrip = sender;
        //alert('gfxOnClientTabLoad');
    }
    function loadTabIndex(tabstrip) { 
  
        //var currentURL = ;
        var bNotATask = ( window.location.toString().toLowerCase().indexOf("taskitem") < -1);
    
        if (tabstrip != null && bNotATask) {  
            //alert("loadTabIndex tabCookieName: "+tabCookieName);      
            var tabText = getCookie(tabCookieName);
            if (tabText != "" || tabText != null) {            
                var tab = tabstrip.findTabByValue(tabText); 
                if (tab != null) {                
                    tab.select(); //Select tab            
                }           
            }
        }
    }
    
    // Sub Tabs
    function gfxOnClientSubTabSelected(sender, args) {    
        var tabText = args.get_tab().get_value();     
        saveSubTabIndex(tabText);
        //alert('gfxOnClientTabSelected');
    }
     function saveSubTabIndex(tabText) {  
        // alert('');
        //alert("save subtabCookieName: "+subtabCookieName+" - tabText: "+tabText); 
        setCookie(subtabCookieName, tabText, 1);
    }
     function gfxOnClientSubTabLoad(sender) {
        subtabstrip = sender;
        //alert('gfxOnClientTabLoad');
    }

     function loadSubTabIndex(subtabstrip) {  
        //alert('loading... should be two subtabCookieName: '+subtabCookieName); 
        //alert("subtabstrip "+subtabstrip); 
        if (subtabstrip != null) {  
            //alert(" 2 loadSubTabIndex subtabCookieName: "+subtabCookieName);      
            var tabText = getCookie(subtabCookieName);
            
            if (tabText != "" || tabText != null) {            
                var tab = subtabstrip.findTabByValue(tabText); 
                if (tab != null) {                
                    tab.select(); //Select tab            
                }           
            }
            
        }
    }
    
    
    
    function cancelEvent(e) {
        if (!e) e = window.event;
        if (e.preventDefault) {
            e.preventDefault();
        } else {
            e.returnValue = false;
        }
    }

    function makeRequestWS(serviceUrl, requestParams, onBeginRequest, onSuccess, onError) {
    if (!window.$) {
    $ = $telerik.$;

    };
    

        $.ajax({
            type: "POST",
            url: serviceUrl,
            data: requestParams,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(ServerResponse, AJAXCallStatus) {
            

            
            if (AJAXCallStatus.toLowerCase() == "success") { //Succesful ajax call - now check server result

                if (ServerResponse.Result == "Success") {
                    onSuccess();
                    return;
                } else if (ServerResponse.d.Result == "Success") {
                   onSuccess();
                   return;
                } else {
                    onError();
                }
                
            }

            else {
                onError();
            }
            
            
            },
            beforeSend: onBeginRequest,
            error: onError
        });


    }

     
/* ]]> */