var xmlHttp

function popTD(mth,yr)
{
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null)
	{
	alert ("Browser does not support HTTP Request")
	return
	} 
	

	var ur="/cbDiv.php"
	ur=ur+"?m="+mth+"&y="+yr
	ur=ur+"&sid="+Math.random()
	xmlHttp.onreadystatechange=responseDiv 
	xmlHttp.open("GET",ur,true)
	xmlHttp.send(null)
} 

function responseDiv() 
{ 

	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{ 
		document.getElementById("cbResponse").innerHTML=xmlHttp.responseText
	} 
} 

function GetXmlHttpObject()
{ 
	var objXMLHttp=null
	if (window.XMLHttpRequest)
	{
		objXMLHttp=new XMLHttpRequest()
	}
	else if (window.ActiveXObject)
	{
		objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
	}
	return objXMLHttp
} 

function fade(sel, val)
{
	if(sel)
	{
		if(document.getElementById(val+"_row"))
			document.getElementById(val+"_row").style.color="#000000";
		if(document.getElementById(val+"_m"))
			document.getElementById(val+"_m").style.color="#000000";
		if(document.getElementById(val+"_c"))
			document.getElementById(val+"_c").style.color="#000000";
		if(document.getElementById(val+"_p"))
			document.getElementById(val+"_p").style.color="#000000";
		if(document.getElementById(val+"_t"))
			document.getElementById(val+"_t").style.color="#000000";
		if(document.getElementById(val+"_cell"))
			document.getElementById(val+"_cell").style.color="#000000";
	}
	else
	{
		if(document.getElementById(val+"_row"))
			document.getElementById(val+"_row").style.color="#CCCCCC";
		if(document.getElementById(val+"_m"))
			document.getElementById(val+"_m").style.color="#CCCCCC";
		if(document.getElementById(val+"_c"))
			document.getElementById(val+"_c").style.color="#CCCCCC";
		if(document.getElementById(val+"_p"))
			document.getElementById(val+"_p").style.color="#CCCCCC";
		if(document.getElementById(val+"_t"))
			document.getElementById(val+"_t").style.color="#CCCCCC";
		if(document.getElementById(val+"_cell"))
			document.getElementById(val+"_cell").style.color="#CCCCCC";
	}
}

function BasketTotal(add, check, i)
{
	if(!add) add=0;
	orig=document.getElementById("tphidden").value;
	total=document.getElementById("totalprice").value;
	var regex = /[A-Za-z0-9]{1,}[|]/;
	var str = add;
	
	if(check=='selopt'+i)
	{
		if(str.match(regex))
		{
			rm=str.match(regex);
			str = str.replace(regex, "");
			a=eval(str);
		}
	}
	else{
		a=add;
	}
	if(check)
	{
		if(check=="selopt"+i)
			update=eval(total)-document.getElementById("hidopt"+i).value+eval(a);
		else
			update=eval(total)+eval(a);
	}
	else
	{
		update=eval(total)-eval(a);
	}
	if(check=="selopt"+i)
	{
		document.getElementById("hidopt"+i).value = a;
	}
	var upd = Math.round(update*100)/100;
	var rtnUpd = upd.toFixed(2)
	document.getElementById("totalprice").value = rtnUpd;
}

function MonthlyTotal(add, check, i)
{
	if(!add) add=0;
	orig=document.getElementById("tmhidden").value;
	total=document.getElementById("monthlyprice").value;
	var regex = /[A-Za-z0-9]{1,}[|]/;
	var str = add;
	
	if(check=='selopt'+i)
	{
		if(str.match(regex))
		{
			rm=str.match(regex);
			str = str.replace(regex, "");
			a=eval(str);
			var upa = Math.round(a*100)/100;
			var rtnupa = upa.toFixed(2);
			document.getElementById("monthly"+i).value = "£"+rtnupa;
		}
	}
	else{
		a=add;
	}
	if(check)
	{
		if(check=="selopt"+i)
			update=eval(total)-document.getElementById("hidopt"+i).value+eval(a);
		else
			update=eval(total)+eval(a);
	}
	else
	{
		update=eval(total)-eval(a);
	}
	if(check=="selopt"+i)
	{
		document.getElementById("hidopt"+i).value = a;
	}
	var upd = Math.round(update*100)/100;
	var rtnUpd = upd.toFixed(2)
	document.getElementById("monthlyprice").value = rtnUpd;
}

