/*****************/
/*     DOMAIN    */
/*****************/

var dm = new String('http://www.thefitmap.co.uk/');

/************************/
/*     POPUP WINDOWS    */
/************************/

function omWin(u,h,w,s)
{
var w = window.open(u,'','height='+h+',width='+w+',location=0,menubar=0,resizable=0,scrollbars='+s+',status=0,titlebar=0,toolbar=0');
w.focus();
}

/***************************/
/*  CALLBACK POPUP DLloyd  */
/***************************/

function initIFR(sID)
{
       var winH = 515;
       var winW = 475;
       var sVirtualPathToCallback = 'healthclubs/reviews/lloyd/promotions/directory-contact-direct.htm';
       var iID = parseInt(sID.shave('ifr'),10);
       var sFinalPath = dm + sVirtualPathToCallback + '?id=' + iID;

       omWin(sFinalPath, winH, winW, 1);
}

/**************************/
/*     IMAGE ROLLOVERS    */
/**************************/

//-- OFF + OUT
var ou0_2526 = new Image(); ou0_2526.src = dm + 'pix/n2526-0ou.gif';
var ou0_2527 = new Image(); ou0_2527.src = dm + 'pix/n2527-0ou.gif';
var ou0_2528 = new Image(); ou0_2528.src = dm + 'pix/n2528-0ou.gif';
var ou0_2529 = new Image(); ou0_2529.src = dm + 'pix/n2529-0ou.gif';
var ou0_2575 = new Image(); ou0_2575.src = dm + 'pix/n2575-0ou.gif';
var ou0_3695 = new Image(); ou0_3695.src = dm + 'pix/n3695-0ou.gif';
//-- OFF + OVER
var ov0_2526 = new Image(); ov0_2526.src = dm + 'pix/n2526-0ov.gif';
var ov0_2527 = new Image(); ov0_2527.src = dm + 'pix/n2527-0ov.gif';
var ov0_2528 = new Image(); ov0_2528.src = dm + 'pix/n2528-0ov.gif';
var ov0_2529 = new Image(); ov0_2529.src = dm + 'pix/n2529-0ov.gif';
var ov0_2575 = new Image(); ov0_2575.src = dm + 'pix/n2575-0ov.gif';
var ov0_3695 = new Image(); ov0_3695.src = dm + 'pix/n3695-0ov.gif';

//-- ON + OUT
var ou1_2526 = new Image(); ou1_2526.src = dm + 'pix/n2526-1ou.gif';
var ou1_2527 = new Image(); ou1_2527.src = dm + 'pix/n2527-1ou.gif';
var ou1_2528 = new Image(); ou1_2528.src = dm + 'pix/n2528-1ou.gif';
var ou1_2529 = new Image(); ou1_2529.src = dm + 'pix/n2529-1ou.gif';
var ou1_2575 = new Image(); ou1_2575.src = dm + 'pix/n2575-1ou.gif';
var ou1_3695 = new Image(); ou1_3695.src = dm + 'pix/n3695-1ou.gif';
//-- ON + OVER
var ov1_2526 = new Image(); ov1_2526.src = dm + 'pix/n2526-1ov.gif';
var ov1_2527 = new Image(); ov1_2527.src = dm + 'pix/n2527-1ov.gif';
var ov1_2528 = new Image(); ov1_2528.src = dm + 'pix/n2528-1ov.gif';
var ov1_2529 = new Image(); ov1_2529.src = dm + 'pix/n2529-1ov.gif';
var ov1_2575 = new Image(); ov1_2575.src = dm + 'pix/n2575-1ov.gif';
var ov1_3695 = new Image(); ov1_3695.src = dm + 'pix/n3695-1ov.gif';

