var hasSVGSupport = false;  // does client have SVG support?
var browserAppName=navigator.appName;
var b_version=navigator.appVersion;
var browserVersion = parseFloat(b_version);
var svgVersion = 'none';

if (navigator.mimeTypes != null // works on mozilla
	&& navigator.mimeTypes.length > 0)
{
    if (browserAppName=='Netscape' && browserVersion>=5)
    { hasSVGSupport = true; svgVersion = 'NET'; }
	if (navigator.mimeTypes["image/svg+xml"] != null)
	{ hasSVGSupport = true; svgVersion = 'MOZ'; }
}
else // works in IE
{
	try
		{
		var oSVG=eval("new ActiveXObject('Adobe.SVGCtl.3');");
		if (oSVG) {svgVersion = 'ASV'; hasSVGSupport = true; }
		}
	catch(ex)
		{
		try
		    {
		    var oSVG=eval("new ActiveXObject('RenesisX.RenesisCtrl.1');");
		    if (oSVG) { svgVersion = 'REN'; hasSVGSupport = true; }
		    }
		catch(ex)
		{
		hasSVGSupport = false;}
		}
}
setCookie('hasSVGSupport', hasSVGSupport);
	
function dlSVG(url)
{
	if (url==undefined)
		{url = 'http://www.localinformationsystems.co.uk/Downloads.aspx';}
		window.open(url);
}

function confirmDelete()
    {
    if (confirm('Are you sure you want to delete this record?'))
        {return true;}
    else
        {return false;}
    }

function OpenBasketPopup(BasketItemID,selectBasket)
{
	var winX = 0;var winY = 0;var w = 850;var h = 400;
    if (typeof selectBasket=='undefined'){selectBasket=''}
	// only set new values if 4.0 browser
	if (parseInt(navigator.appVersion) >= 4) {
		winX = (screen.availWidth - w)*.5;
		winY = (screen.availHeight - h)*.5;
	}

	var	winOpts = "toolbar=no,location=0,directories=no,status=yes,menubar=0,scrollbars=1,resizable=0," + "width=" + w + ",height=" + h + ",left=" + winX + ",top=" + winY
	var url = 'BasketPopup.aspx?BasketItemID=' + BasketItemID.toString() + '&selectBasket=' + selectBasket.toString();
	window.open(url,'popupwin', winOpts);
}

function MoreInfo(v,d)
{
var dialogargs = "dialogHeight: 600px; dialogWidth: 600px; center: Yes; help: No; resizable: No; status: No;";
var url = "DataSetPopUpInfo.aspx?v="+v.toString()+"&d="+d.toString();
if (window.radopen) {
    var wnd = window.radopen(url, null);
    }
else {
    if (window.showModalDialog) 
	    {
	    window.showModalDialog(url,window,dialogargs);
	    }
    else
	    {
	    window.open(url,null, config="height=600,width=600,resizable=no,status=no");
	    }
    }
}

function PreviewResource(element, keyValue, resourceType) {
    var dialogargs = "dialogHeight: 600px; dialogWidth: 600px; center: Yes; help: No; resizable: No; status: No;";
    if (resourceType.toLowerCase() == "file") {
        var url = "get/ShowResourceFile.aspx?ResourceID=" + keyValue.toString();
        window.open(url, "", "", "");
    }
    else
    {
        if (resourceType.toLowerCase() == "published object") {
            var url = "ViewPage1.aspx?C=Object&objectID=" + keyValue.toString();
        }
        else if (resourceType.toLowerCase() == "publishedobject") {
            var url = "ViewPage1.aspx?C=Object&objectID=" + keyValue.toString();
        }
        else if (resourceType.toLowerCase() == "report") {
            var url = "ViewPage1.aspx?C=Resource&ResourceID=" + keyValue.toString();
        }
        
        if (window.radopen) {
            var wnd = window.radopen(url, null);
        }
        else {
            if (window.showModalDialog) {
                window.showModalDialog(url, window, dialogargs);
            }
            else {
                window.open(url, null, config = "height=600,width=600,resizable=no,status=no");
            }
        }
    }
}