function ChooseBanner()
{
	x=0;
		
	while(document.getElementById("banner_"+x)) 
	  x++;
	  
  if(x)
  {
  	r=Math.floor(Math.random()*(x-1)); 
  	document.getElementById("banner_"+r).style.display = '';  	
  }
	return false;
}

function pop(url, target, width, height, scrollbars, top, left)
{
	if(target == null) target = '_blank';
	
	var props = '';
	if(width != null) props += ',width=' + width;
	if(height != null) props += ',height=' + height;
	if(scrollbars != null) props += ',scrollbars=' + scrollbars;
	if(top != null) props += ',top=' + top + ',screenY=' + top;
	if(left != null) props += ',left=' + left + ',screenX=' + left;

	if(props.length) props = 'resizable=1' + props;

	var win = window.open(url, target, props);
	win.focus();
	
	return false;
}


/* LEGACY CODE */
function defpopup(url, popname, w, h, scrbr)
{
	pop(url, popname, w, h, scrbr);
}
/* END LEGACY CODE */


function showTariffs(net)
{
	var elms = document.getElementsByTagName('div');
	document.getElementById('freephoneno2').style.display = 'none';
	for(var i=0; i<elms.length; i++)
	{
		if(!elms.item(i).id.match(/^tariffs_/))
			continue;
		
		elms.item(i).style.display = elms.item(i).id=='tariffs_'+net?'block':'none';
	}
	
	var o = document.getElementById('networkTabs');
	var lis = o.getElementsByTagName('li');
	for(var i=0; i<lis.length; i++)
		lis.item(i).className = lis.item(i).className.replace(/selected/, '') + (lis.item(i).id=='nt_'+net?' selected':'');	
	return false;
}

function showFeatures(net)
{
	var elms = document.getElementsByTagName('div');
	document.getElementById('features').style.display = 'none';
	for(var i=0; i<elms.length; i++)
	{
		if(!elms.item(i).id.match(/^features_/))
			continue;
		
		elms.item(i).style.display = elms.item(i).id=='features_'+net?'block':'none';
	}
	
	var o = document.getElementById('featureTabs');
	var lis = o.getElementsByTagName('li');
	for(var i=0; i<lis.length; i++)
		lis.item(i).className = lis.item(i).className.replace(/selected/, '') + (lis.item(i).id=='ft_'+net?' selected':'');	
	return false;
}

function showfreephoneno2(net)
{
	//TODO:
	document.getElementById('freephoneno2').style.display = 'block';		
	
	var elms = document.getElementsByTagName('div');
	//document.getElementById('freephoneno2').style.display = 'none';
	for(var i=0; i<elms.length; i++)
	{
		if(!elms.item(i).id.match(/^tariffs_/) || elms.item(i)=='freephoneno2')
			continue;
		
		elms.item(i).style.display = 'none';
	}
	
	var o = document.getElementById('networkTabs');
	var lis = o.getElementsByTagName('li');
	for(var i=0; i<lis.length; i++)
		lis.item(i).className = lis.item(i).className.replace(/selected/, '') + (lis.item(i).id=='nt_'+net?' selected':'');	
	return false;
}

function toggleFeature(feature)
{
	var elms = document.getElementsByTagName('div');
	for(var i=0; i<elms.length; i++)
	{
		if(elms.item(i).className != 'featureDescription')
			continue;
		
		if(elms.item(i).id == 'feature_' + feature)
			elms.item(i).style.display = elms.item(i).style.display=='block'?'none':'block';
		else
			elms.item(i).style.display = 'none';
	}
	
	return false;
}


