function createRequestObject() {
    
  var req;

  if(window.XMLHttpRequest){
      // Firefox, Safari, Opera...
      req = new XMLHttpRequest();
  } else if(window.ActiveXObject) {
      // Internet Explorer 5+
      req = new ActiveXObject("Microsoft.XMLHTTP");
  } else {
      // There is an error creating the object,
      // just as an old browser is being used.
      alert('There was a problem creating the XMLHttpRequest object');
  }

  return req;

}
    
// Make the XMLHttpRequest object
var http = createRequestObject();

function findKeyword(request) {
	var url='key='+request+'&clicked=true';
	http.open('get', '/include/functions.php?'+url);
  http.onreadystatechange = displayKey;
  http.send(null);
}

function displayKey () {
	if(http.readyState == 4 && http.status == 200){
      // Text returned FROM PHP script
      var response = http.responseText;
    	 if(response) {
    	 
    	 	document.getElementById("replaceKeywords").innerHTML =response;
    	}
   }
}

function openSLink(request) {
	var url='ids='+request;
	http.open('get', '/include/functions.php?'+url);
  http.onreadystatechange = openLink;
  http.send(null);
}

function openLink () {
	if(http.readyState == 4 && http.status == 200){
      // Text returned FROM PHP script
      var response = http.responseText;
    	 if(response) {
    	 	pop(response, '_blank', 700, 500, 1)
    	}
   }
}

function postNumber(val) {
	var url="tel="+val+"&ajax=1";
	document.getElementById("submitmob").innerHTML = '<div style=\"width:100%;text-align:center;\"><img src=\"/images/progress_e2save.gif\"></div>';
	http.open('get', '/include/upgradesForm.php?'+url);
  http.onreadystatechange = handleNumber;
  http.send(null);
}

function handleNumber() {
	if(http.readyState == 4 && http.status == 200){
      // Text returned FROM PHP script
      var response = http.responseText;
    	 if(response) {
    	 	var hidDiv = document.getElementById('submitmob');
    	 	hidDiv.innerHTML=response;
    	}
   }
}

var xmlHttp

function popTD(day,mth,yr)
{
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null)
	{
	alert ("Browser does not support HTTP Request")
	return
	} 
	var ur="/cbDiv.php"
	ur=ur+"?d="+day+"&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="<br><br>"+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 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;
}
function replaceHTML(id, string) {
		document.getElementById(id).innerHTML=string;
}
function showhide(id, a) {
	document.getElementById(id).style.display=a;
}

function defpopup(url, popname, w, h, scrbr)
{
	pop(url, popname, w, h, scrbr);
}
alphas = new Array();
var dragging = false;
document.onmouseup = function()
{
	if(!dragging) return;
	var iframes = document.getElementsByTagName('iframe');
	for(var i=0; i<iframes.length; i++)
		iframes[i].style.visibility = 'visible';
	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 = document.getElementsByTagName('iframe');
	for(var i=0; i<iframes.length; i++)
		iframes[i].style.visibility = 'hidden';
	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('titleheader').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':'';
		alert(o.className);
	}*/
	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 toggle(off, on) {
	var obj = document.getElementById(on);
	var obj2 = document.getElementById(off);
	obj2.style.display="none";
	obj.style.display="block";
}


function handsetSearch(s,p,wlcode)
{
	var x = s.options[s.selectedIndex].value;
	var t = s.options[s.selectedIndex].text;	
	t = t.replace(/^[\s\xA0]+/g,'').replace(/[\s(&nbsp;)]+$/g,'');
	t = t.replace(' ',"-");
	t = t.replace(' ',"-");
	t = t.replace(' ',"-");
	t = t.replace(' ',"-");
	t = t.replace(' ',"-");
	
	if(!x) return;
	x = x.split('|');

	if(x[0] == 'M') {//Handset - Was Model - choose network
		location.href = '/'+p+'-mobile-phone/'+t+'/' + x[1]; //homepage.php?handsetmodel=' + x[1];
	}
	else if(x[0] == 'H') {//Handset
		location.href = '/'+p+'-mobile-phone/'+t+'/' + x[1]
	}
	else if(x[0] == 'Ma') {//Make
		location.href = '/mobile-phone/' + x[1] + (wlcode=='www' ? '' : '/details');
	}
	else if(x[0] == 'Map') {//Make
		location.href = '/payg-mobile-phone/' + x[1];
	}
	else	{
		location.href = x[0];
	}
		
}



function skyscraperload()
{
	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';
	}
}
if(!document.location.href.indexOf("onestopphoneshop"))	{
	addLoadEvent(skyscraperload);
}

function addLoadEvent(func) {
  var oldonload;
  if ( wl_site_type != 'iframe' ) {
	  if(parent.location == document.location) {
	    oldonload = window.onload;
	  } else {
	    oldonload = parent.document.body.onload;
	  }
	  if (typeof oldonload != 'function') {
	    window.onload = func;
	  } else {
	    window.onload = function() {
	      if (oldonload) {
	        oldonload();
	      }
	      func();
	    }
	  }
	}
}


function addOnClickEvent(el, func) {
  var oldonclick;
  oldonclick = el.onclick;
  if (typeof oldonclick != 'function') {
    el.onclick = func;
  } else {
    el.onclick = function() {
      if (oldonclick) {
        oldonclick();
      }
      func();
    }
  }
}

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 && version < 8) && (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" && !(img.width==150 && img.height==270))
	         {
	            var imgID = (img.id) ? "id='" + img.id + "' " : ""
	            var imgClass = (img.className) ? "class='" + img.className + "' " : ""
	            if(imgClass.indexOf("dontcorrectpng") == -1) {
		            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);
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;
}
function findPosX(obj){
	var curleft = 0;

	if (obj != null && typeof(obj.offsetParent) != "undefined" && obj.offsetParent != null){
		while (typeof(obj.offsetParent) != "undefined" && obj.offsetParent != null){
			curleft += obj.offsetLeft;
			obj = obj.offsetParent;
		}
	} else if (typeof(obj) != "undefined" && obj.x != null && ! isNaN(obj.x)){
		curleft += obj.x;
	}
	return curleft;
}
function findPosY(obj){
	var curtop = 0;
	if (obj != null && typeof(obj.offsetParent) != "undefined" && obj.offsetParent != null){
		while (typeof(obj.offsetParent) != "undefined" && obj.offsetParent != null){
			curtop += obj.offsetTop;
			obj = obj.offsetParent;
		}
	} else if (typeof(obj) != "undefined" && obj.y != null && ! isNaN(obj.x)){
		curtop += obj.y;
	}
	return curtop;
}


