// check an fit scrollboxes of categories
	if (document.getElementById('categories') != null) {
		var scrollbox = document.getElementById('categories');
		var scrollcontent_height = scrollbox.offsetHeight;
		var scrollbar = document.getElementById('scrollbar_categories');
	
		// if content is too high set max height for scrollbox
		if (scrollcontent_height > 300) {
			scrollbox.style.height = 300 + 'px';
			scrollbar.style.height = 302 + 'px';
		} else {
			// fit scrollbar according to scrollbox heigth
			scrollbar.style.height = scrollcontent_height+'px';
			scrollbar.style.display = 'none';
			scrollbox.style.width = 192+'px';
		}
	}
	
	// check and fit scrollboxes of brands
	scrollbox = document.getElementById('facets');
	scrollcontent_height = scrollbox.offsetHeight;
	scrollbar = document.getElementById('scrollbar_facets');
	
	// if content is too high set max height for scrollbox
	if (scrollcontent_height >= 300) {
		scrollbox.style.height = 300 + 'px';
		scrollbar.style.height = 302 + 'px';
	} else {
		// fit scrollbar according to scrollbox heigth
		scrollbar.style.height = scrollcontent_height+'px';
		scrollbar.style.display = 'none';
		scrollbox.style.width = 192+'px';
	}


	function checkchars() {
		var content = $('message').value;
		var message_length = content.length;
		rest_length = 160 - message_length;

		if (rest_length > 0) {
			$('charcount').setStyle('color', 'black');
			$('charcount').set('text', 'noch ' + rest_length + ' Zeichen');
		} else {
			$('charcount').set('text', 'noch 0 Zeichen');
			$('charcount').setStyle('color', 'red');
			var short_message = content.substring(0,159);
			$('message').set('value', short_message);
		}
	}

/* FORM HANDLING */

function jumpTo(pagenr) {
	pagefield = document.getElementById('STARTINDEX');
	pagefield.value=pagenr;

	document.getElementById('smatchFullSearch').submit();
}

function searchFor(query){
	queryfield = document.getElementById('searchquery');
	queryfield.value = query;

	document.getElementById('smatchFullSearch').submit();
}

function submitForm(formname) {
	document.getElementById(formname).submit();
}

function eraseBrandSelection() {
	brandboxes = document.getElementsByName('brands[]');
	for(i=0;i<brandboxes.length;i++) {
		brandboxes[i].checked = false;
	}
	// formular absenden
	document.getElementById('smatchFullSearch').submit();
}

function eraseGenderSelection() {
	genderboxes = document.getElementsByName('genderage[]');
	for(i=0;i<genderboxes.length;i++) {
		genderboxes[i].checked = false;
	}
	// formular absenden
	document.getElementById('smatchFullSearch').submit();
}

function eraseAll() {
	
	brandboxes = document.getElementsByName('brands[]');
	for(i=0;i<brandboxes.length;i++) {
		brandboxes[i].checked = false;
	}
	
	genderboxes = document.getElementsByName('genderage[]');
	for(i=0;i<genderboxes.length;i++) {
		genderboxes[i].checked = false;
	}

	colorboxes = document.getElementsByName('colorsfield[]');
	for(i=0;i<colorboxes.length;i++) {
		colorboxes[i].checked = false;
	}

	boxes = document.getElementsByName('catbox[]');
	for(i=0;i<boxes.length;i++) {
		boxes[i].checked = false;
	}	
}

function changeOptions() {
	show_loadscreen();
	document.getElementById('optionform').submit();
}

/* TOGGLING */

function toggle_view_option(wich) {
	show_loadscreen();
	switch (wich) {
	case 'mosaic':
		document.getElementById('option_list').checked = false;
		document.getElementById('option_mosaic').checked = true;
		break;
	case 'list':
		document.getElementById('option_mosaic').checked = false;
		document.getElementById('option_list').checked = true;
		break;
	}
	document.getElementById('optionform').submit()
}

function toggle_sortorder(wich) {
	show_loadscreen();
	switch (wich) {
	case 'asc':
		document.getElementById('sortorder_DESC').checked = false;
		document.getElementById('sortorder_ASC').checked = true;
		break;
	case 'desc':
		document.getElementById('sortorder_ASC').checked = false;
		document.getElementById('sortorder_DESC').checked = true;
		break;
	}
	document.getElementById('optionform').submit()
}

function toggle_color(checkId) {
	show_loadscreen();

	// die geklickte box togglen
	checkbox = document.getElementById('checkbox_'+checkId);
	cell = document.getElementById('cell_'+checkId);
	colimg = document.getElementById('colimg_'+checkId);

	if (checkbox) {
		switch (checkbox.checked) {
			case true:
				checkbox.checked = false;
				cell.style.border = "1px solid #ccc";
				colimg.src = "/cms/media/img/content/shop/jpg/emptycolor.gif";
				break;
			case false:
				checkbox.checked = true;
				cell.style.border = "1px solid #8d135c";
				colimg.src = "/cms/media/img/content/shop/jpg/selectedcolor.gif";
				break;
		}
	}
	// formular absenden
	document.getElementById('smatchFullSearch').submit();
}

