/* page.js|customers */
// inits script
$(document).ready(function(){
	accessibleInputs();
	leftMenu();
	contentToggler();
	magsDropdown();
	magsSlider();
	popupMaker();
	mdPrint();
    aduploadFormFix();
});

function aduploadFormFix() {
    $('fieldset.collapsible.collapsed div.fieldset-wrapper').hide();
    $('fieldset.collapsible.collapsed a').toggle(function() {
        $(this).parent().parent().find('div.mdFormSubmitWrap > input').removeAttr('disabled');
    }, function() {
        $(this).parent().parent().find('div.mdFormSubmitWrap > input').attr('disabled', 'disabled');
    });
}

// fancy dropdown
function magsDropdown(){
	var buttonTextOpen=Drupal.t("See magasines");
	var buttonTextClose=Drupal.t("Close magasines");
        $('#mdMagsHead').hide();
	$("#mdMags dt").toggle(function(){
	    $(this).text(buttonTextClose).parent().addClass("open");
            $('#mdMagsHead').hide().slideDown();
            $('#mdHeadSpacer').css('border', '0px none');
	},function(){
            $('#mdHeadSpacer').css('border-top', '1px solid #fff');
	    $('#mdMagsHead').slideUp("normal",function(){$('#mdMags dt').parent().removeClass("open");$('#mdMags dt').text(buttonTextOpen)})
	})
}

// fancy slider
var slideWidth,slideScrollAmount,slidesForward,slidesViewable,slideAmount;

function magsSlider(){
	slideWidth=124;
	slideScrollAmount=3;
	slidesForward=0;
	slidesViewable=7;
	slideAmount=$("#mdMagsSlider li").length;
	$("#mdMagsSlider ul").width(slideWidth*slideAmount)
	$("#mdMagsSub").removeAttr("id");
	if(slideAmount>7){
		$("#mdMagsSliderNext").show().click(function(){
			if(slidesViewable+(slideScrollAmount*slidesForward)<slideAmount && $(this).not(".nextDisabled")){
				slidesForward=slidesForward+1;
				var slidePx="-"+slideWidth*slideScrollAmount*slidesForward+"px";
				$("#mdMagsSlider ul").animate({marginLeft:slidePx},1000,"");
				$("#mdMagsSliderPrev").removeClass("prevDisabled").attr("disabled","");
			}
			if(slidesViewable+(slideScrollAmount*slidesForward)>slideAmount){
				$(this).addClass("nextDisabled").attr("disabled","disabled");
			}
		})
		$("#mdMagsSliderPrev").show().addClass("prevDisabled").attr("disabled","disabled").click(function(){
			if(slidesForward>0 && $(this).not(".prevDisabled")){
				slidesForward=slidesForward-1;
				var slidePx="-"+slideWidth*slideScrollAmount*slidesForward+"px";
				$("#mdMagsSlider ul").animate({marginLeft:slidePx},1000,"");
				$("#mdMagsSliderNext").removeClass("nextDisabled").attr("disabled","");
			}
			if(slidesForward==0){
				$(this).addClass("prevDisabled").attr("disabled","disabled");
			}
		})
	}
};

// fancy leftmenu
function leftMenu(){
	$("#mdLeftMenu .expanded").append('<div></div>');
	$("#mdLeftMenu .expanded div").click(function(){$(this).parent().toggleClass("open").find("ul").slideToggle()});
	$("#mdLeftMenu .active-trail").addClass("open");
}

// fancy h3 toggler
function contentToggler(){
	$('.mdArticle h3').each(function(){
		if($(this).nextAll(":header").get(0)){
			$(this).nextUntill(":header").wrapAll('<div class="mdToggleContent"></div>');
		}else{
			$(this).nextAll().wrapAll('<div class="mdToggleContent"></div>');
		}
		$(this).wrap('<div class="mdToggleBar"></div>').click(function(){
			$(this).toggleClass("closed").parent().next(".mdToggleContent").slideToggle();
		})
	});
	$(".mdToggleContent").not(":first").hide();
	$(".mdArticle h3").not(":first").addClass("closed");
}

