// Primary JS
//
// Purpose: Ajax and general functions
//
// Author: TheEWord (www.theeword.co.uk)
// Developer: Alan Mackin (alan at theeword.co.uk)

var xmlHttp=GetXmlHttpObject();

//AttachEvent(this,"load",doAtt);


//create http object
function GetXmlHttpObject()
{try
{xmlHttp=new XMLHttpRequest();}
catch (e)
{try
{xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");}
catch (e)
{xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");}
}return xmlHttp;}


//create events at run time
function AttachEvent(obj,evt,fnc,useCapture){
	if (!useCapture) useCapture=false;
	if (obj.addEventListener){
		obj.addEventListener(evt,fnc,useCapture);
		return true;
	} else if (obj.attachEvent) return obj.attachEvent("on"+evt,fnc);
	else{
		MyAttachEvent(obj,evt,fnc);
		obj['on'+evt]=function(){ MyFireEvent(obj,evt) };
	}
}

//The following are for browsers like NS4 or IE5Mac which don't support either
//attachEvent or addEventListener
function MyAttachEvent(obj,evt,fnc){
	if (!obj.myEvents) obj.myEvents={};
	if (!obj.myEvents[evt]) obj.myEvents[evt]=[];
	var evts = obj.myEvents[evt];
	evts[evts.length]=fnc;
}
function MyFireEvent(obj,evt){
	if (!obj || !obj.myEvents || !obj.myEvents[evt]) return;
	var evts = obj.myEvents[evt];
	for (var i=0,len=evts.length;i<len;i++) evts[i]();
}

//clears default value
function cD(el) {if (el.defaultValue==el.value) el.value = "";}

function correct_length(id,id2){

obj1=document.getElementById(id);
obj2=document.getElementById(id2);

height1=elSize(obj1)[1];
height2=elSize(obj2)[1];

height1=height1-200;
height2=height2-200;

if (height1>height2){obj2.style.height=height1+"px";}
if (height1<height2){obj1.style.height=height2+"px";}



}

function elSize(hoo){
	if (hoo) {
		A=[Math.max(hoo.scrollWidth,hoo.offsetWidth),
		Math.max(hoo.scrollHeight,hoo.offsetHeight)];
		return A;
	}
	return false;
}

function zxcPos(zxcobj){

zxcobj=document.getElementById(zxcobj);
 zxclft=zxcobj.offsetLeft;
 zxctop=zxcobj.offsetTop;
 while(zxcobj.offsetParent!=null){
  zxcpar=zxcobj.offsetParent;
  zxclft+=zxcpar.offsetLeft;
  zxctop+=zxcpar.offsetTop;
  zxcobj=zxcpar;
 }
 return [zxclft,zxctop];
}



//buy button on form
function buyclik(id2,id3,id4,id5){
    urchinTracker('/clicktracking/buy-'+id3+'-'+id4+'-'+id5);
    url="/apps/click_tracking.php?type=2&id="+id2;
    xmlHttp3=GetXmlHttpObject();
    xmlHttp3.open("GET",url,true);
    xmlHttp3.send(null);}
    
    
//version of buyclick without the urchin code
function buyclik_bare(id2){
    url="/apps/click_tracking.php?type=2&id="+id2;
    xmlHttp3=GetXmlHttpObject();
    xmlHttp3.open("GET",url,true);
    xmlHttp3.send(null);}


//continue button on data entry
function buyclik2(id2,id3,id4,id5){url="/apps/click_tracking.php?type=3&id="+id2;
    urchinTracker('/clicktracking/datacapture-'+id3+'-'+id4+'-'+id5);
    xmlHttp3=GetXmlHttpObject();
    xmlHttp3.open("GET",url,true);
    xmlHttp3.send(null);}

//jump button on data entry
function buyclik3(id2,id3,id4,id5){url="/apps/click_tracking.php?type=4&id="+id2;
    urchinTracker('/clicktracking/datacapturejump-'+id3+'-'+id4+'-'+id5);
    xmlHttp3=GetXmlHttpObject();
    xmlHttp3.open("GET",url,true);
    xmlHttp3.send(null);}

//tracks just outclicks
function outclick(id3,id4,id5){
    urchinTracker('/clicktracking/out-'+id3+'-'+id4+'-'+id5);
    }

//monitors clicks relating to placement
function buyclik4(id2,id3,id4,id5){
    urchinTracker('/clicktracking/buypos-position'+id2+'-'+id3+'-'+id4+'-'+id5);
}

//sets up side banners
function side_banners(){

  width=document.body.offsetWidth;

  if (width>1240) {

    var browser=navigator.appName;
    var b_version=navigator.appVersion;
    var version=BrowserDetect.version;


    //document.write('<a href="http://www.orange.co.uk/time/broadbandaccess/"><img src="/images/banners/orange-broadband-120x600.gif" style="float:right;display:block;clear:all;" width="120" height="600" border="0" id=sban1></a>');

    document.write('<iframe src="/apps/ad_driver.php?type=2" width=125 id=sban1 height=630 scrolling="no" frameborder=0 style="float:right;display:block;clear:all;border:none;overflow:hidden;padding:0px;margin:0px;"></iframe>');

    // in older firefox, show this typ
    if (browser=="Netscape"&&version<3){
      //document.write('<a href="http://www.orange.co.uk/time/broadbandaccess/"><img src="/images/banners/orange-broadband-120x600.gif" style="float:left;display:block;position:absolute;clear:all;" width="120" height="600" border="0" id=sban2></a>');
    } else {
      //document.write('<a href="http://www.orange.co.uk/time/broadbandaccess/"><img src="/images/banners/orange-broadband-120x600.gif" style="float:left;display:block;" width="120" height="600" border="0" id=sban2></a>');
      document.write('<iframe src="/apps/ad_driver.php?type=2" width=125 id=sban2 height=630 scrolling="no" frameborder=0 style="float:left;display:block;border:none;overflow:hidden;padding:0px;margin:0px;"></iframe>');

    }

  //setup event to clean away the images if resized small
  window.onresize=side_banner_resize;

  }



}

function show_box(id) {
    if (id !== null) {
        var obj = document.getElementById("hng" + id);
        var obj2 = document.getElementById("hnf" + id);

        var hiden = obj.className;

        if (hiden == "showmax1" || hiden == "hinf") {
            obj.className = "showmax2";
            if (obj2) {obj2.style.display = "none";}
        } else {
            obj.className = "showmax1";
            if (obj2) {obj2.style.display = "block";}
        }
    }
}

function side_banner_resize(){

  width=document.body.offsetWidth;

  if (width<1240) {
    obj=document.getElementById("sban1");
    obj.style.visibility="hidden";
    obj.style.display="none";
    obj=document.getElementById("sban2");
    obj.style.visibility="hidden";
    obj.style.display="none";

  } else {
    obj=document.getElementById("sban1");
    obj.style.visibility="visible";
    obj.style.display="inline";
    obj=document.getElementById("sban2");
    obj.style.visibility="visible";
    obj.style.display="inline";

  }

}

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();