// This script needs to be standardised
// This will require inspection of the Activia website to ensure that function names that are changed here are also changed in the scripts for each page

// Tempory test script
function addAlert(alertMessage) {
	window.alert(alertMessage);
}

var Browser = Browser();
function Browser() {
    bval = "Other";
    if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) >= 4)) 
	bval = "Netscape";
    if ((navigator.appName == "Microsoft Internet Explorer") &&	(parseInt(navigator.appVersion) >= 4)) 
	bval = "IE";
    return bval;
}

var vblAtag = 'a href=' ;
var EMdetector = 0
var EMimg = new Array(10)

// Text hidden from automated robots (can contain additional HTML)
function writeEMtxt(txtText,txtTag,txtTagOpen,txtTagClose,txtClass) {
  var txtBit = '' ;
  if(txtTagOpen=='Y')	{			// Write opening tag (with optional class) if required
	txtBit = txtBit + '<' + txtTag ;
	if(txtClass!='')	txtBit = txtBit + ' class="' + txtClass + '"' ;
	txtBit = txtBit + '>';
  }
  txtBit = txtBit + txtText ;			// Write text
  if(txtTagClose=='Y')	{			// Write closing tag if required
	txtBit = txtBit + '</' + txtTag + '>';
  }
  document.write(txtBit) ;
}

// Email link hidden from automated robots
function writeEMlink(emName,emDomain,emType,emText,emSubject) {
  var emAt = '&#64;';
  document.write('<'+vblAtag+'"mailto:'+emName+emAt+emDomain+'.'+emType)
  if(emSubject!='') document.write('?Subject='+emSubject);
  document.write('">');
  document.write(emText+'</a>');
}

// URL link hidden from automated robots
function writeLink(linkURL,linkClass,linkText) {
  var linkBit = '<'+vblAtag+'"' + linkURL + '.asp" ';
  if(linkClass>'') linkBit = linkBit + 'class="' + linkClass + '" ' ;
  linkBit = linkBit + ' title="' + linkText + '">' + linkText + '</a>';
  document.write(linkBit);
}

// Email link hidden from automated robots
function writeEMeMail(emSubject,emText,emType,emDomain,emName) {
  var emAt = '&#64;';
  document.write('<'+vblAtag+'"mailto:'+emName+emAt+emDomain+'.'+emType)
  if(emSubject!='') document.write('?Subject='+emSubject);
  document.write('">');
  document.write(emText+'</a>');
}

// Internal text link hidden from automated robots: path set in calling script
function writeEMtxtLinkV1(linkURL,linkDoc,linkClass,linkText) {
  var linkBit = '<'+vblAtag+'"' + linkURL ;
  if(linkDoc>'')   linkBit = linkBit + '.' + linkDoc ;
  linkBit = linkBit + '"' ;
  if(linkClass>'') linkBit = linkBit + ' class="' + linkClass ;
  linkBit = linkBit + '">' + linkText + '</a>';
  document.write(linkBit);
}

function writeEMtxtLink(linkURL,linkDoc,linkClass,linkText) {
  var linkBit = '<' + vblAtag + '"' + linkURL ;
  if(linkDoc>'') {			// Add document type if specified
	linkBit = linkBit + '.' + linkDoc ;
  }
  linkBit = linkBit + '"' ;
  if(linkClass > '') {			// Add class if specified
	linkBit = linkBit + ' class="' + linkClass ;
  }
  linkBit = linkBit + '">' + linkText + '</a>';
  document.write(linkBit);
}

// NEEDS WORK !!!
// Link to javscript function: does not include leading '<' or closing '>' to enable attributes (rollovers,etc) to be added
function writeEMjsFn(linkFunction,linkParameters) {
  var linkBit = vblAtag + '"jav' + 'ascr' + 'ipt:' ;
  linkBit = linkBit + linkFunction + '(' ;
  if(linkParameters > '') {
	linkBit = linkBit + linkParameters ;
  }
  linkBit = linkBit + ');" ' ;
  document.write(linkBit);
}

