function createRequestObject() {
	var ro;
	ro = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
	return ro;
}
var http = createRequestObject();

//Functions for UberCart
var quant;
var price;
var iscomplete=1;
function addtocart(countvar,noopts){
	getstring='';
	var isvalid=0;
	if (noopts==0) isvalid=1;
	if (noopts!=0) { if (formvalidator0(document.forms["tForm"+countvar]) && iscomplete==1) isvalid=1;}
	if (isvalid==1){
		iscomplete=0;
		lis=document.forms["tForm"+countvar].getElementsByTagName('input');
		for (var i=0; i<lis.length; i++){
			if (lis[i].name!='frompage') getstring+=(lis[i].name+"="+lis[i].value+'&');
			if (lis[i].name=='quant') quant=lis[i].value;
		}
		quant=document.getElementById('quantbox').value;
		lis=document.forms["tForm"+countvar].getElementsByTagName('select');
		for (var i=0; i<lis.length; i++){
			getstring+= (lis[i].name+"="+lis[i].value+'&');
		}
		getstring+="quant="+quant;
		price=document.getElementById('pricediv0').innerHTML.replace("£","")*quant;
		http.open("get", "tstoreadmin/inc/ajaxcarter.php?"+getstring);
		http.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
		http.onreadystatechange = handlecartResponse;
		http.send(null);
	}
}
var isawish=0;
function addtowish(countvar,noopts,pname){
	getstring='';
	var isvalid=0;
	isawish=1;
	if (noopts==0) isvalid=1;
	if (noopts!=0){ if (formvalidator0(document.forms["tForm"+countvar])) isvalid=1; isawish=0;}
	if (isvalid==1) {
		lis=document.forms["tForm"+countvar].getElementsByTagName('input');
		var pid='';
		for (var i=0; i<lis.length; i++){
			if (lis[i].name!='frompage') getstring+=(lis[i].name+"="+lis[i].value+'&');
			if (lis[i].name=='id') pid=lis[i].value;
		}
		lis=document.forms["tForm"+countvar].getElementsByTagName('select');
		for (var i=0; i<lis.length; i++){
			getstring+= (lis[i].name+"="+lis[i].value+'&');
		}
		getstring+='foo=1';
		if (pname.length<5)	{pname=pid.replace(/-/gi,' ');	}
		if (pname.length>43) pname=pname.substring(0,40)+'...';
		isawish=0;
		genajax('tstoreadmin/addwish.php?'+getstring,'wishdiv',Effect.Appear,'',pname);	
	} else return false;
}


function handlecartResponse () {
	if(http.readyState == 4){
		var response = http.responseText;
		var update = new Array();
		cartdiv=document.getElementById("minicartajax");
		if (response){
			document.getElementById("bagvol").style.display="none";
			cartdiv.innerHTML=response;
			cartdiv.style.position="relative";
			Effect.SlideDown(cartdiv.id);
			oldvol=document.getElementById("rbagvol").innerHTML;
			newvol=oldvol-(-quant);
			document.getElementById("rbagvol").innerHTML=newvol;
			if (newvol==1) newcontent='<span class=\'cartitem\'>1</span> item';
			else newcontent='<span class=\'cartitem\'>'+newvol+'</span> items';
			document.getElementById("bagvol").innerHTML = newcontent;
//			alert (price);
//			alert (document.getElementById("minicartprice").innerHTML.replace("\u00A3","").replace("&pound;","").replace("--.--","00.00"));
//			alert (newprice);
	//		Effect.Appear('bagvol');
	//		setTimeout("new Effect.Highlight('successcart');",1250);
			iscomplete=1;
	//		document.getElementById('cartfeedback').innerHTML='Added to cart...';
	//		document.getElementById('cartfeedback').className='success';
			//document.getElementById('coimage').src='images/prod/checkout2.gif';
	//		if ( document.getElementById('cartfeedback').style.display=='none') new Effect.Appear('cartfeedback');
//			new Effect.Highlight('cartfeedback');
		}
	}
}
function wrapbox(){
		http.open("get", "tstoreadmin/inc/ajaxgiftwrap.php");
		http.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
		http.onreadystatechange = handleWrapResponse;
		http.send(null);
}

function handleWrapResponse() {
	if(http.readyState == 4){
		var response = http.responseText;
		var update = new Array();
		wrapboxdiv=document.getElementById("wrapboxpop");
		if (response){
			if (wrapboxdiv.style.display!="none")	{
				Effect.SlideUp(wrapboxdiv.id);
			//	wrapboxdiv.style.display="none";
				document.getElementById('wrappxh').value='0';
				document.getElementById('wrapselect').selectedIndex='-1';
				updateprice0();
			} else {
				wrapboxdiv.innerHTML=response;
				//wrapboxdiv.style.position="relative";
				Effect.SlideDown("wrapboxpop");
	//			document.getElementById("wrapboxchild").style.display="block";
	//			document.getElementById("wrapboxpop").style.display="block";
//				wrapboxdiv.style.display="block";
				updateprice0();
			}
		}
	}
}