function swp(sgid)
{
	var oImg = eval('document.images[\'n'+sgid+'\']');
	var cursrc = new String(eval('document.images[\'n'+sgid+'\'].src'));

	var onIndicator; var overIndicator;
	cursrc = cursrc.substring(cursrc.length-7,cursrc.length);
	onIndicator = cursrc.substr(0,1);
	overIndicator = cursrc.substr(1,2);

	if(overIndicator=='ou'){overIndicator='ov';}
	else{overIndicator='ou';}

	var newsrc = eval(overIndicator + onIndicator + '_' + sgid + '.src');
	oImg.src = newsrc;
}

/**************************/
/*          ICONS         */
/**************************/

var toFav,toSav,toEma,toDis,toTop;
var bRolls = new Boolean(false);

function icons()
{
	var s = new String('');

	s += '<div align="left" class="copyM">';

	s += '<span style="float:left;">';
	s += '<nobr>';
	s += '<a href="#" onclick="window.external.AddFavorite(location.href, document.title);return false;" class="ico" onmouseover="showIco(\'Fav\');" onmouseout="hideIco(\'Fav\');"><img src="'+dm+'pix/icon-fav.gif" border="0" height="24" width="24" alt="Bookmark this page" align="absmiddle" /><span id="spFav">Bookmark</span></a>';
	s += '<a href="#" onclick="tellAFriend();return false;" class="ico" onmouseover="showIco(\'Ema\');" onmouseout="hideIco(\'Ema\');"><img src="'+dm+'pix/icon-email.gif" border="0" height="24" width="24" alt="Email this page" align="absmiddle" /><span id="spEma">Tell a friend</span></a>';
	s += '</nobr>';
	s += '</span>';

	s += '<span style="float:right;">';
	s += '<a href="http://www.addthis.com/bookmark.php" onclick="addthis_url=location.href;addthis_title=document.title;return addthis_click(this);" target="_blank"><img src="http://s9.addthis.com/button1-share.gif" width="125" height="16" border="0" alt="AddThis Social Bookmark Button" /></a>';
	s += '<s'+'cript type="text/javascript">var addthis_pub=\'ianandwill\';</s'+'cript>';
	s += '<s'+'cript type="text/javascript" src="http://s9.addthis.com/js/widget.php?v=10"></s'+'cript>';
	s += '</span>';

	s += '</div>';

//	s += '<a href="#" class="ico" onmouseover="showIco(\'Sav\');" onmouseout="hideIco(\'Sav\');"><img src="'+dm+'pix/icon-save.gif" border="0" height="24" width="24" alt="Save to My Articles" align="absmiddle" /><span id="spSav">Save to My Articles</span></a>';
//	s += '<a href="#" class="ico" onmouseover="showIco(\'Dis\');" onmouseout="hideIco(\'Dis\');"><img src="'+dm+'pix/icon-discuss.gif" border="0" height="24" width="24" alt="Discuss in Forums" align="absmiddle" /><span id="spDis">Discuss in Forums</span></a>';
//	s += '<a href="#" onclick="location.hash=\'top\';return false;" class="ico" onmouseover="showIco(\'Top\');" onmouseout="hideIco(\'Top\');"><img src="'+dm+'pix/icon-top.gif" border="0" height="24" width="24" alt="Top of page" align="absmiddle" /><span id="spTop">Top of page</span></a>';

	document.write(s);

	hideAllIco();
}
function hideAllIco()
{
	if(bRolls==false){return;}

	hideElm(ge('spFav'));
	hideElm(ge('spSav'));
	hideElm(ge('spEma'));
	hideElm(ge('spDis'));
	hideElm(ge('spTop'));	
}

function showIco(me)
{
	if(bRolls==false){return;}

	hideAllIco();
	eval('clearTimeout(to'+me+')');
	showElm(ge('sp'+me));
}

function hideIco(me)
{
	if(bRolls==false){return;}

	eval('to'+me+' = setTimeout(\'hideElm(ge(\\\'sp'+me+'\\\'))\',500)')
}

function tellAFriend()
{
	var taf = window.open(dm + 'tellafriend.htm?qstref=' + escape(location.href.toString()),'','height=774,width=566,location=0,menubar=0,resizable=0,scrollbars=0,status=0,titlebar=0,toolbar=0');
	try{taf.focus();}
	catch(e){}
}

