﻿// by Josh Christie (www.joshchristie.com)

// Get a new XMLHttpRequest object
function jcGetXmlHttp() {
	var xmlHttpReq = false;
	if (window.XMLHttpRequest) {  // Mozilla/Safari
		xmlHttpReq = new XMLHttpRequest();
	} else if (window.ActiveXObject) { //IE
		xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	return xmlHttpReq;
}

function jcGetCurrentYPosition() {
	if (document.body && document.body.scrollTop) {
		return document.body.scrollTop;
	}
	
	if (document.documentElement && document.documentElement.scrollTop) {
		return document.documentElement.scrollTop;
	}
	
	if (window.pageYOffset) {
		return window.pageYOffset;
	}
	return 0;
}

function jcGetAbsoluteXPosition(element) {
	//determine the absolute location of an element
	var absoluteX = element.offsetLeft; 
	var absoluteY = element.offsetTop;
	var currentNode = element;
	while (currentNode.offsetParent && (currentNode.offsetParent != document.body)) {
		currentNode = currentNode.offsetParent;
		absoluteX += currentNode.offsetLeft;
		absoluteY += currentNode.offsetTop;
	}
	
	return absoluteX;
}

function jcGetAbsoluteYPosition(element) {
	//determine the absolute location of an element
	var absoluteX = element.offsetLeft; 
	var absoluteY = element.offsetTop;
	var currentNode = element;
	while (currentNode.offsetParent && (currentNode.offsetParent != document.body)) {
		currentNode = currentNode.offsetParent;
		absoluteX += currentNode.offsetLeft;
		absoluteY += currentNode.offsetTop;
	}
	
	return absoluteY;
}

function jcGetFullVirtualFolderUrl() {
    var lastSlashIndex = window.location.lastIndexOf('/');
    return window.location.substr(0, lastSlashIndex + 1);
}