function wrapupdate(id){
	http.open("get", "tstoreadmin/inc/ajaxgiftwrap.php?giftid="+id);
	http.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
	http.onreadystatechange = handleWrapSelectResponse;
	http.send(null);
}

function handleWrapSelectResponse(){
	if(http.readyState == 4){
		var response = http.responseText;
		var update = new Array();
		update=response.split("|");
		gotwrapim=update[0];
		gotwrappx=update[1];
		gotwrapid=update[2];
		wrapimg=document.getElementById('wrapimg');
		wrapcheck=document.getElementById('wrapcheck');
		wrappxh=document.getElementById('wrappxh');
		wrapimg.src=gotwrapim;
		document.getElementById('wrappx').innerHTML='+'+formatprice((gotwrappx/100),'','');
		wrappxh.value=gotwrappx;
		wrapcheck.value=gotwrapid;
		updateprice0();
	}
}


var gendiv='';
var geneffect='';
var genrelpath='';
var gentitle='';
function genajax(url,div,effect,relpath,title){
	windowheight=findWindowHeight();
	windowwidth =findWindowWidth();
	document.getElementById('pleasewait').style.top=((windowheight/2)-50)+"px";
	document.getElementById('pleasewait').style.left=((windowwidth/2)-50)+"px";
	slide (document.getElementById('pleasewait'));
/*	Effect.Appear('pleasewait');*/
	gendiv=div;
	geneffect=effect;
	genrelpath=relpath;
	gentitle=title;
	http.open("get", url);
	http.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
	http.onreadystatechange = handleGenResponse;
	http.send(null);
}
var remwishid='';
function removefromlist(wishid){
	remwishid=wishid;
	http.open("get", "tstoreadmin/viewwish.php?standalone=1&rem=1&wishid="+wishid);
	http.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
	http.onreadystatechange = handleRemResponse;
	http.send(null);
}

function handleRemResponse(){
	Effect.BlindUp(remwishid+"wish");
//	document.getElementById(remprodid).innerHTML='';


}
function nukeback(div,backer){
	Effect.Fade(div); 
	Effect.Fade(backer);
	showselects();
}

var ie=document.all;
var nn6=document.getElementById&&!document.all;

var isdrag=false;
var x,y;
var dobj;

function movemouse(e)
{
  if (isdrag)
  {
//  alert (dobj.id);
//  alert (dobj.style.margin.left);
    dobj.style.left = nn6 ? tx + e.clientX - x + "px": tx + event.clientX - x +"px";
    dobj.style.top  = nn6 ? ty + e.clientY - y + "px": ty + event.clientY - y +"px";
    return false;
  }
}

function selectmouse(e) 
{
  var fobj       = nn6 ? e.target : event.srcElement;
  if (fobj.className!='dragbar') return false;
  var topelement = nn6 ? "HTML" : "BODY";
    fobj = nn6 ? fobj.parentNode.parentNode.parentNode.parentNode.parentNode : fobj.parentElement.parentElement.parentElement.parentElement.parentElement;
    isdrag = true;
    dobj = fobj;
    tx = parseInt(dobj.offsetLeft-(dobj.style.marginLeft.replace(/px/gi,'')));
    ty = parseInt(dobj.offsetTop+0);
    x = nn6 ? e.clientX : event.clientX;
    y = nn6 ? e.clientY : event.clientY;
    document.onmousemove=movemouse;
    return false;
}
document.onmouseup=new Function("isdrag=false");

