var CURRENT_COLLECTION = 21;

var is_ie;
if (document.all)
	is_ie = true;
else
	is_ie = false;

getByName = function(name) {
    if (is_ie) {
        var elts = [];
        for (var i = 0; i < document.all.length; i++) {
            if (document.all[i].name == name)
                elts.push(document.all[i]);
        }
        return elts;
    }
    else
        return document.getElementsByName(name);
};
getElement = function(id) {
	return document.getElementById(id);
};

function previousElement(e) {
	var elt = e;
	do {
		elt = elt.previousSibling;
	}
	while (elt && !elt.getAttribute);
	return elt;
}

function nextElement(e) {
	var elt = e;
	do {
		elt = elt.nextSibling;
	}
	while (elt && !elt.getAttribute);
	return elt;
}

function firstChildElement(e) {
	var elt = e.firstChild;
	while (elt && !elt.getAttribute)
		elt = elt.nextSibling;
	return elt;
}

function lastChildElement(e) {
	var elt = e.lastChild;
	while (elt && !elt.getAttribute)
		elt = elt.previousSibling;
	return elt;
}

function removeChildren(e) {
	while (e.firstChild)
		e.removeChild(e.firstChild);
}

function getElementsByClass(base, tagName, attValueRegexp, callback) {
	var res = [];
	var elts = base.getElementsByTagName(tagName);
	for (var i = 0; i < elts.length; i++) {
		if (elts[i].className.search(attValueRegexp) != -1) {
			res.push(elts[i]);
			if (callback)
				callback.call(elts[i]);
		}
	}
	return res;
}

function baseFileName() {
		var res = /\/([^\/]*)\.(s?)html/.exec(window.location);
		var file = res? res[1] : "index";
		return file;
}

function buildEmail() {
    var e = getByName("email");
	// We take a copy of the list as it's not a proper array, which causes problems when we edit the dom
	var elts = [];
	for (var i = 0; i < e.length; i++) {
        if (e[i].tagName.toLowerCase() != "input")
            elts.push(e[i]);
    }

    for (var i = 0; i < elts.length; i++) {
		var email = elts[i].innerHTML;
        email = email.replace(" at ", "@");

		// We handle things differently if we're editing
		if (document.cmsEditing)
			elts[i].parentNode.replaceChild(document.createTextNode(email), elts[i]);
		else
			elts[i].innerHTML = '<a href="mailto:' + email + '">' + email + '</a>';
	}
}

function removeComments(str) {
	var pos = str.indexOf("<!--");
	if (pos == -1)
		return str;
	var pos2 = str.indexOf("-->");
	str = str.substring(0, pos) + str.substring(pos2 + 3);
	return removeComments(str);
}

function css(file) {
    if (document.cmsEditing) {
        document.writeln('<link href="/' + cssName(file + "-edit") + '" rel="stylesheet" type="text/css">');
    }
}

function cssName(file) {
	return "css/" + file + "8.css";
}

function nop() {}

function addClass(elt, className) {
	if (elt.className.search(new RegExp("\\b" + className + "\\b")) == -1)
		elt.className += " " + className;
}

function removeClass(elt, className) {
	elt.className = elt.className.replace(new RegExp("\\b" + className + "\\b"), "");
}

function insertRandomCollectionImage() {
	document.write('<img src="' + randomCollectionImageUrl() + '" />');
}

function randomCollectionImageUrl() {
	var num = Math.floor(Math.random() * 15) + 1;
	if (num < 10)
		num = "0" + num;
    return "/collections/" + CURRENT_COLLECTION + "/big/" + num + ".jpg";
}

function getQueryString() {
    var url = window.location.href + "";
    var pos = url.indexOf("?");
    return pos == -1? "" : url.substring(pos + 1);
}

function getQueryParameters() {
    var qs = getQueryString();
    if (qs == "")
        return {};
    var pairs = qs.split("&");
    var params = {};
    for (var i = 0; i < pairs.length; i++) {
        var nv = pairs[i].split("=");
        params[nv[0]] = nv[1];
    }
    return params;
}

function png(src, w, h, id) {
    if (document.all)
        document.writeln('<div id="' + id + '" style="position:relative; height:' + h + 'px; width:' + w + 'px;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' + src + '\',sizingMethod=\'scale\');"></div>');
    else
        document.writeln('<img src="' + src + '" id="' + id + '"/>');
}
