imgstr ='<img src="images/flash_carousel.jpg" width="563" height="215" alt="" title="" /><br />';
strimgt4 = '<img src="images/temp_t4_player.jpg" width="574" height="345" alt="" title="" />';
function showTopic(vTopicId){
	if(document.getElementById('topic'+vTopicId).className=='itemOpen')
		document.getElementById('topic'+vTopicId).className='itemClosed';
	else
		document.getElementById('topic'+vTopicId).className='itemOpen';
}
function getElementsByClassName(oElm, strTagName, strClassName){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/\-/g, "\\-");
	var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];
		if(oRegExp.test(oElement.className)){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
}
function showHideBasket(vAction){
	if(vAction){
		document.getElementById('basketDetails').style.display = "block";
	} else {
		document.getElementById('basketDetails').style.display = "none";
	}
}
function showRollovr(obj,st){
	if(st==0){
		document.getElementById(obj).src = "images/" + obj + "_o.gif";
	} else {
		document.getElementById(obj).src = "images/" + obj + ".gif";
	}
}

function SetCurrTab()
{
	document.getElementById(currTab+'_content').style.visibility = "visible";
}

function showTab(obj){
	if(obj != currTab){
		document.getElementById(currTab).src = "images/" + currTab + ".gif";
		document.getElementById(obj).src = "images/" + obj + "_o.gif";
		document.getElementById(currTab+'_content').style.visibility = "hidden";
		document.getElementById(obj+'_content').style.visibility = "visible";
		currTab=obj;
	}
}
function showTabn(obj){
	if(obj != currTab){
		document.getElementById(currTab).src = "images/" + currTab + ".gif";
		document.getElementById(obj).src = "images/" + obj + "_o.gif";
		document.getElementById(currTab+'_content').style.display = "none";
		document.getElementById(obj+'_content').style.display = "block";
		currTab=obj;
	}
}
function showTabovr(obj,st){
	if(obj != currTab)
		if(st==0){
			document.getElementById(obj).src = "images/" + obj + "_o.gif";
		} else {
			document.getElementById(obj).src = "images/" + obj + ".gif";
		}
}

function showbtnovr(btnobj,st){
	if(st==0){
		document.getElementById(btnobj).classname = "inputbtnovr";
	} else {
		document.getElementById(btnobj).classname = "inputbtn";
	}
}
function toggleEpisode(id) {
    var container = document.getElementById(id);
    if (container.className == "episodesOn") {
        container.className = "episodesOff"; 
    } else {
        container.className = "episodesOn";
    }         
}
function showEpisode(vId, type) {
    // find edpisode container
    var container = document.getElementById("contentLt");
    // find all divs within and loop through
    var episodes = container.getElementsByTagName("div");
    for (var i=0; i < episodes.length; i++) {
        var episode = episodes[i];
        // if div is an episode row, set to Off state
        if (episode.className.indexOf("episodesOff") != -1 || episode.className.indexOf("episodesOn") != -1) {
            episode.className = "episodesOff";
        }        
    }
    // set selected eipsode to On state
    var selectedEpisode = document.getElementById("episode" + vId);
    selectedEpisode.className= "episodesOn";
    
    // hide all addbasket divs
    // if "own" show own
    // if not show other
    var addbasket_all = getElementsByClassName(selectedEpisode, "div", "addbasket");
    for (var i=0; i < addbasket_all.length; i++) {
        var basket = addbasket_all[i];
        if (type == "own") {
            basket.style.display = "none";
            if (basket.className.indexOf("basket-own") != -1) {
                basket.style.display = "block";    
            }       
        } else {
            basket.style.display = "block"; 
            if (basket.className.indexOf("basket-own") != -1) {
                basket.style.display = "none";    
            }             
        }
    }
}

function showAnotherCard(){
	if(document.getElementById('anotherCard').className=='downlnk'){
		document.getElementById('anotherCard').className='nextlnk';
		document.getElementById('detail1').style.display='none';
		document.getElementById('detail2').style.display='none';
		document.getElementById('prevcard').style.display='block';
	} else {
		document.getElementById('anotherCard').className='downlnk';
		document.getElementById('detail1').style.display='block';
		document.getElementById('detail2').style.display='block';
		document.getElementById('prevcard').style.display='none';
	}
}

function showDeleteBlock(vRowNumber){
	vTop=(vRowNumber-1) * 93;
	document.getElementById('popDeleteMessage').style.marginTop = vTop + 'px';
	document.getElementById('popDeleteMessage').style.display = 'block';
}
function hideDeleteBlock(){
	document.getElementById('popDeleteMessage').style.display = 'none';
}

