// JavaScript Document
doonce=0;
dyn=0;
var ie6markw=0;
scaledimagecountw = new Array();
scaledimagecounth = new Array();
cmsimagecountw = new Array();
cmsimagecounth = new Array();

function mapinit(){
if (GBrowserIsCompatible()) {
 var map = new GMap2(document.getElementById("map"));
 map.setCenter(new GLatLng(53.827582, -1.896470), 12);
 var point = new GLatLng(53.827582, -1.896470);

 var info = "<div style='font-size: 0.8em;'>11th Keighley (Cullingworth) Scout Group<br />Headquarters</div>";
 var marker= new GMarker(point);
 GEvent.addListener(marker, "click", function(){marker.openInfoWindowHtml(info);});
 map.addOverlay(marker);

 map.addControl(new GLargeMapControl());
 map.addControl(new GMapTypeControl());

}
else
{
 document.getElementById("map").innerHTML = "<img src='images/map.jpg'>";
 document.getElementById("map").style.width="325px";
 document.getElementById("map").style.height="300px";  
}
init();
}


function init()
{
 doonce++;

 mywidth=document.getElementById("mybody").offsetWidth;
 if (mywidth>995)
 {
  setouter=940;
 }
 else if (mywidth<785)
 {
  setouter=710;
 }
 else
 {
  setouter=mywidth-65;
 }

 document.getElementById("outer").style.width=setouter+"px";
 rhcolwidth=document.getElementById("rhcol").offsetWidth;

 ie6markw=document.getElementById("ie6marker").offsetWidth;
 if (ie6markw==2) //ie6
 {
  ieboj=2;
 }
 else
 {
  ieboj=0;
 }

 if (ie6markw==2) //ie6
 {
  document.getElementById("logo").src="images/logo.jpg"; 
 }
 
 midwidth=setouter-100-rhcolwidth-18-ieboj; // - lcol; rcol; mid padding; boj  
 document.getElementById("midcol").style.width=midwidth+"px";
 document.getElementById("lhcol").style.height="200px"; //for later resize
 
 
 if (document.getElementById("imagebar")) //multiple in index.php
 {
  var fieldspecs = document.getElementsByTagName("img");
  maximagewidth=576-12; //max midwidth-7pads
  scale= midwidth/maximagewidth;
  totwidth=0;
  heightset=0;
  for (var i=0; i<fieldspecs.length; i++)
  { 
   var fieldspec = fieldspecs[i]; 
   if (fieldspec.getAttribute("style"))
   {
    if (fieldspec.getAttribute('class')=="imageinbar" || fieldspec.getAttribute('classname')=="imageinbar")
    {
     iid=fieldspec.getAttribute("id");
     if (typeof scaledimagecountw[iid]!=='undefined')
     {
      document.getElementById(iid).style.width=scaledimagecountw[iid]+"px";
      document.getElementById(iid).style.height=scaledimagecounth[iid]+"px";
     }   
 
     iwidth=parseFloat(fieldspec.style.width);
     iheight=parseFloat(fieldspec.style.height);

     scaledimagecountw[iid]=iwidth;
     scaledimagecounth[iid]=iheight;
     newwidth=Math.floor(iwidth*scale);
     totwidth=totwidth+newwidth;
     if (heightset==0)
     {
      newheight=Math.floor((iheight/iwidth)*newwidth);
      heightset=1;
     } 
     document.getElementById(iid).style.height=newheight+"px";
     document.getElementById(iid).style.width=newwidth+"px";      
    }
   }
  }
  newwidth=newwidth-(totwidth-(midwidth-12));
  document.getElementById(iid).style.width=newwidth+"px";
 }

 if (document.getElementById("imagebar1")) ////4 in index.php
 {
  var fieldspecs = document.getElementsByTagName("img");
  maximagewidth=512; //4*128
  scale= midwidth/maximagewidth;
  for (var i=0; i<fieldspecs.length; i++)
  { 
   var fieldspec = fieldspecs[i]; 
   if (fieldspec.getAttribute("style"))
   {
    if (fieldspec.getAttribute('class')=="inbar2" || fieldspec.getAttribute('classname')=="inbar2")
    {
     iid=fieldspec.getAttribute("id");
     if (typeof scaledimagecountw[iid]!=='undefined')
     {
      document.getElementById(iid).style.width=scaledimagecountw[iid]+"px";
      document.getElementById(iid).style.height=scaledimagecounth[iid]+"px";
     }   
     if (midwidth<maximagewidth)
     { 
      iwidth=parseFloat(fieldspec.style.width);
      iheight=parseFloat(fieldspec.style.height);
      scaledimagecountw[iid]=iwidth;
      scaledimagecounth[iid]=iheight;
      newwidth=Math.floor(iwidth*scale);
      newheight=Math.floor((iheight/iwidth)*newwidth);
      document.getElementById(iid).style.height=newheight+"px";
      document.getElementById(iid).style.width=newwidth+"px";      
     }
    }
   }
  }
 }
 
 //cms pages
 var fieldspecs = document.getElementsByTagName("img");  
 
 if (thisPage=="gallery.php")
 {
  for (var i=0; i<fieldspecs.length; i++)
  { 
   var fieldspec = fieldspecs[i]; 
   if (fieldspec.getAttribute("style"))
   {
    if (fieldspec.getAttribute('class')=="cmsimage" || fieldspec.getAttribute('classname')=="cmsimage")
    {
     iid=fieldspec.getAttribute("id");
     if (typeof cmsimagecountw[iid]!=='undefined')
     {
      document.getElementById(iid).style.width=cmsimagecountw[iid]+"px";
      document.getElementById(iid).style.height=cmsimagecounth[iid]+"px";
     }   
 
     iwidth=parseFloat(fieldspec.style.width);
     iheight=parseFloat(fieldspec.style.height);

     if (iwidth>midwidth*0.3)
     {
      cmsimagecountw[iid]=iwidth;
      cmsimagecounth[iid]=iheight;
      newwidth=midwidth*0.3;
      newheight=Math.floor((iheight/iwidth)*newwidth);
      document.getElementById(iid).style.height=newheight+"px";
      document.getElementById(iid).style.width=newwidth+"px";      
     }
    }
   }
  }
  ieboj=2;
  if (ie6markw==2) //ie6=2
  {
   ieboj=4;
  }
  fieldspecs = document.getElementsByTagName("div");
  for (var i=0; i<fieldspecs.length; i++)
  { 
   fieldspec = fieldspecs[i]; 
   if (fieldspec.getAttribute('class')=="paradiv" || fieldspec.getAttribute('classname')=="paradiv")
   {
    paraleft=((midwidth-fieldspec.offsetWidth)/ieboj);
    pid="para"+i;
    fieldspec.setAttribute('id',pid);
    document.getElementById(pid).style.marginLeft=paraleft+"px";
    }
  }  
 }
 else
 {
  for (var i=0; i<fieldspecs.length; i++)
  { 
   var fieldspec = fieldspecs[i]; 
   if (fieldspec.getAttribute("style"))
   {
    if (fieldspec.getAttribute('class')=="cmsimage" || fieldspec.getAttribute('classname')=="cmsimage")
    {
     iid=fieldspec.getAttribute("id");
     if (typeof cmsimagecountw[iid]!=='undefined')
     {
      document.getElementById(iid).style.width=cmsimagecountw[iid]+"px";
      document.getElementById(iid).style.height=cmsimagecounth[iid]+"px";
     }   
 
     iwidth=parseFloat(fieldspec.style.width);
     iheight=parseFloat(fieldspec.style.height);

     if (iwidth !=620 && iwidth>midwidth*0.66)
     {
      cmsimagecountw[iid]=iwidth;
      cmsimagecounth[iid]=iheight;
      newwidth=midwidth*0.66;
      newheight=Math.floor((iheight/iwidth)*newwidth);
      document.getElementById(iid).style.height=newheight+"px";
      document.getElementById(iid).style.width=newwidth+"px";      
     }
     else if(iwidth>midwidth-1-ieboj)
     {
      cmsimagecountw[iid]=iwidth;
      cmsimagecounth[iid]=iheight;
      newwidth=midwidth-1-ieboj;
      newheight=Math.floor((iheight/iwidth)*newwidth);
      document.getElementById(iid).style.height=newheight+"px";
      document.getElementById(iid).style.width=newwidth+"px"; 
     }

    }
   }
  } 
 }  
 
 
 posLH=findPos(document.getElementById("lhcol"))*1;
 botLH=findPos(document.getElementById("lhbotmarker"))*1;
 posFoot=findPos(document.getElementById("footer"))*1;
 if (posFoot<botLH)
 {
  LHheight=botLH-posLH;
 }
 else
 {
  LHheight=posFoot-posLH-10;
 } 
 
 if (LHheight>0)
 {
  document.getElementById("lhcol").style.height=LHheight+"px";
 }
 else
 {
  document.getElementById("lhcol").style.height=posFoot+"px"; //error  
 }
 

 if (document.getElementById("rhbotmarker") && doonce==1)
 {
  bgp=Math.floor((rhcolwidth-164)/2);
  RHheight=LHheight;
  posIm=findPos(document.getElementById("rhbotmarker"));
  document.getElementById("rhcolimages").style.height=RHheight+"px";
  document.getElementById("rhcolimages").style.backgroundPosition=bgp+"px "+posIm+"px";  
 }
  
 document.getElementById("masttext").style.color="#000000"; 
  
 dyn = setouter+" "+midwidth;

// if (doonce==1)
 if (dyn!=0)
 {
  setDynamics(dyn);
 }
 externalLinks();
}




