function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function open_taf_window() {
	var WinID = window.open('','taf','scrollbars=0,resizable=1,width=500,height=224,screenX=100,screenY=100,top=100,left=100');
    WinID.location.href = 'tell_a_friend.html';        
}

function validemail_taf() {

if (document.forms[0].email.value != "") {
   var x = (document.forms[0].email.value.lastIndexOf(".") > 
            document.forms[0].email.value.indexOf("@")
        && document.forms[0].email.value.indexOf("@") > 0);
   if (!x) {
      alert("Please enter your contact's email address");
   }
   return x;
} else {
   alert("Please enter your contact's email address");
}

return false;
}


var stateClosed = '/images/arr.gif';
var stateOpened = '/images/arr1.gif';

function ShowArea(area)
{
   element = 'id' + area;
   image = 'img' + area;
   if (document.getElementById(element).style.display == 'none')
   {
      document.getElementById(element).style.display = 'block';
      if (document.getElementById(image)) document.getElementById(image).src = stateOpened;
   } else
   {
      document.getElementById(element).style.display = 'none';
      if (document.getElementById(image)) document.getElementById(image).src = stateClosed;
   }
}


function womOn(){
	window.onload = womGo;
}

function womGo(){
	for(var i = 0;i < woms.length;i++) {
		eval(woms[i]);
}
}

function womAdd(func){
	woms[woms.length] = func;
}

function toggle(tID)
{

        var targetEl = document.getElementById(tID + "_closeEl");
        var targetContent = document.getElementById(tID + "_itemContent");
        if (targetEl.innerHTML == '[+]') {
                targetContent.style.display = "block";
                targetEl.innerHTML = '[-]';
        } else {
                targetContent.style.display = "none";
                targetEl.innerHTML = '[+]';
        }
var url = "save_pos.html";
var params = "id=" + tID + "&state=" + targetContent.style.display + "&postticket=" + postticket;
var http = new XMLHttpRequest();
http.open("POST",url,true);
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader("Content-length", params.length);
http.setRequestHeader("Connection", "close");
http.send(params);

        return false;
};


var woms = new Array();

// position of the tooltip relative to the mouse in pixel //
var offsetx = 15;
var offsety =  0;

function newelement(newid)
{ 
    if(document.createElement)
    { 
        var el = document.createElement('div'); 
        el.id = newid;     
        with(el.style)
        { 
            display = 'none';
            position = 'absolute';
        } 
        el.innerHTML = '&nbsp;'; 
        document.body.appendChild(el); 
    } 
} 
var ie5 = (document.getElementById && document.all); 
var ns6 = (document.getElementById && !document.all); 
var ua = navigator.userAgent.toLowerCase();
var isapple = (ua.indexOf('applewebkit') != -1 ? 1 : 0);
var tooltip_mousemove
function getmouseposition(e)
{
    e = e || window.event;
    pagex = e.clientX ? e.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft) : e.pageX;
    pagey = e.clientY ? e.clientY + (document.documentElement.scrollTop || document.body.scrollTop) : e.pageY

    var lixlpixel_tooltip = document.getElementById('tooltip');
    lixlpixel_tooltip.style.left = (pagex+offsetx) + 'px';
    lixlpixel_tooltip.style.top = (pagey+offsety-lixlpixel_tooltip.offsetHeight) + 'px';

}
function tooltip(tipdiv)
{
    var tip = document.getElementById(tipdiv).innerHTML;
    if(!document.getElementById('tooltip')) newelement('tooltip');
    var lixlpixel_tooltip = document.getElementById('tooltip');
    lixlpixel_tooltip.innerHTML = tip;
    lixlpixel_tooltip.style.display = 'block';
    tooltip_mousemove = document.onmousemove;
    document.onmousemove = getmouseposition;
}
function tooltip_exit()
{
    document.getElementById('tooltip').style.display = 'none';
    document.onmousemove = tooltip_mousemove;
}
function unescape (html) {
        var htmlNode = document.createElement('div');
        htmlNode.innerHTML = html;
        if (htmlNode.innerText) {
            return htmlNode.innerText; // IE
        }
        return htmlNode.textContent; // FF
    }

function add_to_basket (id,action) {
  if (action == 'addtobasket') {
     $.post("/addtobasket.html",{id: id, action: "add", postticket: '<%$postticket%>'},function () {$(".mybasket").load("/baskettotal.html",{cachebuster:  parseInt(Math.random() * 99999999), postticket: '<%$postticket%>'});
});
     $("#addbasket" + id).hide();
     $("#rembasket" + id).show();
  }
  if (action == 'removefrombasket') {
     $.post("/addtobasket.html",{id: id, action: "rem", postticket: '<%$postticket%>'},function () {$(".mybasket").load("/baskettotal.html",{cachebuster:  parseInt(Math.random() * 99999999), postticket: '<%$postticket%>'});
});
     $("#addbasket" + id).show();
     $("#rembasket" + id).hide();
  }
}

function addEvent( obj, type, fn ) {
	if (obj.addEventListener) {
		obj.addEventListener( type, fn, false );
		EventCache.add(obj, type, fn);
	}
	else if (obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
		EventCache.add(obj, type, fn);
	}
	else {
		obj["on"+type] = obj["e"+type+fn];
	}
}

var EventCache = function(){
	var listEvents = [];
	return {
		listEvents : listEvents,
		add : function(node, sEventName, fHandler){
			listEvents.push(arguments);
		},
		flush : function(){
			var i, item;
			for(i = listEvents.length - 1; i >= 0; i = i - 1){
				item = listEvents[i];
				if(item[0].removeEventListener){
					item[0].removeEventListener(item[1], item[2], item[3]);
				};
				if(item[1].substring(0, 2) != "on"){
					item[1] = "on" + item[1];
				};
				if(item[0].detachEvent){
					item[0].detachEvent(item[1], item[2]);
				};
				item[0][item[1]] = null;
			};
		}
	};
}();

function i1_focus( each , location) {
   if (each) {
      if (each.value == location) {
         each.value = "";
      }
   }
}

function i1_blur( each, location ) {
   if (each) {
      if (!each.value) {
         each.value = location;
      }
   }
}

function        extract_xss_domain(old_domain) {
                if (old_domain.match(/^(\d{1,3}\.){3}\d{1,3}$/)) return old_domain;
                domain_pieces = old_domain.split('.');
                tld = domain_pieces[domain_pieces.length - 1];
                if (tld == "com" || tld == "net" || tld == "org") {
                   return domain_pieces.slice(-2, domain_pieces.length).join(".");
                } else { // a .co.uk or .org.uk account
                   return domain_pieces.slice(-3, domain_pieces.length).join(".");
                }
        }


