var isIE6=false;
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
if(isIE) isIE6 = (navigator.appVersion.indexOf("MSIE 6") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
eraseSaveCookie();
window.document.onkeyup=function(){
  createSaveCookie();
}
window.document.onclick=function(){
    doHideSubMenu();
    createSaveCookie();
}
function myShowDialog(href,title,height,width,reload){
    if(isIE6) height += 40;        
    if(window.showModalDialog){
        var size = "dialogHeight:" + height + "px;dialogWidth:" + width + "px;center:yes;resizeable:no;help:no;status:no;"
        if(window.showModalDialog(href,window,size)){
            if(reload==1) document.location.href=document.location.href;
            else if(reload==2) document.forms[0].submit();  
        }
    }
    else{
        var size = "height=" + height + "px,width=" + width + "px,status=no,toolbar=no,menubar=no,help=no,location=no;modal=yes;";
        window.open(href,title,size);
   }
}
function openTips(file){
    if(file!="")    {
        var helpfile = "/help/" + file + "help.htm";
	    open(helpfile,"_new","height=500,width=650,location=0,menubar=0,status=0,toolbar=0,scrollbars=1");
	}
	else
	    open("live/tips.htm","_new","height=500,width=650,location=0,menubar=0,status=0,toolbar=0");
}
function setFocus(){
	var elem = document.getElementById("userid");
	if(elem!=null) elem.focus();
}
function editOptions(){
    myShowDialog("options.aspx","Options & Styles",640,1010,1);
}
function editAppointmentOptions(p){
    myShowDialog("/appointmentoptions.aspx?p=" + p,"Appointment Options",450,580,1);
}
function openForPrinting(){
	var href = document.location.href;
	if(href.indexOf("?")>0) href += "&print=1";
	else href += "?print=1";
	window.open(href,"_blank");
}
function checkForSave(){
    if(readSaveCookie()==1){
        var ret = confirm("Discard your changes?");
        if(ret) eraseSaveCookie();
        return ret; 
    }
    else return true;
}
function createSaveCookie(){
    var enc = document.URL;
    if(enc.indexOf('_form')>0){
	    var date = new Date();
	    date.setTime(date.getTime()+(30*60*1000));
	    document.cookie = "msw_save=1; expires=" + date.toGMTString() + "; path=/";
	}
}
function readSaveCookie(){
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf("msw_save=") == 0) return c.substring(9,c.length);
	}
	return 0;
}
function eraseSaveCookie(){
	var date = new Date();
	date.setTime(date.getTime()-(30*60*1000));
	document.cookie = "msw_save=0; expires=" + date.toGMTString() + "; path=/";
}
function autoRefresh(href,nTime){
    setTimeout('document.location.href=("' + href + '")', nTime);
}
function openRepeat(id,p){
    myShowDialog("repeat.aspx?p=" + p + "&pid=" + id,"Repeat Request",600,600,1);
}
function openRepeat1(id){
    myShowDialog("repeat1.aspx?pid=" + id,"Repeat Request",600,600,0);
}
function openTest(id,p){
    myShowDialog("test.aspx?p=" + p + "&tid=" + id,"Test Result",540,600,0);
    document.forms[0].submit();
}
function openAppointment(id,p){
    myShowDialog("appointment.aspx?p=" + p + "&pid=" + id,"Appointment",540,600,1);
}
function openBmi(w,h){
    myShowDialog("bmi.aspx?w=" + w + "&h=" + h,"Body Mass Index",580,570,1);
}
function openUsageStats(){
    myShowDialog("usage.aspx","Usage Statistics",540,370,0);
}
function addToFavourites(thepage,thetitle){
    if(window.external) window.external.Addfavorite(thepage,thetitle);
    else alert("You are using a browser that does not support adding to Favourites by script. Please add this page manually");
}
function deleteInfoContent(){
    if(FTB_API["field1"].DeleteContents())    {
        document.getElementById("title1").value="";
        document.getElementById("field2").value="";
        alert("Press Save Changes to complete the deletion of this page");
     }
}
function prescriptionHelp(){
    myShowDialog("/help/prescriptions_help.htm","Prescriptions Help",500,500,0);
}
function prescriptionHelpLogon(){
    myShowDialog("/help/prescriptions_help_logon.htm","Prescriptions Help",300,500,0);
}
function prescriptionHelpLogon1(){
    myShowDialog("/help/prescriptions_help_logon1.htm","Prescriptions Help",600,500,0);
}
function appointmentsHelp(){
    myShowDialog("/help/appointments_help.htm","Appointments Help",290,400,0);
}
function disable(field1){
    var elem = document.getElementById(field1);
	if(elem!=null)elem.disabled=true;
}
function enable(field1){
    var elem = document.getElementById(field1);
	if(elem!=null)elem.disabled=false;
}
/*
function checkLength(checkField,outputField,vLength){
    var b = document.getElementById(checkField); 
    var v = document.getElementById(outputField);
    if(b.value.length>vLength)
        v.innerHTML = "<p>Comments are limited to " + vLength + " characters. You have typed " + b.value.length + ". If you continue, your comment will be truncated</p>";
    else
        v.innerHTML = "<p>&nbsp;</p>";
    return true;
}
*/
function checkLength(len,input,output,def,e){
  var v = $get(output);  
  var x = input.value.length - len;
  if(x>0)  {
    if(!e) var e = window.event;
    var code = e.CharCode || e.keyCode;
    if((e.charCode==0) || e.ctrlKey || e.altKey || ((code<47)&&(code!=32)))    {
      v.innerHTML = "<p>" + x + " too many characters. If you continue, the text will be truncated.</p>";
      return true;
    }
    else    {
      return false;
    }
    v.innerHTML = "<p>" + x + " too many characters. If you continue, the text will be truncated.</p>";
    return true;//event is null, we are not looking to stop the action
  }
  else  {
    v.innerHTML = def;
    return true;
  }
}