function findPos(obj)
{
 toppos=0;
 if (obj.offsetParent)
 {
  do
  {
	 toppos += obj.offsetTop;
  }while (obj = obj.offsetParent);
 }
 return[toppos];
}
function findPosX(obj)
{
 posx=0;
 if (obj.offsetParent)
 {
  do
  {
	 posx += obj.offsetLeft;
  }while (obj = obj.offsetParent);
 }
 return[posx];
}



function navOn(here){
//here.style.backgroundPosition="0 5px";
 if (ie6markw!=2)
 {
  //here.style.backgroundColor="#FFCC00";
 here.style.backgroundColor="#EDD7E1";
 }
}

function navOff(here){
//here.style.backgroundPosition="center";
 if (ie6markw!=2)
 {
  //here.style.backgroundColor="transparent";
  here.style.backgroundColor="#CE90AB"
 }
}

function externalLinks() { 
 if (!document.getElementsByTagName) return;
  if (document.getElementById("newwindowlinks")){
   document.getElementById("newwindowlinks").style.display="inline"; 
  }
 var fieldspecs = document.getElementsByTagName("a"); 
 for (var i=0; i<fieldspecs.length; i++) { 
   var fieldspec = fieldspecs[i]; 
   if (fieldspec.getAttribute("href") && 
       fieldspec.getAttribute("rel") == "external") 
       fieldspec.target = "_blank"; 
 } 
}
function externalLinksOff() { 
 if (!document.getElementsByTagName) return;
 var fieldspecs = document.getElementsByTagName("a"); 
 for (var i=0; i<fieldspecs.length; i++) { 
   var fieldspec = fieldspecs[i]; 
   if (fieldspec.getAttribute("href") && 
       fieldspec.getAttribute("rel") == "external") 
       fieldspec.target = "_self"; 
 }
 var images = document.getElementsByTagName("img");
 for (var i=0; i<images.length; i++) { 
   var image = images[i];
   var firstchar = image.getAttribute("src").lastIndexOf("/") + 1;
   var filename = image.getAttribute("src").substring(firstchar,firstchar+6);
   if (filename == "newwin")
     image.style.display = "none";
 }  
} 

