function viewit(targetLoad,p) {
	var x = get_cookie('assetGate');
	if(x.length < 1) {
		// load the form
		var content = document.getElementById("poppedContent");
		content.style.display = "block";
		
		var viewer = document.getElementById("viewerC");
		var srcURL = "http://www.pentaho.com/products/demos/inner.php?d=" + targetLoad;
		if(p) {
			srcURL += "&p=" + p;
		}
		viewer.src = srcURL
		viewer.width = 550;
		viewer.height = 610;
		addtitle("About You");
		sizeit();
		
		
		//document.onclick = checkTarget;
	} else {
		if(!p) {
			var content = document.getElementById("poppedContent");
			content.style.display = "block";
			
			var viewer = document.getElementById("viewerC");
			viewer.src = "http://www.pentaho.com/products/demos/" + targetLoad;
			//document.onclick = checkTarget;
		} else {
			// show a window to link to item for when it gets bloked by any popup blocker
			eval("pagedemo = window.open('" + targetLoad + "', 'pentahoWindow', 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1');");
			
			if (typeof(_gat) == 'object') {
				pageTracker._trackPageview(targetLoad);
			}
			/*var content = document.getElementById("poppedContent");
			content.style.display = "block";
			
			checkLock();
			var viewerC = document.getElementById("viewerC");
			viewerC.style.display = "table";
			viewerC.width = 375;
			viewerC.height = 200;
			addtitle("PDF Format: Adobe Reader Required");
			//viewerC.src = "/products/demos/pdfwindow.htm";
			sizeit();
			var boxContent = document.getElementById("com_box_float");
			boxContent.innerHTML = "<div style=\"width:375px; height:200px;\"><p>The document you requested is in Adobe PDF format. To view the " + 
			"file within your browser you will need the latest version of Adobe Reader. Use Adobe&copy; Reader&copy; to view, search, digitally " + 
			"sign, verify, print, and collaborate on Adobe PDF files.</p>" + 
			"<p><a href=\"http://www.adobe.com/products/reader/\" target=\"_blank\">Download Adobe Reader</a>.</p>" + 
			"<p>If you already have the reader you can <a href=\"" + targetLoad + "\" onclick=\"parent.closeit();\" target=\"pentahoWindow\">view the document now</a>.</p></div>";
			
			*/
		}
	}
}

function viewungated(targetLoad,p) {
	if(!p) {
		var content = document.getElementById("poppedContent");
		content.style.display = "block";
		
		var viewer = document.getElementById("viewerC");
		viewer.src = "http://www.pentaho.com/products/demos/" + targetLoad;
		//document.onclick = checkTarget;
	} else {
		// show a window to link to item for when it gets bloked by any popup blocker
		eval("pagedemo = window.open('" + targetLoad + "', 'pentahoWindow', 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1');");
		
		if (typeof(_gat) == 'object') {
			pageTracker._trackPageview(targetLoad);
		}
	}
}

function sizeit() {
	
	var viewer = document.getElementById("viewerC");
	var content = document.getElementById("poppedContent");
	var viewerX = self.pageXOffset ? self.pageXOffset : document.documentElement && document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body ? document.body.scrollLeft : null;
	var viewerY = self.pageYOffset ? self.pageYOffset : document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body ? document.body.scrollTop : null;
	
	var topPadding = viewerY -(viewer.height/2);
	var sidePadding = viewerX -(viewer.width/2);
	content.style.position = "absolute";
	if(document.getElementById("grabbar_block").innerHTML == "About You") {
		content.style.top = viewerY + 25;
	} else {
		content.style.top = viewerY + ((viewerY - topPadding)/2);
	}
	var docW = document.body.clientWidth || document.width;
	content.style.left = (docW/2) - (viewer.width/2);
	
}

function sizeform() {
	
	var viewer = document.getElementById("viewerC");
	var content = document.getElementById("poppedContent");
	var viewerX = self.pageXOffset ? self.pageXOffset : document.documentElement && document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body ? document.body.scrollLeft : null;
	var viewerY = self.pageYOffset ? self.pageYOffset : document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body ? document.body.scrollTop : null;
	
	var sidePadding = viewerX -(viewer.width/2);
	content.style.position = "absolute";
	content.style.top = 30;
	var docW = document.body.clientWidth || document.width;
	content.style.left = (docW/2) - (viewer.width/2);
	
}

function addtitle(t) {
	// set title on floating pop
	var titleBar = document.getElementById("grabbar_block");
	titleBar.innerHTML = t;
}

function closeit() {
	//document.onclick = null;
	var content = document.getElementById("poppedContent");
		content.style.display = "none";
	var viewer = document.getElementById("viewerC");
		viewer.src = "";
}

function checkTarget(e) {
	var target = (e && e.target) || (event && event.srcElement);
	var closePoppedContent = true;
	while(target.parentNode){
		if(target==document.getElementById('poppedContent')){
			closePoppedContent = false;
		}
		target=target.parentNode
	}
	if(closePoppedContent) {
		closeit();
	}
}