function DataSetRegionInfo(rtid,dsid)
{
var dialogargs = "dialogHeight: 500px; dialogWidth: 850px;help: No; resizable: No; status: No;";
var url = "DataSetRegionPopupInfo.aspx?rtid="+rtid.toString() + "&dsid=" + dsid.toString();
if (window.radopen) {
    var wnd = window.radopen(url, null);
    }
else {
    if (window.showModalDialog) 
	    {
	    window.showModalDialog(url,window,dialogargs);
	    }
    else
	    {
	    window.open(url,null, config="height=500,width=850,resizable=no,status=no");
	    }
    }
}

function UserInfo(uid)
{
var url = "UserPopUpInfo.aspx?uid="+uid.toString();
var dialogargs = "dialogHeight: 500px; dialogWidth: 850px;help: No; resizable: No; status: No;";

if (window.radopen) {
    var wnd = window.radopen(url, null);
    }
else {
    if (window.showModalDialog) 
	    {
	    window.showModalDialog(url,window,dialogargs);
	    }
    else
	    {
	    window.open(url,null, config="height=500,width=850,resizable=no,status=no");
	    }
	}
}

function ShowTimePopUp(tid)
{
var dialogargs = "dialogHeight: 500px; dialogWidth: 850px;help: No; resizable: No; status: No;";
var url = "TimePopUpInfo.aspx?tid="+tid.toString();
if (window.radopen) {
    var wnd = window.radopen(url, null);
    }
else {
    if (window.showModalDialog) 
	    {
	    window.showModalDialog(url,window,dialogargs);
	    }
    else
	    {
	    window.open(url,null, config="height=500,width=850,resizable=no,status=no");
	    }
    }
}

function ShowRolePopUp(rid)
{
var dialogargs = "dialogHeight: 500px; dialogWidth: 850px;help: No; resizable: No; status: No;";
var url = "RolePopUpInfo.aspx?rid="+rid.toString();
if (window.radopen) {
    var wnd = window.radopen(url, null);
    }
else {
    if (window.showModalDialog) 
	    {
	    window.showModalDialog(url,window,dialogargs);
	    }
    else
	    {
	    window.open(url,null, config="height=500,width=850,resizable=no,status=no");
	    }
    }
}
			
function ClearListBoxSelection(el)
{
var e = document.getElementById(el);
e.selectedIndex=-1;
}

function FormatCMSPage()
{
if (document.getElementById('TableRow1'))
	{document.getElementById('TableRow1').style.display='none'};
if (document.getElementById('MenuPanel1_pnlHomePageText'))
	{
	var h = document.getElementById('MenuPanel1_pnlHomePageText').style.height;
	var h = h.replace('px','');
	h = parseInt(h)+300;
	document.getElementById('MenuPanel1_pnlHomePageText').style.height='';//h+'px';
	document.getElementById('MenuPanel1_pnlHomePageText').style.scroll='none';
	document.getElementById('MenuPanel1_pnlInfoInsert').style.height='';
	document.getElementById('MenuPanel1_pnlInfoInsert').style.scroll='none';
	
	}
	
}

function doHourglass()
{
  document.body.style.cursor = 'wait';
}

function doOver(el)
{
	if (navigator.appName == 'Microsoft Internet Explorer')
	{
		var srcEl = window.event.srcElement;
	}
	else
	{
		var srcEl = el.target;
	}
	
	if (((srcEl=='[object]' || (srcEl=='[object HTMLInputElement]')))&&(srcEl.type))
	{
	var eltype = srcEl.type;
	// do submit button mouse overs
	if (((eltype=='submit')||(eltype=='button'))&&(srcEl.disabled==false)&&(srcEl.className=='submitbutton'))
		{srcEl.className='submitbuttonOver';}

	// do tab button mouse overs
	if ((srcEl.disabled==false)&&(srcEl.className=='tabstripbutton'))
		{srcEl.className='tabstripbuttonOver';}
		
	}
	
}

