﻿// Si IE, devulve versión (numérico). En caso contrario devuelve 0.
function IEVersion() {
	var arVersion = navigator.appVersion.split("MSIE");
	if(arVersion.Length>1) {
		return parseFloat( arVersion[1] ) < 7.0;
	}else
		return 0;
}
function isIE() {
	return navigator.appVersion.indexOf("MSIE")!=-1 ;
}
function bitTst(mask,bit) { // Testear varios bits de una máscara... todos deben estar activos.
	return ( (mask & bit) == bit ); 
}
function toAbsolutePath(relativePath) {// Path virtual absoluto
	var url = new String(document.location);

	var sProtocol
	var sServer
	var sPath

	if(relativePath.length!=0) 
		if(relativePath.charAt(0)=='/' || relativePath.indexOf("http://")==0 ) 
			return relativePath;

	var iAux = url.indexOf("//");

	if(iAux>0) {
		sProtocol=url.substr(0,iAux);
		url = url.substr(iAux+2);
	} else {
		sProtocol = "";
	}

	iAux = url.indexOf("/");
	if(iAux>=0) {
		sServer = url.substr(0,iAux);
		url = url.substr( iAux+1);
	}	else {
		sServer = url;
		url = "";
	}

	sPath = "";
	iAux = url.lastIndexOf(".aspx");
	if(iAux==-1)
		iAux = url.lastIndexOf("#");
	if(iAux==-1)
		iAux = url.lastIndexOf("?");

	if(iAux>=0) {
		var arrGoodUrl = url.substr(0,iAux).split("/");
		arrGoodUrl.pop();
		sPath = arrGoodUrl.join("/");
	} else {
		if(url.charAt(url.length-1)=="/")
			sPath = url.substr(0,url.length-1);
		else
			sPath = url;
	}
	return sProtocol + "//" + sServer + ((sPath.length!=0)?("/" + sPath):("")) + "/" + relativePath;
}
function coalesce(v1,v2) {
	return (v1==undefined || v1==null)?v2:v1;
}