function showFullsize(elm)
{
	document.getElementById('sampleWin').style.display = 'block';
	document.getElementById('sampleFullsize').src = elm.src.replace(/\/thumbs/, '');

	return false;
}


function compareImages(model)
{
	if(!s[model]) return;
	
	for(var i=0; i<3; i++)
	{
		if(i < s[model].length)
			document.getElementById('right' + i).src = '/images/samples/' + model + '/thumbs/' + s[model][i];
		else
			document.getElementById('right' + i).src = '/images/noSample.jpg';
	}
}

//Thumbnail viewer for handsets page
thumbNum = 0;
function changeThumb(dir)
{
	thumbNum += dir;
	if(thumbNum < 0) thumbNum = s[model].length - 1;
	if(thumbNum >= s[model].length) thumbNum = 0;
	
	document.getElementById('thumb').src = '/images/samples/' + model + '/thumbs/' + s[model][thumbNum];
	document.getElementById('sampleFullsize').src = '/images/samples/' + model + '/' + s[model][thumbNum];
	
	return false;
}


/* Window dragging stuff */

alphas = new Array();

var dragging = false;
document.onmouseup = function()
{
	if(!dragging) return;
	
	//var iframes = dragging["elm"].getElementsByTagName('iframe');
	var iframes = document.getElementsByTagName('iframe');
	for(var i=0; i<iframes.length; i++)
		iframes[i].style.visibility = 'visible';
	
	//var selects = dragging["elm"].getElementsByTagName('select');
	var selects = document.getElementsByTagName('select');
	for(var i=0; i<selects.length; i++)
		selects[i].style.visibility = 'visible';
	
	dragging["elm"].style.filter = "";
	dragging["elm"].style.MozOpacity = 1;
	
	dragging = false;
}

function dragWin(e, elm, alpha1, alpha2)
{
	var c = getMouse(e);
	
	dragging = new Array();
	dragging["elm"] = elm;
	dragging["offsetX"] = -c["x"];
	dragging["offsetY"] = -c["y"];
	
	
	while(elm.offsetParent)
	{
		dragging["offsetX"] += elm.offsetLeft;
		dragging["offsetY"] += elm.offsetTop;
		elm = elm.offsetParent;
	}
	
	//var iframes = dragging["elm"].getElementsByTagName('iframe');
	var iframes = document.getElementsByTagName('iframe');
	for(var i=0; i<iframes.length; i++)
		iframes[i].style.visibility = 'hidden';
	
	//var selects = dragging["elm"].getElementsByTagName('select');
	var selects = document.getElementsByTagName('select');
	for(var i=0; i<selects.length; i++)
		selects[i].style.visibility = 'hidden';

	if ( alpha1 )
		dragging["elm"].style.filter = "alpha(opacity=" + alpha1 + ")";
	else
		dragging["elm"].style.filter = "alpha(opacity=50)";
	if ( alpha2 )
		dragging["elm"].style.MozOpacity = alpha2;
	else
		dragging["elm"].style.MozOpacity = 0.5;
}

document.onmousemove = function(e)
{
	if(!dragging) return;
	
	if(document.selection)
		document.selection.empty();
	
	var c = getMouse(e);
	
	dragging["elm"].style.left = dragging["offsetX"] + c["x"] + 'px';
	dragging["elm"].style.top= dragging["offsetY"] + c["y"] + 'px';
}


function getMouse(e)
{
	var c = new Array();
	
	if(typeof(e) == 'undefined')
	{
		c["x"] = event.clientX;
		c["y"] = event.clientY;
	}
	else
	{
		c["x"] = e.pageX;
		c["y"] = e.pageY;
	}
	
	return c;
}




