(function($){$.fn.bwSuggest=function(options){var defaults={count:false,showResultCount:false,offsetX:0,offsetY:0,currentClassName:"current",id_prefix:"s-",delay:20,form:null};
var settings=$.extend(false,defaults,options);
var containers=[];
$(this).each(function(){var obj=new BilwebSuggest(this,settings);
containers[containers.length]=obj;
});
return containers;
};
function BilwebSuggest(container,settings){this.init(container,settings);
}BilwebSuggest.prototype={wrapper:false,settings:false,textField:false,size:false,current:false,suggestDiv:false,suggestList:false,request:false,keyCodes:{KEY_TAB:"9",KEY_ENTER:"13",KEY_SHIFT:"16",KEY_ESCAPE:"27",KEY_UP:"38",KEY_DOWN:"40"},init:function(textField,settings){this.settings=settings;
this.textField=$(textField);
this.textField.attr("autocomplete","off");
this.typedValue="";
this.timeout=null;
this.lastSearch=null;
this.createSuggestDiv();
this.hideSuggestDiv();
this.positionSuggestDiv();
this.setupEvents();
},setupEvents:function(){var context=this;
this.textField.keydown(function(evt){var r=context.navigate(evt);
if(typeof r!="undefined"){return r;
}});
this.textField.keyup(function(evt){var r=context.suggest(evt);
if(typeof r!="undefined"){return r;
}});
this.textField.blur(function(){if(context.request&&isFirebugOff()){context.request.abort();
}});
$("."+this.suggestDiv.attr("class")+" li").live("mouseenter",function(){context.unselect();
context.select($(this));
});
$("."+this.suggestDiv.attr("class")+" li").live("click",function(){context.textField.val($(this).text());
context.hideSuggestDiv();
context.setCaretPosition();
});
$(window).resize(function(evt){context.positionSuggestDiv();
});
$(document.body).click(function(){context.hideSuggestDiv();
});
},createSuggestDiv:function(){if(!this.suggestDiv){this.suggestDiv=$('<div class="suggest" style="position: absolute;"></div>');
$(document.body).append(this.suggestDiv);
}},showSuggestDiv:function(){this.suggestDiv.show();
if(this.suggestList){this.suggestList.scrollTop();
}this.positionSuggestDiv();
},hideSuggestDiv:function(){this.suggestDiv.hide();
},positionSuggestDiv:function(){var pos=this.textField.offset();
var size={width:this.textField.width(),height:this.textField.height()};
if(this.settings.offsetY){pos.top+=this.settings.offsetY;
}if(this.settings.offsetX){pos.left+=this.settings.offsetX;
}var top=(pos.top+size.height).toString()+"px";
var left=pos.left+"px";
this.suggestDiv.css({left:left,top:top,width:(size.width)+"px"});
},select:function(element){this.current=element;
return this.current.addClass(this.settings.currentClassName);
},unselect:function(){if(this.current){this.current.removeClass(this.settings.currentClassName);
this.current=false;
}},scrollIntoView:function(currentItem){var scrollContainer=$(this.suggestDiv).find("ul");
if((currentItem.position().top<-currentItem.height()*3)){scrollContainer.scrollTo(currentItem,{axis:"y"});
}else{if((currentItem.position().top<0)){scrollContainer.scrollTo("-="+(currentItem.height()*3)+"px",{axis:"y"});
}else{if(currentItem.position().top>(scrollContainer.height()+currentItem.height()*3)){scrollContainer.scrollTo(currentItem,{axis:"y"});
}else{if(currentItem.position().top>(scrollContainer.height()-currentItem.height())){scrollContainer.scrollTo("+="+(currentItem.height()*3)+"px",{axis:"y"});
}}}}},clearSuggestions:function(){this.suggestDiv.empty();
this.current=false;
},setCaretPosition:function(){var text=this.textField[0];
var pos=this.textField.val().length;
if(text.setSelectionRange){text.focus();
text.setSelectionRange(pos,pos);
}else{if(text.createTextRange){var range=text.createTextRange();
range.collapse(true);
range.moveEnd("character",pos);
range.moveStart("character",pos);
range.select();
}}},navigate:function(evt){var key=evt.which||evt.keyCode;
if(key==this.keyCodes.KEY_UP||key==this.keyCodes.KEY_DOWN){if(!this.suggestDiv.is(":visible")){this.suggest(evt);
evt.preventDefault();
return ;
}var lis=this.suggestDiv.find("li");
if(!this.current){if(key==this.keyCodes.KEY_DOWN){this.select($(lis.first()));
}else{if(key==this.keyCodes.KEY_UP){this.select($(lis.last()));
}}}else{if(this.current.length>0){var index=lis.index(this.current);
this.unselect();
if(key==this.keyCodes.KEY_DOWN&&(index+1)<lis.length){this.select($(lis[++index]));
}else{if(key==this.keyCodes.KEY_UP&&(index-1)>=0){this.select($(lis[--index]));
}}}}if(this.current){this.textField.val(this.current.text());
this.scrollIntoView($(this.current));
}else{if(this.typedValue.length>1){this.textField.val(this.typedValue);
}}evt.preventDefault();
}else{if(key==this.keyCodes.KEY_TAB||key==this.keyCodes.KEY_ENTER){clearTimeout(this.timeout);
if(this.suggestDiv.is(":visible")){this.hideSuggestDiv();
if(this.current){if(this.typedValue!=this.current.text()){evt.preventDefault();
}this.clearSuggestions();
}}}}},suggest:function(evt,timeoutOverride){var key=evt.which||evt.keyCode;
if(key!=this.keyCodes.KEY_UP&&key!=this.keyCodes.KEY_DOWN&&key!=this.keyCodes.KEY_TAB&&key!=this.keyCodes.KEY_ENTER&&key!=this.keyCodes.KEY_SHIFT&&key!=this.keyCodes.KEY_ESCAPE){this.typedValue=this.textField.val();
if(this.typedValue.length>1){if(this.typedValue!=this.lastSearch){clearTimeout(this.timeout);
this.lastSearch=this.typedValue;
var context=this;
var timeoutDelay=timeoutOverride||this.settings.delay;
this.timeout=setTimeout(function(){context.remoteSuggest();
},timeoutDelay);
}}else{clearTimeout(this.timeout);
this.lastSearch="";
this.hideSuggestDiv();
if(this.request!=false&&isFirebugOff()){this.request.abort();
}}evt.preventDefault();
}else{if(key==this.keyCodes.KEY_ESCAPE){this.hideSuggestDiv();
this.clearSuggestions();
}else{if(key==this.keyCodes.KEY_DOWN||key==this.keyCodes.KEY_UP){if(this.textField.val().length<1){this.hideSuggestDiv();
this.clearSuggestions();
}else{if(this.typedValue.length==0&&this.textField.val().length>1){evt.which=evt.keyCode="0";
this.suggest(evt,0);
}else{if(!this.suggestDiv.is(":visible")){this.showSuggestDiv();
}}}}}}},remoteSuggest:function(){var parameters={debug:0,format:"json"};
if(this.settings.form){var hParams=$(this.settings.form).serialize(true);
parameters=$.extend(false,parameters,hParams);
}else{var hParams={freetext:this.textField.val()};
parameters=$.extend(false,parameters,hParams);
}if(this.settings.what){parameters.what=this.settings.what;
}if(this.settings.type){parameters.type=this.settings.type;
}if(this.settings.count){parameters.maxsuggests=this.settings.count;
}var context=this;
if(this.request&&typeof this.request!="undefined"&&isFirebugOff()){this.request.abort();
}this.request=$.ajax({url:"/query/vehicle/suggest",data:parameters,cache:true,dataType:"json",timeout:1000,success:function(data){if(data.suggestions.length>0){context.clearSuggestions();
context.suggestList=$("<ul></ul>");
var make_model_count=0;
$.each(data.suggestions,function(i,suggestion){var li=$('<li id="'+(context.settings.id_prefix+i)+'" class="'+suggestion.type+'"></li>');
if(i%2==1){li.addClass("odd");
}li.append(suggestion.value);
context.suggestList.append(li);
});
context.suggestDiv.append(context.suggestList);
context.showSuggestDiv();
}else{context.hideSuggestDiv();
}}});
}};
})(jQuery);
function debug(str){if(window.console&&window.console.log&&jQuery.browser.mozilla){console.log(str);
}else{$("#debug").show().val($("#debug").val()+str+"\n");
}}function isFirebugOff(){var result=(typeof window.console=="undefined");
return result;
}jQuery(function(){if(jQuery("#search_form").length>0&&(jQuery("#search_form").attr("name")=="vehicle_search"||jQuery("#search_form").attr("name")=="vehicle_search_partner")){jQuery("#search_form").find("#freetext").bwSuggest({what:"vehicle_suggest"});
}});
(function($){$.fn.bilweb=function(options){var defaults={callbacks:{init:false}};
var settings=$.extend(false,defaults,options);
return new Bilweb(this,settings);
};
function Bilweb(wrapper,settings){this.init(settings);
}Bilweb.prototype={timerDelay:200,tModelScroll:false,lastMakeStr:false,galleries:false,searchForm:false,labels:false,vehicle:false,ypDeepLinksContainer:false,logger:false,init:function(settings){var context=this;
this.labels=settings.labels;
this.vehicle=settings.vehicle;
$(document).ready(function(){context.scheduleUpdateModelScrollBox();
if($("form#search_form").length>0){context.searchForm=$("form#search_form");
context.initSearchForm();
}if($(".result_options").length>0){$("#filter_ads_dealer").change(function(){context.changeContactTypeFilter();
});
$("#filter_ads_private").change(function(){context.changeContactTypeFilter();
});
}if($("#gallery").length>0){context.galleries=$("#gallery").adGallery();
}if($("#region_map").length>0){context.initRegionMap();
}$(".facebook").click(function(){});
if($("#eniro-deepsearchbox-container").length>0){context.ypDeepLinksContainer=$("#eniro-deepsearchbox-container");
context.populateEniroDeepSearchBox();
}});
$(window).load(function(){if($("body#print").length>0){window.print();
}});
},initSearchForm:function(){var context=this;
if("vehicle_search"==this.searchForm.attr("name")||"vehicle_search_partner"==this.searchForm.attr("name")){this.searchForm.find("select#make").click(function(){context.scheduleUpdateModelScrollBox();
return false;
});
this.searchForm.find("#search_toggle").click(function(){context.toggleElementVisible("#advanced_search");
context.toggleElementVisible("#search_toggle .show_simple");
context.toggleElementVisible("#search_toggle .show_extended");
return false;
});
this.searchForm.find(".vehicle_colour").click(function(){var colour=context.substringAfterLast(this.id,"_");
context.toggleVehicleColour(colour);
return false;
});
this.searchForm.find(".vehicle_body").click(function(){var body=context.substringAfterLast(this.id,"_");
context.toggleVehicleBody(body);
return false;
});
this.searchForm.find("#added_latest_days").click(function(){context.toggleElementEnabled("#latest_days_selection",this.checked);
});
}else{if("contact_search"==this.searchForm.attr("name")){}}this.searchForm.submitButton=this.searchForm.find("a#search_button");
this.searchForm.submitButton.click(function(){$.each(context.searchForm.find("input"),function(){if($(this).val()==""){$(this).attr("disabled","disabled");
}});
$.each(context.searchForm.find("select"),function(){if($(this).val()==""){$(this).attr("disabled","disabled");
}});
context.searchForm.submit();
return false;
});
this.searchForm.freetextInput=this.searchForm.find("input[name=freetext]");
this.searchForm.freetextLabel=this.searchForm.find("#freetext_wrapper label span");
this.searchForm.freetextLabel.toggleOverlay=function(){if($(this).val()!=""){context.searchForm.freetextLabel.hide();
}else{context.searchForm.freetextLabel.show();
}};
this.searchForm.freetextInput.keyup(this.searchForm.freetextLabel.toggleOverlay);
this.searchForm.freetextInput.focus(this.searchForm.freetextLabel.toggleOverlay);
this.searchForm.freetextInput.blur(this.searchForm.freetextLabel.toggleOverlay);
this.searchForm.freetextInput.focus();
this.searchForm.find("input").keydown(function(evt){if((evt.which||evt.keyCode)=="13"&&!evt.isDefaultPrevented()){context.searchForm.submitButton.click();
}});
},initRegionMap:function(){var context=this;
$("#region_map area").hover(function(){var regionId=context.substringAfterLast(this.id,"_");
$("#js_region_link_"+regionId).addClass("highlight");
$("#mouseover_map").css("background-position","-"+Number(regionId)*189+"px 0");
},function(){var regionId=context.substringAfterLast(this.id,"_");
$("#js_region_link_"+regionId).removeClass("highlight");
$("#mouseover_map").css("background-position","0px 0");
});
$("#region_list a").hover(function(){var regionId=context.substringAfterLast(this.id,"_");
$(this).addClass("highlight");
$("#mouseover_map").css("background-position","-"+Number(regionId)*189+"px 0");
},function(){var regionId=context.substringAfterLast(this.id,"_");
$(this).removeClass("highlight");
$("#mouseover_map").css("background-position","0px 0");
});
},updateModelScrollBox:function(){if($("select#model").length<1){return ;
}else{if($("select#make").length<1){return ;
}}var makeArr=$("select#make").val();
var makeStr="";
var isMultipleSelectBox=$("select#make").attr("multiple");
if(isMultipleSelectBox){if(makeArr!=undefined&&makeArr.length==1&&makeArr[0].length>0){makeStr=makeArr[0];
}else{$("select#model").html(options);
return ;
}}else{makeStr=makeArr;
}if(this.lastMakeStr==makeStr){return ;
}else{this.lastMakeStr=makeStr;
}var defaultOption=$("select#model option");
defaultOption=defaultOption[0];
var options="";
options+='<option value="'+defaultOption.value+'" selected="selected">'+defaultOption.text+"</option>";
$.ajax({url:"/query/getModels",data:{format:"json",make:makeStr},cache:false,dataType:"json",success:function(data){var otherOption="";
$.each(data.models,function(i,model){if(model.propertyName=="Annan"){otherOption='<option value="'+model.propertyName+'">'+model.propertyName+"</option>";
}else{options+='<option value="'+model.propertyName+'">'+model.propertyName+"</option>";
}});
if(otherOption!=undefined){options+=otherOption;
}if($.browser.msie&&$.browser.version==7){$("select#model").html("");
}$("select#model").html(options);
}});
},populateEniroDeepSearchBox:function(){var context=this;
var region=$("#region").val();
var freetext=$.getQueryParam("freetext");
var page=$.getQueryParam("page")||this.getPageFromRequestURI()||0;
var hitsPerPage=10;
if(typeof page=="undefined"){page=0;
}$.ajax({url:"/query",data:{format:"json",what:"getYpDeepLinks",ypHpp:hitsPerPage,page:page,freetext:freetext,region:region},cache:true,dataType:"json",success:function(data){if(typeof data=="undefined"||typeof data.companies=="undefined"||data.companies.length<1){return ;
}var links=context.ypDeepLinksContainer.find("ul");
links.html("");
$.each(data.companies,function(i,company){var link=$("<li></li>");
var title=$('<strong class="title">'+company.title+"</strong>");
var href=$('<a class="title_link" href="'+company.link+'" title="'+company.title+'" rel="nofollow"></a>');
href.append(title);
link.append(href);
if(company.address.length>5){var address=$('<span class="address">'+company.address+"</span>");
link.append(address);
}links.append(link);
});
links.append('<a class="eniro-logo" href="http://gulasidorna.eniro.se/?partnerid=eniro_partnerbox" title="http://gulasidorna.eniro.se/">Eniro</a>');
context.ypDeepLinksContainer.append(links).show();
}});
},toggleElementVisible:function(what){$(what).toggle();
},toggleVehicleColour:function(colour){var selected=$("#vehicle_colour_"+colour).hasClass("vehicle_colour_"+colour+"_on");
if(selected==true){$("#js_vehicle_colour_"+colour).attr("disabled",true);
$("#js_vehicle_colour_"+colour).removeAttr("value");
$("#vehicle_colour_"+colour).addClass("vehicle_colour_"+colour+"_off");
$("#vehicle_colour_"+colour).removeClass("vehicle_colour_"+colour+"_on");
}else{$("#js_vehicle_colour_"+colour).removeAttr("disabled");
$("#js_vehicle_colour_"+colour).val(colour);
$("#vehicle_colour_"+colour).addClass("vehicle_colour_"+colour+"_on");
$("#vehicle_colour_"+colour).removeClass("vehicle_colour_"+colour+"_off");
}},toggleVehicleBody:function(body){var selected=$("#vehicle_body_"+body).hasClass("vehicle_body_"+body+"_on");
if(selected==true){$("#js_vehicle_body_"+body).attr("disabled",true);
$("#js_vehicle_body_"+body).removeAttr("value");
$("#vehicle_body_"+body).addClass("vehicle_body_"+body+"_off");
$("#vehicle_body_"+body).removeClass("vehicle_body_"+body+"_on");
}else{$("#js_vehicle_body_"+body).removeAttr("disabled");
$("#js_vehicle_body_"+body).val(body);
$("#vehicle_body_"+body).addClass("vehicle_body_"+body+"_on");
$("#vehicle_body_"+body).removeClass("vehicle_body_"+body+"_off");
}},toggleElementEnabled:function(what,bool){if(bool){$(what).removeAttr("disabled");
}else{$(what).attr("disabled",true);
}},substringAfterLast:function(haystack,what){var result="";
var lastWhatIndex=haystack.lastIndexOf(what);
if(lastWhatIndex>-1){result=haystack.substring(lastWhatIndex+1);
}else{result=haystack;
}return result;
},scheduleUpdateModelScrollBox:function(delay){if(this.tModelScroll!=undefined){clearTimeout(this.tModelScroll);
}if(delay==undefined||delay<1){delay=this.timerDelay;
}var context=this;
this.tModelScroll=setTimeout(function(){context.updateModelScrollBox();
},delay);
},changeContactTypeFilter:function(){var cb_dealer_checked=$("#filter_ads_dealer").is(":checked");
var cb_private_checked=$("#filter_ads_private").is(":checked");
this.searchForm.contacttypeDropdown=this.searchForm.find("select[name='contacttype']");
if(cb_dealer_checked&&cb_private_checked){this.searchForm.contacttypeDropdown.val("");
}else{if(cb_dealer_checked){this.searchForm.contacttypeDropdown.val("3");
}else{if(cb_private_checked){this.searchForm.contacttypeDropdown.val("4");
}else{this.searchForm.contacttypeDropdown.val("");
}}}this.searchForm.submitButton.click();
},hideFlash:function(){},showFlash:function(){},getPageFromRequestURI:function(){var result=0;
var re=new RegExp("p:([0-9]+)","g");
var reList=re.exec(window.location);
if(reList!=null){result=reList[1];
}return result;
},setupLogger:function(){this.logger=jQuery('<div id="bilweb_logger"><ul/></div>').appendTo("body");
},log:function(message){if(typeof console!="undefined"){console.log(message);
}else{this.logger.append(jQuery('<li class="info">'+message+"</li>"));
}}};
})(jQuery);
function addBilwebBookmark(url,title){if(window.sidebar){window.sidebar.addPanel(title,url,"");
}else{if(window.external&&typeof window.external.AddFavorite=="unknown"){window.external.AddFavorite(url,title);
}else{if(window.opera&&window.print){return true;
}else{}}}}function makeBilwebStartpage(what,url){if(checkVersion()!="NOT IE"){what.style.behavior="url(#default#homepage)";
what.setHomePage(url);
}else{msg="Vi kan tyv\344rr bara st\344lla in din startsida automatiskt i Internet Explorer.";
alert(msg);
}}function checkVersion(){var browserString="NOT IE";
var ver=getInternetExplorerVersion();
if(ver>-1){if(ver>=8){browserString="IE8";
}else{browserString="IE7";
}}return browserString;
}function getInternetExplorerVersion(){var rv=-1;
if(navigator.appName=="Microsoft Internet Explorer"){var ua=navigator.userAgent;
var re=new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})");
if(re.exec(ua)!=null){rv=parseFloat(RegExp.$1);
}}return rv;
}var CDraggable=jQuery.klass({x:undefined,y:undefined,left:undefined,top:undefined,handle:undefined,initialize:function(element,options){this.handle=options.handle||element;
this.options=options;
this.element=jQuery(element);
this.element.css({position:"absolute"});
this.handle.bind("mousedown",{obj:this},this.dragStart);
},getMousePosition:function(event){var posx=0;
var posy=0;
if(!event){event=window.event;
}if(event.pageX||event.pageY){posx=event.pageX;
posy=event.pageY;
}else{if(event.clientX||event.clientY){posx=event.clientX+document.body.scrollLeft+document.documentElement.scrollLeft;
posy=event.clientY+document.body.scrollTop+document.documentElement.scrollTop;
}}return{x:posx,y:posy};
},dragStart:function(event){var tagName=event.target.tagName;
switch(tagName.toLowerCase()){case"a":case"input":case"textarea":return ;
default:event.preventDefault();
}var self=event.data.obj;
var mouseposition=self.getMousePosition(event);
self.x=mouseposition.x;
self.y=mouseposition.y;
jQuery(document).bind("mousemove",{obj:self},self.drag).bind("mouseup",{obj:self},self.dragEnd);
self.element.addClass("dragging");
},drag:function(event){event.preventDefault();
var self=event.data.obj;
var mouseposition=self.getMousePosition(event);
self.left=self.getValue(parseInt(self.element.css("left")||0,10)-(self.x-mouseposition.x),self.options.minLeft,self.options.maxLeft,self);
self.top=self.getValue(parseInt(self.element.css("top")||0,10)-(self.y-mouseposition.y),self.options.minTop,self.options.maxTop,self);
self.element.css({left:self.left+"px",top:self.top+"px"});
self.x=mouseposition.x;
self.y=mouseposition.y;
},isNumber:function(o){if(typeof o=="object"&&o!=null){return(typeof o.valueOf()=="number");
}else{return(typeof o=="number");
}},getValue:function(pointer,min,max,self){var ret=pointer;
if(self.isNumber(min)){if(self.isNumber(max)){ret=Math.constrain(pointer,min,max);
}else{ret=Math.max(pointer,min);
}}else{if(self.isNumber(max)){ret=Math.min(pointer,max);
}}return ret;
},dragEnd:function(event){event.preventDefault();
var self=event.data.obj;
jQuery(document).unbind("mousemove",self.drag).unbind("mouseup",self.dragEnd);
self.element.removeClass("dragging");
}});
var CDialog=jQuery.klass({initialize:function(options,handler){this.handler=handler;
this.togglers=[];
this.callbacks=[];
this.loaded=false;
this.is_open=false;
this.options=options;
this.wrapper_id=this.handler.dialogs.length+1;
},createElements:function(){this.wrapper=jQuery('<div class="dialog" id="dialog-'+this.wrapper_id+'"></div>');
this.header=jQuery("<h2><span>"+this.options.title+"</span></h2>");
this.closer=jQuery('<a class="sprite_icons close-btn" href="#" alt="Stäng" title="Stäng"></a>');
this.body=jQuery('<div class="body"></div>');
this.top=jQuery('<div class="top"></div>');
this.bottom=jQuery('<div class="bottom"><div></div></div>');
this.loader=jQuery('<div class="loader"></div>');
this.content=jQuery('<div class="content"></div>');
this.body.append(this.top);
this.body.append(this.header.append(this.closer));
this.body.append(this.content);
this.body.append(this.loader);
this.wrapper.append(this.body);
this.wrapper.append(this.bottom);
this.handler.container.append(this.wrapper);
this.Draggable=new CDraggable(this.wrapper,{handle:this.wrapper,minTop:70,minLeft:20});
var self=this;
this.wrapper.bind("mousedown",function(event){self.placeOnTop();
});
this.closer.bind("click",function(event){self.toggle();
return false;
});
},open:function(){if(!this.loaded){this.createElements();
this.setContent();
}else{if(this.wrapper.hasClass("dialog-open")){return ;
}else{if(this.options.resetOnOpen){this.setContent();
}}}this.wrapper.addClass("dialog-open");
this.placeOnTop();
this.position();
this.is_open=true;
},close:function(){if(this.options.destroyOnClose){this.destroy();
}else{this.wrapper.removeClass("dialog-open");
this.is_open=false;
}},destroy:function(){var index=this.handler.dialogs.indexOf(this);
if(index){this.handler.dialogs.splice(index,1);
this.wrapper.remove();
}},toggle:function(){if(this.is_open){this.close();
}else{this.open();
}},setContent:function(text){text=text||this.options.textContent||null;
if(text){this.content.html(text);
if(this.options.hijackForms){this.hijackForms();
}if(this.options.get("addCancelButton")){this.addCancelButton();
}if(this.options.get("countDialogs")){this.countDialogs();
}this.position();
jQuery(this).trigger("afterSetContent");
}else{if(this.options.urlForContent){this.setContentByAjax(this.options.urlForContent);
}}this.loaded=true;
},setContentByAjax:function(url,parameters,type){var target=this,query;
query=target.options.urlForContent;
query=query.toString().replace("?","&");
this.loader.show();
if(!type){type="GET";
}var onSuccess=function(data,textStatus){target.content.html(data);
target.enableCloseLinks();
if(target.options.hijackForms){target.hijackForms();
}if(target.options.addCancelButton){target.addCancelButton();
}if(target.options.countDialogs){target.countDialogs();
}target.position();
jQuery(target).trigger("afterSetContent",target);
};
var onError=function(xhr,status,error){target.content.html("An unexpected error occurred. details follow\n<br/>"+status+"\n<br/>"+error);
jQuery(target).trigger("afterSetContent");
};
var onComplete=function(){target.loader.hide();
};
jQuery.ajax({type:type,url:url,data:parameters,success:onSuccess,error:onError,complete:onComplete,dataType:"html"});
},serializeObject:function(form){var o={};
var a=form.serializeArray();
jQuery.each(a,function(){if(o[this.name]){if(!o[this.name].push){o[this.name]=[o[this.name]];
}o[this.name].push(this.value||"");
}else{o[this.name]=this.value||"";
}});
return o;
},hijackForms:function(){var self=this;
this.content.find("form").each(function(){var form=jQuery(this);
form.bind("submit",function(event){event.preventDefault();
self.validation=true;
jQuery(this).find(".required").each(function(){var errorField=jQuery(this).nextAll("p.error:first");
if(jQuery(this).val()==""){var errorMessage=bwSettings.labels["form_validation:required_field"]||"common:form_validation:required_field";
errorField.html(errorMessage);
self.validation=false;
}else{errorField.html("");
}});
jQuery(this).find(".require-email").each(function(){var errorField=jQuery(this).nextAll("p.error:first");
if(jQuery(this).val()==""){var errorMessage=bwSettings.labels["form_validation:required_field"]||"common:form_validation:required_field";
errorField.html(errorMessage);
self.validation=false;
}else{if(!(/[\w\-_]{1,}([\.]([\w\-_]+)){0,2}[@][\w\-_]{1,}([\.]([\w\-_]{1,})){0,2}([\.]\w{2,4})$/.test(jQuery(this).val()))){var errorMessage=bwSettings.labels["form_validation:invalid_email"]||"common:form_validation:invalid_email";
errorField.html(errorMessage);
self.validation=false;
}else{errorField.html("");
}}});
jQuery(this).find(".require-phone").each(function(){var errorField=jQuery(this).nextAll("p.error:first");
if(jQuery(this).val()==""){var errorMessage=bwSettings.labels["form_validation:required_field"]||"common:form_validation:required_field";
errorField.html(errorMessage);
self.validation=false;
}else{if(!(/^[\+]?([\-\d ]){6,}$/.test(jQuery(this).val()))){var errorMessage=bwSettings.labels["form_validation:invalid_phone"]||"common:form_validation:invalid_phone";
errorField.html(errorMessage);
self.validation=false;
}else{errorField.html("");
}}});
if(self.validation==true){self.setContentByAjax(form.attr("action"),self.serializeObject(form),"POST");
jQuery(this).find("input").each(function(){jQuery(this).attr("disabled",true);
});
}});
});
},addCancelButton:function(){var self=this;
this.cancelButton=this.content.find("form .cancel")[0];
if(this.cancelButton){this.cancelButton.bind("click",function(event){event.preventDefault();
self.close();
});
}},countDialogs:function(){this.dialogitem=this.content.find(".successmsg")[0];
if(this.dialogitem){this.dialogitem.addClass("dialog-"+this.wrapper_id);
}},placeOnTop:function(){this.handler.topindex+=100;
if(!isNaN(this.handler.topindex)){this.wrapper.css("z-index",this.handler.topindex);
}},position:function(x,y){var dims={width:700,height:jQuery(document).height()};
var scrollOffset={top:jQuery(document).scrollTop(),left:jQuery(document).scrollLeft()};
this.wrapper.css({visibility:"hidden"});
x=x||this.options.x||false;
if(!x){x=scrollOffset.left+dims.width/2-this.wrapper.width()/2;
}y=y||this.options.y||false;
if(!y){y=scrollOffset.top+100;
}if(x<scrollOffset.left+20){x=scrollOffset.left+20;
}if(y<scrollOffset.top+100){y=scrollOffset.top+100;
}this.wrapper.css({left:(x=0?x:x+"px"),top:(y=0?y:y+"px"),visibility:"visible"});
},addToggler:function(element){this.togglers.push(jQuery(element));
element.onclick=function(){return false;
};
var self=this;
jQuery(element).bind("click",function(event){event.preventDefault();
self.toggle();
});
},enableCloseLinks:function(){var self=this;
this.content.find(".close-link").each(function(){jQuery(this).click(function(){self.toggle();
return false;
});
});
}});
var CDialogHandler=jQuery.klass({container:undefined,topindex:0,dialogs:[],initialize:function(){this.container=jQuery('<div id="dialogs"></div>').appendTo("body");
this.createDialogsFromLinks(jQuery(".dialog-link"),{hijackForms:true,resetOnOpen:true,destroyOnClose:false,afterSetContent:false});
},addDialog:function(options){var dialog=new CDialog(options,this);
this.dialogs.push(dialog);
return dialog;
},destroy:function(dialog){dialog.destroy();
},createDialogsFromLinks:function(links,options){var ret=[];
var self=this;
links.each(function(element){ret.push(self.createDialogFromLink(this,options));
});
return ret;
},createDialogFromLink:function(el,options){el=jQuery(el);
if(!el){return ;
}options=jQuery.extend({title:el.attr("title")||el.text(),urlForContent:el.attr("href")},options);
var dialog;
dialog=this.addDialog(options);
dialog.addToggler(el);
if(typeof options.afterSetContent=="function"){jQuery(dialog).bind("afterSetContent",dialog,options.afterSetContent);
}return dialog;
}});
jQuery(document).ready(function(){var DialogHandler=new CDialogHandler();
});

