/**
 * @author martin
 */
var moore = {
    selectedItems: new Array(),
    deletetItemName: '',
    lastpic: '',
	lastpics: new Array(),
	timeout: false,
	section_id : 2,
    // setze event handler
    init: function() {
        $('#id_page').bind("click", moore.actionMoore);
        $('#id_content').bind('mouseover', moore.actionMoore);
        $('#id_content').bind('mouseout', moore.actionMoore);
        $("#amount_min").bind("change", moore.actionChangePriceLevel);
        $("#amount_max").bind("change", moore.actionChangePriceLevel);
        $('#id_content').bind("mousemove", moore.actionPicGreatView);
        $('#id_page').bind("mouseover", moore.actionMoore);
        $('#id_page').bind("mouseout", moore.actionMoore);
    },
    emailinit: function() {
        $('#ContactForm').bind('change', moore.CheckMail);
    },
    CheckMail: function(eve) {
        var id = eve.target.id;
        if (id.indexOf('mail') != -1) {
            switch (id) {
                case 'mailfirstname':
                    break;
                case 'maillastname':
                    break;
                case 'mailadress':
                    var s = $('#mailadress').val();
                    if (s.length == 0) {
                        $('#mailfirstname').css({
                            border: '1px solid red'
                        });
                    } else {
                        var a = false;
                        var res = false;
                        if (typeof(RegExp) == 'function') {
                            var b = new RegExp('abc');
                            if (b.test('abc') == true) {
                                a = true;
                            }
                        }
                        if (a == true) {
                            reg = new RegExp('^([a-zA-Z0-9\-\.\_]+)' +
                            '(\@)([a-zA-Z0-9\-\.]+)' +
                            '(\.)([a-zA-Z]{2,4})$');
                            res = (reg.test(s));
                        } else {
                            res = (s.search('@') >= 1 &&
                            s.lastIndexOf('.') > s.search('@') &&
                            s.lastIndexOf('.') >= s.length - 5)
                        }
                        if (res == false) {
                            $('#mailadress').css({
                                border: '1px solid red'
                            });
                        }
                    }
                    break;
                case 'notemail':
                    break;
                case 'mailtext':
                    break;
                case 'submitContactmail':
                    break;
				default:
					break;
            }
        }
    },
    actionMoore: function(eve) {
		// arbeite events ab
        var id = eve.target.id;
		if (id == 'artshots') {
			if (eve.type == 'click') {
				moore.SetArtshorts();
			}
		} else {
			moore.section_id = $('#section_id').html();
			if (id == 'clearAll') {
				moore.clearAll();
			}
			if (id.indexOf('js_') != -1) {
				$('#js_1').css({
					color: '#818181'
				});
				$('#js_2').css({
					color: '#818181'
				});
				$('#js_3').css({
					color: '#818181'
				});
				$('#js_4').css({
					color: '#818181'
				});
				$('#' + id).css({
					color: '#8D3736'
				});
				var num = id.substr(id.indexOf('_') + 1);
				if (eve.type == 'mouseover') {
					$('#siteJB').html(' - ' + num + ' - ');
				}
			}
			//console.debug("ID>>> "+id);
			//console.debug("ID indexof DES_>>> "+id.indexOf('DES_'));
			//console.debug("EVE TYPE>>> "+eve.type);
			if (id.indexOf('DES_') != -1) {
				if (eve.type == 'click') {
					var setItems = id.split('_');
					$('#subcat_' + setItems[2]).addClass('active');
					$('#designer_' + setItems[1]).addClass('active');
					if(!moore.in_array('designer_' + setItems[1],moore.selectedItems)) {
						moore.selectedItems.push('designer_' + setItems[1]);
					}
					if(!moore.in_array('subcat_' + setItems[2],moore.selectedItems)) {
						moore.selectedItems.push('subcat_' + setItems[2]);
					}
					moore.checkCondition('designer_' + setItems[1]);
				}
			}
			/**
	 * unterkategorien
	 */
			if (id.indexOf('subcat_') != -1) {
				//nur auf klickevent reagieren!!!
				if (eve.type == 'click') {
					if ($('#' + id).hasClass("inactive") != true) {
						moore.SelectedFilter(id, 'category');
					} else {
						return false;
					}
				} else {
					return false;
				}
			}
			
			/**
	 * Product
	 */
			if (id.indexOf('productid') != -1) {
				moore.getProductDetails(id, eve.type);
			}
			
			if (eve.type == 'click') {

				if (id == 'picturesCatPic') {
					moore.gotoDesignerCategory(id);
				}
				if (id.indexOf('range_') != -1) {
					moore.checkCondition(id);
				}
				if (id.indexOf('viewanzahl_') != -1) {
					moore.checkCondition(id);
				}
				/**
		 * designer
		 */
				if (id.indexOf('designer_') != -1) {
					if (!$('#' + id).hasClass("inactive")) {
						moore.SelectedFilter(id, 'designer');
					} else {
						return false;
					}
				}
				/**
		 * family
		 */
				if (id.indexOf('family_') != -1) {
					if (!$('#' + id).hasClass("inactive")) {
						moore.SelectedFilter(id, 'family');
					} else {
						return false;
					}
				}
				/**
		 * verfügbarkeit
		 */
				if (id.indexOf('availability_') != -1) {
					moore.SelectedFilterAvailability(id);
				}
				if (id.indexOf('biographie') == 0 || id.indexOf(':') != -1) {
					window.open.href = $('#'.id).href();
				} else {
					//clearbuttons
					if (id.indexOf('clear') != -1) {
						moore.clearSelection(id);
					}
				}
				if (id == 'nextItem') {
					moore.nextPicStart();
				}
				if (id == 'prevItem') {
					moore.prevPicStart();
				}
				if (id == 'CategoryRings') {
					moore.killstyleCatStart();
					$('#CategoryRings').css({
						color: '#8D3736'
					});
					moore.setNewCategory('rings');
				}
				if (id == 'CategoryEarrings') {
					moore.killstyleCatStart();
					$('#CategoryEarrings').css({
						color: '#8D3736'
					});
					moore.setNewCategory('earrings');
				}
				if (id == 'CategoryBracelets') {
					moore.killstyleCatStart();
					$('#CategoryBracelets').css({
						color: '#8D3736'
					});
					moore.setNewCategory('bracelets');
				}
				if (id == 'CategoryNecklaces') {
					moore.killstyleCatStart();
					$('#CategoryNecklaces').css({
						color: '#8D3736'
					});
					moore.setNewCategory('necklaces');
				}
				if (id == 'CategoryOther') {
					moore.killstyleCatStart();
					$('#CategoryOther').css({
						color: '#8D3736'
					});
					moore.setNewCategory('other');
				}
			}
		}
		return true;
    },
    checkCondition: function(id) {
		// selektierte kriterien anwenden
        /**
         * hinzufügen der selktierten Kriterien zu array
         */
		//problem starts somewhere here
		//console.debug("CHECKCONDITION ID>>> "+id);
		if($("#actc_range").length > 0) {
			var range = $("#actc_range").text();
		} else {
			var range = 25;
		}
        var listviewanzahl = 0;
        if (id.indexOf('range_') != -1) {
            range = parseInt(id.substr(6));
        } else {
			//console.debug("in else range!");
			if (id.indexOf('viewanzahl_') != -1) {
                listviewanzahl = parseInt(id.substr(11));
            } else {
				//console.debug("in else viewanzahl!");
				//console.debug("id indexof none_>>> "+id.indexOf('none_'));
				//console.debug("selecteditems>>> "+moore.selectedItems);
				// hinzufuegen zu array
				if (id.indexOf('none_') == -1) {
					//console.debug("in indexof none!");
					if(!moore.in_array(id,moore.selectedItems)) {
						moore.selectedItems.push(id);
					}
                    firstitem = moore.selectedItems[0];
					//insert hack here
					//console.debug("FIRSTITEM>>> "+firstitem);
                    firsttype = firstitem.substr(0, firstitem.indexOf('_'));
                    lastitem = id;
                    lasttype = lastitem.substr(0, lastitem.indexOf('_'));
                } else {
					//console.debug("in else indexof none_!");
					//console.debug("deletetItemName>>> "+moore.deletetItemName);
					//hier fliegt er raus... deletetitemname == ''
					if (moore.deletetItemName != '') {
						//console.debug("in if deletetitemname != ''");
                        if (moore.selectedItems.length > 0) {
							//console.debug("in if deletetitemname length > 0");
                            firstitem = moore.selectedItems[0];
							//console.debug("FIRSTITEM>>> "+firstitem);
                            firsttype = firstitem.substr(0, firstitem.indexOf('_'));
                            lastitem = moore.deletetItemName;
                            lasttype = lastitem.substr(0, moore.deletetItemName.indexOf('_'));
                        }
                        moore.deletetItemName = '';
                    } else {
						//hier muss noch was rein,wenn deletetitemname == ''
						//checken ob das hieer überhaupt so gut is...
						//console.debug("in else if deletetitemname != ''");
						firstitem = moore.selectedItems[0];
						//console.debug("FIRSTITEM>>> "+firstitem);
						firsttype = firstitem.substr(0, firstitem.indexOf('_'));
						lastitem = moore.selectedItems[moore.selectedItems.length-1];
						lasttype = lastitem.substr(0, lastitem.indexOf('_'));
					}
				}
			}
		}
        
        var SelectedType = '';
        var kategorie = '';
        var designer = '';
        var pricerange = '';
        var availability = '';
        var family='';
        // sind kriterienen vorhanden
        if (moore.selectedItems.length > 0) {
            // durchlauf
            for (var item in moore.selectedItems) {
                if (moore.selectedItems[item].indexOf('_') > 0) {
                    // ermittle typ
                    SelectedType = moore.selectedItems[item].substr(0, moore.selectedItems[item].indexOf('_'));
                    // ermittle wert
                    if (SelectedType == 'subcat') {
                        SelectedItem = moore.selectedItems[item].substr(moore.selectedItems[item].indexOf('_') + 1);
                    } else {
                        SelectedItem = moore.selectedItems[item].substr(moore.selectedItems[item].indexOf('_') + 1);
                    }
                    if (moore.selectedItems.length == 1 && SelectedType == 'designer') {
                        window.location.href = './' + $('#' + moore.selectedItems[item]).html().replace(/ \+ /g, "_");
                        return false;
                    }
                    // bilde post
                    switch (SelectedType) {
                        case 'subcat':
                            kategorie = kategorie + SelectedItem + '_';
                            break;
                        case 'designer':
                            designer = designer + SelectedItem + '_';
                            break;
                        case 'money':
                            pricerange = SelectedItem;
                            break;
                        case 'availability':
                            availability = SelectedItem;
                            break;
						case 'family':
							family=family+SelectedItem+'_';
							designer=30+'_';
							break;
						default:
							break;
                    }
                }
            }
            
            if (firsttype.indexOf('money') != -1) {
				$.post(ajaxpath + '/checkCondition', {
					pricerange: pricerange,
					section_id: moore.section_id
				}, moore.setCondition);
			} else {
				if (id.indexOf('range_') != -1 || id.indexOf('viewanzahl_') != -1) {
					if (range < listviewanzahl) {
						range = listviewanzahl;
					}
				} else {
					//console.debug("LASTTYPE TEST>>> "+lasttype);
					if (firsttype == lasttype) {
						switch (firsttype) {
							case 'subcat':
								$.post(ajaxpath + '/checkCondition', {
									kategories: kategorie,
									section_id: moore.section_id
								}, moore.setCondition);
								break;
							case 'designer':
								$.post(ajaxpath + '/checkCondition', {
									designer: designer,
									section_id: moore.section_id
								}, moore.setCondition);
								break;
							case 'family':
								$.post(ajaxpath + '/checkCondition', {
									family: family,
									section_id: moore.section_id
								}, moore.setCondition);
								break;
							default:
								break;
						}
					}
				}
			}
			//console.debug("RANGE>>> "+range);
			
            $("#id_loading").fadeIn("fast");
            $.post(ajaxpath + '/getProducts', {
                kategories: kategorie,
                designer: designer,
                pricerange: pricerange,
                availability: availability,
                range: range,
                listviewanzahl: listviewanzahl,
				family:family,
				section_id: moore.section_id
            }, moore.setProducts);
        } else {
            var a = $('.category');
            // durchlauf
            for (var c = 0; c < a.length; c++) {
                $('#' + (a[c].id.toLowerCase())).removeClass('inactive');
            }
            var a = $('.designer');
            // durchlauf
            for (var c = 0; c < a.length; c++) {
                $('#' + (a[c].id.toLowerCase())).removeClass('inactive');
            }
			var path=window.location.pathname;
			if(path.indexOf('site') != -1) {
				//window.location.reload();
			} else {
				var a=$('.active');
				for(x=0;x<a.length;x++)
				{
					if(a[x].id=='MAINKAT_2')
					{
						$('#id_loading').css('display', 'block');
						window.location.href='../url/designersite';
					}
					else if(a[x].id=='MAINKAT_1')
					{
						$('#id_loading').css('display', 'block');
						window.location.href='../url/engagementsite';
					}
					else if(a[x].id=='MAINKAT_6')
					{
						$('#id_loading').css('display', 'block');
						window.location.href='../url/fashionsite';
					}
					else if(a[x].id=='MAINKAT_3')
					{
						$('#id_loading').css('display', 'block');
						window.location.href='../url/weddingsite';
					}
					else if(a[x].id=='MAINKAT_4')
					{
						$('#id_loading').css('display', 'block');
						window.location.href='../url/colorsite';
					}
				}
			}
        }
    },
    setCondition: function(request,start_type) {
		//Kontrolle der ausgewählten Items
		//setzte starttype
		//console.debug("moore selected items 0>>> "+moore.selectedItems[0]);
		//console.debug("moore selected items BEFORE>>> "+moore.selectedItems);
		
		if($("#start_type").length > 0) {
			var start_type = $("#start_type").text();
			//console.debug("setcondition start_type>>> "+start_type);
		} else {
			var start_type = false;
		}
		
		//sort selecteditems!!!
		if(start_type) {
			var sort_array = new Array();
			var sel_array_cpy = moore.selectedItems.slice(0);
			var sort_arr_count = 0;
			for(var selitem in sel_array_cpy) {
				//console.debug("setcondition foreach selecteditems selitem>>> "+sel_array_cpy[selitem]);
				if((sel_array_cpy[selitem]+"").indexOf(start_type) != -1) {
					//console.debug("in strpos start_type!");
					sort_array[sort_arr_count] = sel_array_cpy[selitem];
					//now kill this item!
					sel_array_cpy[selitem] = null;
					sort_arr_count++;
				}
			}
			//console.debug("sort_array>>> "+sort_array);
			//console.debug("selecteditems AFTER>>> "+moore.selectedItems);
			//console.debug("sel_arr_cpy AFTER>>> "+sel_array_cpy);
			for(var sacitem in sel_array_cpy) {
				if((sel_array_cpy[sacitem]!="")&&(sel_array_cpy[sacitem]!=null)&&(sel_array_cpy[sacitem]!="undefined")&&(sel_array_cpy[sacitem].indexOf("array")==-1)) {
					sort_array.push(sel_array_cpy[sacitem]);
				}
			}
			//console.debug("sort_array AFTER>>> "+sort_array);
			moore.selectedItems = sort_array;
		}
		
        if (moore.selectedItems[0] != undefined) {
			//TODO: hier den selectedstarttype nach der session ausrichten! selecteditems richtig sortieren!!!
			
			if(start_type) {
				var SelectedStartType = start_type;
			} else {
				var SelectedStartType = moore.selectedItems[0].substr(0, moore.selectedItems[0].indexOf('_'));
			}
        } else {
			//wenn kein starttype alle inactiv sezten
            var a = $('.designer');
            // durchlauf
            for (var c = 0; c < a.length; c++) {
                $('#' + (a[c].id.toLowerCase())).removeClass('inactive');
            }
            
            var a = $('.category');
            // durchlauf
            for (var c = 0; c < a.length; c++) {
                $('#' + (a[c].id.toLowerCase())).removeClass('inactive');
            }
			
			var a = $('.family');
            // durchlauf
            for (var c = 0; c < a.length; c++) {
                $('#' + (a[c].id.toLowerCase())).removeClass('inactive');
            }
        }
        //request nicht leer
        if (request != '') {
			//console.debug("SETCONDITION REQUEST NICHT LEER!!!");
			//console.debug("REQUEST>>> "+request);
            //lösche nur alle anderen die nicht starttyp sind
			//hier rausgenommen fuer tests!!!!!######
			//console.debug("selectedstarttype>>> "+SelectedStartType);
            switch (SelectedStartType) {
                case 'subcat':
                    var a = $('.designer');
                    // durchlauf
                    for (var c = 0; c < a.length; c++) {
						//console.debug("id>>> "+'#' + (a[c].id.toLowerCase())+" >>> ADD INACTIVE");
                        $('#' + (a[c].id.toLowerCase())).addClass('inactive');
                    }
					var a = $('.family');
                    
                    // durchlauf
                    for (var c = 0; c < a.length; c++) {
						//console.debug("id>>> "+'#' + (a[c].id.toLowerCase())+" >>> ADD INACTIVE");
                        $('#' + (a[c].id.toLowerCase())).addClass('inactive');
                    }
                    break;
                case 'designer':
                    var a = $('.category');
                    
                    // durchlauf
                    for (var c = 0; c < a.length; c++) {
                        $('#' + (a[c].id.toLowerCase())).addClass('inactive');
                    }
					var a = $('.family');
                    
                    // durchlauf
                    for (var c = 0; c < a.length; c++) {
                        $('#' + (a[c].id.toLowerCase())).addClass('inactive');
                    }
                    break;
				case 'family':
                    var a = $('.designer');
                    // durchlauf
                    for (var c = 0; c < a.length; c++) {
                        $('#' + (a[c].id.toLowerCase())).addClass('inactive');
                    }
                    var a = $('.category');
                    // durchlauf
                    for (var c = 0; c < a.length; c++) {
                        $('#' + (a[c].id.toLowerCase())).addClass('inactive');
                    }
					break;
                case 'money':
                    var a = $('.designer');
                    // durchlauf
                    for (var c = 0; c < a.length; c++) {
                        $('#' + (a[c].id.toLowerCase())).addClass('inactive');
                    }
                    var a = $('.category');
                    // durchlauf
                    for (var c = 0; c < a.length; c++) {
                        $('#' + (a[c].id.toLowerCase())).addClass('inactive');
                    }
					var a = $('.family');
                    
                    // durchlauf
                    for (var c = 0; c < a.length; c++) {
                        $('#' + (a[c].id.toLowerCase())).addClass('inactive');
                    }
                    break;
				default:
					break;
            }
        }
        window.setTimeout("moore.setCat('" + request + "','" + SelectedStartType + "')", 500);
    },
    setCat: function(request, SelectedStartType) {
		//aktive felder wieder von inactiv befreien
		//console.debug("IN SETCAT!!!");
		if (request != '') {
			//console.debug("setcat request>>> "+request);
			//hier noch was fixen, damit auch der starttype richtig gesetzt wird!
			//wandle json in javascriptobjekt um
			var result = eval('(' + request + ')');
			//console.debug("setcat result>>> "+result);
			//duchlauf der Ergebnismenge
			for (var x = 0; x < result.length; x++) {
				switch (SelectedStartType) {
					case 'subcat':
						//console.debug("in selectedstarttype subcat");
						//console.debug("designer id>>> "+'#designer_' + result[x]['designer']+" >>> REMOVE INCATIVE!!!");
						//console.debug("family id>>> "+'#family_' + result[x]['family']+" >>> REMOVE INCATIVE!!!");
						$('#designer_' + result[x]['designer']).removeClass('inactive');
						$('#family_' + result[x]['family']).removeClass('inactive');
						break;
					case 'designer':
						//console.debug("in selectedstarttype designer");
						$('#subcat_' + result[x]['shop_category']).removeClass('inactive');
						$('#family_' + result[x]['family']).removeClass('inactive');
						break;
					case 'money':
						//console.debug("in selectedstarttype money");
						$('#designer_' + result[x]['designer']).removeClass('inactive');
						$('#subcat_' + result[x]['shop_category']).removeClass('inactive');
						$('#family_' + result[x]['family']).removeClass('inactive');
						break;
					case 'family':
						//console.debug("in selectedstarttype family");
						$('#designer_' + result[x]['designer']).removeClass('inactive');
						$('#subcat_' + result[x]['shop_category']).removeClass('inactive');
						$('#family_' + result[x]['family']).removeClass('inactive');
						break;
					default:
						break;
				}
			}
		}
    },
    clearAll: function() {
        var checkItems = $('.checkDesigner');
        $('#categoryCondition').find("input:checkbox").attr("checked", "").css('visibility', 'visible').val("0");
        $('#designerCondition').find("input:checkbox").attr("checked", "").css('visibility', 'visible').val("0");
        $('.cat').css('text-decoration', 'none');
        $('.des').css('text-decoration', 'none');
        $('#content').html('<div id="contentartshot">Artshot</div><div id="contentdesigner">');
    },
    setProducts: function(request) {
        if (request != '') {
            $('#id_content').html(request);
            $('#id_loading').css('display', 'none');
        } else {
			$('#id_loading').css('display', 'none');
        }
        
    },
    SelectedFilter: function(id, typ) {
        var setClear = false;
        var deleteItem = false;
        var nextitem = 1;
        /**
         * einblenden oder ausblenden
         */
		//console.debug("selectedfilter ID>>> "+id+" typ>>> "+typ);
		//console.debug("CLASSdebug>>> "+$("#"+id).attr("class"));
		//$('#'+id).css("border","3px solid #000");
        if ($('#'+id).hasClass('active') == false) {
			//console.debug("selectedfilter hasclass active FALSE");
            if ($('#'+id).hasClass('inactive') == true) {
				//console.debug("selectedfilter hasclass inactive TRUE");
                return false;
            }
            $('#'+id).addClass('active');
        } else {
            //$('#'+id).removeClass('active'); TEST
            deleteItem = jQuery.inArray(id, moore.selectedItems);
        	moore.selectedItems.splice(deleteItem,1);
            if (moore.selectedItems.length == 0) {
            	active = $('#id_topnavi').find('a.active');
            	href   = active.attr('href');
            	if (href != undefined) {
            		window.location.href = href;
            	} else {
            		window.location.reload();
            	}
            }
            id = 'none_none';
        }
        /*
         * sind irgendwelche felder selektiert?
         */
        // array mit allen li elemenen der unterkaegorienliste
        var a = $('.'+typ);
        // durchlauf
        for (var c = 0; c < a.length; c++) {
            if (($('#'+(a[c].id.toLowerCase())).hasClass('active')) == true) {
                setClear = true;
            }
        }
        if(setClear == true) {
			// ja dann clearbutton anzeigen
        	$('#clear'+typ).css('visibility', 'visible');
        } else {
			//nein dann clearbutton ausblenden
            $('#clear'+typ).css('visibility', 'hidden');
        }
        moore.checkCondition(id);
    },
    actionChangePriceLevel: function() {
        var min = $('#amount_min').val();
        var max = $('#amount_max').val();
        if (min >= '$100' || max <= '$32000') {
            $('#clearpricelevel').css('visibility', 'visible');
            if (min.indexOf('$') == -1) {
                var minint = parseInt(min);
            } else {
                var minint = parseInt(min.substr(1));
            }
            var minpro = minint / (32000 / 100);
            
            if (max.indexOf('$') == -1) {
                var maxint = parseInt(max);
            } else {
                var maxint = parseInt(max.substr(1));
            }
            var maxpro = maxint / (32000 / 100);
            if (maxpro < minpro) {
                maxpro = 100;
            }
            if (maxint < minint) {
				alert('fehler min > max');
			} else {
				if(minint < 100) {
					alert('min zu klein');
				} else {
					if (maxint > 32000) {
						alert('max zu groß');
					} else {
						$(".ui-slider-handle:last").css('left', maxpro + '%');
						$(".ui-slider-handle:first").css('left', minpro + '%');
						$(".ui-slider-range").css("left",minpro+"%");
						var act_range_width = maxpro - minpro;
						$(".ui-slider-range").css("width",act_range_width+"%");
						moore.checkCondition('money_' + minint + '_' + maxint);
					}
				}
			}
        } else {
            $('#clearpricelevel').css('visibility', 'hidden');
        }
    },
    SelectedFilterAvailability: function(id) {
        var av = $('.availability');
        for (var c = 0; c < av.length; c++) {
            if ($('#' + av[c].id.toLowerCase()).hasClass('active') == true) {
                $('#' + av[c].id.toLowerCase()).removeClass('active');
            } else {
                $('#' + av[c].id.toLowerCase()).addClass('active');
            }
        }
        moore.checkCondition(id);
    },
    clearSelection: function(id) {
        var type = id.substr(5);
        switch (type) {
            case 'pricelevel':
                $(".ui-slider-handle:last").css('left', 100 + '%');
                $(".ui-slider-handle:first").css('left', 0 + '%');
                $('#amount_min').val('$' + 100);
                $('#amount_max').val('$' + 32000);
                $('#' + id).css('visibility', 'hidden');
                //moore.checkCondition('money_$100_$32000');
                var a = $('.designer');
                // durchlauf
                for (var c = 0; c < a.length; c++) {
                    $('#' + (a[c].id.toLowerCase())).removeClass('inactive');
                    $('#' + (a[c].id.toLowerCase())).removeClass('active');
                }
                var a = $('.category');
                // durchlauf
                for (var c = 0; c < a.length; c++) {
                    $('#' + (a[c].id.toLowerCase())).removeClass('inactive');
                    $('#' + (a[c].id.toLowerCase())).removeClass('active');
                }
                $('#' + id).css('visibility', 'hidden');
                break;
            case 'designer':
                var a = $('.designer');
                // durchlauf
                for (var c = 0; c < a.length; c++) {
                    $('#' + (a[c].id.toLowerCase())).removeClass('active');
                }
                var a = $('.category');
                // durchlauf
                for (var c = 0; c < a.length; c++) {
                    $('#' + (a[c].id.toLowerCase())).removeClass('inactive');
                }
                $('#' + id).css('visibility', 'hidden');
                break;
            case 'category':
                var a = $('.category');
                // durchlauf
                for (var c = 0; c < a.length; c++) {
                    $('#' + (a[c].id.toLowerCase())).removeClass('active');
                }
                var a = $('.designer');
                // durchlauf
                for (var c = 0; c < a.length; c++) {
                    $('#' + (a[c].id.toLowerCase())).removeClass('inactive');
                }
                var a = $('.family');
                // durchlauf
                for (var c = 0; c < a.length; c++) {
                    $('#' + (a[c].id.toLowerCase())).removeClass('inactive');
                }
                $('#' + id).css('visibility', 'hidden');
                break;
            case 'family':
                var a = $('.category');
                // durchlauf
                for (var c = 0; c < a.length; c++) {
                    $('#' + (a[c].id.toLowerCase())).removeClass('inactive');
                }
                var a = $('.designer');
                // durchlauf
                for (var c = 0; c < a.length; c++) {
                    $('#' + (a[c].id.toLowerCase())).removeClass('inactive');
                }
                var a = $('.family');
                // durchlauf
                for (var c = 0; c < a.length; c++) {
                    $('#' + (a[c].id.toLowerCase())).removeClass('active');
                }
                $('#' + id).css('visibility', 'hidden');
                break;
			default:
				break;
        }
        /*
         * @author patrick albertini
         * @date 25.10.2009
         * 
         * small amendment for designer families and multiple clear buttons
         */
        for (var i = 0; i < moore.selectedItems.length; ++i) {
        	el = moore.selectedItems[i];
        	rm = type;
        	if (type == 'category') {
				rm = 'subcat';
			}
        	// remove items from selectedItems
        	if (el.indexOf(rm) != -1) {
        		//if (console !== undefined) {
        			//console.log('removing ' + moore.selectedItems[i] + " from filters" + "(type: "+type+")");
        		//}
        		moore.selectedItems.splice(i,1);
        	}
        }
        if (moore.selectedItems.length == 0) window.location.reload();
        moore.checkCondition('none_none');
    },
    getProductDetails: function(id, type) {
        var item = id.substr(10);
        $('#' + id).css('cursor', 'move');
        if (type != 'click') {
            if ($('#details_' + item).css('visibility') == 'visible') {
                if (type == 'click' && $('#pdetails_' + item).css('visibility') == 'hidden') {
                    //$('#pdetails_' + item).css('visibility', 'visible');
                }
                $('#details_' + item).css('visibility', 'hidden');
                $('#pdetails_' + item).css('visibility', 'hidden');
                $('#details_' + item).css('cursor', 'pointer"');
            } else {
                $('#details_' + item).css('visibility', 'visible');
                $('#' + id).css('cursor', 'all-scroll');
                //$('#pdetails_' + item).css('visibility', 'visible');
                if (type == 'click') {
                    //$('#pdetails_' + item).css('visibility', 'visible');
                }
            }
        } else {
            window.location.href = ajaxpath+'/product:' + item;
        }
    },
    actionPicGreatView: function(event) {
        var id = event.target.id;
        var pos = $('#' + id).offset();
        if (pos != undefined) {
            var left = pos.left - event.pageX;
            var top = pos.top - event.pageY;
            if (left > -180) {
                $('#pproductid_' + id.substr(10)).css('marginLeft', (pos.left - event.pageX) + 'px');
            }
            if (top > -180) {
                $('#pproductid_' + id.substr(10)).css('marginTop', (pos.top - event.pageY) + 'px');
            }
        }
    },
    nextPicStart: function() {
        var filepath = $('#picturesCatPic').attr('src');
        var dir = filepath.substr(filepath.indexOf('images') + 7);
        dir = dir.substr(0, dir.lastIndexOf('/') + 1);
        var filename = filepath.substr(filepath.lastIndexOf('/') + 1);
        $.post(ajaxpath + '/getNextPic', {
            filename: filename,
            dir: dir,
            type: 'next'
        }, moore.setNextPic);
    },
    setNextPic: function(request) {
        var result = eval('(' + request + ')');
        if (result['pic'] != '0') {
            $('#picturesCatPic').attr({
                src: result['pic']
            });
            $('#designername').html(result['designername']);
        }
    },
    prevPicStart: function() {
        var filepath = $('#picturesCatPic').attr('src');
        var dir = filepath.substr(filepath.indexOf('images') + 7);
        dir = dir.substr(0, dir.lastIndexOf('/') + 1);
        var filename = filepath.substr(filepath.lastIndexOf('/') + 1);
        $.post(ajaxpath + '/getNextPic', {
            filename: filename,
            dir: dir,
            type: 'prev'
        }, moore.setPrevPic);
    },
    setPrevPic: function(request) {
        var result = eval('(' + request + ')');
        if (result['pic'] != '0') {
            $('#picturesCatPic').attr({
                src: result['pic']
            });
        }
    },
    setPrevLoopPic: function(request) {
        var result = eval('(' + request + ')');
        moore.lastpic = result['pic'];
		var dir=result['pic'].substr(result['pic'].indexOf('startseite')+11);
		dir=dir.substr(0,dir.indexOf('/'));
		moore.killstyleCatStart();
		$('#Category' + dir[0].toUpperCase() + dir.substr(1)).css('color', '#8D3736');
		moore.lastpics.push(result['pic']);
        if (result['pic'] != '0') {
            $('#picturesCatPic').attr({
                src: result['pic']
            });
		$('#designername').html(result['designername']);
        }
        moore.timeout = window.setTimeout("moore.autoloop()", 4500);
    },
    setNewCategory: function(type) {
        if (moore.timeout != false) {
			window.clearTimeout(moore.timeout);
		}
        var filepath = $('#picturesCatPic').attr('src');
        var dir = filepath.substr(0, filepath.lastIndexOf('/'));
        dir = dir.substr(0, dir.lastIndexOf('/') + 1) + type;
        dir = dir.substr(dir.indexOf('images') + 7) + '/';
       
        $.post(ajaxpath + '/getNextPic', {
            filename: false,
            dir: dir,
            type: false
        }, moore.setPrevPic);
    },
    autoloop: function() {
		var filepath = $('#picturesCatPic').attr('src');
		var dir = filepath.substr(filepath.indexOf('images') + 7);
		dir = dir.substr(0, dir.lastIndexOf('/') + 1);
		var filename = filepath.substr(filepath.lastIndexOf('/') + 1);
		
		if (moore.lastpic == moore.lastpic) {
			var categorys = new Array();
			categorys[0] = 'rings';
			categorys[1] = 'earrings';
			categorys[2] = 'bracelets';
			categorys[3] = 'necklaces';
			categorys[4] = 'other';
			var next = false;
			for (x = 0; x <= categorys.length; x++) {
				if (dir == 'startseite/' + categorys[x] + '/') {
					if (categorys[x] == 'other') {
						var filepath = $('#picturesCatPic').attr('src');
						var dir = filepath.substr(0, filepath.lastIndexOf('/'));
						dir = dir.substr(0, dir.lastIndexOf('/') + 1) + categorys[0];
						dir = dir.substr(dir.indexOf('images') + 7) + '/';
						break;
					}
					next = true;
					continue;
				}
				if (next == true) {
					var filepath = $('#picturesCatPic').attr('src');
					var dir = filepath.substr(0, filepath.lastIndexOf('/'));
					dir = dir.substr(0, dir.lastIndexOf('/') + 1) + categorys[x];
					dir = dir.substr(dir.indexOf('images') + 7) + '/';
					break;
				}
			}
			if (moore.lastpics.length > 0) {
				for (u in moore.lastpics) {
					if (moore.lastpics[u].indexOf(dir) != -1) {
						var file = moore.lastpics[u];
					}
				}
				if (file != undefined) {
					file = file.substr(file.lastIndexOf('/') + 1);
					$.post(ajaxpath + '/getNextPic', {
						filename: file,
						dir: dir,
						type: 'next'
					}, moore.setNextPicLoop);
				} else {
					$.post(ajaxpath + '/getNextPic', {
						filename: false,
						dir: dir,
						type: false
					}, moore.setPrevLoopPic);
				}
			} else {
				moore.lastpic = filename;
				if ($('#id_content_teaser_right') != null) {
					$.post(ajaxpath + '/getNextPic', {
						filename: false,
						dir: dir,
						type: false
					}, moore.setPrevLoopPic);
				}
			}
		}
	},
    setNextPicLoop: function(request) {
        var result = eval('(' + request + ')');
		var dir=result['pic'].substr(result['pic'].indexOf('startseite')+11);
		dir=dir.substr(0,dir.indexOf('/'));
		moore.killstyleCatStart();
		$('#Category' + dir[0].toUpperCase() + dir.substr(1)).css('color', '#8D3736');
        if (result['pic'] != '0') {
            $('#picturesCatPic').attr({
                src: result['pic']
            });
			moore.lastpics.push(result['pic']);
            $('#designername').html(result['designername']);
        } else {
			moore.lastpics=new Array();
		}
        moore.timeout = window.setTimeout("moore.autoloop()", 4500);
    },
    killstyleCatStart: function() {
        $('#CategoryRings').css({
            color: '#818181'
        });
        $('#CategoryEarrings').css({
            color: '#818181'
        });
        $('#CategoryBracelets').css({
            color: '#818181'
        });
        $('#CategoryNecklaces').css({
            color: '#818181'
        });
        $('#CategoryOther').css({
            color: '#818181'
        });
    },
    gotoDesignerCategory: function(id) {
        var src = $('#' + id).attr('src');
        var category = src.substr(src.indexOf('startseite/') + 11);
        category = category.substr(category.indexOf('/') + 1);
        var cat_des = category.split('_');
		var designer = cat_des[0];
		if(cat_des[1].indexOf('.')==-1)	{
			var cateo = cat_des[1];
		} else {
			var cateo = cat_des[1].substr(0, cat_des[1].indexOf('.') - 1);
		}   
		window.location = '../url/' + designer + ':' + cateo;
    },
	SetArtshorts:function()	{
		$.post(ajaxpath + '/setArtShots','', moore.ArtShotSet());
	},
	ArtShotSet:function(request) {
		 window.setTimeout("moore.checkCondition('none_none')",500);
	},
	in_array:function(needle, haystack, argStrict) {
	    var key = '',
	        strict = !! argStrict;
	
	    if (strict) {
	        for (key in haystack) {
	            if (haystack[key] === needle) {
	                return true;
	            }
	        }
	    } else {
	        for (key in haystack) {
	            if (haystack[key] == needle) {
	                return true;
	            }
	        }
	    }
	    return false;
	},
	strpos: function(haystack, needle, offset) {
	    var i = (haystack + '').indexOf(needle, (offset || 0));
	    return i === -1 ? false : i;
	}
}





