function toggle (id) {
	var obj = document.getElementById (id);
	if (obj.style.display == 'none')
		obj.style.display = 'block';
	else {
		var prv = document.getElementById ('previewimg');
		if (prv) {
			prv.src = "/images/loading-preview.jpg";
		}
		obj.style.display = 'none';
	}
}

function toggle2 (id, form) {
	var obj = document.getElementById (id);
	obj.style.display = (obj.style.display == 'none') ? '' : 'none';
}

function toggleMenu (id) {
	toggle ('sub' + id);
	var plus = document.getElementById ('plus' + id);
	var div = document.getElementById ('sub' + id);
	var sign = (div.style.display == 'none') ? '+' : '-';
	plus.innerHTML = sign;
}

function loadCard (card, id) {
	var xmlHttp;
	
	try {
		// Firefox, Opera 8.0+, Safari
		xmlHttp = new XMLHttpRequest();
	}
	catch (e) {
		// Internet Explorer
		try {
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			try {
				xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) {
				return false;
			}
		}
	}

	xmlHttp.onreadystatechange=function() {
		if (xmlHttp.readyState == 4) {
			obj = document.getElementById (card + '_card');
			obj.innerHTML = xmlHttp.responseText;
		}
	}

	xmlHttp.open("GET", unescape ('%2F' + card + '_card.php%3Fid%3D') + id, true);
	xmlHttp.send(null);
}

function getScrollY () {
	var scrOfY = 0;
  if ( document.body && document.body.scrollTop ) {
	//DOM compliant
	scrOfY = document.body.scrollTop;
} else if ( document.documentElement && document.documentElement.scrollTop ) {
	//IE6 standards compliant mode
	scrOfY = document.documentElement.scrollTop;
}
	return scrOfY;
}

function findPosition (obj) {
  if( typeof( obj.offsetParent ) != 'undefined' ) {
    for( var posX = 0, posY = 0; obj; obj = obj.offsetParent ) {
      posX += obj.offsetLeft;
      posY += obj.offsetTop;
    }
    return [ posX, posY ];
  } else {
    return [ obj.x, obj.y ];
  }
}

function preview (card, id) {
	var width = (card == "materials") ? 550 : 1150;
	var height = (card == "materials") ? 450 : 570;
	loadCard (card, id);
	
	if (card == "materials") {
		var card = document.getElementById (card + '_card');
	
		var thumb = document.getElementById ('thumb' + id);
		var pos = findPosition (thumb);

		if (pos[0] + width + 50 > screen.width)
			pos[0] -= width + 5;
		else
			pos[0] += 24;
	
		if (pos[1] + 450 - getScrollY() > document.body.clientHeight)
			pos[1] = document.body.clientHeight + getScrollY() - 450 - 24;

		card.style.top = (pos[1]) + 'px';
		card.style.left = (pos[0]) + 'px';

		card.style.display = 'block';
	} 

 if (card == "member") {
		var card = document.getElementById (card + '_card');

		card.style.top = ((document.body.clientHeight - height) / 2) + 'px';
		card.style.left = ((document.body.clientWidth - width) / 2) + 'px';
	
		card.style.display = 'block';
	}


 if (card == "product") {
		var card = document.getElementById (card + '_card');

		card.style.top = ((document.body.clientHeight - height) / 2) + 'px';
		card.style.left = ((document.body.clientWidth - width) / 2) + 'px';
	
		card.style.display = 'block';
	}


}

function Close (card) {
	var card = document.getElementById (card + '_card');
	card.style.display = 'none';
	alert (card + 'closed!');
}

function pageLoaded() {
	var trans = document.getElementById ('transition');
	var table = document.getElementById ('page');

	table.style.display = 'block';
	trans.style.display = 'none';
}

function swapImage (img, src) {
	img.src = src;
}

function swapImageFade (eid, tmp, src) {
	var img1 = document.getElementById (eid);
	var img2 = document.getElementById (tmp);
	
	img1.style.display = 'none';

	img2.style.opacity = '0';
	img2.style.filter = 'alpha(opacity = 0)';
	img2.src = src;
	img2.style.display = 'block';
	img2.FadeState = -2;
	fade (tmp);
}

function swapImageFadeRestore (eid, tmp) {
	var img1 = document.getElementById (eid);
	var img2 = document.getElementById (tmp);
	
	img2.style.display = 'none';
	img2.src = "/images/loading-preview.jpg";

	img1.style.display = 'block';
	img1.style.opacity = '0';
	img1.style.filter = 'alpha(opacity = 0)';
	img1.FadeState = -2;
	fade (eid);
}

function ajax (eid, request) {
	var xmlHttp;
	
	try {
		// Firefox, Opera 8.0+, Safari
		xmlHttp = new XMLHttpRequest();
	}
	catch (e) {
		// Internet Explorer
		try {
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			try {
				xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) {
				return false;
			}
		}
	}

	xmlHttp.onreadystatechange=function() {
		if (xmlHttp.readyState == 4) {
			obj = document.getElementById (eid);
			obj.innerHTML = xmlHttp.responseText;
		}
	}

	xmlHttp.open("GET", unescape (request), true);
	xmlHttp.send(null);
}

function ajaxfade (eid, request) {
	var xmlHttp;
	
	try {
		// Firefox, Opera 8.0+, Safari
		xmlHttp = new XMLHttpRequest();
	}
	catch (e) {
		// Internet Explorer
		try {
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			try {
				xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) {
				return false;
			}
		}
	}

	xmlHttp.onreadystatechange=function() {
		if (xmlHttp.readyState == 4) {
			obj = document.getElementById (eid);
			obj.innerHTML = xmlHttp.responseText;
			fade (eid);
		}
	}

	xmlHttp.open("GET", unescape (request), true);
	xmlHttp.send(null);
}

var TimeToFade = 500.0;

function fade (eid) {
	var element = document.getElementById (eid);
	if (element == null) return;
   
	if (element.FadeState == null) {
		if (element.style.opacity == null || element.style.opacity == '' || element.style.opacity == '1') {
			element.FadeState = 2;
		} else {
			element.FadeState = -2;
		}
	}
   
	if (element.FadeState == 1 || element.FadeState == -1) {
		element.FadeState = element.FadeState == 1 ? -1 : 1;
		element.FadeTimeLeft = TimeToFade - element.FadeTimeLeft;
	} else {
		element.FadeState = element.FadeState == 2 ? -1 : 1;
		element.FadeTimeLeft = TimeToFade;
		setTimeout("animateFade(" + new Date().getTime() + ",'" + eid + "')", 33);
	} 
}

function animateFade (lastTick, eid) { 
	var curTick = new Date().getTime();
	var elapsedTicks = curTick - lastTick;
 
	var element = document.getElementById(eid);
 
	if (element.FadeTimeLeft <= elapsedTicks) {
		element.style.opacity = element.FadeState == 1 ? '1' : '0';
		element.style.filter = 'alpha(opacity = ' + (element.FadeState == 1 ? '100' : '0') + ')';
		element.FadeState = element.FadeState == 1 ? 2 : -2;
		return;
	}
 
	element.FadeTimeLeft -= elapsedTicks;
	var newOpVal = element.FadeTimeLeft/TimeToFade;
	if(element.FadeState == 1)
		newOpVal = 1 - newOpVal;

	element.style.opacity = newOpVal;
	element.style.filter = 'alpha(opacity = ' + (newOpVal*100) + ')';
 
	setTimeout("animateFade(" + curTick + ",'" + eid + "')", 33);
}





function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
