/* prvy skript */

/*
find actual version of this library at:
http://www.fczbkk.com/js/dom/
*/



// library for cross-browser event management
evt = {

	// attach event
	add : function(obj, evType, fn, useCapture) {
		// Opera hack
		if (window.opera && (obj == window)) {
			obj = document;
		}
		
		if (obj.addEventListener){
			obj.addEventListener(evType, fn, useCapture);
			return true;
		} else if (obj.attachEvent){
			var r = obj.attachEvent("on"+evType, fn);
			return r;
		} else {
			return false;
		}
	},
	
	// remove event
	remove : function(obj, evType, fn, useCapture) {
		// Opera hack
		if (window.opera && (obj == window)) {
			obj = document;
		}
		
		if (obj.removeEventListener) {
			obj.removeEventListener(evType, fn, useCapture);
			return true;
		} else if (obj.detachEvent) {
			var r = obj.detachEvent("on"+evType, fn);
			return r;
		} else {
			return false;
		}
	},
	
	// fix for IE event model
	fix : function(e) {
		if (typeof e == 'undefined') e = window.event;
		if (typeof e.target == 'undefined') e.target = e.srcElement;
		if (typeof e.layerX == 'undefined') e.layerX = e.offsetX;
		if (typeof e.layerY == 'undefined') e.layerY = e.offsetY;

		// thanx to KKL2401 for preventDefault hack
		if (!e.preventDefault) e.preventDefault = function() {
			e.returnValue = false;
		}

		return e;
	}

}



// library for working with multiple classes
var cls = {
	
	// vrati pole obsahujuce vsetky triedy daneho elementu
	get : function (elm) {
		if (elm && elm.tagName) {
			var cl = elm.className.replace(/\s+/g, " ");
			return cl.split(" ");
		}
		return false;
	},
	
	// vrati true, ak element obsahuje triedu
	has : function (elm, cl) {
		if ((actCl = cls.get(elm)) && (typeof(cl) == "string")) {
			for (var i = 0; i < actCl.length; i++) {
				if (actCl[i] == cl) {
					return true;
				}
			}
		}
		return false;
	},
	
	// prida triedu elementu
	add : function (elm, cl) {
		if ((actCl = cls.get(elm)) && (typeof(cl) == "string")) {
			if (!cls.has(elm, cl)) {
				elm.className += (actCl.length > 0) ? " " + cl : cl;
			}
			return true;
		}
		return false;
	},
	
	// odstrani triedu z elementu
	remove : function (elm, cl) {
		if ((actCl = cls.get(elm)) && (typeof(cl) == "string")) {
			tempCl = "";
			for (var i = 0; i < actCl.length; i++) {
				if (actCl[i] != cl) {
					if (tempCl != "") {tempCl += " ";}
					tempCl += actCl[i];
				}
				elm.className = tempCl;
			}
			return true;
		}
		return false;
	},
	
	// nahradi staru triedu elementu novou, ak stara neexistuje, prida novu
	replace : function (elm, oldCl, newCl) {
		if ((actCl = cls.get(elm)) && (typeof(oldCl) == "string") && (typeof(newCl) == "string")) {
			tempCl = "";
			if (cls.has(elm, newCl)) {
				cls.remove(elm, oldCl);
			} else if (cls.has(elm, oldCl)) {
				for (var i = 0; i < actCl.length; i++) {
					if (tempCl != "") {tempCl += " ";}
					tempCl += (actCl[i] == oldCl) ? newCl : actCl[i];
				}
				elm.className = tempCl;
			} else {
				cls.add(elm, newCl);
			}
			return true;
		}
		return false;
	}

}








/* druhy skript */


// globalna inicializacia zakladnych veci
function init() {
	corners.init();
}

// pridavanie oblych rohov na patricne miesta
corners = {
	
	init : function() {
		var divs = document.getElementsByTagName("div");
		for (var i = 0; i < divs.length; i++) {
			if (cls.has(divs[i], "item")) {
				if (cls.has(divs[i], "image")) {corners.setImage(divs[i]);}
//				if (cls.has(divs[i], "text")) {corners.setText(divs[i]);}
//				if (cls.has(divs[i], "combined")) {corners.setCombined(divs[i]);}
			}
		}
	},
	
	setImage : function(elm) {
		if (elm && (elm.getElementsByTagName("img").length > 0)) {
			var img = elm.getElementsByTagName("img")[0];
			
			corners.wrap(elm, "cornersTop");
			corners.wrap(elm, "cornersBottom");
			
			elm.style.backgroundImage = "url(" + img.src + ")";
			img.style.visibility = "hidden";
			
			return true;
		}
		return false;
	},
	
	setText : function(elm) {
		if (elm) {
			corners.wrap(elm, "cornersTop");
			corners.wrap(elm, "cornersBottom");
			return true;
		}
		return false;
	},
	
	setCombined : function(elm) {
		if (elm) {
			corners.wrap(elm, "cornersTop");
			
			if (elm.getElementsByTagName("img").length > 0) {
				var img = elm.getElementsByTagName("img")[0];
			}
			
			
			return true;
		}
		return false;
	},
	
	wrap : function(elm, cls) {
		if (elm && cls) {
			var newElm = document.createElement("div");
			newElm.className = cls;
			elm.appendChild(newElm);

			while (elm.firstChild != newElm) {
				newElm.appendChild(elm.firstChild);
			}

			return true;
		}
		return false;
	}
	
}

evt.add(window, "load", init);


