function linkborderremove() {
	for(a in document.links) {
		document.links[a].onfocus = document.links[a].blur;
	}
}

function popup(photo, title, width, height) {
	var content="<html><head><title>"+title+"</title></head><body topmargin='0' leftmargin='0'><p><a href='javascript:self.close()'><img border='0' src='"+photo+"'></a><div id='Layer1' style='position:absolute; z-index:1; left: 2; top: 2; background-color:#000; padding:5px;'><a href='javascript:window.close();'  style='text-decoration:none;'><font size='1' color='white' face='Arial'>"+title+"</font></a></div></p></body></html>";
	var new_win=open("","","title="+title+",resizable=no,scrollbars=no,width="+width+", height="+height+"");
	new_win.document.write(content);
}

// keyboard navigation
var keyEquivalents = [];
Event.observe(document, 'keyup', handleKeypress);

function handleKeypress(event){
    var action = undefined;
    try{
        // only handle events that do not happen in the document
        // itself (no in inputs etc)
        if(HTMLBodyElement.prototype.isPrototypeOf(event.element())){
            //do nothing if modifiers were pressed
            var modifierPressed = event.ctrlKey || event.shiftKey || event.altKey;
            if(modifierPressed)
                return;

            //get the keycode
            var keyCode = 0;
            if (Object.isNumber(event.keyCode))
                keyCode =  event.keyCode;   //DOM
            else if (Object.isNumber(event.which))
                keyCode = event.which;     //NS 4 compatible
            else if (Object.isNumber(event.charCode))
                keyCode = event.charCode;  //also NS 6+, Mozilla 0.9+
            else
                return;

            //goto action url wired to keycode
            action = keyEquivalents[keyCode];
            if(undefined != action && '' != action){
                document.location = action;
                event.stop()
            }
        }
    } catch(e){
            // discard exceptions
    }
}

// selects for navigation
function handleNavigationSelect(select){
   nextPage = select.options[select.selectedIndex].value
   if (nextPage != ""){
      document.location.href = nextPage
   }
}

// opening popups
// Use like this:
// <a href="popup.html" onclick="return Popup.openup(this);">Popup with default size</a>
// <a href="popup.html" onclick="return Popup.openup(this,1000,400);">Popup with special size</a>
Popup = {
	openup:function(obj, w, h) {
		var url = (obj.getAttribute)? obj.getAttribute('href') : obj.href;
		if(!url) return true; // if href is not given, no popup will be opened
		var w = (w === undefined)? 710 : w;
		var h = (h === undefined)? 570 : h;
		var pop = window.open(url, '', 'width='+w+', height='+h+', resizable=yes, scrollbars=yes');
		if (pop) {
			if (pop.focus) pop.focus();
			return false; // prevents link to open in parent window
		} else {
			return true; // if popup could not be opened link opens in original window
		}
	}
}

function resize(){
	var sidebar = document.getElementById('right_menu');
	var body = document.getElementById('body');

	var browserName = navigator.appName;
	if(browserName == "Microsoft Internet Explorer"){
    	var xtra_height = 8;
	}else{
		var xtra_height = 0;
	}

	if(sidebar && body.offsetHeight < sidebar.offsetHeight){
		var new_height = sidebar.offsetHeight+50;
		body.style.height = new_height+"px";
	}
}

function sendForm(e,id){
	var characterCode;

	if(e && e.which){
		e = e
		characterCode = e.which //character code is contained in NN4's which property
	}
	else{
		e = event
		characterCode = e.keyCode //character code is contained in IE's keyCode property
	}

	if(characterCode == 13){ //if generated character code is equal to ascii 13 (if enter key)
		document.getElementById(id).submit() //submit the form
		return false
	}
	else{
		return true
	}
}

function hideAllExcept(name, id){
    $(name+'-active').innerHTML = $(name+'_'+id).innerHTML;
}

function selectTab(id){
    var wasVisible = $(id).visible();
    $('blogthis').hide();
    $('sendtofriend').hide();
    $('share').hide();
    if(! wasVisible){
        $(id).show();
    }
}

function removeFromBasket(id) {
	var to_remove = document.getElementById('remove_'+id);
	to_remove.checked = true;
	document.forms.basket.submit();
}