var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();

var offset_layer_from_centre = 12;
var hidelayer_timer = null;
var showlayer_container = null;

/* Generic function for adding multiple events to page load */
function addLoadEventCustom(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

/* Generic function to find true x,y of a position on the page */
function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}

// initialise layers on page load
addLoadEventCustom(initLayerText);
addLoadEventCustom(initLabels);
//addLoadEventCustom(initRating); // DELETE - ROB
addLoadEventCustom(initCardClick);

function initCardClick() {
    //var cart_1 = document.getElementById("cardtype4");
    //alert(cart_1);
    //cart_1.onclick = function() {
    //    alert("Ok");
    //}    
}

/* DELETE - ROB
var rating_timer = null;
function initRating() {
    // create empty div and append to bottom of <body>
	rating_layer = document.createElement("div");
	rating_layer.setAttribute("id", "rating-layer");
	var body_element = document.getElementsByTagName("body")[0];
	body_element.appendChild(rating_layer);
	
	rating_layer = document.getElementById("rating-layer");
	rating_layer.style.display = "none";
	
    var stars = getElementsByClassName(document, "div", "rating");
    for (var i=0; i < stars.length; i++) {  
        var starsCurrent = stars[i];
        var starsLinks = starsCurrent.getElementsByTagName("a");
        var tmpFirstLiClass = null;
        var hasClicked = false;
        var loggedIn = false;
        var tmpFirstLiClass = "";    
        if (starsCurrent.className.indexOf("loggedin-false") == -1) {
            loggedIn = true;
        }        
        for (var j=0; j < starsLinks.length; j++) { 
            var link = starsLinks[j];
            link.onmouseover = function() {
                var text = null;
                if (!loggedIn) {
                    text = "<strong>want to rate it?</strong><span style='color:#ccc;display:block;'>you need to login to rate this show</span>";
                } else {
                    text = "<strong>Click</strong> <span style='color:#ccc;'>to rate this show.</span>";
                    getElementsByClassName(this.parentNode.parentNode.parentNode, "span", "average")[0].innerHTML = this.title;
                }
                showRatingDiv(this, text);
                clearTimeout(rating_timer);
            }
            link.onmouseout = function() {
                rating_timer = setTimeout("hideRatingDiv()", 400);
            }
            link.onclick = function() {
                if (loggedIn) {
                    showRatingDiv(this, "<strong>you rated it</strong><br /><img src='images/rating_dark_" + this.innerHTML + ".gif' alt='' style='vertical-align:middle;' /> <span>" + this.title + "</span>");
                    hasClicked = true;
                    tmpFirstLiClass = "current-rating current-rating-" + this.innerHTML;
                    containerUl = this.parentNode.parentNode;
                    containerUl.getElementsByTagName("li")[0].className = tmpFirstLiClass;
                    containerUl.className = "star-rating star-rating-blue";
                } else {
                    window.location.replace("login.html");
                }
                return false;
            }
        }        
    }        
	rating_layer.onmouseover = function() {
		clearTimeout(rating_timer);
	}
	rating_layer.onmouseout = function() {
		rating_timer = setTimeout("hideRatingDiv()", 400);
	}
}

function showRatingDiv(link, text) {
    rating_layer.innerHTML = text;
    rating_layer.style.display = "block";
    // get x,y of the image and add offset to layer
	var coors = findPos(link);
	var top = coors[1] + 15;
	var left = coors[0] + 5;
	if (top < 0) { top = 0; }
	if (left < 0) { left = 0; }
	rating_layer.style.top = top + "px";
	rating_layer.style.left = (left*1 + link.offsetWidth) + "px";
}

function hideRatingDiv() {
    rating_layer.style.display = "none";
}
*/

function initLayerText() {
	// create empty div and append to bottom of <body>
	showlayer_container = document.createElement("div");
	showlayer_container.setAttribute("id", "showlayer-container");
	var body_element = document.getElementsByTagName("body")[0];
	body_element.appendChild(showlayer_container);
	
	showlayer_container = document.getElementById("showlayer-container");

	// find all images on the page
	var layer_images = document.getElementsByTagName("img");
	for(var i=0; i < layer_images.length; i++) {
		var img = layer_images[i];
		// if classname contains "showlayer", apply layer events
		if (img.className.indexOf("showlayer") != -1) {
			img.onmouseover = function() {
				showAltText(this);
				clearTimeout(hidelayer_timer);
			}
			img.onmouseout = function() {
				hidelayer_timer = setTimeout("hideAltText()", 200);
			}
		}
	}
	
	// add event to layer itself as well
	showlayer_container.onmouseover = function() {
		clearTimeout(hidelayer_timer);
	}
	showlayer_container.onmouseout = function() {
		hidelayer_timer = setTimeout("hideAltText()", 200);
	}
}