function checkLock() {
	var x = get_cookie('assetGate');
	
	var gatedLinks = getElementsByClassName(document, "a", "lockedLink");
	var gatedButtons = getElementsByClassName(document, "a", "button_locked");
	if(x.length < 1) {
		// non tabbed locked links
		for(var g=0; g < gatedLinks.length; ++g) {
			gatedLinks[g].className = "lockedLink";
		}
		// tabbed demos page
		for(var g=0; g < gatedButtons.length; ++g) {
			gatedButtons[g].className = "button_locked";
		}
	} else {
		// non tabbed
		for(var g=0; g < gatedLinks.length; ++g) {
			gatedLinks[g].className = "unlockedLink";
		}
		// tabbed
		for(var g=0; g < gatedButtons.length; ++g) {
			gatedButtons[g].className = "button_unlocked";
		}
	}
}

/*
	getElementsByClassName
	Written by Jonathan Snook, http://www.snook.ca/jonathan
	Add-ons by Robert Nyman, http://www.robertnyman.com
*/

function getElementsByClassName(oElm, strTagName, strClassName){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/\-/g, "\\-");
	var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];
		if(oRegExp.test(oElement.className)){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
}

function get_cookie(Name) {
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset);
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}

// =====================
// popup drag code ---- 
// =====================
function dragMousePos(e) {
	//get the position of the mouse
	if( !e ) { e = window.event; } if( !e || ( typeof( e.pageX ) != 'number' && typeof( e.clientX ) != 'number' ) ) { return [0,0]; }
	if( typeof( e.pageX ) == 'number' ) { var xcoord = e.pageX; var ycoord = e.pageY; } else {
		var xcoord = e.clientX; var ycoord = e.clientY;
		if( !( ( window.navigator.userAgent.indexOf( 'Opera' ) + 1 ) || ( window.ScriptEngine && ScriptEngine().indexOf( 'InScript' ) + 1 ) || window.navigator.vendor == 'KDE' ) ) {
			if( document.documentElement && ( document.documentElement.scrollTop || document.documentElement.scrollLeft ) ) {
				xcoord += document.documentElement.scrollLeft; ycoord += document.documentElement.scrollTop;
			} else if( document.body && ( document.body.scrollTop || document.body.scrollLeft ) ) {
				xcoord += document.body.scrollLeft; ycoord += document.body.scrollTop; } } }
	return [xcoord,ycoord];
}

function dragIsDown(e) {
	var popedDiv = document.getElementById("poppedContent");
	
	//make note of starting positions and detect mouse movements
	if( ( e && ( e.which > 1 || e.button > 1 ) ) || ( window.event && ( window.event.which > 1 || window.event.button > 1 ) ) ) { return false; }
	if( document.onmouseup == dragIsMove ) { document.onmousemove = storeMOUSEMOVE; document.onmouseup = window.storeMOUSEUP; } //mouseup was over chrome
	window.msStartCoord = dragMousePos(e); window.lyStartCoord = popedDiv.style?[parseInt(popedDiv.style.left),parseInt(popedDiv.style.top)]:[parseInt(popedDiv.left),parseInt(popedDiv.top)];
	if( document.captureEvents && Event.MOUSEMOVE ) { document.captureEvents(Event.MOUSEMOVE); document.captureEvents(Event.MOUSEUP); }
	window.storeMOUSEMOVE = document.onmousemove; window.storeMOUSEUP = document.onmouseup; window.storeLayer = popedDiv;
	document.onmousemove = dragIsMove; document.onmouseup = dragIsMove; return false;
}

function dragIsMove(e) {
	//move the layer to its newest position
	var msMvCo = dragMousePos(e); if( !e ) { e = window.event ? window.event : ( new Object() ); }
	var newX = window.lyStartCoord[0] + ( msMvCo[0] - window.msStartCoord[0] );
	var newY = window.lyStartCoord[1] + ( msMvCo[1] - window.msStartCoord[1] );
	//reset the mouse monitoring as before - delay needed by Gecko to stop jerky response (hence two functions instead of one)
	//as long as the Gecko user does not release one layer then click on another within 1ms (!) this will cause no problems
	if( e.type && e.type.toLowerCase() == 'mouseup' ) { document.onmousemove = storeMOUSEMOVE; document.onmouseup = window.storeMOUSEUP; }
	if( navigator.product == 'Gecko' ) { window.setTimeout('dragIsMove2('+newX+','+newY+');',1); } else { dragIsMove2(newX,newY); }
}

function dragIsMove2(x,y) { var oPix = ( document.childNodes ? 'px' : 0 ), theLayer = ( window.storeLayer.style ? window.storeLayer.style : window.storeLayer ); theLayer.left = x + oPix; theLayer.top = y + oPix; }

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];}
}

