(function($){$.fn.validationEngineLanguage=function(){};$.validationEngineLanguage={newLang:function(){$.validationEngineLanguage.allRules={"required":{"regex":"none","alertText":"Ben\u00F6tigtes Feld","alertTextCheckboxMultiple":"Please select an option","alertTextCheckboxe":"This checkbox is required"},"company":{"regex":"/^.{3,50}$/","alertText":"Bitte geben Sie einen Firmennamen an."},"fullname":{"regex":"/^.{3,50}$/","alertText":"Bitte geben Sie Ihren vollen Namen an."},"email":{"regex":"/^[a-zA-Z0-9_\.\-]+\@([a-zA-Z0-9\-]+\.)+[a-zA-Z0-9]{2,4}$/","alertText":"Ung\u00FCltige Mailadresse"},"voucher":{"regex":"/^1[0-9A-Fa-f]{9}1$/","alertText":"Bitte pr\u00FCfen Sie den Gutscheincode."}}}}})(jQuery);$(document).ready(function(){$.validationEngineLanguage.newLang()});
(function($){$.fn.validationEngine=function(settings){if($.validationEngineLanguage){allRules=$.validationEngineLanguage.allRules;}else{$.validationEngine.debug("Validation engine rules are not loaded check your external file");}
settings=jQuery.extend({allrules:allRules,validationEventTriggers:"focusout",inlineValidation:true,returnIsValid:false,liveEvent:true,unbindEngine:true,containerOverflow:false,containerOverflowDOM:"",ajaxSubmit:false,scroll:true,promptPosition:"topRight",success:false,beforeSuccess:function(){},failure:function(){}},settings);$.validationEngine.settings=settings;$.validationEngine.ajaxValidArray=new Array();if(settings.inlineValidation==true){if(!settings.returnIsValid){allowReturnIsvalid=false;if(settings.liveEvent){$(this).find("[class*=validate][type!=checkbox]").live(settings.validationEventTriggers,function(caller){_inlinEvent(this);})
$(this).find("[class*=validate][type=checkbox]").live("click",function(caller){_inlinEvent(this);})}else{$(this).find("[class*=validate]").not("[type=checkbox]").bind(settings.validationEventTriggers,function(caller){_inlinEvent(this);})
$(this).find("[class*=validate][type=checkbox]").bind("click",function(caller){_inlinEvent(this);})}
firstvalid=false;}
function _inlinEvent(caller){$.validationEngine.settings=settings;if($.validationEngine.intercept==false||!$.validationEngine.intercept){$.validationEngine.onSubmitValid=false;$.validationEngine.loadValidation(caller);}else{$.validationEngine.intercept=false;}}}
if(settings.returnIsValid){if($.validationEngine.submitValidation(this,settings)){return false;}else{return true;}}
$(this).bind("submit",function(caller){$.validationEngine.onSubmitValid=true;$.validationEngine.settings=settings;if($.validationEngine.submitValidation(this,settings)==false){if($.validationEngine.submitForm(this,settings)==true)return false;}else{settings.failure&&settings.failure();return false;}})
$(".formError").live("click",function(){$(this).fadeOut(150,function(){$(this).remove()})})};$.validationEngine={defaultSetting:function(caller){if($.validationEngineLanguage){allRules=$.validationEngineLanguage.allRules;}else{$.validationEngine.debug("Validation engine rules are not loaded check your external file");}
settings={allrules:allRules,validationEventTriggers:"blur",inlineValidation:true,containerOverflow:false,containerOverflowDOM:"",returnIsValid:false,scroll:true,unbindEngine:true,ajaxSubmit:false,promptPosition:"topRight",success:false,failure:function(){}}
$.validationEngine.settings=settings;},loadValidation:function(caller){if(!$.validationEngine.settings)$.validationEngine.defaultSetting()
rulesParsing=$(caller).attr('class');rulesRegExp=/\[(.*)\]/;getRules=rulesRegExp.exec(rulesParsing);if(getRules==null)return false;str=getRules[1];pattern=/\[|,|\]/;result=str.split(pattern);var validateCalll=$.validationEngine.validateCall(caller,result)
return validateCalll;},validateCall:function(caller,rules){var promptText=""
if(!$(caller).attr("id"))$.validationEngine.debug("This field have no ID attribut( name & class displayed): "+$(caller).attr("name")+" "+$(caller).attr("class"))
caller=caller;ajaxValidate=false;var callerName=$(caller).attr("name");$.validationEngine.isError=false;$.validationEngine.showTriangle=true;callerType=$(caller).attr("type");for(i=0;i<rules.length;i++){switch(rules[i]){case"optional":if(!$(caller).val()){$.validationEngine.closePrompt(caller);return $.validationEngine.isError;}
break;case"required":_required(caller,rules);break;case"custom":_customRegex(caller,rules,i);break;case"exemptString":_exemptString(caller,rules,i);break;case"ajax":if(!$.validationEngine.onSubmitValid)_ajax(caller,rules,i);break;case"length":_length(caller,rules,i);break;case"maxCheckbox":_maxCheckbox(caller,rules,i);groupname=$(caller).attr("name");caller=$("input[name='"+groupname+"']");break;case"minCheckbox":_minCheckbox(caller,rules,i);groupname=$(caller).attr("name");caller=$("input[name='"+groupname+"']");break;case"confirm":_confirm(caller,rules,i);break;case"funcCall":_funcCall(caller,rules,i);break;default:;};};radioHack();if($.validationEngine.isError==true){var linkTofieldText="."+$.validationEngine.linkTofield(caller);if(linkTofieldText!="."){if(!$(linkTofieldText)[0]){$.validationEngine.buildPrompt(caller,promptText,"error")}else{$.validationEngine.updatePromptText(caller,promptText);}}else{$.validationEngine.updatePromptText(caller,promptText);}}else{$.validationEngine.closePrompt(caller);}
function radioHack(){if($("input[name='"+callerName+"']").size()>1&&(callerType=="radio"||callerType=="checkbox")){caller=$("input[name='"+callerName+"'][type!=hidden]:first");$.validationEngine.showTriangle=false;}}
function _required(caller,rules){callerType=$(caller).attr("type");if(callerType=="text"||callerType=="password"||callerType=="textarea"){if(!$(caller).val()){$.validationEngine.isError=true;promptText+=$.validationEngine.settings.allrules[rules[i]].alertText+"<br />";}}
if(callerType=="radio"||callerType=="checkbox"){callerName=$(caller).attr("name");if($("input[name='"+callerName+"']:checked").size()==0){$.validationEngine.isError=true;if($("input[name='"+callerName+"']").size()==1){promptText+=$.validationEngine.settings.allrules[rules[i]].alertTextCheckboxe+"<br />";}else{promptText+=$.validationEngine.settings.allrules[rules[i]].alertTextCheckboxMultiple+"<br />";}}}
if(callerType=="select-one"){if(!$(caller).val()){$.validationEngine.isError=true;promptText+=$.validationEngine.settings.allrules[rules[i]].alertText+"<br />";}}
if(callerType=="select-multiple"){if(!$(caller).find("option:selected").val()){$.validationEngine.isError=true;promptText+=$.validationEngine.settings.allrules[rules[i]].alertText+"<br />";}}}
function _customRegex(caller,rules,position){customRule=rules[position+1];pattern=eval($.validationEngine.settings.allrules[customRule].regex);if(!pattern.test($(caller).attr('value'))){$.validationEngine.isError=true;promptText+=$.validationEngine.settings.allrules[customRule].alertText+"<br />";}}
function _exemptString(caller,rules,position){customString=rules[position+1];if(customString==$(caller).attr('value')){$.validationEngine.isError=true;promptText+=$.validationEngine.settings.allrules['required'].alertText+"<br />";}}
function _funcCall(caller,rules,position){customRule=rules[position+1];funce=$.validationEngine.settings.allrules[customRule].nname;var fn=window[funce];if(typeof(fn)==='function'){var fn_result=fn();if(!fn_result){$.validationEngine.isError=true;}
promptText+=$.validationEngine.settings.allrules[customRule].alertText+"<br />";}}
function _ajax(caller,rules,position){customAjaxRule=rules[position+1];postfile=$.validationEngine.settings.allrules[customAjaxRule].file;fieldValue=$(caller).val();ajaxCaller=caller;fieldId=$(caller).attr("id");ajaxValidate=true;ajaxisError=$.validationEngine.isError;if($.validationEngine.settings.allrules[customAjaxRule].extraData){extraData=$.validationEngine.settings.allrules[customAjaxRule].extraData;}else{extraData="";}
if(!ajaxisError){$.ajax({type:"POST",url:postfile,async:true,data:"validateValue="+fieldValue+"&validateId="+fieldId+"&validateError="+customAjaxRule+"&extraData="+extraData,beforeSend:function(){if($.validationEngine.settings.allrules[customAjaxRule].alertTextLoad){if(!$("div."+fieldId+"formError")[0]){return $.validationEngine.buildPrompt(ajaxCaller,$.validationEngine.settings.allrules[customAjaxRule].alertTextLoad,"load");}else{$.validationEngine.updatePromptText(ajaxCaller,$.validationEngine.settings.allrules[customAjaxRule].alertTextLoad,"load");}}},error:function(data,transport){$.validationEngine.debug("error in the ajax: "+data.status+" "+transport)},success:function(data){data=eval("("+data+")");ajaxisError=data.jsonValidateReturn[2];customAjaxRule=data.jsonValidateReturn[1];ajaxCaller=$("#"+data.jsonValidateReturn[0])[0];fieldId=ajaxCaller;ajaxErrorLength=$.validationEngine.ajaxValidArray.length;existInarray=false;if(ajaxisError=="false"){_checkInArray(false)
if(!existInarray){$.validationEngine.ajaxValidArray[ajaxErrorLength]=new Array(2);$.validationEngine.ajaxValidArray[ajaxErrorLength][0]=fieldId;$.validationEngine.ajaxValidArray[ajaxErrorLength][1]=false;existInarray=false;}
$.validationEngine.ajaxValid=false;promptText+=$.validationEngine.settings.allrules[customAjaxRule].alertText+"<br />";$.validationEngine.updatePromptText(ajaxCaller,promptText,"",true);}else{_checkInArray(true);$.validationEngine.ajaxValid=true;if(!customAjaxRule){$.validationEngine.debug("wrong ajax response, are you on a server or in xampp? if not delete de ajax[ajaxUser] validating rule from your form ")}
if($.validationEngine.settings.allrules[customAjaxRule].alertTextOk){$.validationEngine.updatePromptText(ajaxCaller,$.validationEngine.settings.allrules[customAjaxRule].alertTextOk,"pass",true);}else{ajaxValidate=false;$.validationEngine.closePrompt(ajaxCaller);}}
function _checkInArray(validate){for(x=0;x<ajaxErrorLength;x++){if($.validationEngine.ajaxValidArray[x][0]==fieldId){$.validationEngine.ajaxValidArray[x][1]=validate;existInarray=true;}}}}});}}
function _confirm(caller,rules,position){confirmField=rules[position+1];if($(caller).attr('value')!=$("#"+confirmField).attr('value')){$.validationEngine.isError=true;promptText+=$.validationEngine.settings.allrules["confirm"].alertText+"<br />";}}
function _length(caller,rules,position){startLength=eval(rules[position+1]);endLength=eval(rules[position+2]);feildLength=$(caller).attr('value').length;if(feildLength<startLength||feildLength>endLength){$.validationEngine.isError=true;promptText+=$.validationEngine.settings.allrules["length"].alertText+startLength+$.validationEngine.settings.allrules["length"].alertText2+endLength+$.validationEngine.settings.allrules["length"].alertText3+"<br />"}}
function _maxCheckbox(caller,rules,position){nbCheck=eval(rules[position+1]);groupname=$(caller).attr("name");groupSize=$("input[name='"+groupname+"']:checked").size();if(groupSize>nbCheck){$.validationEngine.showTriangle=false;$.validationEngine.isError=true;promptText+=$.validationEngine.settings.allrules["maxCheckbox"].alertText+"<br />";}}
function _minCheckbox(caller,rules,position){nbCheck=eval(rules[position+1]);groupname=$(caller).attr("name");groupSize=$("input[name='"+groupname+"']:checked").size();if(groupSize<nbCheck){$.validationEngine.isError=true;$.validationEngine.showTriangle=false;promptText+=$.validationEngine.settings.allrules["minCheckbox"].alertText+" "+nbCheck+" "+$.validationEngine.settings.allrules["minCheckbox"].alertText2+"<br />";}}
return($.validationEngine.isError)?$.validationEngine.isError:false;},submitForm:function(caller){if($.validationEngine.settings.ajaxSubmit){if($.validationEngine.settings.ajaxSubmitExtraData){extraData=$.validationEngine.settings.ajaxSubmitExtraData;}else{extraData="";}
$.ajax({type:"POST",url:$.validationEngine.settings.ajaxSubmitFile,async:true,data:$(caller).serialize()+"&"+extraData,error:function(data,transport){$.validationEngine.debug("error in the ajax: "+data.status+" "+transport)},success:function(data){if(data=="true"){$(caller).css("opacity",1)
$(caller).animate({opacity:0,height:0},function(){$(caller).css("display","none");$(caller).before("<div class='ajaxSubmit'>"+$.validationEngine.settings.ajaxSubmitMessage+"</div>");$.validationEngine.closePrompt(".formError",true);$(".ajaxSubmit").show("slow");if($.validationEngine.settings.success){$.validationEngine.settings.success&&$.validationEngine.settings.success();return false;}})}else{data=eval("("+data+")");if(!data.jsonValidateReturn){$.validationEngine.debug("you are not going into the success fonction and jsonValidateReturn return nothing");}
errorNumber=data.jsonValidateReturn.length
for(index=0;index<errorNumber;index++){fieldId=data.jsonValidateReturn[index][0];promptError=data.jsonValidateReturn[index][1];type=data.jsonValidateReturn[index][2];$.validationEngine.buildPrompt(fieldId,promptError,type);}}}})
return true;}
if(!$.validationEngine.settings.beforeSuccess()){if($.validationEngine.settings.success){if($.validationEngine.settings.unbindEngine){$(caller).unbind("submit")}
$.validationEngine.settings.success&&$.validationEngine.settings.success();return true;}}else{return true;}
return false;},buildPrompt:function(caller,promptText,type,ajaxed){if(!$.validationEngine.settings){$.validationEngine.defaultSetting()}
deleteItself="."+$(caller).attr("id")+"formError"
if($(deleteItself)[0]){$(deleteItself).stop();$(deleteItself).remove();}
var divFormError=document.createElement('div');var formErrorContent=document.createElement('div');linkTofield=$.validationEngine.linkTofield(caller)
$(divFormError).addClass("formError")
if(type=="pass")$(divFormError).addClass("greenPopup")
if(type=="load")$(divFormError).addClass("blackPopup")
if(ajaxed)$(divFormError).addClass("ajaxed")
$(divFormError).addClass(linkTofield);$(formErrorContent).addClass("formErrorContent");if($.validationEngine.settings.containerOverflow){$(caller).before(divFormError);}else{$("body").append(divFormError);}
$(divFormError).append(formErrorContent);if($.validationEngine.showTriangle!=false){var arrow=document.createElement('div');$(arrow).addClass("formErrorArrow");$(divFormError).append(arrow);if($.validationEngine.settings.promptPosition=="bottomLeft"||$.validationEngine.settings.promptPosition=="bottomRight"){$(arrow).addClass("formErrorArrowBottom")
$(arrow).html('<div class="line1"><!-- --></div><div class="line2"><!-- --></div><div class="line3"><!-- --></div><div class="line4"><!-- --></div><div class="line5"><!-- --></div><div class="line6"><!-- --></div><div class="line7"><!-- --></div><div class="line8"><!-- --></div><div class="line9"><!-- --></div><div class="line10"><!-- --></div>');}
if($.validationEngine.settings.promptPosition=="topLeft"||$.validationEngine.settings.promptPosition=="topRight"){$(divFormError).append(arrow);$(arrow).html('<div class="line10"><!-- --></div><div class="line9"><!-- --></div><div class="line8"><!-- --></div><div class="line7"><!-- --></div><div class="line6"><!-- --></div><div class="line5"><!-- --></div><div class="line4"><!-- --></div><div class="line3"><!-- --></div><div class="line2"><!-- --></div><div class="line1"><!-- --></div>');}}
$(formErrorContent).html(promptText)
var calculatedPosition=$.validationEngine.calculatePosition(caller,promptText,type,ajaxed,divFormError)
calculatedPosition.callerTopPosition+="px";calculatedPosition.callerleftPosition+="px";calculatedPosition.marginTopSize+="px"
$(divFormError).css({"top":calculatedPosition.callerTopPosition,"left":calculatedPosition.callerleftPosition,"marginTop":calculatedPosition.marginTopSize,"opacity":0})
return $(divFormError).animate({"opacity":0.87},function(){return true;});},updatePromptText:function(caller,promptText,type,ajaxed){linkTofield=$.validationEngine.linkTofield(caller);var updateThisPrompt="."+linkTofield;if(type=="pass"){$(updateThisPrompt).addClass("greenPopup")}else{$(updateThisPrompt).removeClass("greenPopup")};if(type=="load"){$(updateThisPrompt).addClass("blackPopup")}else{$(updateThisPrompt).removeClass("blackPopup")};if(ajaxed){$(updateThisPrompt).addClass("ajaxed")}else{$(updateThisPrompt).removeClass("ajaxed")};$(updateThisPrompt).find(".formErrorContent").html(promptText);var calculatedPosition=$.validationEngine.calculatePosition(caller,promptText,type,ajaxed,updateThisPrompt)
calculatedPosition.callerTopPosition+="px";calculatedPosition.callerleftPosition+="px";calculatedPosition.marginTopSize+="px"
$(updateThisPrompt).animate({"top":calculatedPosition.callerTopPosition,"marginTop":calculatedPosition.marginTopSize});},calculatePosition:function(caller,promptText,type,ajaxed,divFormError){if($.validationEngine.settings.containerOverflow){callerTopPosition=0;callerleftPosition=0;callerWidth=$(caller).width();inputHeight=$(divFormError).height();var marginTopSize="-"+inputHeight;}else{callerTopPosition=$(caller).offset().top;callerleftPosition=$(caller).offset().left;callerWidth=$(caller).width();inputHeight=$(divFormError).height();var marginTopSize=0;}
if($.validationEngine.settings.promptPosition=="topRight"){if($.validationEngine.settings.containerOverflow){callerleftPosition+=callerWidth-30;}else{callerleftPosition+=callerWidth-30;callerTopPosition+=-inputHeight;}}
if($.validationEngine.settings.promptPosition=="topLeft"){callerTopPosition+=-inputHeight-10;}
if($.validationEngine.settings.promptPosition=="centerRight"){callerleftPosition+=callerWidth+13;}
if($.validationEngine.settings.promptPosition=="bottomLeft"){callerHeight=$(caller).height();callerTopPosition=callerTopPosition+callerHeight+15;}
if($.validationEngine.settings.promptPosition=="bottomRight"){callerHeight=$(caller).height();callerleftPosition+=callerWidth-30;callerTopPosition+=callerHeight+5;}
return{"callerTopPosition":callerTopPosition,"callerleftPosition":callerleftPosition,"marginTopSize":marginTopSize}},linkTofield:function(caller){var linkTofield=$(caller).attr("id")+"formError";linkTofield=linkTofield.replace(/\[/g,"");linkTofield=linkTofield.replace(/\]/g,"");return linkTofield;},closePrompt:function(caller,outside){if(!$.validationEngine.settings){$.validationEngine.defaultSetting()}
if(outside){$(caller).fadeTo("fast",0,function(){$(caller).remove();});return false;}
if(typeof(ajaxValidate)=='undefined'){ajaxValidate=false}
if(!ajaxValidate){linkTofield=$.validationEngine.linkTofield(caller);closingPrompt="."+linkTofield;$(closingPrompt).fadeTo("fast",0,function(){$(closingPrompt).remove();});}},debug:function(error){if(!$("#debugMode")[0]){$("body").append("<div id='debugMode'><div class='debugError'><strong>This is a debug mode, you got a problem with your form, it will try to help you, refresh when you think you nailed down the problem</strong></div></div>");}
$(".debugError").append("<div class='debugerror'>"+error+"</div>");},submitValidation:function(caller){var stopForm=false;$.validationEngine.ajaxValid=true;var toValidateSize=$(caller).find("[class*=validate]").size();$(caller).find("[class*=validate]").each(function(){linkTofield=$.validationEngine.linkTofield(this);if(!$("."+linkTofield).hasClass("ajaxed")){var validationPass=$.validationEngine.loadValidation(this);return(validationPass)?stopForm=true:"";};});ajaxErrorLength=$.validationEngine.ajaxValidArray.length;for(x=0;x<ajaxErrorLength;x++){if($.validationEngine.ajaxValidArray[x][1]==false)$.validationEngine.ajaxValid=false;}
if(stopForm||!$.validationEngine.ajaxValid){if($.validationEngine.settings.scroll){if(!$.validationEngine.settings.containerOverflow){var destination=$(".formError:not('.greenPopup'):first").offset().top;$(".formError:not('.greenPopup')").each(function(){testDestination=$(this).offset().top;if(destination>testDestination)destination=$(this).offset().top;})
$("html:not(:animated),body:not(:animated)").animate({scrollTop:destination},1100);}else{var destination=$(".formError:not('.greenPopup'):first").offset().top;var scrollContainerScroll=$($.validationEngine.settings.containerOverflowDOM).scrollTop();var scrollContainerPos=-parseInt($($.validationEngine.settings.containerOverflowDOM).offset().top);var destination=scrollContainerScroll+destination+scrollContainerPos-5
var scrollContainer=$.validationEngine.settings.containerOverflowDOM+":not(:animated)"
$(scrollContainer).animate({scrollTop:destination},1100);}}
return true;}else{return false;}}}})(jQuery);
jQuery.noConflict()
var stepcarousel={ajaxloadingmsg:'<div style="margin: 1em; font-weight: bold"><img src="ajaxloadr.gif" style="vertical-align: middle" /> Fetching Content. Please wait...</div>',defaultbuttonsfade:0.4,configholder:{},getCSSValue:function(val){return(val=="auto")?0:parseInt(val)},getoffset:function(what,offsettype){return(what.offsetParent)?what[offsettype]+this.getoffset(what.offsetParent,offsettype):what[offsettype]},getCookie:function(Name){var re=new RegExp(Name+"=[^;]+","i");if(document.cookie.match(re))
return document.cookie.match(re)[0].split("=")[1]
return null},setCookie:function(name,value){document.cookie=name+"="+value},fadebuttons:function(config,currentpanel){config.$leftnavbutton.fadeTo('fast',currentpanel==0?this.defaultbuttonsfade:1)
config.$rightnavbutton.fadeTo('fast',currentpanel==config.lastvisiblepanel?this.defaultbuttonsfade:1)
if(currentpanel==config.lastvisiblepanel){stepcarousel.stopautostep(config)}},addnavbuttons:function($,config,currentpanel){config.$leftnavbutton=$('<img src="'+config.defaultbuttons.leftnav[0]+'">').css({zIndex:50,position:'absolute',left:config.offsets.left+config.defaultbuttons.leftnav[1]+'px',top:config.offsets.top+config.defaultbuttons.leftnav[2]+'px',cursor:'hand',cursor:'pointer'}).attr({title:'Back '+config.defaultbuttons.moveby+' panels'}).appendTo('body')
config.$rightnavbutton=$('<img src="'+config.defaultbuttons.rightnav[0]+'">').css({zIndex:50,position:'absolute',left:config.offsets.left+config.$gallery.get(0).offsetWidth+config.defaultbuttons.rightnav[1]+'px',top:config.offsets.top+config.defaultbuttons.rightnav[2]+'px',cursor:'hand',cursor:'pointer'}).attr({title:'Forward '+config.defaultbuttons.moveby+' panels'}).appendTo('body')
config.$leftnavbutton.bind('click',function(){stepcarousel.stepBy(config.galleryid,-config.defaultbuttons.moveby)})
config.$rightnavbutton.bind('click',function(){stepcarousel.stepBy(config.galleryid,config.defaultbuttons.moveby)})
if(config.panelbehavior.wraparound==false){this.fadebuttons(config,currentpanel)}
return config.$leftnavbutton.add(config.$rightnavbutton)},alignpanels:function($,config){var paneloffset=0
config.paneloffsets=[paneloffset]
config.panelwidths=[]
config.$panels.each(function(index){var $currentpanel=$(this)
$currentpanel.css({float:'none',position:'absolute',left:paneloffset+'px'})
$currentpanel.bind('click',function(e){return config.onpanelclick(e.target)})
paneloffset+=stepcarousel.getCSSValue($currentpanel.css('marginRight'))+parseInt($currentpanel.get(0).offsetWidth||$currentpanel.css('width'))
config.paneloffsets.push(paneloffset)
config.panelwidths.push(paneloffset-config.paneloffsets[config.paneloffsets.length-2])})
config.paneloffsets.pop()
var addpanelwidths=0
var lastpanelindex=config.$panels.length-1
config.lastvisiblepanel=lastpanelindex
for(var i=config.$panels.length-1;i>=0;i--){addpanelwidths+=(i==lastpanelindex?config.panelwidths[lastpanelindex]:config.paneloffsets[i+1]-config.paneloffsets[i])
if(config.gallerywidth>addpanelwidths){config.lastvisiblepanel=i}}
config.$belt.css({width:paneloffset+'px'})
config.currentpanel=(config.panelbehavior.persist)?parseInt(this.getCookie(config.galleryid+"persist")):0
config.currentpanel=(typeof config.currentpanel=="number"&&config.currentpanel<config.$panels.length)?config.currentpanel:0
var endpoint=config.paneloffsets[config.currentpanel]+(config.currentpanel==0?0:config.beltoffset)
config.$belt.css({left:-endpoint+'px'})
if(config.defaultbuttons.enable==true){var $navbuttons=this.addnavbuttons($,config,config.currentpanel)
$(window).bind("load resize",function(){config.offsets={left:stepcarousel.getoffset(config.$gallery.get(0),"offsetLeft"),top:stepcarousel.getoffset(config.$gallery.get(0),"offsetTop")}
config.$leftnavbutton.css({left:config.offsets.left+config.defaultbuttons.leftnav[1]+'px',top:config.offsets.top+config.defaultbuttons.leftnav[2]+'px'})
config.$rightnavbutton.css({left:config.offsets.left+config.$gallery.get(0).offsetWidth+config.defaultbuttons.rightnav[1]+'px',top:config.offsets.top+config.defaultbuttons.rightnav[2]+'px'})})}
if(config.autostep&&config.autostep.enable){var $carouselparts=config.$gallery.add(typeof $navbuttons!="undefined"?$navbuttons:null)
$carouselparts.bind('click',function(){config.autostep.status="stopped"
stepcarousel.stopautostep(config)})
$carouselparts.hover(function(){stepcarousel.stopautostep(config)
config.autostep.hoverstate="over"},function(){if(config.steptimer&&config.autostep.hoverstate=="over"&&config.autostep.status!="stopped"){config.steptimer=setInterval(function(){stepcarousel.autorotate(config.galleryid)},config.autostep.pause)
config.autostep.hoverstate="out"}})
config.steptimer=setInterval(function(){stepcarousel.autorotate(config.galleryid)},config.autostep.pause)}
this.createpaginate($,config)
this.statusreport(config.galleryid)
config.oninit()
config.onslideaction(this)},stepTo:function(galleryid,pindex){var config=stepcarousel.configholder[galleryid]
if(typeof config=="undefined"){return}
stepcarousel.stopautostep(config)
var pindex=Math.min(pindex-1,config.paneloffsets.length-1)
var endpoint=config.paneloffsets[pindex]+(pindex==0?0:config.beltoffset)
if(config.panelbehavior.wraparound==false&&config.defaultbuttons.enable==true){this.fadebuttons(config,pindex)}
config.$belt.animate({left:-endpoint+'px'},config.panelbehavior.speed,function(){config.onslideaction(this)})
config.currentpanel=pindex
this.statusreport(galleryid)},stepBy:function(galleryid,steps,isauto){var config=stepcarousel.configholder[galleryid]
if(typeof config=="undefined"){return}
if(!isauto)
stepcarousel.stopautostep(config)
var direction=(steps>0)?'forward':'back'
var pindex=config.currentpanel+steps
if(config.panelbehavior.wraparound==false){pindex=(direction=="back"&&pindex<=0)?0:(direction=="forward")?Math.min(pindex,config.lastvisiblepanel):pindex
if(config.defaultbuttons.enable==true){stepcarousel.fadebuttons(config,pindex)}}
else{if(pindex>config.lastvisiblepanel&&direction=="forward"){pindex=(config.currentpanel<config.lastvisiblepanel)?config.lastvisiblepanel:0}
else if(pindex<0&&direction=="back"){pindex=(config.currentpanel>0)?0:config.lastvisiblepanel}}
var endpoint=config.paneloffsets[pindex]+(pindex==0?0:config.beltoffset)
if(pindex==0&&direction=='forward'||config.currentpanel==0&&direction=='back'&&config.panelbehavior.wraparound==true){config.$belt.animate({left:-config.paneloffsets[config.currentpanel]-(direction=='forward'?100:-30)+'px'},'normal',function(){config.$belt.animate({left:-endpoint+'px'},config.panelbehavior.speed,function(){config.onslideaction(this)})})}
else
config.$belt.animate({left:-endpoint+'px'},config.panelbehavior.speed,function(){config.onslideaction(this)})
config.currentpanel=pindex
this.statusreport(galleryid)},autorotate:function(galleryid){var config=stepcarousel.configholder[galleryid]
this.stepBy(galleryid,config.autostep.moveby,true)},stopautostep:function(config){clearTimeout(config.steptimer)},statusreport:function(galleryid){var config=stepcarousel.configholder[galleryid]
if(config.statusvars.length==3){var startpoint=config.currentpanel
var visiblewidth=0
for(var endpoint=startpoint;endpoint<config.paneloffsets.length;endpoint++){visiblewidth+=config.panelwidths[endpoint]
if(visiblewidth>config.gallerywidth){break}}
startpoint+=1
endpoint=(endpoint+1==startpoint)?startpoint:endpoint
var valuearray=[startpoint,endpoint,config.panelwidths.length]
for(var i=0;i<config.statusvars.length;i++){window[config.statusvars[i]]=valuearray[i]
config.$statusobjs[i].text(valuearray[i]+" ")}}
stepcarousel.selectpaginate(jQuery,galleryid)},createpaginate:function($,config){if(config.$paginatediv.length==1){var $templateimg=config.$paginatediv.find('img["data-over"]:eq(0)')
var controlpoints=[],controlsrc=[],imgarray=[],moveby=$templateimg.attr("data-moveby")||1
var asize=(moveby==1?0:1)+Math.floor((config.lastvisiblepanel+1)/moveby)
var imghtml=$('<div>').append($templateimg.clone()).html()
srcs=[$templateimg.attr('src'),$templateimg.attr('data-over'),$templateimg.attr('data-select')]
for(var i=0;i<asize;i++){var moveto=Math.min(i*moveby,config.lastvisiblepanel)
imgarray.push(imghtml.replace(/>$/,' data-index="'+i+'" data-moveto="'+moveto+'" title="Move to Panel '+(moveto+1)+'">')+'\n')
controlpoints.push(moveto)}
var $controls=$('<span></span>').replaceAll($templateimg).append(imgarray.join('')).find('img')
$controls.css({cursor:'pointer'})
config.$paginatediv.bind('click',function(e){var $target=$(e.target)
if($target.is('img')&&$target.attr('data-over')){stepcarousel.stepTo(config.galleryid,parseInt($target.attr('data-moveto'))+1)}})
config.$paginatediv.bind('mouseover mouseout',function(e){var $target=$(e.target)
if($target.is('img')&&$target.attr('data-over')){if(parseInt($target.attr('data-index'))!=config.pageinfo.curselected)
$target.attr('src',srcs[(e.type=="mouseover")?1:0])}})
config.pageinfo={controlpoints:controlpoints,$controls:$controls,srcs:srcs,prevselected:null,curselected:null}}},selectpaginate:function($,galleryid){var config=stepcarousel.configholder[galleryid]
if(config.$paginatediv.length==1){for(var i=0;i<config.pageinfo.controlpoints.length;i++){if(config.pageinfo.controlpoints[i]<=config.currentpanel)
config.pageinfo.curselected=i}
if(typeof config.pageinfo.prevselected!=null)
config.pageinfo.$controls.eq(config.pageinfo.prevselected).attr('src',config.pageinfo.srcs[0])
config.pageinfo.$controls.eq(config.pageinfo.curselected).attr('src',config.pageinfo.srcs[2])
config.pageinfo.prevselected=config.pageinfo.curselected}},loadcontent:function(galleryid,url){var config=stepcarousel.configholder[galleryid]
config.contenttype=['ajax',url]
stepcarousel.stopautostep(config)
stepcarousel.resetsettings($,config)
stepcarousel.init(jQuery,config)},init:function($,config){config.gallerywidth=config.$gallery.width()
config.offsets={left:stepcarousel.getoffset(config.$gallery.get(0),"offsetLeft"),top:stepcarousel.getoffset(config.$gallery.get(0),"offsetTop")}
config.$belt=config.$gallery.find('.'+config.beltclass)
config.$panels=config.$gallery.find('.'+config.panelclass)
config.$paginatediv=$('#'+config.galleryid+'-paginate')
if(config.autostep)
config.autostep.pause+=config.panelbehavior.speed
config.onpanelclick=(typeof config.onpanelclick=="undefined")?function(target){}:config.onpanelclick
config.onslideaction=(typeof config.onslide=="undefined")?function(){}:function(beltobj){$(beltobj).stop();config.onslide()}
config.oninit=(typeof config.oninit=="undefined")?function(){}:config.oninit
config.beltoffset=stepcarousel.getCSSValue(config.$belt.css('marginLeft'))
config.statusvars=config.statusvars||[]
config.$statusobjs=[$('#'+config.statusvars[0]),$('#'+config.statusvars[1]),$('#'+config.statusvars[2])]
config.currentpanel=0
stepcarousel.configholder[config.galleryid]=config
if(config.contenttype[0]=="ajax"&&typeof config.contenttype[1]!="undefined")
stepcarousel.getremotepanels($,config)
else
stepcarousel.alignpanels($,config)},resetsettings:function($,config){config.$gallery.unbind()
config.$belt.stop()
config.$panels.remove()
if(config.$leftnavbutton){config.$leftnavbutton.remove()
config.$rightnavbutton.remove()}
if(config.$paginatediv.length==1){config.$paginatediv.unbind()
config.pageinfo.$controls.eq(0).attr('src',config.pageinfo.srcs[0]).removeAttr('data-index').removeAttr('data-moveto').removeAttr('title').end().slice(1).remove()}
if(config.autostep)
config.autostep.status=null
if(config.panelbehavior.persist){stepcarousel.setCookie(window[config.galleryid+"persist"],0)}},setup:function(config){document.write('<style type="text/css">\n#'+config.galleryid+'{overflow: hidden;}\n</style>')
jQuery(document).ready(function($){config.$gallery=$('#'+config.galleryid)
stepcarousel.init($,config)})
jQuery(window).bind('unload',function(){stepcarousel.resetsettings($,config)
if(config.panelbehavior.persist)
stepcarousel.setCookie(config.galleryid+"persist",config.currentpanel)
jQuery.each(config,function(ai,oi){oi=null})
config=null})}}
$=jQuery;jQuery(document).ready(function(){jQuery('#next').show();jQuery("#test_form").validationEngine({})});stepcarousel.setup({galleryid:'graphics',beltclass:'belt',panelclass:'panel',panelbehavior:{speed:300,wraparound:false,persist:false},defaultbuttons:{enable:false},statusvars:['tar','s2','s3'],contenttype:['inline']});function clrinp(def,inp)
{if(inp.value==def)
inp.value='';}
(function($){var cache=[];$.preLoadImages=function(){var args_len=arguments.length;for(var i=args_len;i--;){var cacheImage=document.createElement('img');cacheImage.src=arguments[i];cache.push(cacheImage);}}})(jQuery)
function tabs(){jQuery('li.selected').removeClass('selected');jQuery('#portal-globalnav ul li:nth-child('+tar+')').addClass('selected');}
function step(tar)
{jQuery.validationEngine.closePrompt(".formError",true);stepcarousel.stepTo('graphics',tar);tabs();return false;}
function faststep(tar)
{var pb=stepcarousel.configholder['graphics'].panelbehavior;pb.speed=0;step(tar);pb.speed=300;}
function next()
{jQuery.validationEngine.closePrompt(".formError",true);stepcarousel.stepBy('graphics',1);tabs();}
function submit_test()
{var valid=jQuery("#test_form").validationEngine({returnIsValid:true});if(!valid)return false;$('#innerform').prepend('<div id="wait"><img src="http://cdn.eyequant.com/static/spinner.gif" style="margin: 40px;"/> One moment please ...</div>');$('#test_form').hide();function err(){$("#innerform").remove();$('#testit').html("Sorry - there was an error.<br />Please try again later.").fadeIn(500);};$('#postto').load(function(){$("#innerform").remove();$('#postto').fadeIn(500);}).error(err);return true;}