function findAccessKeys() { 
var fieldspecs = document.getElementsByTagName("a"); 
 for (var i=0; i<fieldspecs.length; i++) { 
  var fieldspec = fieldspecs[i]; 
  if (fieldspec.getAttribute("accesskey")) {
     highlightAccessKey(fieldspec, fieldspec.getAttribute("accesskey"));
   }
 }
} 
function highlightAccessKey(e, accessKey) {
    if (e.hasChildNodes())
    {
     var childNode, txt;
     //find the first text node that contains the access character
     for (var i = 0; i < e.childNodes.length; i++)
     {
      txt = e.childNodes[i].nodeValue;
      if (e.childNodes[i].nodeType == 3 && txt.toLowerCase().indexOf(accessKey.toLowerCase()) != -1)
      {
       childNode = e.childNodes[i];
       break;
      }
     }
        
     if (!childNode)
     {
      //access character was not found
      return;
     }
 
     var pos = txt.toLowerCase().indexOf(accessKey.toLowerCase());
     var span = document.createElement('span');
     var spanText = document.createTextNode(txt.substr(pos, 1));
     span.className = 'accesskey';
     span.appendChild(spanText);
     //the text before the access key
     var text1 = document.createTextNode(txt.substr(0, pos));
     //the text after the access key
     var text2 = document.createTextNode(txt.substr(pos + 1));
     if (text1.length > 0) e.insertBefore(text1, childNode);
     e.insertBefore(span, childNode);
     if (text2.length > 0) e.insertBefore(text2, childNode);
     e.removeChild(childNode);
    }
}