function showHandsetPanel(name)
{
	var o = document.getElementById('handsetTabsInnerContainer');
	var elms = o.getElementsByTagName('div');
	
	for(var i=0; i<elms.length; i++)
	{
		o = elms.item(i);
		
		if(o.className != 'handsetTabsInner')
			continue;
		
		
		display = (o.id=='handset_'+name)?'block':'none';
		o.style.display = display;
		
		if(display == 'block')
		{
			headers = o.getElementsByTagName('h2');
			for(var j=0; j<headers.length; j++)
			{
				if(headers.item(j).className != 'handsetHeader')
					continue;
			
				document.getElementById('handsetHeader').innerHTML = headers.item(j).innerHTML;
				break;
			}
		}
	}
	
	var o = document.getElementById('handsetTabs');
	var elms = o.getElementsByTagName('li');
	
	for(var i=0; i<elms.length; i++)
	{
		o = elms.item(i);
		o.className = (o.id=='handsetTab_'+name)?'selected':'';
	}
	
	return false;
}



function scrollTars(dir)
{
	if((tarPos == 0) && (dir == -1))
		return false;
	
	if((tarPos == tarNum-4) && (dir == 1))
		return false;
	
	tarPos += dir;
	
	var tds = document.getElementById('tariffsTable');
	if(!tds) return false;
	var tds = tds.getElementsByTagName('td');
	
	numTDs = tds.length;
	var c = '';
	dir = Math.abs(dir);
	for(var i=0; i<numTDs; i++)
	{
		var o = tds[i]; //Don't use .item(i) like you should - it's really slow in IE!
		c = o.className.match(/^col\d colNum_(\d+)$/);
		if(!c) continue;
		
		if((c[1] < tarPos-dir) || (c[1] > tarPos+dir+4))
			continue;
		
		var newD = ((c[1] >= tarPos) && (c[1] < tarPos+4))?'':'none';
		
		if(o.style.display != newD)
			o.style.display = newD;
	}
	
	return false;
}


function handsetSearch(s)
{
	var x = s.options[s.selectedIndex].value;
	
	if(!x) return;
	x = x.split('|');
	
	if(x[0] == 'M') //Handset - Was Model - choose network
		location.href = '/mobile/phones/disphandset.php?handset=' + x[1]; //homepage.php?handsetmodel=' + x[1];
	else if(x[0] == 'H') //Handset
		location.href = '/mobile/phones/disphandset.php?handset=' + x[1]
	else if(x[0] == 'Ma') //Make
		location.href = '/mobile/phones/homepage.php?make=' + x[1];
	else
		location.href = x[0];
}

window.onload = function()
{
	var o = document.getElementById('skyscraper');
	if(!o) return;
	if(document.body.offsetWidth >= 920)
	{
		o.style.display = 'block';
		
		var o = document.getElementById('headerNetworkLogos');
		if(o) o.style.display = 'block';
		
		document.body.style.minWidth = '928px';
		document.getElementById('wrap').style.width = '928px';
	}
	
}



var top10Scrolling = 0;
setInterval(scrollTop10, 50);
function scrollTop10()
{
	if(!top10Scrolling)
		return;
	
	document.getElementById('top10Scroll').scrollTop += top10Scrolling;
}


function correctPNG() // correctly handle PNG transparency in Win IE 5.5 & 6.
{
   var arVersion = navigator.appVersion.split("MSIE")
   var version = parseFloat(arVersion[1])
   if ((version >= 5.5) && (document.body.filters)) 
   {
      for(var i=0; i<document.images.length; i++)
      {
         var img = document.images[i]
         var imgName = img.src.toUpperCase()
         if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
         {
            var imgID = (img.id) ? "id='" + img.id + "' " : ""
            var imgClass = (img.className) ? "class='" + img.className + "' " : ""
            var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
            var imgStyle = "display:inline-block;" + img.style.cssText 
            if (img.align == "left") imgStyle = "float:left;" + imgStyle
            if (img.align == "right") imgStyle = "float:right;" + imgStyle
            if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
            var strNewHTML = "<span " + imgID + imgClass + imgTitle
            + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
            + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
            + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" 
            img.outerHTML = strNewHTML
            i = i-1
         }
      }
   }    
}