/**************************/
/*     SUBMIT THE FORM    */
/**************************/

function subm(f)
{
	var go = new Boolean(true);

	var dn = 'dirname';
	var drs = 'directoryresultsearch';

	var sOption = new String( f.elements[dn].options[f.elements[dn].selectedIndex].text );
	sOption = sOption.toLowerCase();
	sOption = sOption.trim();

	var newaction = new String('sts/results.htm');

	switch (sOption)
		{
		case 'aromatherapists':
			newaction='holistic/aromatherapy/results.htm';break;
		case 'beauty salons':
			newaction='beauty/salons/results.htm';break;
		case 'health clubs':
			newaction='healthclubs/results.htm';break;
		case 'health food shops':
			newaction='shopping/food/results.htm';break;
		case 'holistic therapists':
			newaction='holistic/therapy/results.htm';break;
		case 'physiotherapists':
			newaction='complementary/physiotherapy/results.htm';break;
		case 'reflexologists':
			newaction='holistic/reflexology/results.htm';break;
		case 'remedial masseurs':
			newaction='complementary/remedial/results.htm';break;
		case 'personal trainers':
			newaction='training/results.htm';break;
		case 'yoga instructors':
			newaction='holistic/yoga/results.htm ';break;
		default:
			go = false;
		}

	f.action = dm + newaction;

	/*FOR DEBUGGING*/
	//var alt = 'f.action: '+f.action+'\nsOption: '+sOption;
	//alert(alt);
	/**/

	if(gv(drs).length > 0 && gv(drs) != sTownString)
	{
		if(go == true){ return true;}
		else { alert('Please select a directory.'); return false; }
	}
	else { alert('Please enter a town or postcode.'); return false; }
	
}

/*******************/
/*    TEXTBOXES    */
/*******************/

var sf = 'searchfor';
var drs = 'directoryresultsearch';

var sKeywordString = 'keyword';
var sTownString = 'town/postcode';

function initTB()
{
	try
	{
		ge(sf).onclick = clickSF;
		ge(drs).onclick = clickDRS;
	}
	catch(e){}

	initLeaderboard();
}

function clickSF()
{
	var s = new String(gv(sf));
	if(s==sKeywordString) {sv(sf,'');}
}

function clickDRS()
{
	var s = new String(gv(drs));
	if(s==sTownString) {sv(drs,'');}
}

/*******************/
/*   LEADERBOARD   */
/*******************/

function initLeaderboard()
{
	var lb = ge('phLeaderboard');
	if(lb)
	{
		if(lb.childNodes.length>0)
		{
			var containsHTML = false;
			for(var i=0;i<lb.childNodes.length;i++)
			{
				//nodeType==1 : HTML - nodeType==3 : TEXT
				if(lb.childNodes[i].nodeType==1 || lb.childNodes[i].nodeType==3)
				{
					containsHTML = true;
				}
			}

			if(containsHTML==true)
			{
				var hb = ge('phHeaderBar2')
				if(hb)
				{
					var lbH = parseInt(lb.offsetHeight, 10);
					var hbT = parseInt(hb.offsetTop, 10);

					hb.style.top = (lbH + hbT) + 'px';
				}
			}
			else{ lb.style.display = 'none'; }
		}
		else{ lb.style.display = 'none'; }
	}
}


/*******************/
/*   TABS          */
/*******************/

function initTabs(c)
{
	var cont = document.getElementById(c);
	var u = cont.getElementsByTagName('UL');
	if(u.length>0)
	{
		u[0].className='tabs';

		hideAllTabsInContainer(cont);
		showTabInContainer(cont,0);
	}
}

