var FloatLayers       = new Array();
var FloatLayersByName = new Array();
var ylimit = 0;
function addFloatLayer(n,offX,offY,spd,ylimit){new FloatLayer(n,offX,offY,spd,ylimit);}
function getFloatLayer(n){return FloatLayersByName[n];}
function alignFloatLayers(){for(var i=0,l=FloatLayers.length;i<l;i++)FloatLayers[i].align();}
FloatLayer.prototype.setFloatToTop=setTopFloater;
FloatLayer.prototype.setFloatToBottom=setBottomFloater;
FloatLayer.prototype.setFloatToLeft=setLeftFloater;
FloatLayer.prototype.setFloatToRight=setRightFloater;
FloatLayer.prototype.initialize=defineFloater;
FloatLayer.prototype.adjust=adjustFloater;
FloatLayer.prototype.align=alignFloater;
function setLeftFloater(){this.alignHorizontal=leftFloater;}
function setRightFloater(){this.alignHorizontal=rightFloater;}
function setTopFloater(){this.alignVertical=topFloater;}
function setBottomFloater(){this.alignVertical=bottomFloater;}
function leftFloater(){this.floatX = document.body.scrollLeft + this.ifloatX;}
function topFloater(){this.floatY = document.body.scrollTop + this.ifloatY;}
function rightFloater(){this.floatX = document.body.scrollLeft + document.body.clientWidth - this.ifloatX - this.width;}
function bottomFloater(){this.floatY = document.body.scrollTop + document.body.clientHeight - this.ifloatY - this.height;}
function findPosX(obj){
	var curleft = 0;
	if(obj.offsetParent)
		while(1)
		{curleft += obj.offsetLeft;
			if(!obj.offsetParent)
			break;
		obj = obj.offsetParent;}
	else if(obj.x)
		curleft += obj.x;
		return curleft;}
	function findPosY(obj){
	var curtop = 0;
	if(obj.offsetParent)
	while(1){curtop += obj.offsetTop;
		if(!obj.offsetParent)
			break;
		obj = obj.offsetParent;}
	else if(obj.y)
		curtop += obj.y;
	return curtop;}
function detach(){
	lay=document.getElementById('floatlayer');
	l=getXCoord(lay);
	t=getYCoord(lay);
	lay.style.position='absolute';
	lay.style.top=t;
	lay.style.left=l;
	getFloatLayer('floatlayer').initialize();
	alignFloatLayers();}
function getXCoord(el) {
	x=0;
	while(el){
		x+=el.offsetLeft;
		el=el.offsetParent;}
	return x;}
function getYCoord(el) {
	y=0;
	while(el){
		y+=el.offsetTop;
		el=el.offsetParent;}
	return y;}
function FloatLayer(n, offX, offY, spd,ylimit) {
	this.ylimit = ylimit;
	this.index=FloatLayers.length;
	FloatLayers.push(this);
	FloatLayersByName[n] = this;
	this.name    = n;
	this.floatX  = 0;
	this.floatY  = 0;
	this.tm      = null;
	this.steps   = spd;
	this.alignHorizontal=(offX>=0) ? leftFloater : rightFloater;
	this.alignVertical  =(offY>=0) ? topFloater : bottomFloater;
	this.ifloatX = Math.abs(offX);
	this.ifloatY = Math.abs(offY);}
function defineFloater(){
	this.layer  = document.getElementById(this.name);
	this.width  = this.layer.offsetWidth;
	this.height = this.layer.offsetHeight;
	this.prevX  = this.layer.offsetLeft;
	this.prevY  = this.layer.offsetTop;}