function handleGenResponse() {
	div=gendiv;
	genheader='<div class="dragme"><div id="dragbar" class="dragbar"><div onclick="nukeback(\''+div+'\',\''+div+'overlay\')" id="close"><img src="'+genrelpath+'images/cross.gif"></div>'+gentitle+'</div></div>';
	if(http.readyState == 4){
		var response = http.responseText;
		var update = new Array();
		var objBody = document.getElementsByTagName("body").item(0);
		boxdiv=document.getElementById(div);
		//boxdiv.style.zIndex="200";
		if (backer=document.getElementById(div+'overlay')) {} else {
		backer=document.createElement('div');
		backer.setAttribute('id',div+'overlay');
		backer.setAttribute('class','woverlay');
		backer.setAttribute('onclick','nukeback("'+div+'","'+backer.id+'");');
		backer.height="100%";
		backer.width="100%";
		backer.style.zIndex=boxdiv.style.zIndex-1;
		backer.style.position="absolute";
		backer.style.top="0px";
		backer.style.left="0px";
		objBody.appendChild(backer); 
		}
		var arrayPageSize = getPageSize();
		backer.height= arrayPageSize[1]+'px';
		backer.style.height= arrayPageSize[1]+'px';
		backer.style.display="block";
		if (response){
			if (boxdiv.style.display!="none")	{
	//			Effect.SlideUp(div);
			} else {
				Effect.Fade('pleasewait');
				boxdiv.innerHTML=genheader+response;
				boxdiv.style.position="absolute";
				boxdiv.style.background="white";
				boxdiv.style.overflow="hidden";
				hideselects();
				geneffect(div);
				boxdiv.firstChild.firstChild.firstChild.firstChild.firstChild.onmousedown=selectmouse;
				initLightbox();
			}
		}
	}
}
var divtocloseg=''
function subformsubmit(parentid,submittarget,divtoclose){
	divtocloseg=divtoclose;
	parentobj=document.getElementById(parentid);
	inputs=parentobj.getElementsByTagName('input');
	submitstring=submittarget;
	for (a=0;a<inputs.length;a++){//pricepercent weightpercent
		if (inputs[a].type=="checkbox"){
			if (inputs[a].checked){
				submitstring+=inputs[a].name+"="+inputs[a].value.escapeHTML()+"&";
			}
		} else
		submitstring+=inputs[a].name+"="+inputs[a].value.escapeHTML()+"&";
	}
	submitstring+="divtoclose="+divtoclose.replace(/popupdiv/gi,"resultdiv");
	http.open("get", submitstring);
	http.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
	http.onreadystatechange = subformResponse;
	http.send(null);
}


var maindivext='';
function samewindowsub(formdiv,maindiv,url){
	parentobj=document.getElementById(formdiv);
	inputs=parentobj.getElementsByTagName('input');
	submitstring="yourcomments="+document.getElementById("yourcomments").value.escapeHTML();
	for (a=0;a<inputs.length;a++){
		submitstring+="&"+inputs[a].name+"="+inputs[a].value.escapeHTML();
	}
	maindivext=maindiv;
	http.open("get", url+"?"+submitstring);
	http.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
	http.onreadystatechange = samewindowResponse;
	http.send(null);
}

function samewindowResponse(){
	if(http.readyState == 4){
		var response = http.responseText;
		document.getElementById(maindivext).innerHTML=response;
	}
}

function findPosY(obj) {
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

function findWindowHeight() {
	var y
	if (window.innerHeight){ 
		y = window.innerHeight;
	} else if (document.documentElement && document.documentElement.offsetHeight){
		y = document.documentElement.offsetHeight;
	}else if (document.body){
		y = document.body.offsetHeight;
	}
	return y;
}

function findWindowWidth() {
	var x
	if (window.innerWidth){ 
		x = window.innerWidth;
	} else if (document.documentElement && document.documentElement.offsetWidth){
		x = document.documentElement.offsetWidth;
	}else if (document.body){
		x = document.body.offsetWidth;
	}
	return x;
}

function slide(obj) {
	if (obj) {
		var sTop = getScroll();
		var sBot = sTop + findWindowHeight();
		var objTop = findPosY(obj);
		var objBot = findPosY(obj)+obj.scrollHeight;
		if (objBot > (sBot-30)) {
			setScroll(0,sTop+(objBot-sBot));
		} else if (objTop < sTop) {
			setScroll(0,objTop);
		}
	}
}

function getScroll() {
	var x,y;
	if (self.pageYOffset) // all except Explorer
	{
		x = self.pageXOffset;
		y = self.pageYOffset;
	}
	else if (document.documentElement && document.documentElement.scrollTop)
		// Explorer 6 Strict
	{
		x = document.documentElement.scrollLeft;
		y = document.documentElement.scrollTop;
	}
	else if (document.body) // all other Explorers
	{
		x = document.body.scrollLeft;
		y = document.body.scrollTop;
	}
	return y;
}

function setScroll(x,y) {
	if (document.documentElement && document.documentElement.scrollTop)
		// Explorer 6 Strict
	{
		document.documentElement.scrollLeft = x;
		document.documentElement.scrollTop = y;
	}
	else if (document.body) // all other Explorers
	{
		document.documentElement.scrollLeft = x;
		document.documentElement.scrollTop = y;
		document.body.scrollLeft = x;
		document.body.scrollTop = y;
	}
	else if (self.pageYOffset) // all except Explorer
	{
		self.pageXOffset = x;
		self.pageYOffset = y;
	}
	return;
}

function hideselects(){
	selects=document.body.getElementsByTagName('SELECT');
	numsels=selects.length;
	for (a=0;a<numsels;a++){
		if (selects[a].className!='replaced'){
			selects[a].style.visibility="hidden";
		}
	}
}

function showselects(){
        selects=document.body.getElementsByTagName('SELECT');
        numsels=selects.length;
        for (a=0;a<numsels;a++){
		if (selects[a].className!='replaced'){
	                selects[a].style.visibility="visible";
		}
        }
}