function hideAllTabsInContainer(c)
{
	var u = c.getElementsByTagName('UL');
	if(u.length>0)
	{
		var l = u[0].getElementsByTagName('LI');
		if(l.length>0)
		{
			for(var i=0;i<l.length;i++)
			{
				l[i].className='';

				//ADD ROUNDED CORNERS TO FIRST AND LAST LI
				if(i==0)
				{
					for(var a=0; a < l[i].childNodes.length;a++)
					{
						if(l[i].childNodes[a].tagName.toLowerCase()=='a')
						{
							l[i].childNodes[a].className = 'topleft';
							break;
						}
					}
				}

				if(i==(l.length-1))
				{
					for(var a=0; a < l[i].childNodes.length;a++)
					{
						if(l[i].childNodes[a].tagName.toLowerCase()=='a')
						{
							l[i].childNodes[a].className = 'topright';
							break;
						}
					}
				}
			}
		}
	}

	var d = c.getElementsByTagName('DIV');
	if(d.length>0)
	{
		for(var i=0;i<d.length;i++)
		{
			if(d[i].className=='tabPage'){d[i].style.display='none';}
		}
	}
}

function showTabInContainer(c,ind)
{
	var u = c.getElementsByTagName('UL');
	if(u.length>0)
	{
		var l = u[0].getElementsByTagName('LI');
		if(l.length>ind)
		{
			l[ind].className='active';
		}
	}

	var d = c.getElementsByTagName('DIV');
	if(d.length>0)
	{
		var t = 0;
		var done = false;

		for(var i=0;i<d.length;i++)
		{
			if(d[i].className=='tabPage')
			{
				if(t==ind)
				{
					d[i].style.display='';
					done=true;
					break;
				}
				else{t+=1;}
			}
		}

		if(done==false){d[t-1].style.display='';}
	}
}

function toggleTab(me,ind)
{
	var cont = me.parentNode.parentNode.parentNode;
	hideAllTabsInContainer(cont);
	showTabInContainer(cont,ind);
	try{window.focus();}catch(e){}
}

/*****************/
/*     USEFUL    */
/*****************/

String.prototype.lTrim=function()
{
    return this.replace(/^(\s|\xA0)*/,"");
};
String.prototype.rTrim=function()
{
    return this.replace(/(\s|\xA0)*$/,"");
};
String.prototype.trim=function()
{
    return this.rTrim().lTrim();
};
String.prototype.endsWith=function(c)
{
    return this.substr(this.length-c.length)==c;
};
String.prototype.startsWith=function(e)
{
    return this.substr(0,e.length)==e;
};
String.prototype.format=function()
{
    var s=this;
    for(var i=0;
    i<arguments.length;i++)
    {
        s=s.replace('{'+i+'}',arguments[i]);
    }
    return s;
};
String.prototype.shave=function(f)
{
	var s=this;
	
	if(s.startsWith(f)){s = s.substring(f.length,s.length);}
	if(s.endsWith(f)){s = s.substring(0,s.length-f.length);}

    return s;
};

function dims(elm)
{
	var top=0;
	var height=0;
	var width=0;
	var left=0;
	
	if(elm)
	{
		this.height=elm.offsetHeight;
		this.width=elm.offsetWidth;
		
		while(elm)
		{
			left+=elm.offsetLeft;
			top+=elm.offsetTop;
			elm=elm.offsetParent;
		}
		this.left=left;
		this.top=top;
	}
}

function ge(id){return document.getElementById(id);}

function hideElm(elm)
{
	if(elm)
	{
		if(elm.style)
		{
			elm.style.visibility='hidden';
			elm.style.display='none';
		}
	}
}

function showElm(elm)
{
	if(elm)
	{
		if(elm.style)
		{
			elm.style.visibility='visible';
			elm.style.display='';
		}
	}
}

function posElm(elm,x,y)
{
	if(elm)
	{
		if(elm.style)
		{
			elm.style.top=y+'px';
			elm.style.left=x+'px';
		}
	}
}

function swapImg(elm,img)
{
	if(elm && img)
	{
		elm.src=img.src;
	}
}

function gv(id)//GET VALUE
{
	var elm;
	elm=ge(id);
	if(elm)
	{
		if(elm.type.toLowerCase()=='select-one')
		{
			return elm.options[elm.selectedIndex].value;
		}
		else{return elm.value;}
	}
	else {return '';}
}

