﻿function ParseHash() {
	var query = new Object();

	var queryStrings = ClearHash(location.hash).split("&");
	for (var i = 0; i < queryStrings.length; i++) {
		var queryStringKeyAndValue = queryStrings[i].split("=");
		var queryStringKey = queryStringKeyAndValue[0];
		var queryStringValue = queryStringKeyAndValue[1];
		query[queryStringKey] = queryStringValue;
	}

	return query;
}

function ClearHash(hash) {
	return hash.replace(/^#/, "");
}

function ClearLink(link) {
	return link.replace("http://", "");
}


function ClearHashLink(link) {
	return ClearHash(ClearLink(link));
}

$.fn.getClassNames = function() {
	if (name = this.attr("className")) {
		return name.split(" ");
	}
	else {
		return [];
	}
}

function a(o) {
	alert(JSON.stringify(o));
}

function getScrollingPosition() {
	var position = [0, 0];

	if (typeof window.pageYOffset != 'undefined') {
		position = [
       window.pageXOffset,
       window.pageYOffset
   ];
	}

	else if (typeof document.documentElement.scrollTop
     != 'undefined' && document.documentElement.scrollTop > 0) {
		position = [
       document.documentElement.scrollLeft,
       document.documentElement.scrollTop
   ];
	}

	else if (typeof document.body.scrollTop != 'undefined') {
		position = [
       document.body.scrollLeft,
       document.body.scrollTop
   ];
	}

	return position;
}

function GetFromEnum(what, where) {
	if (typeof what == "string") {
		if (where[what]) {
			return where[what];
		}
		return 0;
	}
	if (typeof what == "number") {
		for (var prop in where) {
			if (where[prop] === what) {
				return prop;
			}
		}
		return "";
	}
}

function GetIdFromClass(jEl, prefix) {
	var classNames = jEl.getClassNames();

	for (var i in classNames) {
		if (classNames[i].indexOf(prefix) >= 0) {
			return classNames[i].replace(prefix, "");
		}
	}
}