var lm = function() {

    /* private variables */
	var image_prefix = "";
	var language = "";

    /* private methods */

    function padRight(text, len, padChar) {
        text += "";
        while (text.length < len) {
            text += padChar;
        }
        return text;
    }

    function padLeft(text, len, padChar) {
        text += "";
        while (text.length < len) {
            text = padChar + text;
        }
        return text;
    }

    return {

        /* public variables */


        /* public methods */

        mouseOver: function(img_, id_) {
            img_.src = "images/" + language + image_prefix + "-mo_" + id_ + ".jpg";
        },

        mouseOut: function(img_, id_) {
            img_.src = "images/" + language + image_prefix + "_" + id_ + ".jpg";
        },

        mouseOverX: function(img_, id_) {
            img_.src = "images/" + language + id_;
        },

        mouseOutX: function(img_, id_) {
            img_.src = "images/" + language + id_;
        },
		
		setImagePrefix: function(text_) {
			image_prefix = text_;
        },
		
		setLanguage: function(text_) {
			language = text_ + "/";
        },
		
		getElement: function(el_) {
			if (typeof el_ === 'string') {
				return document.getElementById(el_);
			} else {
				return el_;
			}
		},		
		
		showHide: function(el_) {
			el = lm.getElement(el_);

			if (lm.hasClass(el, 'hidden')) {
				lm.removeClass(el, 'hidden');
			} else {
				lm.addClass(el, 'hidden');
			}
		},

		hasClass: function(el_, class_) {
			el = lm.getElement(el_);

			var _regExp = new RegExp(class_, "gi");

			return _regExp.test(el.className);
		},

		replaceClass: function(el_, oldClass_, newClass_) {
			el = lm.getElement(el_);
			
			if (lm.hasClass(el, oldClass_)) {
				var _regExp = new RegExp(oldClass_, "gi");
				el.className = el.className.replace(_regExp, newClass_);
			}
			else {
				lm.addClass(el, newClass_);
			}
		},

		removeClass: function(el_, class_) {
			el = lm.getElement(el_);
			lm.replaceClass(el, class_, "");
		},

		addClass: function(el_, class_) {
			el = lm.getElement(el_);

			if (!lm.hasClass(el, class_)) {
				el.className += " " + class_ + " ";
			}
		}		

    };

} ();

