
// Opener for the print request window

function pWin (URL, features)
{
  newWin = window.open(URL,"",features);
  if (newWin.opener == null) newWin.opener = self;
  return false;
}	

function atb (pid, ptext, quantity, webSellprice)
{
  document.gnericATB.pid.value = pid;
  document.gnericATB.ptext.value = ptext;
  document.gnericATB.quantity.value = quantity;
  document.gnericATB.webSellprice.value = webSellprice;
  document.gnericATB.addToCartButton2.value = 1;
  document.gnericATB.submit();
  return false;
}

function galleryLoad(inImage)
{
  newWin = window.open("/ap/gallery"+inImage+".html","", "resizable=no,scrollbars=no,toolbar=no,status=no,menubar=no,WIDTH=590,HEIGHT=580");
  if (newWin.opener == null) newWin.opener = self;
  return false;	  
}

function bookmark(url, description)
{
  url = "http://www.britishsnoring.co.uk"+url.substring(1, url.length);
  if (navigator.appName == 'Microsoft Internet Explorer')
    window.external.AddFavorite(url, description);
  else if (navigator.appName == 'Netscape')
    alert("Hit CTRL+D to add a bookmark to this site.");
}

// round2() & show() are required by the BMI calculator

function round2(number,X) {
    X = (!X ? 2 : X);
    return Math.round(number*Math.pow(10,X))/Math.pow(10,X);
}

function showBMI(object,x,y) {
    if (document.layers && document.layers[object] != null) {
        document.layers[object].left = x;
        document.layers[object].top = y;
    }
    else if (document.all[object]) {
        document.all[object].style.posLeft = x;
        document.all[object].style.posTop = y;
    }

    if (document.layers && document.layers[object] != null)
        document.layers[object].visibility = 'visible';
    else if (document.all[object])
        document.all[object].style.visibility = 'visible';
}

function valOptions()
{
  var startPid = document.gnericATB.pid.value;
  var startptext = document.gnericATB.ptext.value;

  
  for(i=1;i<=document.gnericATB.numOptions.value;i++)
  {
    var optionValue = eval('document.gnericATB.option'+i+'.value');
	var optionIndex = eval('document.gnericATB.option'+i+'.selectedIndex');
	var optionTitle = eval('document.gnericATB.option'+i+'.options[0].value');	

	if ((optionValue == '') || (optionIndex == 0))
	{
	  alert('Please select a '+optionTitle+' before adding to basket');
      document.gnericATB.pid.value = startPid;
      document.gnericATB.ptext.value = startptext;
	  return false;
	}
	else
	{
	  var affix = eval('affix'+i+'['+(optionIndex-2)+']');
	  var price = eval('price'+i+'['+(optionIndex-2)+']');
	  var basketLabel = eval('basketLabel'+i+'['+(optionIndex-2)+']');
	 	  
		//document.gnericATB.basketLabel.value = basketLabel; 

		document.gnericATB.webSellprice.value = round2((document.gnericATB.webSellprice.value * 1) + (eval('price'+i+'['+(optionIndex-2)+']') * 1),2);
		document.gnericATB.pid.value = document.gnericATB.pid.value + '-' + affix;
		
		if (basketLabel == "")
			{
				document.gnericATB.ptext.value = document.gnericATB.ptext.value + ' (' + optionValue + ')';			
			}
		else
			{
				document.gnericATB.ptext.value = document.gnericATB.ptext.value + ' (' + basketLabel + ')';
			}
	}
  }
  return true;
}

function validateContact()
{
      var errMsg = "";
		
	  if (document.emailForm.email.value == ''){ errMsg = errMsg + " - "; errMsg = errMsg + 'Email\n'; }
	  if (document.emailForm.nature.value == ''){ errMsg = errMsg + " - "; errMsg = errMsg + 'Nature of your enquiry\n'; }
	  if (document.emailForm.message.value == ''){ errMsg = errMsg + " - "; errMsg = errMsg + 'Message\n'; }
	  if (document.emailForm.recaptcha_response_field.value == ''){ errMsg = errMsg + " - "; errMsg = errMsg + 'Captcha verification\n'; }
		
	  if (errMsg != "")
	  {
		alert('To continue, you must first provide the following : \n\n'+errMsg);
		return false
	  }
	  else
	  {	  
	    return true	  
	  }
}