function sv(id,v)//SET VALUE
{
	var elm;
	elm=ge(id)
	if(elm)
	{
		if(elm.type.toLowerCase()=='select-one')
		{
			for(var i=0;i<elm.options.length;i++)
			{
				if(v==elm.options[i].value)
				{
					elm.selectedIndex=i;
					break;
				}
			}
		}
		else{elm.value=v;}
	}
	else {/*DO NOTHING*/}
}

/* code for table rollovers */

//SWAP CLASS(element object, classname)
function sC(elm,cn)
{
	if(!elm){return;}
	elm.className = cn;
}
//FIND LINK AND GO(event, element object [, target, linkid])
//evt		- the event object, so the function can be exited if the click originates from a genuine A tag
//elm		- the element to be searched for a link
//target	- optional, "_self" by default, ie the same window
//lnkid		- optional, the value of the id attribute within an A element inside the element object
//			  if not specified, the script will attempt to find a the first A element with an href
//			  attribute inside the element object
function fLaG(evt,elm,trgt,lnkid)
{
	if(!elm){return;}

	var et = evt.target || evt.srcElement;
    var tn = et.tagName;
    if(tn.toLowerCase()=='a'){return;}

	var a;
	if(lnkid){a=document.getElementById(lnkid);}
	else
	{
		var l = elm.getElementsByTagName('A');
		if(l)
		{
			for(var i=0;i<l.length;i++)
			{
				if(l[i].href){a = l[i];break;}
			}
		}
	}

	if(a)
	{
		if(a.href)
		{
			var t = "_self";
			if(trgt){t=trgt;}
			else
			{
				if(a.target){t=a.target;}
			}

			window.open(a.href,t);
		}
		else{return;}
	}
	else{return;}
}

/* code for pregnancy calendar */

codate = new Date(); // conception date
daymsecs = 60*60*24*1000;
c=28; // Default cycle

function due_date() 
{
// Get input values	
var d = parseInt(document.getElementById('day').value);
var m = parseInt(document.getElementById('month').value);
var y = parseInt(document.getElementById('year').value);
c = parseInt(document.getElementById('cycle').value);

// Get the start of the ovulation    
  var starto = new Date();
starto.setDate(d);
starto.setMonth(m-1);
starto.setFullYear(y);	
starto.setTime(starto.getTime() + ((c * daymsecs) - daymsecs*14));
codate.setTime(starto.getTime());

// Report the results
document.getElementById('conception').value = formatted_date(starto);
var duedate = new Date(); 
duedate.setTime(starto.getTime() + daymsecs*266);
document.getElementById('due').value = formatted_date(duedate);
var timenow = new Date();	
var elapsed = Math.round((timenow.getTime()-starto.getTime())/daymsecs);

document.getElementById('pregnantfor').value = "" + Math.floor(elapsed/7) + " weeks, " + Math.floor(elapsed%7) + " days";
starto.setTime(starto.getTime() + daymsecs*70);
document.getElementById('tri1').value = formatted_date(starto);
starto.setTime(starto.getTime() + daymsecs*105);
document.getElementById('tri2').value = formatted_date(starto);
}

function num_weeks()
{
due_date();
var d = parseInt(document.getElementById('day1').value);
var m = parseInt(document.getElementById('month1').value);
var y = parseInt(document.getElementById('year1').value);
var date = new Date();
date.setDate(d);
date.setMonth(m-1);
date.setFullYear(y);

var elapsed = Math.round((date.getTime()-codate.getTime())/daymsecs);
document.getElementById('weeks1').value = "" + Math.floor(elapsed/7) + " weeks, " + Math.floor(elapsed%7) + " days";
}

function calc_date()
{	
due_date();
var w = parseInt(document.getElementById('weeks2').value);
var date = new Date();
date.setTime(codate.getTime() + daymsecs*7*w);
document.getElementById('date2').value = formatted_date(date);
}

