
jQuery.fromXMLString = function(strXML){
	if (window.DOMParser) {
		return jQuery(new DOMParser().parseFromString(strXML, "text/xml"));
	} else if (window.ActiveXObject) {
		var doc = new ActiveXObject("Microsoft.XMLDOM");
		doc.async = "false";
		doc.loadXML(strXML);
		return jQuery(doc);
	} else {
		return jQuery(strXML);
	}
};
	
// http://www.quirksmode.org/js/cookies.html
function createCookie(name,value,days) {
	var expires;
	if (days) {
		var date = new Date();
		date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
		expires = "; expires=" + date.toGMTString();
	} else {
		expires = "";
	}
	document.cookie = name+"="+value+expires+"; path=/";
}


function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0) == ' ') {
			c = c.substring(1, c.length);
		}
		if (c.indexOf(nameEQ) === 0) {
			return c.substring(nameEQ.length, c.length);
		}		
	}
	return null;
}


function eraseCookie(name) {
	createCookie(name,"",-1);
}


isCookieEnabled = function() { 
	if (navigator.cookieEnabled != undefined) return navigator.cookieEnabled;
	if (isCookieEnabled.cache != undefined) return isCookieEnabled.cache;
	createCookie('testcookie', 'test', '1');
	var cookies = document.cookie;
	
	if (cookies.indexOf("testcookie=test") == -1) {
		isCookieEnabled.cache = false;
	} else {
		eraseCookie('testcookie');
		isCookieEnabled.cache = true;
		return true;
	}
}

function getQueryParameterByName( name ) {
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if (results === null) {
  	return "";
  }  else {
  	return decodeURIComponent(results[1].replace(/\+/g, " "));
  }
}