function validateEmailFreind()
	{
      var errMsg = "";
		
	  if (document.emailForm.name.value == ''){ errMsg = errMsg + " - "; errMsg = errMsg + 'Name of recipient\n'; }
	  if (document.emailForm.email.value == ''){ errMsg = errMsg + " - "; errMsg = errMsg + 'Email of recipient\n'; }
	  if (document.emailForm.nameB.value == ''){ errMsg = errMsg + " - "; errMsg = errMsg + 'Your Name\n'; }
	  if (document.emailForm.emailB.value == ''){ errMsg = errMsg + " - "; errMsg = errMsg + 'Your Email\n'; }
		
	  if (errMsg != "")
	  {
		alert('To continue, you must first provide the following : \n\n'+errMsg);
		return false
	  }
	  else
	  {	  
	    return true	  
	  }
	}

function cshow()
{
  $('videoObject').style.display='inline';
  $('videoObject').style.padding='0px 0px 0px 11px';
  $('videoObject').style.width='350px';
  $('videoObject').style.height='292px';
  return true;
}

//////////////////////////////////////////////////////////////////////////////////
//
// B'low is all the code for adding a new customer review
//
//////////////////////////////////////////////////////////////////////////////////


var http_request = false;
  
function makeRequest(url, parameters) 
{
  http_request = false;
   
  if (window.XMLHttpRequest) 
  { 
     http_request = new XMLHttpRequest();
     if (http_request.overrideMimeType)
        http_request.overrideMimeType('text/html');
  } 
  else if (window.ActiveXObject) 
  { 
    try {
      http_request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
         try {
            http_request = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e) {}
     }
   }
   
   if (!http_request) {
     alert('Cannot create XMLHTTP instance');
     return false;
   }
   http_request.onreadystatechange = alertContents;
   http_request.open('GET', url + parameters, true);
   http_request.send(null);
 }

function alertContents() 
{
  if (http_request.readyState == 4) {
     if (http_request.status == 200) {
       result = http_request.responseText;
       document.getElementById('myspan').innerHTML = result;    
       document.revF.addR1.value = '';
       document.revF.addR2.value = '';
       document.revF.addR3.value = '';
       document.revF.addR4.value = '';
       document.revF.addNewReview.disabled = true;
       alert('Thank you for submitting a review of this product.\n\nAll reviews are moderated and should appear on this site within 24 hours of submission.');			        
     } else
        alert('There was a problem with the request.');
  }
}

function isValidInput()
{
  if ((document.revF.addR1.value == '') || (document.revF.addR1.value == 'Your Name') || (document.revF.addR3.value == '') || (document.revF.addR4.value == 'Review Title') || (document.revF.addR4.value == ' '))
  {
    alert("Please provide your name, a review title and some review text");
    return false;
  }
  else
     if (document.revF.addR2.value == 'Your Email Address') 
       document.revF.addR2.value = '';
  return true;
}

function get(obj) 
{
  var getstr = "?";	   
  var inputTags = obj.getElementsByTagName("input");
 
  for (i=0; i<inputTags.length; i++) 
  {
    if ((inputTags[i].type == "text") || (inputTags[i].type == "hidden"))
      getstr += inputTags[i].name + "=" + inputTags[i].value + "&";
    if (inputTags[i].type == "checkbox")
      if (inputTags[i].checked)
        getstr += inputTags[i].name + "=" + inputTags[i].value + "&";
      else
        getstr += inputTags[i].name + "=&";
    if (inputTags[i].type == "radio")
      if (inputTags[i].checked)
        getstr += inputTags[i].name + "=" + inputTags[i].value + "&";
   }	 
   
   var selectTags = obj.getElementsByTagName("select");
   for (i=0; i<selectTags.length; i++) 
   {
     var sel = selectTags[i];
     getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
   }
    
   var textTags = obj.getElementsByTagName("textarea");
   for (i=0; i<textTags.length; i++) 
     getstr += textTags[i].name + "=" + textTags[i].value + "&";
 
   makeRequest('http://www.britishsnoring.co.uk/revSub.php', getstr);
}


//////////////////////////////////////////////////////////////////////////////////
//
// B'low is all the code for viewing all new customer reviews
//
//////////////////////////////////////////////////////////////////////////////////

function makeRequestShow(url, parameters) 
{
  http_request = false;
   
  if (window.XMLHttpRequest) 
  { 
     http_request = new XMLHttpRequest();
     if (http_request.overrideMimeType)
        http_request.overrideMimeType('text/html');
  } 
  else if (window.ActiveXObject) 
  { 
    try {
      http_request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
         try {
            http_request = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e) {}
     }
   }
   
   if (!http_request) {
     alert('Cannot create XMLHTTP instance');
     return false;
   }
   http_request.onreadystatechange = alertContentsShow;
   http_request.open('GET', url + parameters, true);
   http_request.send(null);
 }