function showAltText(img) {
	// decide whether to use alt text from image, or take content from another element
	if (img.className.indexOf("alt") != -1) {
		showlayer_container.innerHTML = img.getAttribute("alt");
	} else {
		showlayer_container.innerHTML = document.getElementById(img.className.replace(/showlayer /, "")).innerHTML;
	}	
	// show the layer
	showlayer_container.style.display = "block";	
	// get x,y of the image and add offset to layer
	var coors = findPos(img);
	var top = coors[1] + offset_layer_from_centre;
	var left = coors[0] + offset_layer_from_centre;
	if (top < 0) { top = 0; }
	if (left < 0) { left = 0; }
	showlayer_container.style.top = top + "px";
	showlayer_container.style.left = left + "px";
}

function hideAltText() {
	showlayer_container.style.display = "none";
}

function initLabels() {
    var label_containers = getElementsByClassName(document, "div", "radioBtns");
    for (var i=0; i < label_containers.length; i++) {
        var label_container = label_containers[i];
        var labels = label_container.getElementsByTagName("label");
        for (var j=0; j < labels.length; j++) {
            var label = labels[j];
            if (label.className.indexOf("radio-") != -1) {
                label.onclick = function() {
                    switchRadioLabelValue(this);
                }
            } else if (label.className.indexOf("checkbox-") != -1) {
                label.onclick = function() {
                    switchCheckboxLabelValue(this);
                }
            }
        }
    }
}

function switchRadioLabelValue(label) {
    var labels = label.parentNode.getElementsByTagName("label");
    for (var i=0; i<labels.length; i++) { 
        var _label = labels[i];
        if (_label.className.indexOf("radio") != -1) {
            _label.className = "radio-off";
        }
    }
    label.className = "radio-on";
    if (label.getAttribute("for") != null) {
        document.getElementById(label.getAttribute("for")).checked = true;
    }    
}

function switchCheckboxLabelValue(label) {
    if (label.className.indexOf("checkbox-on") != -1) {  
        label.className = "checkbox-off";
        if (BrowserDetect.browser == "Safari" && BrowserDetect.version < 500) {
    
            if (label.getAttribute("for") != null)
            {
				document.getElementById(label.getAttribute("for")).checked = false;
			}
       }
       else
       {
			if (label.getAttribute("for") != null)
			{
				document.getElementById(label.getAttribute("for")).checked = false;
			}
       }
    } else {
        label.className = "checkbox-on";
        if (BrowserDetect.browser == "Safari" && BrowserDetect.version < 500) {
            if (label.getAttribute("for") != null)
            {
				document.getElementById(label.getAttribute("for")).checked = true;
			}
        }
        else
        {
			if (label.getAttribute("for") != null)
			{	
				document.getElementById(label.getAttribute("for")).checked = true;
			}
		}
    }   
}

function swapFlash(type) {
    var so = new SWFObject("swf/carousel.swf", "animation", "563", "215", "8", "#ffffff");
	so.addVariable("sourcexml", "xml/carousel_" + type + ".xml");
	so.write("liveContent");
    var links = getElementsByClassName(document, "ul", "whatsOn")[0].getElementsByTagName("a");
    for (var i=0; i < links.length; i++) {
        link = links[i];
        link.className = link.className.replace(/selected/, "");
        link.style.color = "#3abdff"
    }
    currentLink = document.getElementById("whatson-" + type);
    currentLink.className = currentLink.className + " selected";
    currentLink.style.color = "#999";
}
function showEditSettigs(id) {

	var id2d, id2e;
	id2d = id + "_details";
	id2e = id + "_edit";

	if(document.getElementById(id).className=='editDetails'){
		document.getElementById(id).className='editDetailsOth';
		document.getElementById(id2d).style.display='none';
		document.getElementById(id2e).style.display='block';
	} else {
		document.getElementById(id).className='editDetails';
		document.getElementById(id2d).style.display='block';
		document.getElementById(id2e).style.display='none';
	}
}

function toggleBox(szDivID, iState) // 1 visible, 0 hidden
{
   var obj = document.layers ? document.layers[szDivID] :
   document.getElementById ?  document.getElementById(szDivID).style :
   document.all[szDivID].style;
   obj.visibility = document.layers ? (iState ? "show" : "hide") :
   (iState ? "visible" : "hidden");
}
