function $(element) {
    if (arguments.length > 1) {
        for (var i = 0, elements = [], length = arguments.length; i < length; i++) {
            elements.push($(arguments[i]));
        }
        return elements;
    }
    if (typeof element == 'string') element = document.getElementById(element);
    return element;
}
var Monta = {
	images: new Array(),
	createOverlay: function() {
        if ($('overlay-image')) return null;
        var css = document.createElement('link');
        css.setAttribute('rel', 'stylesheet');
        css.setAttribute('type', 'text/css');
        css.setAttribute('href', httpdocs + 'montana_overlay.css');
        css.id = 'overlay-style';
        document.getElementsByTagName('head')[0].appendChild(css);
        var div = document.createElement('div');
        div.id = 'overlay-image';
        var wWidth = self.innerWidth || (document.documentElement.clientWidth || document.body.clientWidth);
        var xScroll = document.body.scrollWidth || document.body.offsetWidth;
        var wHeight = self.innerHeight || (document.documentElement.clientHeight || document.body.clientHeight);
        if (window.innerHeight && window.scrollMaxY) {
            var yScroll = window.innerHeight + window.scrollMaxY;
        } else {
            var yScroll = document.body.scrollHeight || document.body.offsetHeight;
        }
        
        div.style.cssText = 'width:' + (xScroll < wWidth ? wWidth : xScroll) + 'px;height:' + (yScroll < wHeight ? wHeight : yScroll) + 'px;';
        var bg = div.cloneNode(false);
        bg.id = 'overlay-background';
        document.body.appendChild(bg);
        var y = self.pageYOffset || (document.documentElement.scrollTop || document.body.scrollTop);
        var p = document.createElement('p');
        p.appendChild(document.createTextNode('× クリックすると閉じます'));
        p.style.marginTop = y + 30 + 'px';
        div.appendChild(p);
        var img = document.createElement('img');
        Monta.addEvent(p, 'click', Monta.removeOverlay);
        Monta.addEvent(div, 'click', Monta.removeOverlay);
        Monta.addEvent(img, 'click', Monta.removeOverlay);
        div.appendChild(img);
        return div;
    },
    removeOverlay: function() {
        if (!$('overlay-image')) return;
        document.body.removeChild($('overlay-image'));
        document.body.removeChild($('overlay-background'));
        var head = document.getElementsByTagName('head')[0];
        head.removeChild($('overlay-style'));
        var css = document.createElement('link');
        css.setAttribute('rel', 'stylesheet');
        css.setAttribute('type', 'text/css');
        css.setAttribute('href', httpdocs + 'montana_overlay_remove.css');
        head.appendChild(css);
    },
    createMap: function() {
        var div = Monta.createOverlay();
        if (!div) return;
        div.getElementsByTagName('img')[0].src = httpdocs + 'map_deliver.gif';
        document.body.appendChild(div);
    },
	createCatalog: function() {
        var div = Monta.createOverlay();
        if (!div) return;
        div.getElementsByTagName('img')[0].src = catalogPath + imageId + '.jpg';
        var t = $('item-name').cloneNode(true);
        div.appendChild(t);
        var t = $('item-spec').cloneNode(true);
        div.appendChild(t);
        document.body.appendChild(div);
    },
	addEvent: function(src, type, listener) {
		if (src.addEventListener) src.addEventListener(type, listener, false);
		else if (src.attachEvent) src.attachEvent('on' + type, listener);
	},
	createThumbnail: function() {
		var thumbnail = $('item-thumbnail');
		if (!thumbnail) return;
		thumbnail.innerHTML = '';
		var p = document.createElement('p');
		var ul = document.createElement('ul');
        var css = '';
		for (var i = 1; i <= imageNum; i++) {
			var li = document.createElement('li');
			var img = document.createElement('img');
			img.src = imagePath + 'thumb/' + imageId + '_' + i + (imageWidth != 400 ? '_' + imageWidth : '') + '.jpg';
			img.setAttribute('title', '画像' + i);
			img.setAttribute('alt', '画像' + i);
			img.className = (i != 1 ? '' : 'current');
//			Monta.addEvent(img, 'click', Monta.selectThumbnail);
			Monta.addEvent(img, 'mouseover', function(e) {
                var div = $('item-image-500');
                if (div) {
                    var a = $('mojomagnify_parent');
                    if (a) {
                        div.removeChild(a);
                        var image = document.createElement('img');
                        image.id = 'item-image';
                        div.insertBefore(image, $('item-thumbnail'));
                    }
                }

        		var element = e.target || e.srcElement;
        		var image = $('item-image');
                
                image.src = element.src.replace('thumb/', '');
                var l = $('item-thumbnail').getElementsByTagName('li');
                for (var j = 0; j < l.length; j++) {
                    l[j].className = '';
                }
                element.parentNode.className = 'current';

                MojoMagnify.makeMagnifiable(image, element.src.replace('thumb/', '').replace('_500.', '_1500.'));
			});
			li.appendChild(img);
			ul.appendChild(li);
		}
        var catalog = $('catalog');
        if (catalog) {
            var a = catalog.cloneNode(true);
			var li = document.createElement('li');
            li.appendChild(a);
            ul.appendChild(li);
            catalog.style.display = 'none';
        }
		thumbnail.appendChild(p);
		thumbnail.appendChild(ul);
	},
	setKey : function(src) {
		var input = $('order-quantity');
		if (!input) return;
		input.setAttribute('name', src.value);
	},
	load : function() {
		var form = $('order-form');
		if (form) form.style.display = 'block';
		Monta.createThumbnail();
	}
}
loc = location.href;
if (imageDir == undefined) var imageDir = '';
if (!imageWidth) var imageWidth = '400';

if (loc.indexOf('local.monta') == -1) {
	var imagePath = '/' + imageDir + '/img/';
    var catalogPath  = '/catalog/' + imageDir + '/';
    var httpdocs  = '/';
} else {
	var imagePath = '/web/img/' + imageDir + '/';
    var catalogPath  = '/web/monta/catalog/' + imageDir + '/';
    var httpdocs  = '/web/monta/';
	if (!imageNum) alert('画像枚数が入力されていません');
}
delete(loc);
Monta.addEvent(window, 'load', Monta.load);