function alertContentsShow() 
{
  if (http_request.readyState == 4) {
     if (http_request.status == 200) {
       result = http_request.responseText;
       document.getElementById('allReviews').innerHTML = result;    
     } else
        alert('There was a problem with the request.');
  }
}

function show(sc)
{
  var getstr = "?"+sc;
  makeRequestShow('http://www.britishsnoring.co.uk/revShowAll.php', getstr);
}




//////////////////////////////////////////////////////////////////////////////////
//
// B'low is all the code for viewing the BMI results
//
//////////////////////////////////////////////////////////////////////////////////

function makeRequestBMI(url, parameters) 
{
  http_request = false;
   
  if (window.XMLHttpRequest) 
  { 
     http_request = new XMLHttpRequest();
     if (http_request.overrideMimeType)
        http_request.overrideMimeType('text/html');
  } 
  else if (window.ActiveXObject) 
  { 
    try {
      http_request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
         try {
            http_request = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e) {}
     }
   }
   
   if (!http_request) {
     alert('Cannot create XMLHTTP instance');
     return false;
   }
   http_request.onreadystatechange = alertContentsBMI;
   http_request.open('GET', url + parameters, true);
   http_request.send(null);
 }

function alertContentsBMI() 
{
  if (http_request.readyState == 4) {
     if (http_request.status == 200) {
       result = http_request.responseText;
       document.getElementById('bmiTables').innerHTML = result;    
     } else
        alert('There was a problem with the request.');
  }
}

function showBMIRes(sc)
{
  var getstr = "?"+sc;
  makeRequestBMI('http://www.britishsnoring.co.uk/calcBMI.php', getstr);
}



//////////////////////////////////////////////////////////////////////////////////
//
// B'low is all the code for viewing the Epworth results
//
//////////////////////////////////////////////////////////////////////////////////

function makeRequestEpworth(url, parameters) 
{
  http_request = false;
   
  if (window.XMLHttpRequest) 
  { 
     http_request = new XMLHttpRequest();
     if (http_request.overrideMimeType)
        http_request.overrideMimeType('text/html');
  } 
  else if (window.ActiveXObject) 
  { 
    try {
      http_request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
         try {
            http_request = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e) {}
     }
   }
   
   if (!http_request) {
     alert('Cannot create XMLHTTP instance');
     return false;
   }
   http_request.onreadystatechange = alertContentsEpworth;
   http_request.open('GET', url + parameters, true);
   http_request.send(null);
 }

function alertContentsEpworth() 
{
  if (http_request.readyState == 4) {
     if (http_request.status == 200) {
       result = http_request.responseText;
       document.getElementById('epworth').innerHTML = result;    
     } else
        alert('There was a problem with the request.');
  }
}

function showEpworthRes(sc)
{
  var getstr = "?"+sc;
  makeRequestEpworth('http://www.britishsnoring.co.uk/new/epworth2.php', getstr);
}




function retSearch()
{
  if ((document.mSearch.querystring.value == '') || (document.mSearch.querystring.value == 'Search British Snoring...'))
    return false
  else
    return true
}
 
function postageHighlight()
{
  if (!document.styleSheets) return;
  var thecss = new Array();

  if (document.styleSheets[0].cssRules) thecss = document.styleSheets[0].cssRules;
    else thecss = document.styleSheets[0].rules;  
		
  var thisTime = 0;
	
  for (i=0; i < document.stageThreeForm.M_shippingCost.length; i++)
  {
    if (document.stageThreeForm.M_shippingCost[i].checked) thisTime = 1; else	thisTime = 0;
      for (j=0;j<thecss.length;j++)
        if (thecss[j].selectorText.toLowerCase()=='.postage'+(i+1))
		  if (thisTime == 1) thecss[j].style.cssText="background:#F0F6FE; color:#000";
			else thecss[j].style.cssText="background:#fff; color:#666";
  }
}
 