function showLoginSlider() {
    Effect.SlideDown('login_slider');
    Effect.SlideUp('login_slider_button');
    return false;
}

function hideLoginSlider() {
    Effect.SlideUp('login_slider');
    Effect.SlideDown('login_slider_button');
    return false;
}

function performLogin() {
    new Ajax.Request(ajaxLoginURL,
        {
            parameters:  $('login_header_form').serialize(true),
            onSuccess: function(transport){
                if(transport.responseText == 'success') {
                    window.location = window.location;
                } else {
                    $('loginbasket_top').innerHTML = transport.responseText;
                }
            }
        }
    );
    return false;
}

function refreshSessionSpecificContent(ajaxURL, updateParams) {
    new Ajax.Request(ajaxURL,
        {
            method: 'get',
            parameters: updateParams,
            onSuccess: function(transport){
                var update = transport.responseText.evalJSON(true);
                if($('loginbasket_top')) $('loginbasket_top').innerHTML = update.loginbasket;
                if($('shop_url')) $('shop_url').href = update.shopUrl;
                s = Object.extend(s, update.tracking);
                /************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/
                var s_code=s.t();if(s_code)document.write(s_code)
                if (s.sem == true) { s.pageURL = window.location + '?sem=true';}
//                if(navigator.appVersion.indexOf('MSIE')>=0)document.write(unescape('%3C')+'\!-'+'-')
                <!-- End SiteCatalyst code version: H.21. -->
            }
        }
    );
    return false;
}

// thumbnail select control (used on lafraise shop detail page)

var imageSources = new Array();
var currentThumbId = 0;
var thumbnailCssClassActive = 'thumbnailActive';
var thumbnailCssClassInactive = 'thumbnailInactive';
var targetImageId = 'articleFamilyImage';

function setImageSources(newImageSources) {
    imageSources = newImageSources;
}

function handleThumbnailClickEvent(thumbId, imageIndex) {
    // goto next (or first after last) if no arguments are given
    if(null == thumbId && null == imageIndex){
        nextId = currentThumbId+1;
        if(! $('thumbnail_'+nextId)){
            nextId = 0;
        }
        thumbId = 'thumbnail_'+nextId;
        imageIndex =  nextId;
    }
    
    newThumbElement = $(thumbId);
    currentThumbElement = $('thumbnail_'+currentThumbId);

    if(newThumbElement != null) {
        // switch src of large image
        targetElement = $(targetImageId);
        if(currentThumbElement != null && targetElement != null && 0 <= imageIndex && imageIndex < imageSources.length) {
            targetElement.src = imageSources[imageIndex];
            currentThumbElement.removeClassName('thumbnailActive');
            currentThumbElement.addClassName('thumbnailInactive');
            newThumbElement.removeClassName('thumbnailInactive');
            newThumbElement.addClassName('thumbnailActive');
            currentThumbId = imageIndex;
        }
    }
}

function setArticleSizeN(familyId, articleId, size, gender) {
    selectedItem = 'dropdownDynamic' + familyId + 'Selected';
    inputSelectedSize = 'inputSelectedSize' +familyId;
    inputSelectedArticle = 'inputSelectedArticle' +familyId;

    if(size > 0) {
        $(selectedItem).innerHTML = $('item'+articleId+'-'+size).innerHTML.replace('<br />',' - ');
        $(selectedItem).childElements().each(function(element) {
           element.remove();
        });
        $(selectedItem).className = 'MenuBarItemSubmenu ' + gender;
    } else {
        if($(addToBasketInputElement).value != 0) {
            $(selectedItem).innerHTML = '';
        }
        $(selectedItem).className = 'MenuBarItemSubmenu';
    }

    $(inputSelectedSize).value = size;
    $(inputSelectedArticle).value = articleId;
    dropdownsDynamic[familyId].hideSubmenu($('dropdownDynamic'+familyId+'Items'));
    return false;
}

function addToBasketN(familyId, sizeChooser) {
    inputSelectedSize = 'inputSelectedSize' +familyId;
    inputSelectedArticle = 'inputSelectedArticle' +familyId;
    formId = 'addToBasket' + familyId;

    if($(inputSelectedSize).value > 0 && $(inputSelectedArticle).value > 0) {
        $(formId).submit();
    } else {
        sizeChooser.showSubmenu($('dropdownDynamic'+familyId+'Items'));
    }
    return false;
}

function setArticleSize(familyId, articleId, gender, size, isDisabled, sizesBar) {
    if(!isDisabled) {
        //sizesBar = $('SizesBar'+familyId);

        selectedSize = 'selectedSize' + familyId;
        inputSelectedSize = 'inputSelectedSize' +familyId;
        inputSelectedArticle = 'inputSelectedArticle' +familyId;

        if(size > 0) {
            $(selectedSize).innerHTML = $('sizeEntry'+articleId+'-'+size).innerHTML;
            $(selectedSize).addClassName('currentSelection');

            if($(selectedSize).hasClassName('female')) {
                $(selectedSize).removeClassName('female');
            }
            if($(selectedSize).hasClassName('male')) {
                $(selectedSize).removeClassName('male');
            }
            $(selectedSize).addClassName(gender);

        } else {
            if($(addToBasketInputElement).value != 0) {
                $(selectedSize).innerHTML = '';
            }
            $(selectedSize).removeClassName('currentSelection');
            if($(selectedSize).hasClassName($(selectedSize), 'female')) {
                $(selectedSize).removeClassName('female');
            }
            if($(selectedSize).hasClassName($(selectedSize), 'male')) {
                $(selectedSize).removeClassName('male');
            }
        }
        $(inputSelectedSize).value = size;
        $(inputSelectedArticle).value = articleId;
        sizesBar.hideSubmenu($('SizesBarEntries'+familyId));
    }
    return false;
}

function addToBasket(familyId, sizesBar) {
    inputSelectedSize = 'inputSelectedSize' +familyId;
    inputSelectedArticle = 'inputSelectedArticle' +familyId;
    formId = 'addToBasket' + familyId;

    if($(inputSelectedSize).value > 0 && $(inputSelectedArticle).value > 0) {
        $(formId).submit();
    } else {
        sizesBar.showSubmenu($('SizesBarEntries'+familyId));
    }
    return false;
}

function switchFamilyImage(id, hide) {
    if($('familyImage2'+id)) {
        if(hide) {
            if(!$('familyImage1'+id).visible() && $('familyImage2'+id).visible()) {
                $('familyImage2'+id).hide();
                $('familyImage1'+id).show();
            }
            $('familyDescription'+id).style.visibility="hidden";
            $('familyDescription'+id).style.height="0px";
            $('family'+id).style.border = "3px solid white";
        } else {
            if($('familyImage1'+id) && $('familyImage1'+id).visible() && !$('familyImage2'+id).visible()) {
                $('familyImage2'+id).show();
                $('familyImage1'+id).hide();
                $('familyDescription'+id).style.height="139px";
            } else {
                $('familyDescription'+id).style.height="125px";
            }
            $('familyDescription'+id).style.visibility="visible";
            $('family'+id).style.border = "3px solid #dddddd";
        }
    }
}

 function setStateSelectVisibility(countryElement) {
     if($('country') == null || $('usStates') == null || $('caStates') == null || $('state') == null) {
         return false;
     }

     value = '';
     if(countryElement != null) {
         value = countryElement.value;
     } else {
         value = $('country').value;
     }

     switch (value) {
        case 'US':
            $('statesLabel').show();
            $('usStates').show();
            $('caStates').hide();
            $('state').value = $('usStatesSelect').value;
            break;
        case 'CA':
            $('statesLabel').show();
            $('caStates').show();
            $('usStates').hide();
            $('state').value = $('caStatesSelect').value;
            break;
        default:
            $('statesLabel').hide();
            $('caStates').hide();
            $('usStates').hide();
            $('state').value = '';
            break;
    }

 }

function redirectAfterNSeconds(url, seconds) {
    window.setTimeout("redirectHelper('" + url + "')", seconds * 1000);
}

function redirectHelper(url) {
    window.location.href = url;
}

function loadFormCaptcha(url, divId) {
	$(divId).innerHTML = '';
	new Ajax.Updater(divId, url, {evalScripts:true, asynchronous:true});
	return false;
}

