function addListener(element, type, expression) {
	try {
		if(window.attachEvent) { //For IE
			element.attachEvent('on'+type, expression);
		} else if(window.addEventListener)	{ //For FF, Opera, Safari etc
			element.addEventListener(type, expression, false);
		}
	} catch(e) { }
}

function searchCategoriesOnChange() {
	var search_categories = document.getElementById('search_categories');
	
	for(i=0; i<search_categories.options.length; i++) {
		tSelectedValue = search_categories.value;
		tOptionValue = search_categories.options[i].value;
		
		if(tOptionValue==tSelectedValue || tSelectedValue=='') {
			if(tOptionValue!='')
				document.getElementById('category'+'_'+tOptionValue).style.display = 'block';
		} else {
			if(tOptionValue!='')
				document.getElementById('category'+'_'+tOptionValue).style.display = 'none';
		}
	}
}

addListener(window, 'load', function() {
	addListener(document.getElementById('f_sorting_id'), 'change', submitFormItemSorting);

	var element = document.getElementById('comments_link_div');
    addListener(element, 'mouseover', function() {
		showMostRecentComments(element);
	});
    addListener(element, 'mouseout', function() {
		hideMostRecentComments(element);
	});

    var element = document.getElementById('most_recent_comments');
    addListener(element, 'mouseover', function() {
		showMostRecentComments(element);
	});
    addListener(element, 'mouseout', function() {
		hideMostRecentComments(element);
	});
	initImageGallery('imageGallery_1');
	
	var element = document.getElementById('search_categories');
	if(element) {
		addListener(element, 'change', function() {
			searchCategoriesOnChange();
		});
	}
	if(showForm) {
		document.getElementById('order_user_details_form_button').checked = true;
		showForm('order_user_details_form');
	}
});


function submitFormItemSorting() {
	document.getElementById('form_item_sorting').submit();
}

function submitForm2(id){
    //alert(id);
    var oForm = document.getElementById(id);
    oForm.submit();
}

function showMostRecentComments(eElement) {
    eMostRecentComments = document.getElementById('most_recent_comments');

    if(eMostRecentComments) {
        eMostRecentComments.style.display = 'block';
    }
}

function hideMostRecentComments(eElement) {
    eMostRecentComments = document.getElementById('most_recent_comments');

    if(eMostRecentComments) {
        eMostRecentComments.style.display = 'none';
    }
}
/* IMAGEGALLERY */

function initImageGallery(sImageGalery) {
    var eImageGalery = document.getElementById(sImageGalery);


    for(i=0; i<=9; i++) 
        if(document.getElementById('image'+'_'+i)) 
            addImageButtonAction(i, eImageGalery);


    if(document.getElementById('image'+'_'+'big')) {
        var image = document.getElementById('image'+'_'+'big');

        if(document.getElementById('image'+'_'+'big'+'_'+'button')) {
            var image_button = document.getElementById('image'+'_'+'big'+'_'+'button');
            
            addListener(image_button, 'click', function(event) {
                zoomImageShow('big', eImageGalery);
            });
        }
    }
    
    if(document.getElementById('image'+'_'+1)) {
        if(document.getElementById('image'+'_'+1+'_'+'button')) {
            document.getElementById('image'+'_'+1+'_'+'button').className = 'image active';
        }
        document.getElementById('image'+'_'+1).style.display = 'block';
    }
}

function hideAllImage(eImageGalery) {
    for(i=0; i<eImageGalery.childNodes.length; i++) 
        if(eImageGalery.childNodes[i].className=='images') 
            for(j=0; j<eImageGalery.childNodes[i].childNodes.length; j++) 
                if(eImageGalery.childNodes[i].childNodes[j].className=='image') 
                    eImageGalery.childNodes[i].childNodes[j].style.display = 'none';
}

function hideAllImageButton(eImageGalery) {
    for(i=0; i<eImageGalery.childNodes.length; i++)
        if(eImageGalery.childNodes[i].className=='navigation')
            for(j=0; j<eImageGalery.childNodes[i].childNodes.length; j++)
                if(eImageGalery.childNodes[i].childNodes[j].className=='image active')
                    eImageGalery.childNodes[i].childNodes[j].className = 'image';
}

function addImageButtonAction(index, eImageGalery) {
    var image = document.getElementById('image'+'_'+index);
    var image_button = document.getElementById('image'+'_'+index+'_'+'button');
	
    addListener(image_button, 'click', function(event) {
        hideAllImage(eImageGalery);
        hideAllImageButton(eImageGalery);
        image_button.className = 'image active';
        image.style.display = 'block';
    });

    addListener(image_button, 'mouseover', function(event) {
        if(image_button.className == 'image')
            image_button.className = 'image over';
    });

    addListener(image_button, 'mouseout', function(event) {
        if(image_button.className == 'image over')
            image_button.className = 'image';
    });
}

function zoomImageShow(index, eImageGalery) {
    var shadow = document.getElementById('imageGalleryShadow');
    var image = document.getElementById('image'+'_'+index);

    var width = getDocumentWidth();
    var height = getDocumentHeight();

    shadow.style.display = 'block';
    shadow.style.width = width;
    shadow.style.height = height;

    for(i=0; i<image.childNodes.length; i++) {
        if(image.childNodes[i].nodeName=='IMG') {
            var widthImage = image.childNodes[i].width;

            addListener(image.childNodes[i], 'click', function(event) {
                zoomImageHide(index, eImageGalery);
            });
            
            addListener(document.getElementById('image_big_buttonclose'), 'click', function(event) {
                zoomImageHide(index, eImageGalery);
            });
        }
    }
    
    image.style.display = 'block';
    image.style.top = 100;
    image.style.left = (width-widthImage)/2;
    image.style.width = widthImage;
}

function zoomImageHide(index, eImageGalery) {
    var shadow = document.getElementById('imageGalleryShadow');
    var image = document.getElementById('image'+'_'+index);

    shadow.style.display = 'none';
    image.style.display = 'none';
}

function getDocumentWidth() {
    var d = document;
    return Math.max(
        Math.max(d.body.scrollWidth, d.documentElement.scrollWidth),
        Math.max(d.body.offsetWidth, d.documentElement.offsetWidth),
        Math.max(d.body.clientWidth, d.documentElement.clientWidth)
    );
}

function getDocumentHeight() {
    var d = document;
    return Math.max(
        Math.max(d.body.scrollHeight, d.documentElement.scrollHeight),
        Math.max(d.body.offsetHeight, d.documentElement.offsetHeight),
        Math.max(d.body.clientHeight, d.documentElement.clientHeight)
    );
}

/* IMAGEGALLERY */