function eraseColorSelection() {
	colorboxes = document.getElementsByName('colorsfield[]');
	for(i=0;i<colorboxes.length;i++) {
		colorboxes[i].checked = false;
	}
	// formular absenden
	document.getElementById('smatchFullSearch').submit();
}

function boxtoggle(boxname) {

	
	$('facets').setStyle('overflow','hidden');
	$('categories').setStyle('overflow', 'hidden');
	if ($('subcategories') != 'null') {
		$('subcategories').setStyle('overflow','hidden');
	}

	// toggle the box
	$(boxname).slide('toggle');
	
	//toggle the hidden checkbox to remember the box
	var toggle_stat = $('toggle_'+boxname).getProperty('checked');

	if (toggle_stat === true) {
		$('toggle_'+boxname).setProperty('checked', false);
		$('switch_'+boxname).setProperty('src', '/cms/media/img/content/shop/gif/plus.gif');
		$('switch_'+boxname).blur();
	} else {
		$('toggle_'+boxname).setProperty('checked', true);
		$('switch_'+boxname).setProperty('src', '/cms/media/img/content/shop/gif/minus.gif');
		$('switch_'+boxname).blur();
	}

	window.setTimeout("rescroll()", 1000);

}

function rescroll() {
	$('categories').setStyle('overflow','auto');
	$('facets').setStyle('overflow','auto');
	$('subcategories').setStyle('overflow','auto');
}

function toggle_n_submit(checkId,checklevel) {

	show_loadscreen();

	// evtl gecheckte boxen unchecken bei kategorie oder tabwechsel
	if (checklevel == 'level2' || checklevel == 'level1') {
		eraseAll();
	}

	if (checklevel == 'level1') {
		genders = document.getElementsByName('genderage[]');
		for(i=0;i<genders.length; i++) {
			genders[i].checked = false;
		}

		brands = document.getElementsByName('brands[]');
		for(i=0;i<brands.length; i++) {
			brands[i].checked = false;
		}


		colorsfields = document.getElementsByName('colorsfield[]');
		for(i=0;i<colorsfields.length; i++) {
			colorsfields[i].checked = false;
		}

		document.getElementById('searchquery').value='';
	}

	// die geklickte box togglen
	checkbox = document.getElementById('checkbox_'+checkId);

	if (checkbox) {
		switch (checkbox.checked) {
			case true:
				checkbox.checked = false;
				break;
			case false:
				checkbox.checked = true;
				break;
		}
	}


	// den suchbegriff loeschen weil die volltextsuche
	// vom 'surfen' in den kategorien entkoppelt sein soll
	document.getElementById('searchquery').value = 'In allen Angeboten suchen';

	// formular absenden
	document.getElementById('smatchFullSearch').submit();
}

function toggleOverlay(what) {
	$(what).fade('toggle');
}

function getAjax(what) {
	$(what).fade('toggle');
}

function goback() {
	history.back();
}

function backsearch() {
	$('set_backlink').setProperty('checked', true);
	$('smatchFullSearch').submit();
}

function send_recommendation() {
	
	// completion
	var completion = true;
	
	// check for completion of name
	var namecheck = $('sendername').value;
	if (namecheck == "") {
		completion = false;
		$('name_req_msg').fade('hide');
		$('name_req_msg').setStyle('color', 'red');
		$('name_req_msg').set('text','Das darf nicht leer sein.');
		$('name_req_msg').fade('in');
	}
	
	
	// check for completion of email
	var addrcheck = $('recipients').value;
	if (addrcheck == "") {
		completion = false;
		$('addr_req_msg').fade('hide');
		$('addr_req_msg').setStyle('color', 'red');
		$('addr_req_msg').set('text','Das darf nicht leer sein.');
		$('addr_req_msg').fade('in');
	}
	
	
	if (completion) {
		$('recommendation_sent').fade('in');
		$('recommendation').fade('out');
		document.getElementById('recommendform').submit();
	}
}

/* LOADSCREEN */
function show_loadscreen() {
	// loading screen anzeigen
	$('loadscreen').setStyle('display','block');
	$('loadscreen').fade(0.8);
	// blockscreen fuer menu anzeigen
	$('blockscreen').setStyle('display','block');
	$('blockscreen').fade(0.8);
	
}

/* HELPER */ 

document.getElementsByClassName = function(clsName){
    var retVal = new Array();
    var elements = document.getElementsByTagName("*");
    for(var i = 0;i < elements.length;i++){
        if(elements[i].className.indexOf(" ") >= 0){
            var classes = elements[i].className.split(" ");
            for(var j = 0;j < classes.length;j++){
                if(classes[j] == clsName)
                    retVal.push(elements[i]);
            }
        }
        else if(elements[i].className == clsName)
            retVal.push(elements[i]);
    }
    return retVal;
}