function addLink(fieldId){
    if(window.showModalDialog) {
       var href = "uploader.aspx?di=1";
       var size = "dialogHeight:340px;dialogWidth:580px;center:yes;resizeable:no;help:no;status:no";
       var ret = window.showModalDialog(href,window,size);
       if(typeof(ret)!='undefined' && ret != "")       {
           var index = ret.indexOf("|");
           var link="";
           var title="";
           var align="none";
           if(index>0){
               link = ret.substring(0,index);
               ret = ret.substring(index+1);
               index = ret.indexOf("|");
               if(index>=0){
                    title = ret.substring(0,index);
                    if(index>=0) align = ret.substring(index+1);
               }
               if(link!="") {
                    var ftb = document.getElementById(fieldId);
                    if (ftb!=null) {
                        if(link.length>4 && 
                        ((link.substring(link.length-4).toLowerCase()==".jpg")||
                         (link.substring(link.length-4).toLowerCase()==".gif")||
                         (link.substring(link.length-4).toLowerCase()==".png")))
                            FTB_API[ftb.id].InsertHtml("<img style=\"float: " + align + ";\" src=\"" + link + "\" alt=\"" + title + "\" />");
                        else
                            FTB_API[ftb.id].InsertHtml("<a style=\"float: " + align + ";\" target=\"_blank\" href=\"" + link + "\" title=\"" + title + "\">" + title + "</a>");
                    }
                }
            }
        }
     }
     else
        alert("Your browser does not support this functionality");
}
function EmptyFTB(fieldId){
    var ftb = document.getElementById(fieldId);
    if (ftb!=null){
        ftb.value="";
        FTB_API[ftb.id].value="";
    }
}
function addStaffPicture(){
    myShowDialog("uploader.aspx?di=2","Staff Picture",260,580,0);
    document.forms[0].submit();
}
function openActivationPage(id){
    myShowDialog("activate.aspx?p=" + id,"Activate Id",240,600,0);
}
var maxh = 0;
var pause=0;
var stop=0;
var dataobj;
var nTimeId=0;
function NewsScrollStart(current){
    clearTimeout(nTimeId);
    dataobj=document.getElementById("newfeed" + current)
    if(dataobj!=null){
        maxh = dataobj.scrollHeight;
        maxh = dataobj.scrollHeight;
        maxh -= dataobj.offsetHeight;
        if(maxh>0)
            NewsScrollGo();
    }
}
function PrescriptionScrollStart(){
    clearTimeout(nTimeId);
    dataobj=document.getElementById("prescriptionsAnnouncementsItem")
    if(dataobj!=null){
        maxh = dataobj.scrollHeight;
        maxh = dataobj.scrollHeight;
        maxh -= dataobj.offsetHeight;
        if(maxh>0) NewsScrollGo();
    }
}
function NewsScrollGo(){
    dataobj.scrollTop=0;
    nTimeId = setTimeout("NewsScrollNewsDiv()",1000 );
}
function NewsScrollReset(){
    if(stop==0 && pause==0){
        dataobj.scrollTop=dataobj.scrollTop-10;
        if(dataobj.scrollTop>0) nTimeId=setTimeout("NewsScrollReset()",10)
        else nTimeId=setTimeout("NewsScrollNewsDiv()",1000)
    }
    else nTimeId=setTimeout("NewsScrollReset()",1000)
}
function NewsScrollNewsDiv(){
    if(stop==0 && pause==0)    {
        dataobj.scrollTop=dataobj.scrollTop+1;
        if(dataobj.scrollTop>=maxh) nTimeId=setTimeout("NewsScrollReset()",2000)
        else nTimeId=setTimeout("NewsScrollNewsDiv()",50)
    }
    else nTimeId=setTimeout("NewsScrollNewsDiv()",1000)
}
function shownewfeed(){
    var el = document.getElementById("newfeedslist");
    if(el!=null){
        var v = el.value;
        var current="0";
   	    var ca = document.cookie.split(';');
	    for(var i=0;i < ca.length;i++) {
		    var c = ca[i];
		    while (c.charAt(0)==' ') c = c.substring(1,c.length);
		    if ((c.indexOf("newfeed=") == 0) && (c.length>8)) current = c.substring(8,c.length);
	    }
        var date = new Date();
        date.setTime(date.getTime()+(30*60*1000));
        document.cookie = "newfeed=" + v + "; expires=" + date.toGMTString() + "; path=/";
        var a = document.getElementById("newfeed" + current);
        if(a!=null){
            a.style.visibility="hidden";
            a = document.getElementById("newfeed" + v);
            if(a!=null){
                a.style.visibility="visible";
                a.setAttribute("top","-200px");
                NewsScrollStart(v);
            }
        }  
    } 
}
function clearText(tb){
    if(tb) tb.value="";
}
function resetText(tb,dt){
    if(tb && tb.value=="") tb.value=dt;
}
function closeWindow(){
    if(!isIE) alert("Your browser is preventing this window from being closed.\r\nPlease close it using the menu in the normal way.");
    else window.close();
}
function openComment(pvar){
    myShowDialog("https://www.mysurgerywebsite.co.uk/secure/contact_dlg.aspx?p=" + pvar,"Comments",570,570,0);
    //myShowDialog("/secure/contact_dlg.aspx?p=" + pvar,"Comments",770,700,0);
}
var min=100;
var max=105;
var tags = ["div","p","td","h1","h2","h3"];
function increaseFontSize(){
    function doIncrease(){
        doToggle("0");
    }
    doIncrease();
    setTimeout(doIncrease,1000);
}
function toggleFontSize(){
   var cook = readfontCookie();
   if(cook=="0") createfontCookie();
   else erasefontCookie();
   doToggle(cook);
}
function doToggle(cook){
   for(t=0;t<tags.length;t++)   {
       var p = document.getElementsByTagName(tags[t]);
       for(i=0;i<p.length;i++) {
        if((p[i].className!="pracName")&&(p[i].className!="pracByline")){
              if(p[i].style.fontSize && (p[i].style.fontSize.indexOf("px")>0)) {
                 var s = parseInt(p[i].style.fontSize.replace("px",""));
                 if(cook=="0")s += 2;
                 else {
                    if(s>12)
                        s -= 2;
                 }
                 p[i].style.fontSize = s+"px"
              } 
              else {
                if(cook=="0") p[i].style.fontSize = "103%"
                else p[i].style.fontSize = ""
              }
           }
       }
   }
}
function createfontCookie(){
    var date = new Date();
    date.setTime(date.getTime()+(30*60*1000));
    document.cookie = "msw_font=1; expires=" + date.toGMTString() + "; path=/";
    var el = document.getElementById("toggleFont");
    if(el)
        el.innerHTML="<div id=\"toggleFont\"><a href=\"javascript:toggleFontSize();\"><img style=\" border:none;\" src=\"/images/text_standard.gif\" alt=\"Decrease the text size\" /></a></div>";
}
function readfontCookie() {
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') 
		    c = c.substring(1,c.length);
		if (c.indexOf("msw_font=") == 0) 
		    return c.substring(9,c.length);
	}
	return "0";
}
function erasefontCookie(){
	var date = new Date();
	date.setTime(date.getTime()-(30*60*1000));
	document.cookie = "msw_font=0; expires=" + date.toGMTString() + "; path=/";
	var el = document.getElementById("toggleFont");
	if(el)
        el.innerHTML="<div id=\"toggleFont\"><a href=\"javascript:toggleFontSize();\"><img style=\" border:none;\" src=\"/images/text_larger.gif\" alt=\"Increase the text size\" /></a></div>";
}
function checkFlashVersion(){
    if(!DetectFlashVer(9, 0, 124)){
        alert('This content requires the Adobe Flash Player version 9 or later.\r\n' + 
   	            'To download Flash visit www.adobe.com/go/getflash');
    }
}
function ControlVersion(){
	var version;
	var axo;
	var e;
	try {
		axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = axo.GetVariable("$version");
	} catch (e) {
    }
	if (!version){
		try {
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
			version = "WIN 6,0,21,0";
			axo.AllowScriptAccess = "always";
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}
	if (!version){
		try {
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}
	if (!version){
		try {
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		} catch (e) {
		}
	}
	if (!version){
		try {
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		} catch (e) {
			version = -1;
		}
	}
	return version;
}
function GetSwfVer(){
	var flashVer = -1;

	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			var descArray = flashDescription.split(" ");
			var tempArrayMajor = descArray[2].split(".");			
			var versionMajor = tempArrayMajor[0];
			var versionMinor = tempArrayMajor[1];
			var versionRevision = descArray[3];
			if (versionRevision == "") versionRevision = descArray[4];
			if (versionRevision[0] == "d") versionRevision = versionRevision.substring(1);
			else if (versionRevision[0] == "r") {
				versionRevision = versionRevision.substring(1);
				if (versionRevision.indexOf("d") > 0) {
					versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
				}
			} else if (versionRevision[0] == "b") {
				versionRevision = versionRevision.substring(1);
			}
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
		}
	}
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ( isIE && isWin && !isOpera ) flashVer = ControlVersion();
	return flashVer;
}
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision){
	versionStr = GetSwfVer();
	if (versionStr == -1 ) return false;
	else if (versionStr != 0) {
		if(isIE && isWin && !isOpera) {
			tempArray= versionStr.split(" ");
			tempString= tempArray[1];
			versionArray= tempString.split(",");
		} else versionArray = versionStr.split(".");
		var versionMajor      = versionArray[0];
		var versionMinor      = versionArray[1];
		var versionRevision   = versionArray[2];
		if (versionMajor > parseFloat(reqMajorVer)) return true;
		else if (versionMajor == parseFloat(reqMajorVer)) {
			if (versionMinor > parseFloat(reqMinorVer))return true;
			else if (versionMinor == parseFloat(reqMinorVer)) {
				if (versionRevision >= parseFloat(reqRevision))	return true;
			}
		}
		return false;
	}
}
function toggleTranslate(){
    var v = document.getElementById('google_translate_element');
    if(v.style['visibility']=="visible")v.style['visibility']="hidden";
    else v.style['visibility']="visible";    
}
function googleTranslateElementInit() {
    new google.translate.TranslateElement({ pageLanguage: 'en'}, 'google_translate_element');
    document.getElementById('google_translate_element').style['visibility']="hidden";
}
function openAlcoholCalc(){
    myShowDialog("/alcohol.aspx","Alcohol Units Calculator",400,650,0);
}
var subMenu_elem=null;
function hideSubMenu(e){
    try{
        if (!e) var e = window.event;
	    var tg = (window.event) ? e.srcElement : e.target;
	    if ((tg.nodeName != 'UL') && (tg.nodeName != 'LI')&&((tg.nodeName != 'DIV'))) return;
	    var reltg = (e.relatedTarget ? e.relatedTarget : e.toElement);
        while (reltg != tg && reltg.nodeName && reltg.nodeName != 'FORM')reltg = reltg.parentNode
        if (reltg == tg) return;
        doHideSubMenu();	
    }
    catch(e){
    }
}
function doHideSubMenu(){
    if(subMenu_elem && (subMenu_elem.style.visibility!="hidden")){
        subMenu_elem.style.visibility="hidden";
        if(isIE6){
            var n = document.getElementById("newfeedslist");
            if(n)
               n.style.visibility="visible";
        }
    }
}
function showSubMenu(s,e){
    if(s!='') {
        if (!e) var e = window.event;
        var a = (window.event) ? e.srcElement : e.target;
        var p = a.parentNode;
        if(a.nodeName!='A' && p.nodeName != 'LI')return;
        var gp = p.parentNode;
        if((subMenu_elem)&&(subMenu_elem.id != s)&&(subMenu_elem.style.visibility!="hidden")) subMenu_elem.style.visibility="hidden";
        subMenu_elem = document.getElementById(s);
        if(subMenu_elem){
            if(subMenu_elem.style.visibility!="visible"){
                var location = Sys.UI.DomElement.getLocation(p);
                var newy=location.y;
                var newx=0;
                if((getStyle(gp.parentNode,"position")=="absolute")){
                    newx = p.offsetWidth-10;
                    newy -= Sys.UI.DomElement.getLocation(gp).y;
                }
                else if(getStyle(document.getElementById("container"),"position")=="relative") {
                newx = p.offsetWidth-10;
                }
                else if(getStyle(document.getElementById("fullMenu"),"position")=="relative"){
                    newx = p.offsetLeft;
                }
                else {
                    newy = location.y;
                    if(gp.offsetWidth < 300) newx = location.x + p.offsetWidth - 10;
                    else newx = location.x;
                 }
                subMenu_elem.style.top = newy + 'px';
                subMenu_elem.style.left = newx + 'px';
                if(isIE6){
                    var n = document.getElementById("newfeedslist");
                    if(n){
                        var l = Sys.UI.DomElement.getLocation(n);
                        var r = newx + subMenu_elem.offsetWidth;
                        var b = newy + subMenu_elem.offsetHeight;
                        if((r >= l.x) && (newx <= (l.x + n.offsetWidth)) &&
                           (b >= l.y) && (newy <= (l.y + n.offsetHeight)))
                            n.style.visibility="hidden";
                    }
                }
                subMenu_elem.style.visibility="visible";
            }
        }
    }
}
function getStyle(el,styleProp){
	if (el.currentStyle) var y = el.currentStyle[styleProp];
	else if (window.getComputedStyle) var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
	return y;
}
function printRequests(){
    var cbId = 1;
    var cb = document.getElementById("ucheck" + cbId);
    var idOut="";
    while(cb != null){
        if(cb.checked) idOut = idOut + "~" + cb.value;
        cbId++;
        cb = document.getElementById("ucheck" + cbId);
    }
    cbId = 1;
    cb = document.getElementById("pcheck" + cbId);
    while(cb != null){
        if(cb.checked) idOut = idOut + "~" + cb.value;
        cbId++;
        cb = document.getElementById("pcheck" + cbId);
    }
    if(idOut!="") window.open("repeatsprint.aspx?docs=" + idOut);
    else alert("First select the repeat requests that you wish to print.");
}
var uToggle=false;
var pToggle=false;
function checkAll(b){
    var bCheck=true;
    if(b=='u'){
        if(uToggle) bCheck=false;
        uToggle=!uToggle;
    }
    else{
        if(pToggle) bCheck=false;
        pToggle=!pToggle;
    }
    var cbId = 1;
    var cb = document.getElementById(b + "check" + cbId);
    while(cb != null){
        cb.checked=bCheck;
        cbId++;
        cb = document.getElementById(b + "check" + cbId);
    }
}
function showPage(n,m){
    for(i = 1; i<=m; i++) {
        var el = document.getElementById("page" + i);
        if(el!=null) {
            if(i==n) el.style.visibility="visible";
            else el.style.visibility="hidden";
        }
        el = document.getElementById("buttonPage" + i);
        if(el!=null){
            if(i==n) el.style.visibility="visible";
            else el.style.visibility="hidden";
        }
    }
}
function loadHealthInfo(f,p){
    var el = document.getElementById('__EVENTARGUMENT');
    if(el!=null)
    {
        el.value = f + '&' + p;
        document.forms[0].submit();  
    }
}
function setActiveTab(id,n){
  var ctrl = $find(id);
  if(ctrl)
    ctrl.set_activeTabIndex(n);
  else
    alert("No Tab Control");
}