// Text link to javascript function
function writeEMjsLink(linkFunction,linkParameters,linkClass,linkText,linkType) {
  var linkBit = '<' + vblAtag ;		// Start link tag
  if (linkType=='onclick') {		// If onclick, make link # and add onclick
	linkBit = linkBit + '"#" onclick=' ;
  }
  linkBit = linkBit + '"jav' + 'ascr' + 'ipt:' + linkFunction ;
  if(linkParameters > '') {		// Show parameters if specified
  	linkBit = linkBit + '(' + linkParameters + ')' ;
  }
  var linkBit = linkBit + ';" ' ;
  if (linkType=='onclick') {		// If onclick, make link # and add onclick
  	linkBit = linkBit + 'return false;' ;
  }
  if(linkClass > '') {			// Add class if specified
	linkBit = linkBit + ' class="' + linkClass + '"' ;
  }
  linkBit = linkBit + '>' + linkText + '</a>';
  document.write(linkBit);
}

// image link hidden from automated robots
function writeEMimgLink(linkURL,linkTarget,linkWidth,linkHeight,linkImage,linkID,linkRollover,linkTitle,linkAlt,linkAlign) {
  var linkBit = '<' + vblAtag + '"' + linkURL + '"' ;
  if(linkTarget>'') linkBit = linkBit + ' target="' + linkTarget + '" onclick="openWindow1();"' ;
  linkBit = linkBit + '><img src="' + linkImage + '"' ;
  if(linkWidth >'') linkBit = linkBit + ' width="'  + linkWidth  + '"' ;
  if(linkHeight>'') linkBit = linkBit + ' height="' + linkHeight + '"' ;
  if(linkID>'') {
    linkBit = linkBit + ' id="' + linkID + '"' ;
    if(linkRollover>'') {
	linkBit = linkBit + ' onmouseover="javascript:' + linkID + '.src=&#34;' + linkRollover + '&#34; ;"';
	linkBit = linkBit + ' onmouseout ="javascript:' + linkID + '.src=&#34;' + linkImage    + '&#34; ;"';
    }
  }
  if(linkTitle>'') {
	linkBit = linkBit + ' title="' + linkTitle + '"';
  }
  if(linkAlt>'') {
	linkBit = linkBit + ' alt="' + linkAlt + '"';
  }
  if(linkAlign>'') {
	linkBit = linkBit + ' align="' + linkAlign + '"';
  }
  linkBit = linkBit + ' border="0"></a>';
// alert(linkBit);
  document.write(linkBit);
}

function findDOM(id,withStyle) {
  if (document.getElementById)	// W3C : IE5+, NN6
    return (withStyle==0) ? document.getElementById(id) : document.getElementById(id).style ;	// 0: Basic, 1: With style
  else if (document.all)		// IE 4
    return (withStyle==0) ? document.all[id] : document.all[id].style ;
  else if (document.layers) 		// NN 4
    return (document.layers[id]);
  else
    return false ;
}

function showID() {
  for (var i=0 ; i<arguments.length ; i++) {
    objID	= arguments[i];
    var domStyle = findDOM(objID,1);
    eval('domStyle.visibility = "visible";');
  }
}

function hideID() {
  for (var i=0 ; i<arguments.length ; i++) {
    objID	= arguments[i];
    var domStyle = findDOM(objID,1);
    eval('domStyle.visibility = "hidden";');
  }
}

function countElements(thisName) {
	var c = 0; 
	for(var i = 0; i < document.all.length; i++) {
		if(document.all[i].className == thisName) {
			c++;
		}
	}
	c++;
	return c;
}

function toggleDisplay1(objID) {
	var z = document.getElementById(objID).style.display ;
	document.getElementById(objID).style.display = (z == 'block') ? 'none' : 'block' ;
}

function toggleDisplay2() {
	for (var i = 0; i<arguments.length; i++) {
		var objID = arguments[i];
		var z = document.getElementById(objID).style.display ;
		document.getElementById(objID).style.display = (z == 'block') ? 'none' : 'block' ;
	}
}