var speed=1000;
var numLoop=0;
function addExclamation(numLoop,speed)
{
		var i=0;
		if(eles = document.getElementsByTagName("span"))
		{
			for(var i=0; i < eles.length; i++)
			{
					ele = eles[i];
					if(ele.id.substring(0,7)=="exclam_")
					{
						var curVal = ele.innerHTML;
						if(curVal.substring(curVal.length-3)=="!!!")
							ele.innerHTML = curVal.substring(0,(curVal.length-3));
						else
							ele.innerHTML = ele.innerHTML + "!";
					}	
			}
		}
		numLoop++;
		if(numLoop < 7)
			setTimeout("addExclamation(" + numLoop + "," + speed + ")", speed);
}
setTimeout("addExclamation(" + numLoop + "," + speed + ")", speed);

//alert(navigator.appVersion);
//if(navigator.appVersion.indexOf("MSIE"))
window.attachEvent("onload", correctPNG);

function confirmBasket(items)
{
	if(items>1)
	{
		var answer = confirm ("You have selected a second handset. Please confirm that this is not a mistake. Additional handsets ordered in error, can only be accepted for return upon the payment of a fee off £19.99")
		return answer
	}
}

/*
function hideWidgets(e)
{
	//return;
	if(typeof(e) == "undefined")
	{
		var o = event.srcElement;
	}
	else
	{
		var o = e.relatedTarget;
	}
	
	if(!o)
		return;
	
	//alert(o.tagName);
	while(o.parentNode)
	{
		if(o.id.match(/netWidget/))
			return;
		
		o = o.parentNode;
	}
	
	for(var i=0; i<20; i++)
		display("netWidget" + i, false);
}
*/

/* Window dragging stuff */
var dragging = false;
document.onmouseup = function()
{
	if(!dragging) return;
	
	//var iframes = dragging["elm"].getElementsByTagName('iframe');
	var iframes = document.getElementsByTagName('iframe');
	for(var i=0; i<iframes.length; i++)
		iframes[i].style.visibility = 'visible';
	
	//var selects = dragging["elm"].getElementsByTagName('select');
	var selects = document.getElementsByTagName('select');
	for(var i=0; i<selects.length; i++)
		selects[i].style.visibility = 'visible';
	
	dragging["elm"].style.filter = "";
	dragging["elm"].style.MozOpacity = 1;
	
	dragging = false;
}

function dragWin(e, elm)
{
	var c = getMouse(e);
	
	dragging = new Array();
	dragging["elm"] = elm;
	dragging["offsetX"] = -c["x"];
	dragging["offsetY"] = -c["y"];
	
	while(elm.offsetParent)
	{
		dragging["offsetX"] += elm.offsetLeft;
		dragging["offsetY"] += elm.offsetTop;
		elm = elm.offsetParent;
	}
	
	//var iframes = dragging["elm"].getElementsByTagName('iframe');
	var iframes = document.getElementsByTagName('iframe');
	for(var i=0; i<iframes.length; i++)
		iframes[i].style.visibility = 'hidden';
	
	//var selects = dragging["elm"].getElementsByTagName('select');
	var selects = document.getElementsByTagName('select');
	for(var i=0; i<selects.length; i++)
		selects[i].style.visibility = 'hidden';

	dragging["elm"].style.filter = "alpha(opacity=50)";
	dragging["elm"].style.MozOpacity = 0.5;
}

document.onmousemove = function(e)
{
	if(!dragging) return;
	
	if(document.selection)
		document.selection.empty();
	
	var c = getMouse(e);
	
	dragging["elm"].style.left = dragging["offsetX"] + c["x"] + 'px';
	dragging["elm"].style.top= dragging["offsetY"] + c["y"] + 'px';
}

//Thumbnail viewer for handsets page
function changeThumb(dir)
{
	thumbNum += dir;
	if(thumbNum < 0) thumbNum = thumbs.length - 1;
	if(thumbNum >= thumbs.length) thumbNum = 0;
	
	document.getElementById('thumb').src = thumbPath + '/thumbs/' + thumbs[thumbNum];
	document.getElementById('sampleFullsize').src = thumbPath + '/' + thumbs[thumbNum];
	
	return false;
}