function co_date()
{
due_date();
var d = parseInt(document.getElementById('day3').value);
var m = parseInt(document.getElementById('month3').value);
var y = parseInt(document.getElementById('year3').value);
var date = new Date();
date.setDate(d);
date.setMonth(m-1);
date.setFullYear(y);

date.setTime(date.getTime() - ((c * daymsecs) - daymsecs*14) - daymsecs*267);
document.getElementById('date3').value = formatted_date(date);
}

function formatted_date(date) 
{
var month = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October",
"November", "December");
return("" + month[date.getMonth()] + " " + date.getDate() + ", " + date.getFullYear());	
}

/* target heart rate calculator */

function checkNum(thisChar) {

	if((thisChar != '0') &&
		(thisChar != '1') &&
		(thisChar != '2') &&
		(thisChar != '3') &&
		(thisChar != '4') &&
		(thisChar != '5') &&
		(thisChar != '6') &&
		(thisChar != '7') &&
		(thisChar != '8') &&
		(thisChar != '9')) {
		
		return false;
		
	} else {
	
		return true;
		
	}
}

function checkValue(thisString) {

	var isNum = true;
	var stringLen = thisString.length;
	
	if(stringLen == 0) {
	
		isNum = false;
		
	} else {
	
		for(count = 0; count < stringLen; count++) {
	
			if(!(checkNum(thisString.charAt(count)))) {
		
				isNum = false;
				break;
		
			}	
		}
	}
	
	return isNum;
	
}
function checkValue(thisString) {

	var isNum = true;
	var stringLen = thisString.length;
	
	if(stringLen == 0) {
	
		isNum = false;
		
	} else {
	
		for(count = 0; count < stringLen; count++) {
	
			if(!(checkNum(thisString.charAt(count)))) {
		
				isNum = false;
				break;
		
			}	
		}
	}
	
	return isNum;
	
}


function calculate(){

	form = document.thrForm;
	age = form.Age.value;
	
	if(!(checkValue(age))) {
	
		alert('Please enter your age');
		
	} else {
	
	intensityIndex = form.Intensity.selectedIndex;
	intensity = form.Intensity.options[intensityIndex].value;
	percentIntensity = (intensity / 100)
	
	lowRate = parseInt((220 - age) * .55);
	highRate = parseInt((220 - age) * .85);

	targetRate = 220;
	targetRate -= age;
	targetRate *= percentIntensity;
	targetRate = parseInt(targetRate);

	document.thrForm.LowRate.value = lowRate;
	document.thrForm.HighRate.value = highRate;
	document.thrForm.TargetRate.value = targetRate;
	}
}

/************************/
/ Corners - diet profile /
/************************/

function DomCheck(){
return(document.createElement && document.getElementById)
}

function DomCorners(id,bk,h,tries){
var el=document.getElementById(id);
if(el==null){                              // if the element isn't ready in the DOM...
    if(tries==null) tries=200;
    if(tries>0)                            // and there are still tries...
        setTimeout("DomCorners('"+id+"','"+bk+"',"+h+","+(--tries)+")",50);  // back in 50ms
    return;
    }
var c=new Array(4);
for(var i=0;i<4;i++){                      // create the four elements for rounded corners
    c[i]=document.createElement("b");
    c[i].style.display="block";            // with necessary style declarations
    c[i].style.height=h+"px";
    c[i].style.fontSize="1px";
    if(i%2==0)
        c[i].style.background="url("+bk+") no-repeat 0 -"+ i*h + "px";
    else
        c[i].style.background="url("+bk+") no-repeat 100% -"+ i*h + "px";
    }
c[0].appendChild(c[1]);
c[2].appendChild(c[3]);
el.style.padding="0";
el.insertBefore(c[0],el.firstChild);       // add top corners
el.appendChild(c[2]);                      // and bottom ones
}
if(DomCheck()){
DomCorners("header","transparent.gif",5);
DomCorners("content","transparent.gif",5);
DomCorners("menu","transparent.gif",5);
DomCorners("links","transparent.gif",5);
DomCorners("footer","small.gif",2);
} 