function doOut(el)
{
	if (navigator.appName == 'Microsoft Internet Explorer')
	{
		var srcEl = window.event.srcElement;
	}
	else
	{
		var srcEl = el.target;
	}
	
		
	if (((srcEl=='[object]' || (srcEl=='[object HTMLInputElement]')))&&(srcEl.type))
	{
	var eltype = srcEl.type;
	if (((eltype=='submit')||(eltype=='button'))&&(srcEl.disabled==false)&&(srcEl.className=='submitbuttonOver'))
		{srcEl.className='submitbutton';}
	
	// do tab button mouse overs
	if ((srcEl.disabled==false)&&(srcEl.className=='tabstripbuttonOver'))
		{srcEl.className='tabstripbutton';}
		
	}
}


function UserHelp(type)
{
	var file;
	
	switch (type)
	 {
	  case "data":
	    file='DataManagerManualv4.0.pdf'
	    break;
	  case "sys":
	    file='SystemAdminManualv4.0.pdf'
	    break;
	   case "tool":
	    file='UserManualAdditionalToolsv4.0.pdf'
	    break;
	  default:
	    file='UserManualv4.0.pdf'
	    break;
	 }
	 
	var winX = 0;var winY = 0;var w = 785;var h = 545;

		if (parseInt(navigator.appVersion) >= 4) {
			w = screen.availWidth-200;h = screen.availHeight-200;
		}
		// only set new values if 4.0 browser
		if (parseInt(navigator.appVersion) >= 4) {
			winX = (screen.availWidth - w)*.5;
			winY = (screen.availHeight - h)*.5;
		}
	
	var	winOpts = "toolbar=no,location=0,directories=no,status=yes,menubar=0,scrollbars=1,resizable=0," + "width=" + w + ",height=" + h + ",left=" + winX + ",top=" + winY
		
	simHelp = window.open("Help/"+file, "simHelp", winOpts);
	simHelp.focus();
}

function begintimer()
{
	var countdown
	var countdown = GetObjectByTag('div','pnlCountdown');
	    
	if (!document.images)
		return
	if (parselimit==1)
		window.location="LogOut.aspx"
	else
		{ 
		parselimit-=1
		curmin=Math.floor(parselimit/60)
		cursec=parselimit%60
		if (curmin!=0)
			curtime="<b><font size=1>For security you will be automatically logged out </font><font size=1><i>" + curmin+" min "+cursec+" secs</i></b></font>"	
		else
			curtime="<br><b>Log-out in <font color=red>" + curmin+" min and "+cursec+" secs</b>"	
		countdown.innerHTML=curtime
		//window.status=curtime
		setTimeout("begintimer()",1000)
		}
}

function setCookie(cookie_name,cookie_value) {

    var a = document.URL.indexOf(window.location.host,0) + window.location.host.length;
    var b = document.URL.indexOf('/',a+1)
    var path = '/';
    if (b!=-1)
        {path = document.URL.substring(a,b);}
    
    document.cookie=cookie_name+"="+cookie_value+"; expires=Tuesday, 01-Apr-2050 08:00:00 GMT; path="+path;

}

function getCookie(name)
{
    var dc = document.cookie;
    //alert(dc);
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1)
    {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    }
    else
    {
        begin += 2;
    }
    var end = document.cookie.indexOf(";", begin);
    if (end == -1)
    {
        end = dc.length;
    }
    return unescape(dc.substring(begin + prefix.length, end));
}