// print
function mdPrint(){
	$(".mdToolbox").prepend('<li class="mdPrint"><span>Print</span></li>')
	$(".mdToolbox .mdPrint span").click(function(){window.print()});
}


/* accessibleInputs.js|global */
//Accessible Inputs (requires jQuery)

// moves labels value to inputs if class 'mdValueToInput' is present & then adds focus/blur to inputs
function accessibleInputs(){
	$("label.mdValueToInput[for]").each(function(i){
		// fill input fields with labeltext - html tags
		var regexp = /<("[^"]*"|'[^']*'|[^'">])*>/gi;
		var newVal = this.innerHTML.replace(regexp,"");
		//if el is type=input or textarea
		if($("#"+this.htmlFor).is("input") || $("#"+this.htmlFor).is("textarea")){
			if(($("#"+this.htmlFor).val() == "") || ($("#"+this.htmlFor).val() == newVal)){
				$("#"+this.htmlFor).attr("value",newVal);
			}
			// create onclick/blur functionality
			$("#"+this.htmlFor).focus(function(){if(this.value == newVal) this.value = "";});
			$("#"+this.htmlFor).blur(function(){if(this.value == "") this.value = newVal;});
		// if el is select	
		} else if($("#"+this.htmlFor).is("select")){
			var orgOptions = $("#"+this.htmlFor).html();
			var newOptions = '<option value="">'+newVal+'</option>'+orgOptions;
			// IE special Kung Fu
			if($.browser.msie && $.browser.version < 8){
				var go=0;
				$("#"+this.htmlFor).find("option").each(function(i){
					if($(this).get(0).defaultSelected){
						go=1;
					}
				})
				if(go==0){
					newOptions = newOptions.replace(/selected>/g,">");
				}
			}
			$("#"+this.htmlFor).html(newOptions);
			// IE8 force choose first option
			if($.browser.msie && $.browser.version <= 8){
				$("#"+this.htmlFor + " option:first").attr("selected","selected")
			}
		}
		// hide label
		$(this).hide();
	})
	cleanForms();
}

// makes sure that label values are not submitted to forms
function cleanForms(){
	$("form:has(label.mdValueToInput)").submit(function(){
		$("label.mdValueToInput[for]").each(function(){
			// check if value is same as label
			var regexp = /<("[^"]*"|'[^']*'|[^'">])*>/gi;
			var newVal = this.innerHTML.replace(regexp,"");
			if($("#"+this.htmlFor).attr("value") == newVal){
				$("#"+this.htmlFor).attr("value","");
			}
		})
	})
}

/* popupMaker.js|global */
//Popup Maker (requires jQuery)

//Creates popups from class="mdPopup[width]x[height]"
function popupMaker(params) {
	if(typeof(params) == 'undefined'){
		params='';
	}
	$("a[@class^='mdPopup']").click(function() {
		var objClass=$(this).attr("class");
		var objId=$(this).attr("id");
		var popupWidth='500';
		var popupHeight='350';
		if(objClass.length>7) {
			widthHeightArray=objClass.substring(7).split("x");
			popupWidth=widthHeightArray[0];
			popupHeight=widthHeightArray[1];
		}
		var popupLeft='300';
		var popupTop='200';
		if(screen.availWidth && screen.availHeight) {
			var popupLeft=((screen.availWidth/2)-(popupWidth/2));
			var popupTop=((screen.availHeight/2)-(popupHeight/2));
		}
		if(objId) {
			var winName='popWin_'+objId;
		}else{
			var winName='popWin_'+(Math.floor(Math.random()*1000000));
		}
		window.open(this.href, winName, ('width='+popupWidth+',height='+popupHeight+',left='+popupLeft+',top='+popupTop+','+params+'')); 
		return false;
	});
}

/* nextUntill.js|global */
(function($){
    $.fn.nextUntill = function(expr){
        var helpFunction = function($obj, expr){
            var $siblings = $obj.nextAll();
            var end = $siblings.index( $siblings.filter(expr) );
            if(end===-1) return $([]);
            return $siblings.slice(0, end);
        }
        var retObject = new Array();
        this.each(function(){
            $.merge(retObject, helpFunction($(this), expr));
        });
        return $(retObject);
    }
})(jQuery);