function increase()
{
 size=document.getElementById("main").style.fontSize.replace("em","");
 size=Math.round(size*100)/100;
 if (size<1.8)
 {
  if (size<0.7)
  {
   size=0.75;
  }
  else if (size<1)
  {
   size=Math.round((size+0.1)*100)/100;
  }  
  else if (size<1.15)
  {
   size=Math.round((size+0.05)*100)/100;
  }
  else
  {
   size=Math.round((size+0.1)*100)/100;
  } 
  document.getElementById("main").style.fontSize=size+"em";
  document.getElementById("topnavbar").style.fontSize=size+"em";
 }
 setSize(size);
}
function decrease()
{
 size=document.getElementById("main").style.fontSize.replace("em","");
 size=Math.round(size*100)/100;
 if (size>0.5)
 {
  size=Math.round((size-0.1)*100)/100;
 } 
 document.getElementById("main").style.fontSize=size+"em";
 document.getElementById("topnavbar").style.fontSize=size+"em"; 
 setSize(size);
}
function reset()
{
 document.getElementById("main").style.fontSize="0.8em";
 document.getElementById("topnavbar").style.fontSize="0.8em"; 
 setSize(0.8);
}


var fieldObject;
function setSession(fieldspec, value){
value=value.replace(/\n/g, "-*--");
 if (fieldObject) 
 {
  document.body.removeChild(fieldObject);
 }
 fieldObject = document.createElement("script");
 fieldObject.src = "setsession.php?fieldspec="+fieldspec+"&value="+value;
 fieldObject.type = "text/javascript";
 document.body.appendChild(fieldObject);
}

var dynObject;
function setDynamics(dyn){
 if (dynObject) 
 {
  document.body.removeChild(dynObject);
 }
 dynObject = document.createElement("script");
 dynObject.src = "setdyn.php?dyn="+dyn+"&page="+thisPage;
 dynObject.type = "text/javascript";
 document.body.appendChild(dynObject);
}

var sizeObject;
function setSize(size){
 if (sizeObject) 
 {
  document.body.removeChild(sizeObject);
 }
 sizeObject = document.createElement("script");
 sizeObject.src = "setsize.php?size="+size;
 sizeObject.type = "text/javascript";
 document.body.appendChild(sizeObject);
}