function adjustFloater(){
	this.tm=null;
	if(this.layer.style.position!='absolute')return;

	var dx = Math.abs(this.floatX-this.prevX);
	var dy = Math.abs(this.floatY-this.prevY);

	if (dx < this.steps/2)
		cx = (dx>=1) ? 1 : 0;
	else
		cx = Math.round(dx/this.steps);

	if (dy < this.steps/2)
		cy = (dy>=1) ? 1 : 0;
	else
		cy = Math.round(dy/this.steps);
		
	if(this.floatY<this.ylimit-14){this.floatY=this.ylimit-14}
	if (this.floatX > this.prevX)
		this.prevX += cx;
	else if (this.floatX < this.prevX)
		this.prevX -= cx;

	if (this.floatY > this.prevY)
		this.prevY += cy;
	else if (this.floatY < this.prevY)
		this.prevY -= cy;

	this.layer.style.left = this.prevX;
	this.layer.style.top  = this.prevY;

	if (cx!=0||cy!=0){
		if(this.tm==null)this.tm=setTimeout('FloatLayers['+this.index+'].adjust()',50);
	}else
		alignFloatLayers();}
function alignFloater(){
	if(this.layer==null)this.initialize();
	this.alignHorizontal();
	this.alignVertical();
	if(this.prevX!=this.floatX || this.prevY!=this.floatY){
		if(this.tm==null)this.tm=setTimeout('FloatLayers['+this.index+'].adjust()',50);}}
function res(){
	if ((screen.width>1024) && (screen.height>768)){
	for (i=0,num = document.getElementsByTagName('img').length; num > i; i++){document.getElementsByTagName('img')[i].src = document.getElementsByTagName('img')[i].src.replace("-50.jpg","-100.jpg");}}
	var cartdiv = document.getElementById('floatlayer');
	var cartx = findPosX(cartdiv);
	var carty = findPosY(cartdiv);
	carty -= 22;
	new FloatLayer('floatlayer',cartx,10,2,carty);
	detach();}
function float(){
	var cartdiv = document.getElementById('cartpos');
	var cartx = findPosX(cartdiv);
	var carty = findPosY(cartdiv);
	carty -= 27;
	cartx -=15;
	new FloatLayer('floatlayer',cartx,10,2,carty);
	detach();
	}
function googlecartOnCheckoutClick(){
	var itemcount = 0;
	var items = googlecart.getItems();
	var subtotal = googlecart.getSubtotal();
	for (var i = 0, l=items.length; i<l; i++) {if (!items[i].isMarkedForRemoval()) {itemcount += items[i].getQuantity();}}
		if (itemcount <= 1 && itemcount != 0 && subtotal <= 63){document.getElementById("minpurchase").style.visibility="visible";
			return false;}
		else {document.getElementById("minpurchase").style.visibility="hidden";
			return true;}
			}
var intIndexOfMatch;
var sf = "";
var dimn = "";
var xyza = [["xxxx"],["yyyy"],["zzzz"],["aaaa"]];
function imgfallback(id){document.getElementById(id).src="http://www.mdsdriveshaft.com/images/ujoints/spicergrease-100.jpg";}
function testingthis(){
if (window.location.search.substring(1) == "straps"){strap();}
if (window.location.search.substring(1) == "yokes"){yoke();}
if (window.location.search.substring(1) == "ujoints"){joints();}
if (window.location.search.substring(1) == 0){joints();}
float();
}
function dimensions(dimn){
	var img = document.getElementById(dimn).src;
	if (img.indexOf("X.") != -1 || img.indexOf("x.") != -1 || img.indexOf("se-") != -1 ||  img.indexOf("250.jpg") != -1 ||  img.indexOf("320.jpg") != -1){
	if (screen.width>1024){
		img = img.replace("X.","X-100.");
		img = img.replace("x.","x-100.");
		img = img.replace("-320.","-100.");
		document.getElementById(dimn).width ="100";}
	if (screen.width<=1024){
		img = img.replace("-320.","-50.");
		if (img.indexOf("50.jpg") == -1 && img.indexOf("320.jpg") == -1) {img = img.replace("0.jpg","0-50.jpg");}
		img = img.replace("X.","X-50.");
		img = img.replace("x.","x-50.");
		document.getElementById(dimn).width ="50";}
	}
else{
	img = img.replace("-100.","-320.");
	img = img.replace("-50.","-320.");
	document.getElementById(dimn).width ="320";}
	document.getElementById(dimn).src = img;
}