function postageHighlightAccount()
{
  if (!document.styleSheets) return;
  var thecss = new Array();

  if (document.styleSheets[0].cssRules) thecss = document.styleSheets[0].cssRules;
    else thecss = document.styleSheets[0].rules;  
		
  var thisTime = 0;
	
  for (i=0; i < document.summary.M_shippingCost.length; i++)
  {
    if (document.summary.M_shippingCost[i].checked) thisTime = 1; else	thisTime = 0;
      for (j=0;j<thecss.length;j++)
        if (thecss[j].selectorText.toLowerCase()=='.postage'+(i+1))
		  if (thisTime == 1) thecss[j].style.cssText="background:#F0F6FE; color:#000";
			else thecss[j].style.cssText="background:#fff; color:#666";
  }
}

function valPwd()
{
  var valid = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";

  if (document.openAccount.pwd.value != '')
  {
    if (document.openAccount.pwd.value.length < 6)
    {
	  alert('The password provided does not have enough characters. Please choose a password with 6 or more characters.');
	  return false
	}		 
    for (var i=0; i<document.openAccount.pwd.value.length; i++) 
	{
      if (valid.indexOf(document.openAccount.pwd.value.charAt(i)) < 0) 
	  {
	    alert('The password provided contains non-alphanumeric characters. Please use only 0-9 and a-Z.');
        return false
      }
    }		  
	return true
  }
  return false
}  

function validateLeaflets()
{
  var errMsg = "";
		
  if (document.emailForm.forename.value == '') { errMsg = errMsg + " - "; errMsg = errMsg + 'Forename\n'; }
  if (document.emailForm.surname.value == '') { if (errMsg != '') { errMsg = errMsg + " - "; } errMsg = errMsg + 'Surname\n'; }
  if (document.emailForm.address1.value == '') { if (errMsg != '') { errMsg = errMsg + " - "; } errMsg = errMsg + 'Address\n'; }
  if (document.emailForm.town.value == '') { if (errMsg != '') { errMsg = errMsg + " - "; } errMsg = errMsg + 'Town\n'; }
  if (document.emailForm.postcode.value == '') { if (errMsg != '') { errMsg = errMsg + " - "; } errMsg = errMsg + 'Postcode\n'; }
  if (document.emailForm.email.value == '') { if (errMsg != '') { errMsg = errMsg + " - "; } errMsg = errMsg + 'E-Mail\n'; }
		
  if (errMsg != "")
  {
	alert('To continue, you must first provide the following : \n\n'+errMsg);
    return false
  }
  else { return true }	
}

function mouse_hand(elementid)
{
  document.getElementById(elementid).style.cursor = 'pointer';
}

function review_toggle(div_id) 
{
  var el = document.getElementById(div_id);
  if (el.style.display == 'none' ) { el.style.display = 'block'; } else { el.style.display = 'none'; }
}

function review_blanket_size(popUpDivVar) 
{
  if (typeof window.innerWidth != 'undefined') { viewportheight = window.innerHeight; } 
    else { viewportheight = document.documentElement.clientHeight; }
  
  if ((viewportheight > document.body.parentNode.scrollHeight) && (viewportheight > document.body.parentNode.clientHeight)) { blanket_height = viewportheight; } 
    else { if (document.body.parentNode.clientHeight > document.body.parentNode.scrollHeight) { blanket_height = document.body.parentNode.clientHeight; } 
	         else { blanket_height = document.body.parentNode.scrollHeight; }
	     }
  var blanket = document.getElementById('blanket');
  blanket.style.height = blanket_height + 'px';
  var popUpDiv = document.getElementById(popUpDivVar);
  popUpDiv_height=blanket_height/2-150;//150 is half popup's height
  popUpDiv.style.top = popUpDiv_height + 'px';
}

function review_window_pos(popUpDivVar) 
{
  if (typeof window.innerWidth != 'undefined') { viewportwidth = window.innerHeight; } 
    else { viewportwidth = document.documentElement.clientHeight; }
  if ((viewportwidth > document.body.parentNode.scrollWidth) && (viewportwidth > document.body.parentNode.clientWidth)) { window_width = viewportwidth; } 
    else { if (document.body.parentNode.clientWidth > document.body.parentNode.scrollWidth) { window_width = document.body.parentNode.clientWidth; } 
	         else { window_width = document.body.parentNode.scrollWidth; }
	     }
  var popUpDiv = document.getElementById(popUpDivVar);
  window_width=window_width/2-150;//150 is half popup's width
  popUpDiv.style.left = window_width + 'px';
}

function popup(windowname) 
{
  review_blanket_size(windowname);
  review_window_pos(windowname);
  review_toggle('blanket');
  review_toggle(windowname);		
}