function deleteCookie(name, path, domain)
{
    if (getCookie(name))
    {
        document.cookie = name + "=" + 
            ((path) ? "; path=" + path : "") +
            ((domain) ? "; domain=" + domain : "") +
            "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
}

function disableButton(obj)
{
	document.body.style.cursor='wait';
	obj.style.visibility='hidden';
	//alert(obj.id);
	//obj.disabled=true;
	
}

function About()
{
var dialogargs = "dialogHeight: 250px; dialogWidth: 300px; center: Yes; help: No; resizable: No; status: No;";

if (window.showModalDialog) 
	{
	window.showModalDialog("About.htm",window,dialogargs);
	}
else
	{
	window.open("About.htm",null, "Height=250;Width=300;center:Yes;resizable:No;status:No;align:center;modal:yes;");
	}
}

function doError(el,msg)
{
	alert(msg);
	el.focus();
}

function HTTP() 
{
var xmlhttp
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
        try 
        {
            xmlhttp=new ActiveXObject("Msxml2.XMLHTTP")
        }
        catch (e) 
        {        
            try 
            {
                        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
                    } 
                    catch (E) 
                    {
                        xmlhttp=false
                    }
            }
        @else
            xmlhttp=false
        @end @*/
        if (!xmlhttp) 
        {
            try 
            {xmlhttp = new XMLHttpRequest();} 
            catch (e) 
            {xmlhttp=false}
        }
        return xmlhttp
}

		function showReport(r)
		{
			var _loc = 'get/getReport.aspx?v=n&h=y&r=' + r.toString();
			xmlhttp=new HTTP();
			if (xmlhttp) 
			{
					xmlhttp.open("GET",_loc,false);
					xmlhttp.onreadystatechange=processReport;
					xmlhttp.send();
			}
			else
				{alert('Failed to get report data');}
		}
		
		function processReport() 
		{
		if (xmlhttp.readyState == 4) 
			{
					if (xmlhttp.status == 200) 
							{
							var txt = xmlhttp.responseText;
							var _name= "rptWin";
							var _features="toolbar=0,location=0,directories=no,status=yes,menubar=0,resizable=0,scrollbars=yes";
							var _replace=true;
							tableWin = window.open('',_name,_features,_replace);
							tableWin.document.write(txt);
							}
					else
					{alert("There was a problem retrieving the HTML data:\n" + xmlhttp.statusText); }
				}
		}
		
		function showTable(t)
		{
			
			var _loc = 'get/getObject.aspx?o=' + t.toString();
			xmlhttp=new HTTP();
			if (xmlhttp) 
			{
					xmlhttp.open("GET",_loc,false);
					xmlhttp.onreadystatechange=processTable;
					xmlhttp.send();
			}
			else
				{alert('Failed to get table data');}
		}
		
		function processTable() 
		{
		if (xmlhttp.readyState == 4) 
			{
					if (xmlhttp.status == 200) 
							{
							var txt = xmlhttp.responseText;
							var _name= "tableWin";
							var _features="toolbar=0,location=0,directories=no,status=yes,menubar=0,resizable=0,scrollbars=yes";
							var _replace=true;
							tableWin = window.open('',_name,_features,_replace);
							//tableWin.document.write('<html><head><title>Table Data</title><link href="images/skin/styles.css" type="text/css" rel="stylesheet"></link><link href="images/skin/RADStyles.css" type="text/css" rel="stylesheet"></link></head><body><div style="margin:5px" align=center class="hideFromPrint"><input type="button" value="Print" onclick="window.print();return false" class="submitbutton">&nbsp;<input type="button" value="Close" onclick="window.close()" class="submitbutton"></div>');
							tableWin.document.write('<html><head><title>Table Data</title><link href="images/skin/styles.css" type="text/css" rel="stylesheet"></link><link href="images/skin/RADStyles.css" type="text/css" rel="stylesheet"></link></head><body style="margin:5px">');
							tableWin.document.write(txt);
							tableWin.document.write('</body></html>');
							}
					else
					{alert("There was a problem retrieving the XML data:\n" + xmlhttp.statusText); }
				}
		}
		
		function showChart(m)
		{
		var _loc = 'get/getObject.aspx?o=' + m.toString();
		var _name= "chartWin";
		var _features="toolbar=0,location=0,directories=no,status=yes,menubar=0,resizable=0,scrollbars=yes";
		var _replace=true;
		//alert('You are about to view the map in fullscreen mode.\n\nTo exit fullscreen mode hold down the ALT key and press the F4 key.');
		chartWin = window.open(_loc,_name,_features,_replace);
		chartWin.focus();
		return;
		}
		
		function showMap(m)
		{
		var _loc = 'get/getObject.aspx?o=' + m.toString();
		//alert(_loc);
		//var _loc = 'get/getSVG.aspx?m=' + m.toString();
		var _name= "gisWin";
		var _features="fullscreen=yes,scrollbars=no";
		var _replace=true;
		//alert('You are about to view the map in fullscreen mode.\n\nTo exit fullscreen mode hold down the ALT key and press the F4 key.');
		gisWin = window.open(_loc,_name,_features,_replace);
		gisWin.focus();
		return;
		}

        function GetClientId(strid)
        {
             var count=document.forms[0].length;
             var i=0;
             var eleName; 
             for (i=0; i < count; i++ )
             {
               eleName=document.forms[0].elements[i].id; 
               pos=eleName.indexOf(strid);
               if(pos>=0)  break;            
             }
            return eleName;
        }

        function GetObjectByTag(Tag,strid)
        {
             var tags = document.getElementsByTagName(Tag);
             for ( i = 0; i < tags.length; i++ )
             {
               eleName=tags[i].id; 
               pos=eleName.indexOf(strid);
               if(pos>=0)  break;            
             }
              return tags[i];
          }

    function hideSVG(action)
    {
        //alert(action);
        if (document.getElementById('v2mapTab_SVGmap')) 
        {
            var svg = document.getElementById('v2mapTab_SVGmap');
            //alert(svg);
            svg.style.display = action;
        }
        
        if (document.getElementById('svgMap')) 
        {
            var svg = document.getElementById('svgMap');
            svg.style.display = action;
        }
    }
    
        function IEVersion(){
	    var _n=navigator,_w=window,_d=document;
	    var version="NA";
	    var na=_n.userAgent;
	    var ieDocMode="NA";
	    var ie8BrowserMode="NA";
	    // Look for msie and make sure its not opera in disguise
	    if(/msie/i.test(na) && (!_w.opera)){
		    // also check for spoofers by checking known IE objects
		    if(_w.attachEvent && _w.ActiveXObject){		
			    // Get version displayed in UA although if its IE 8 running in 7 or compat mode it will appear as 7
			    version = (na.match( /.+ie\s([\d.]+)/i ) || [])[1];
			    // Its IE 8 pretending to be IE 7 or in compat mode		
			    if(parseInt(version)==7){				
				    // documentMode is only supported in IE 8 so we know if its here its really IE 8
				    if(_d.documentMode){
					    version = 8; //reset? change if you need to
					    // IE in Compat mode will mention Trident in the useragent
					    if(/trident\/\d/i.test(na)){
						    ie8BrowserMode = "Compat Mode";
					    // if it doesn't then its running in IE 7 mode
					    }else{
						    ie8BrowserMode = "IE 7 Mode";
					    }
				    }
			    }else if(parseInt(version)==8){
				    // IE 8 will always have documentMode available
				    if(_d.documentMode){ ie8BrowserMode = "IE 8 Mode";}
			    }
			    // If we are in IE 8 (any mode) or previous versions of IE we check for the documentMode or compatMode for pre 8 versions			
			    ieDocMode = (_d.documentMode) ? _d.documentMode : (_d.compatMode && _d.compatMode=="CSS1Compat") ? 7 : 5;//default to quirks mode IE5				   			
		    }
	    }
    				 
	    return {
		    "UserAgent" : na,
		    "Version" : version,
		    "BrowserMode" : ie8BrowserMode,
		    "DocMode": ieDocMode
	    }			
    }
    
    var nodeKey = null
		function tree_NodeSelect(s, e) {
            nodeKey = e.nodeKey
            ctl00_cph1_ucRT_atlIPSV.GetNodeValues(nodeKey, 'Name', ProcessValue);
        }

        function tree_NodeSelectTagging(s, e) {
            nodeKey = e.nodeKey
            ctl00_cph1_TaggingTab1_atlIPSV.GetNodeValues(nodeKey, 'Name', ProcessValueTagging);
        }      
         
         function ProcessValue(value){
            var mySel = $(jsPrefix+ 'ucRT_' +'lstIPSVTagging');
            var myOption = new Option(value,nodeKey);
            mySel.options.add(myOption);
            var h = $(jsPrefix + 'ucRT_' + 'hdnSelectedIPSV');
            h.value += nodeKey+',';
        }

        function ProcessValueTagging(value) {
            var mySel = $(jsPrefix + 'TaggingTab1_' + 'lstIPSVTagging');
            var myOption = new Option(value, nodeKey);
            mySel.options.add(myOption);
            var h = $(jsPrefix + 'TaggingTab1_' + 'hdnSelectedIPSV');
            h.value += nodeKey + ',';
        } 
        
        function ClearAllListElements(listBox,hiddenField)
        {
            var h = $(hiddenField);
            var mySel = $(listBox);
            var myOpt = $A($(listBox).options);
            myOpt.each(function(e) {
                mySel.remove(e);
                h.value = '';
            })
        }
                
        function ClearSelectedListElements(listBox,hiddenField)
        {
            var h = $(hiddenField);
            var mySel = $(listBox);
            var myOpt = $A($(listBox).options);
            myOpt.each(function(e) {
                if (e.selected){
                    mySel.remove(e.index);
                }
            })
            
            
        }

        function ValidateTagSelected(listBox,hiddenField,addKeyword) {
        
            var h = $(hiddenField);
            h.value = '';
            var mySel = $(listBox);
            var myOpt = $A($(listBox).options);
            myOpt.each(function(e) {
                e.selected = false;
                if (addKeyword) {
                    $(hiddenField).value = $(hiddenField).value + e.value + ',' + e.text + ';';
                }
                else{
                    $(hiddenField).value = $(hiddenField).value + e.value + ',';
                }
            })
            return true;           
        }

        function AddTagToListBox(rcb, listBox, hiddenField) {
            var combo = $find(rcb);
            var tag = combo.get_text();
            var tid = combo.get_value();
            
            if (tid == "") {tid=0;}
            
            combo.clearSelection();
            combo.set_text("Select/Enter a Tag");
            
            var mySel = $(listBox);
            var myOption = new Option(tag,tid);
            mySel.options.add(myOption);
        }

        function SubmitPage(bool1, bool2) {
            if (bool1 == true) {
                if (bool2 == true) {
                    return true;
                }
            }
            return false;
        }
        
        var min=9;
        var max=16;
        function increaseFontSize() {
           var p = document.getElementsByTagName('p');
           for(i=0;i<p.length;i++) {
              if(p[i].style.fontSize) {
                 var s = parseInt(p[i].style.fontSize.replace("px",""));
              } else {
                 var s = 12;
              }
              if(s!=max) {
                 s += 1;
              }
              p[i].style.fontSize = s+"px"
           }
           
           var div = document.getElementsByTagName('div');
           for(i=0;i<div.length;i++) {
              if(div[i].style.fontSize) {
                 var s = parseInt(div[i].style.fontSize.replace("px",""));
              } else {
                 var s = 12;
              }
              if(s!=max) {
                 s += 1;
              }
              div[i].style.fontSize = s+"px"
           }
           
        }
        function decreaseFontSize() {
           var p = document.getElementsByTagName('p');
           for(i=0;i<p.length;i++) {
              if(p[i].style.fontSize) {
                 var s = parseInt(p[i].style.fontSize.replace("px",""));
              } else {
                 var s = 12;
              }
              if(s!=min) {
                 s -= 1;
              }
              p[i].style.fontSize = s+"px"
           }   
           var div = document.getElementsByTagName('div');
           for(i=0;i<div.length;i++) {
              if(div[i].style.fontSize) {
                 var s = parseInt(div[i].style.fontSize.replace("px",""));
              } else {
                 var s = 12;
              }
              if(s!=min) {
                 s -= 1;
              }
              div[i].style.fontSize = s+"px"
           }   
        }
        
