$(function(){$("a[rel='e']").each(function(){chars = $(this).attr("href").split(",");mailto="";for(i=0,t=chars.length;i<t;i++){mailto +=String.fromCharCode(chars[i]);};if(mailto.substr(0,7)!= "mailto:"){mailto = "mailto:"+mailto;};$(this).attr("href",mailto);chars = $(this).text().split(",");text="";for(i=0,t=chars.length;i<t;i++){text +=String.fromCharCode(chars[i]);};$(this).text(text); });});var preloaded = new Array();function preload_images(){for (var i = 0; i < arguments.length; i++){preloaded[i] = document.createElement('img');preloaded[i].setAttribute('src',arguments[i]);};};$(function(){$("a[href*='http:\/\/']:not([href*='"+location.hostname+"'])").attr("target","_blank");});function Validator(form){this.validation = []; this.isValid = true;this.pos = {start:0, end:0}; if((this.formobj = $("#"+form)).size()<= 0){if((this.formobj = $("form[name="+form+"]")).size()<= 0){alert("ERROR: could not get form object: " + form);return;}}this.setup = this.addValidation = function(){for(var i=0; i<arguments.length; i++){var fieldobj = $("#"+arguments[i].id);fieldobj.num = i;if(fieldobj.size()<= 0){alert("ERROR: Did not find: " + arguments[i].id);return;}for (var name in arguments[i]){if (name == "name"){alert("field names called name will not work.");}if(name == 'live' && arguments[i][name] == true){fieldobj.bind("keypress",{num:i,validator:this}, function(e){e.data.validator.validate("warning",e.data.num);});fieldobj.bind("focus",{num:i,validator:this}, function(e){if (e.data.validator.isValid == true){e.data.validator.validate("warning", e.data.num);}});}}fieldobj.bind("keydown change",{num:i,validator:this},function(e){e.data.validator.pos = getCaretPos($("#" + e.data.validator.validation[e.data.num].id)[0]);});if(val = arguments[i]['restrict']){fieldobj.bind("input blur change keyup",{val:val,num:i,validator:this},function(e){var value = $("#"+e.data.validator.validation[e.data.num].id).val();var len = value.length;if (len > 0){var newstring = '';for (var j = 0; j < len; j++){var character = value.substr(j, 1);if (character.search(e.data.val)!= -1){newstring += character;if(e.data.validator.pos)e.data.validator.pos.start++;} else if (character.toLowerCase().search(e.data.val)!= -1){ newstring += character.toLowerCase();if(e.data.validator.pos)e.data.validator.pos.start++;} else if (character.toUpperCase().search(e.data.val)!= -1){ newstring += character.toUpperCase();if(e.data.validator.pos)e.data.validator.pos.start++;} else if (e.data.val.search(/ /)== -1 && e.data.val.search(/_/)!= -1 && character == " "){ newstring += "_";if(e.data.validator.pos)e.data.validator.pos.start++;}}if(value != newstring){$("#" + e.data.validator.validation[e.data.num].id).val(newstring);setCaretPos($("#" + e.data.validator.validation[e.data.num].id)[0],e.data.validator.pos.start);}}});}if (val = arguments[i]['maxlength']){fieldobj.bind("input blur change keyup keydown",{num:i,validator:this},function(e){ var value = $("#"+e.data.validator.validation[e.data.num].id).val();var maxlength = e.data.validator.validation[e.data.num].maxlength; if( value.length > maxlength){$("#" + e.data.validator.validation[e.data.num].id).val(value.substr(0,maxlength));setCaretPos($("#" + e.data.validator.validation[e.data.num].id)[0],e.data.validator.pos.start);} });}}this.validation =this.validation.concat(Array.prototype.slice.call(arguments, 0)); };this.removeValidation = function(){for(var i=0; i<arguments.length; i++){for(j=0, t = this.validation.length;j<t;j++){if(this.validation[j].id == arguments[i]){var fieldobj = $("#"+this.validation[j].id);fieldobj.unbind("keydown change keypress focus");if(this.validation[j].restrict != undefined){fieldobj.unbind("input blur change keyup");}if(this.validation[j].maxlength != undefined){fieldobj.unbind("input blur change keyup keydown");}var empty = new Array();this.validation =empty.concat(this.validation.slice(0,j),this.validation.slice(j+1));break;}}}};this.addCustom = function(func, id){found = false;for(i=0, len=this.validation.length; i<len; i++){if(this.validation[i].id == id){this.validation[i].custom= func;found = true;break;}}if(found == false){this.validation[i].id = id;this.validation[i].custom = func;}};this.validate = function (level){this.isValid = true;if(arguments.length>1 && !isNaN(arguments[1])){if ($("#" + this.validation[i].id).size()> 0 && $("#" + this.validation[arguments[1]].id).parents().map(function(){if (!$(this).is(":visible")){return this;}}).size()== 0){for (var name in this.validation[arguments[1]]){errorstr = '';value = this.validation[arguments[1]][name];obj = $("#" + this.validation[arguments[1]].id);if (this.validation[arguments[1]].custom != undefined && name != 'id' && this.validation[arguments[1]].custom()== false || this.validation[arguments[1]].required == true && name != "id" && (errorstr = check(obj, name, value))!= true || obj.val()!= "" && name != "id" && (errorstr = check(obj, name, value))!= true){this.isValid = false;break;}}}} else { for(var i=0; i < this.validation.length && this.isValid == true; i++){if ($("#" + this.validation[i].id).size()> 0 && $("#" + this.validation[i].id).parents().map(function(){if (!$(this).is(":visible")){return this;}}).size()== 0){for (var name in this.validation[i]){errorstr = '';value = this.validation[i][name];obj = $("#" + this.validation[i].id);if (this.validation[i].custom != undefined && name != 'id' && (errorstr = this.validation[i].custom())!= true || this.validation[i].required == true && name != "id" && (errorstr = check(obj, name, value))!= true || obj.val()!= "" && name != "id" && (errorstr = check(obj, name, value))!= true){this.isValid = false;if (this.validation[i]['showError'] != undefined){obj = $("#" + this.validation[i]['showError']);}break;}}}}}if(this.isValid){hideNotice();} else {if(level == "error"){obj.focus();}showNotice(level,errorstr,obj);}return this.isValid;};this.formobj.bind("submit",{validator:this}, function(e){return e.data.validator.validate("error");});}function getCaretPos(input){var result = { start: 0, end: 0 };if (input.setSelectionRange){result.start = input.selectionStart;result.end = input.selectionEnd;} else if (document.selection && document.selection.createRange){var range = document.selection.createRange();var r2 = range.duplicate();result.start = 0 - r2.moveStart('character', -100000);result.end = result.start + range.text.length;}return result;}function setCaretPos(field, pos){if(field.setSelectionRange){field.setSelectionRange(pos,pos);field.focus();} else if (field.createTextRange){var range = field.createTextRange();range.collapse(true);range.moveEnd('character', pos);range.moveStart('character', pos);range.select();}}function validateEmail(email){if(email.length <= 0){return false;}var splitted = email.match(/^(.+)@(.+)$/);if(splitted == null)return false;if(splitted[1] != null){var regexp_user=/^\"?[\w-_\.]*\"?$/;if(splitted[1].match(regexp_user)== null)return false;}if(splitted[2] != null){var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;if(splitted[2].match(regexp_domain)== null){var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;if(splitted[2].match(regexp_ip)== null)return false;}return true;}return false;}function check(fieldobj, type, value){var fieldvalue = (fieldobj.attr("value")==undefined?"":fieldobj.attr("value"));switch(type){ case "required": case "req":if($(fieldobj).hasClass("multiSelect_selected")&& $(fieldobj).find('option').size()> 0){return true;}if($(fieldobj).attr("type")=="checkbox" && !$(fieldobj).is(':checked')|| fieldvalue.length == 0){return "This is a required field";}break; case "maxlength": case "maxlen":if(fieldvalue.length >parseInt(value)){ return "Too many characters entered. Please enter "+value; }break;case "minlength": case "minlen": if(fieldvalue.length > 0 && fieldvalue.length <parseInt(value)){ return value+" characters are required"; }break; case "alnum": case "alphanumeric":var charpos = fieldvalue.search("[^A-Za-z0-9]");if(charpos == null){ return false; } break;case "reqalphanumeric":var charpos = fieldvalue.search("[^A-Za-z]");if(charpos == -1){ return false; } var charpos = fieldvalue.search("[^0-9]");if(charpos == -1){ return false; } break;case "num": case "numeric":var charpos = fieldvalue.search("[^0-9]"); if(fieldvalue.length > 0 &&charpos >= 0){ return "Please enter a numeric value"; }break; case "alphabetic": case "alpha": var charpos = fieldvalue.search("[^A-Za-z]"); if(fieldvalue.length > 0 &&charpos >= 0){ return false; } break;case "alnumhyphen":var charpos = fieldvalue.search("[^A-Za-z0-9\-_]"); if(fieldvalue.length > 0 &&charpos >= 0){ return false; }break;case "email": if(fieldvalue.length > 0 && !validateEmail(fieldvalue)){ return "Please enter a valid email address"; }break; case "email_confirm": if(fieldvalue != $('email').value){return false; }break;case "lt": case "lessthan": if(isNaN(fieldvalue)){ return false; }if(fieldvalue >=parseInt(value)){ return false; } break; case "gt": case "greaterthan": if(isNaN(fieldvalue)){ return false; }if(fieldvalue <=parseInt(value)){ return false; }break; case "confirm": if(fieldvalue != $("#"+value).val()){return "Confirm e-mail doesn't match";} break; case "regexp":if(fieldvalue.length > 0){if(!fieldvalue.match(value)){ return false; }}break; } return true;}function selectDay(field_id){var year = $('#'+field_id+'_year').val();var month = $('#'+field_id+'_month').val();var dayObj = $('#'+field_id+'_day');if(year != "" && month != ""){var currentSel = dayObj[0].selectedIndex;var dim = days_in_month(year, month-1);html = '<option></option>';for(var i=1;i<=dim; i++){html += '<option>'+i+'</option>';}dayObj.html(html);if(currentSel > dim){dayObj[0].selectedIndex = dim;} else {dayObj[0].selectedIndex = currentSel;}}updateDate(field_id);}function updateDate(field_id){var year = $('#'+field_id+'_year').val();var month = $('#'+field_id+'_month').val();var day = $('#'+field_id+'_day').val();dateString = '';if(year != ''){dateString += year + '-'; } else {dateString += '0000-';}if(month != ''){dateString += month + '-';} else {dateString += '00-';}if(day != ''){dateString += day;} else {dateString += '00';}$('#'+field_id).attr('value',dateString);}function days_in_month (year, month){ return 32 - new Date(year, month, 32).getDate();}var fadeId = null;function showNotice(type, message, obj){if($("#notice").length <= 0){$("body").append('<div id="notice" class="warning"><table border="0" cellpadding="0" cellspacing="0"><tr><td></td><td class="tl"></td><td class="t"></td><td class="tr"></td></tr><tr><td class="arrow"></td><td class="l"></td><td class="c"></td><td class="r"></td></tr><tr><td></td><td class="bl"></td><td class="b"></td><td class="br"></td></tr></table></div>');$("#notice").click(hideNotice);}$("#notice").attr("className", type);positionNotice(obj);$(window).bind("resize", function(){positionNotice(obj);});$("#notice table tr td.c").html(message);if ($("#notice").css("display")!= "block" || $("#notice").css("display")== "block"&& $("#notice").css("opacity")< 1){$("#notice").fadeIn('slow');}clearInterval(fadeId);fadeId = setInterval(hideNotice,6000);}function hideNotice(){$("#notice").fadeOut('slow');$(window).unbind("resize");}function positionNotice(obj){var offset = obj.offset();$('#notice').css('left', ((offset.left+obj.outerWidth())-5)+'px');$('#notice').css('top', offset.top+'px');}function countryChange(countryObj, stateObj){var country = $('#'+countryObj+'_country');value = country.val().split(':');if(stateObj != null){var stateSelect = $('#'+stateObj+'_stateSelect');var stateText = $('#'+stateObj);}if(value.length == 1){if(stateObj != null){stateSelect.hide();stateText.show();}$('#'+countryObj).val(value);} else {$('#'+countryObj).val(value[0]);if(stateObj != null){stateSelect.show();stateText.hide();states = value[1].split(",");html = '<option></option>';for(i=0;i<states.length;i++){html += '<option value="'+states[i]+'">'+states[i]+'</option>';}stateSelect.html(html);stateSelect.val('option:first').attr('selected', 'selected');}}}function stateUpdate(obj){$('#'+obj).val($('#'+obj+'_stateSelect').val());}var preloaded = new Array();function preload_images(){for (var i = 0; i < arguments.length; i++){preloaded[i] = document.createElement('img');preloaded[i].setAttribute('src',arguments[i]);};};preload_images("/puppy/images/validation/error.png","/puppy/images/validation/warning.png");$(function(){$('.gallery a').lightBox({fixedNavigation:true});});(function($){$.fn.lightBox = function(settings){settings = jQuery.extend({overlayBgColor: '#000',overlayOpacity:0.8,fixedNavigation:false,imageLoading:'/templates/ballarat_renovations/images/lightbox-ico-loading.gif',imageBtnPrev:'/templates/ballarat_renovations/images/lightbox-btn-prev.gif',imageBtnNext:'/templates/ballarat_renovations/images/lightbox-btn-next.gif',imageBtnClose:'/templates/ballarat_renovations/images/lightbox-btn-close.gif',imageBlank:'/templates/ballarat_renovations/images/lightbox-blank.gif',containerBorderSize:10,containerResizeSpeed:400,txtImage:'Image',txtOf:'of',keyToClose:'c',keyToPrev:'p',keyToNext:'n',imageArray:[],activeImage:0},settings);var jQueryMatchedObj = this; function _initialize(){_start(this,jQueryMatchedObj); return false; }function _start(objClicked,jQueryMatchedObj){$('embed, object, select').css({ 'visibility' : 'hidden' });_set_interface();settings.imageArray.length = 0;settings.activeImage = 0;if ( jQueryMatchedObj.length == 1){settings.imageArray.push(new Array(objClicked.getAttribute('href'),objClicked.getAttribute('title')));} else {for ( var i = 0; i < jQueryMatchedObj.length; i++){settings.imageArray.push(new Array(jQueryMatchedObj[i].getAttribute('href'),jQueryMatchedObj[i].getAttribute('title')));}}while ( settings.imageArray[settings.activeImage][0] != objClicked.getAttribute('href')){settings.activeImage++;}_set_image_to_view();}function _set_interface(){$('body').append('<div id="jquery-overlay"></div><div id="jquery-lightbox"><div id="lightbox-container-image-box"><div id="lightbox-container-image"><img id="lightbox-image"><div style="" id="lightbox-nav"><a href="#" id="lightbox-nav-btnPrev"></a><a href="#" id="lightbox-nav-btnNext"></a></div><div id="lightbox-loading"><a href="#" id="lightbox-loading-link"><img src="' + settings.imageLoading + '"></a></div></div></div><div id="lightbox-container-image-data-box"><div id="lightbox-container-image-data"><div id="lightbox-image-details"><span id="lightbox-image-details-caption"></span><span id="lightbox-image-details-currentNumber"></span></div><div id="lightbox-secNav"><a href="#" id="lightbox-secNav-btnClose"><img src="' + settings.imageBtnClose + '"></a></div></div></div></div>');var arrPageSizes = ___getPageSize();$('#jquery-overlay').css({backgroundColor:settings.overlayBgColor,opacity:settings.overlayOpacity,width:arrPageSizes[0],height:arrPageSizes[1]}).fadeIn();var arrPageScroll = ___getPageScroll();$('#jquery-lightbox').css({top:arrPageScroll[1] + (arrPageSizes[3] / 10),left:arrPageScroll[0]}).show();$('#jquery-overlay,#jquery-lightbox').click(function(){_finish();});$('#lightbox-loading-link,#lightbox-secNav-btnClose').click(function(){_finish();return false;});$(window).resize(function(){var arrPageSizes = ___getPageSize();$('#jquery-overlay').css({width:arrPageSizes[0],height:arrPageSizes[1]});var arrPageScroll = ___getPageScroll();$('#jquery-lightbox').css({top:arrPageScroll[1] + (arrPageSizes[3] / 10),left:arrPageScroll[0]});});}function _set_image_to_view(){ $('#lightbox-loading').show();if ( settings.fixedNavigation){$('#lightbox-image,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide();} else {$('#lightbox-image,#lightbox-nav,#lightbox-nav-btnPrev,#lightbox-nav-btnNext,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide();}var objImagePreloader = new Image();objImagePreloader.onload = function(){$('#lightbox-image').attr('src',settings.imageArray[settings.activeImage][0]);_resize_container_image_box(objImagePreloader.width,objImagePreloader.height);objImagePreloader.onload=function(){};};objImagePreloader.src = settings.imageArray[settings.activeImage][0];};function _resize_container_image_box(intImageWidth,intImageHeight){var intCurrentWidth = $('#lightbox-container-image-box').width();var intCurrentHeight = $('#lightbox-container-image-box').height();var intWidth = (intImageWidth + (settings.containerBorderSize * 2)); var intHeight = (intImageHeight + (settings.containerBorderSize * 2)); var intDiffW = intCurrentWidth - intWidth;var intDiffH = intCurrentHeight - intHeight;$('#lightbox-container-image-box').animate({ width: intWidth, height: intHeight },settings.containerResizeSpeed,function(){ _show_image(); });if ( ( intDiffW == 0)&& ( intDiffH == 0)){if ( $.browser.msie){___pause(250);} else {___pause(100);}} $('#lightbox-container-image-data-box').css({ width: intImageWidth });$('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({ height: intImageHeight + (settings.containerBorderSize * 2)});};function _show_image(){$('#lightbox-loading').hide();$('#lightbox-image').fadeIn(function(){_show_image_data();_set_navigation();});_preload_neighbor_images();};function _show_image_data(){$('#lightbox-container-image-data-box').slideDown('fast');$('#lightbox-image-details-caption').hide();if ( settings.imageArray[settings.activeImage][1]){$('#lightbox-image-details-caption').html(settings.imageArray[settings.activeImage][1]).show();}if ( settings.imageArray.length > 1){$('#lightbox-image-details-currentNumber').html(settings.txtImage + ' ' + ( settings.activeImage + 1)+ ' ' + settings.txtOf + ' ' + settings.imageArray.length).show();}}function _set_navigation(){$('#lightbox-nav').show();$('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({ 'background' : 'transparent url(' + settings.imageBlank + ')no-repeat' });if ( settings.activeImage != 0){if ( settings.fixedNavigation){$('#lightbox-nav-btnPrev').css({ 'background' : 'url(' + settings.imageBtnPrev + ')left 15% no-repeat' }).unbind().bind('click',function(){settings.activeImage = settings.activeImage - 1;_set_image_to_view();return false;});} else {$('#lightbox-nav-btnPrev').unbind().hover(function(){$(this).css({ 'background' : 'url(' + settings.imageBtnPrev + ')left 15% no-repeat' });},function(){$(this).css({ 'background' : 'transparent url(' + settings.imageBlank + ')no-repeat' });}).show().bind('click',function(){settings.activeImage = settings.activeImage - 1;_set_image_to_view();return false;});}}if ( settings.activeImage != ( settings.imageArray.length -1)){if ( settings.fixedNavigation){$('#lightbox-nav-btnNext').css({ 'background' : 'url(' + settings.imageBtnNext + ')right 15% no-repeat' }).unbind().bind('click',function(){settings.activeImage = settings.activeImage + 1;_set_image_to_view();return false;});} else {$('#lightbox-nav-btnNext').unbind().hover(function(){$(this).css({ 'background' : 'url(' + settings.imageBtnNext + ')right 15% no-repeat' });},function(){$(this).css({ 'background' : 'transparent url(' + settings.imageBlank + ')no-repeat' });}).show().bind('click',function(){settings.activeImage = settings.activeImage + 1;_set_image_to_view();return false;});}}_enable_keyboard_navigation();}function _enable_keyboard_navigation(){$(document).keydown(function(objEvent){_keyboard_action(objEvent);});}function _disable_keyboard_navigation(){$(document).unbind();}function _keyboard_action(objEvent){if ( objEvent == null){keycode = event.keyCode;escapeKey = 27;} else {keycode = objEvent.keyCode;escapeKey = objEvent.DOM_VK_ESCAPE;}key = String.fromCharCode(keycode).toLowerCase();if ( ( key == settings.keyToClose)|| ( key == 'x')|| ( keycode == escapeKey)){_finish();}if ( ( key == settings.keyToPrev)|| ( keycode == 37)){if ( settings.activeImage != 0){settings.activeImage = settings.activeImage - 1;_set_image_to_view();_disable_keyboard_navigation();}}if ( ( key == settings.keyToNext)|| ( keycode == 39)){if ( settings.activeImage != ( settings.imageArray.length - 1)){settings.activeImage = settings.activeImage + 1;_set_image_to_view();_disable_keyboard_navigation();}}}function _preload_neighbor_images(){if ( (settings.imageArray.length -1)> settings.activeImage){objNext = new Image();objNext.src = settings.imageArray[settings.activeImage + 1][0];}if ( settings.activeImage > 0){objPrev = new Image();objPrev.src = settings.imageArray[settings.activeImage -1][0];}}function _finish(){$('#jquery-lightbox').remove();$('#jquery-overlay').fadeOut(function(){ $('#jquery-overlay').remove(); });$('embed, object, select').css({ 'visibility' : 'visible' });}function ___getPageSize(){var xScroll, yScroll;if (window.innerHeight && window.scrollMaxY){xScroll = window.innerWidth + window.scrollMaxX;yScroll = window.innerHeight + window.scrollMaxY;} else if (document.body.scrollHeight > document.body.offsetHeight){ xScroll = document.body.scrollWidth;yScroll = document.body.scrollHeight;} else { xScroll = document.body.offsetWidth;yScroll = document.body.offsetHeight;}var windowWidth, windowHeight;if (self.innerHeight){if(document.documentElement.clientWidth){windowWidth = document.documentElement.clientWidth; } else {windowWidth = self.innerWidth;}windowHeight = self.innerHeight;} else if (document.documentElement && document.documentElement.clientHeight){ windowWidth = document.documentElement.clientWidth;windowHeight = document.documentElement.clientHeight;} else if (document.body){ windowWidth = document.body.clientWidth;windowHeight = document.body.clientHeight;}if(yScroll < windowHeight){pageHeight = windowHeight;} else { pageHeight = yScroll;}if(xScroll < windowWidth){pageWidth = xScroll;} else {pageWidth = windowWidth;}arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight);return arrayPageSize;};function ___getPageScroll(){var xScroll, yScroll;if (self.pageYOffset){yScroll = self.pageYOffset;xScroll = self.pageXOffset;} else if (document.documentElement && document.documentElement.scrollTop){ yScroll = document.documentElement.scrollTop;xScroll = document.documentElement.scrollLeft;} else if (document.body){yScroll = document.body.scrollTop;xScroll = document.body.scrollLeft;}arrayPageScroll = new Array(xScroll,yScroll);return arrayPageScroll;};function ___pause(ms){var date = new Date(); curDate = null;do { var curDate = new Date(); }while ( curDate - date < ms); };return this.unbind('click').click(_initialize);};})(jQuery); 