function toggleDisplay3(id,thisName,IDon) {
	var n = countElements(thisName);
	var z = document.getElementById(id).style.display
	for(var i = 1; i < n; i++) {
		document.getElementById(i).style.display = 'none';
	}
		document.getElementById(id).style.display = (z == 'block') ? 'none' : 'block' ;
	if (IDon == 'on') {
		document.getElementById(id).style.display = 'block' ;
	}
}

function showHide(divID) {
	if (document.layers) {
		visible = 'show';
		hidden  = 'hide';
		divname = top.document.layers[divID];
	} else {
		visible = 'visible';
		hidden  = 'hidden';
		divname = document.all(divID).style;
	}
	divname.visibility = (divname.visibility == visible) ? hidden : visible ;
}

function findLeft(id) {
  var dom      = findDOM(id,0);
  var domStyle = findDOM(id,1);
  if (domStyle.pixelLeft)	return domStyle.pixelLeft;
  if (dom.offsetLeft)		return dom.offsetLeft;
  if (domStyle.left)		return domStyle.left;
  return false;
}

function findTop(id) {
  var dom      = findDOM(id,0);
  var domStyle = findDOM(id,1);
  if (domStyle.pixelTop)	return domStyle.pixelTop;
  if (dom.offsetTop)		return dom.offsetTop;
  if (domStyle.top)		return domStyle.top;
  return false;
}

function findHeight(id) {
  var dom = findDOM(id,0)
  var domStyle = findDOM(id,1); 
  if (document.layers)		{   } //ns
  if (dom.offsetHeight) 	{ return dom.offsetHeight; }
  if (domStyle.pixelHeight) 	{ return domStyle.pixelHeight; }
}

function findHeight2(id) {
  var dom = findDOM(id,0)
  if (document.layers){	//ns
  } else {
    return dom.offsetHeight
  }
}

function moveLayer(id,xby,yby) {
  var newx = parseInt(findLeft(id));
  var newy = parseInt(findTop(id));
alert(newx + " " + newy);

  newx += xby;
  newy += yby;
alert(newx + " " + newy);

  if (window.innerWidth){ var winH = window.innerHeight }
  else			{ var winH = document.body.offsetHeight }

  var mhi = parseInt(findHeight(id));
  var below = newy + mhi - winH
  if (below > 0) newy = newy - below -5

  var domStyle = findDOM(id,1);
  if (domStyle.pixelLeft)	{ domStyle.pixelLeft = newx; domStyle.pixelTop = newy; }
  else				{ domStyle.Left      = newx; domStyle.top      = newy; }
}

function setBG(divID, newImg) {
  newImg = 'url(' + newImg + ')';
  if (document.getElementById)	{
	document.getElementById(divID).style.backgroundImage = newImg;
  } else if (document.all)	{
	document.all(divID).style.backgroundImage = newImg;
  }
}

// ------- Form Functions  --------------------------------------------------------
function postForm(frmName,valScript,btnText,thisBtn){
// called from form submission button
// runs form validation script and if OK will set button title to provided text and submit form
	var t_or_f=true
	thisBtn.disabled=true
	t_or_f=eval(valScript+"('"+frmName+"')")
	if (t_or_f){
		thisBtn.value=btnText
		eval("document."+frmName+".submit()")
	}else{
		thisBtn.disabled=false
	}
}
// --------------------------------
function EMformSub(formName,script,extension) {
	switch (extension) {
		case 'a':
		extension = 'asp';
		break;
	case 'p':
		extension = 'php';
		break;
	default:
		extension = 'html'; 
		break;
	}
	document.write('<form action="' + script + '.' + extension + '" method="post" name="' + formName + '">');
}
// --------------------------------------------------------------------------------

//---- IMAGE SWAP ---------------------------------------------------
function EMloadImages() {	// uses EMimage array - if array has value, image is swapped
  for (i=0; i<=9; i++) {
	if (EMimg[i] != null){
		EMswapImage(pth+EMimg[i],"EMimg"+i)
	}
  }
}

function EMswapImage(srcURL,imgName) {
    if (document.images) {
    	objectName = "document.images." + imgName + ".src" ;
      	eval(objectName + ' = "' + srcURL + '" ;') ;
    }
}
//-------------------------------------------------------


