/** jQuery FancyBox & Easing Plugins **/
jQuery.easing["jswing"]=jQuery.easing["swing"];jQuery.extend(jQuery.easing,{def:"easeOutQuad",swing:function(x,t,b,c,d){return jQuery.easing[jQuery.easing.def](x,t,b,c,d);},easeInQuad:function(x,t,b,c,d){return c*(t/=d)*t+b;},easeOutQuad:function(x,t,b,c,d){return -c*(t/=d)*(t-2)+b;},easeInOutQuad:function(x,t,b,c,d){if((t/=d/2)<1){return c/2*t*t+b;}return -c/2*((--t)*(t-2)-1)+b;},easeInCubic:function(x,t,b,c,d){return c*(t/=d)*t*t+b;},easeOutCubic:function(x,t,b,c,d){return c*((t=t/d-1)*t*t+1)+b;},easeInOutCubic:function(x,t,b,c,d){if((t/=d/2)<1){return c/2*t*t*t+b;}return c/2*((t-=2)*t*t+2)+b;},easeInQuart:function(x,t,b,c,d){return c*(t/=d)*t*t*t+b;},easeOutQuart:function(x,t,b,c,d){return -c*((t=t/d-1)*t*t*t-1)+b;},easeInOutQuart:function(x,t,b,c,d){if((t/=d/2)<1){return c/2*t*t*t*t+b;}return -c/2*((t-=2)*t*t*t-2)+b;},easeInQuint:function(x,t,b,c,d){return c*(t/=d)*t*t*t*t+b;},easeOutQuint:function(x,t,b,c,d){return c*((t=t/d-1)*t*t*t*t+1)+b;},easeInOutQuint:function(x,t,b,c,d){if((t/=d/2)<1){return c/2*t*t*t*t*t+b;}return c/2*((t-=2)*t*t*t*t+2)+b;},easeInSine:function(x,t,b,c,d){return -c*Math.cos(t/d*(Math.PI/2))+c+b;},easeOutSine:function(x,t,b,c,d){return c*Math.sin(t/d*(Math.PI/2))+b;},easeInOutSine:function(x,t,b,c,d){return -c/2*(Math.cos(Math.PI*t/d)-1)+b;},easeInExpo:function(x,t,b,c,d){return(t==0)?b:c*Math.pow(2,10*(t/d-1))+b;},easeOutExpo:function(x,t,b,c,d){return(t==d)?b+c:c*(-Math.pow(2,-10*t/d)+1)+b;},easeInOutExpo:function(x,t,b,c,d){if(t==0){return b;}if(t==d){return b+c;}if((t/=d/2)<1){return c/2*Math.pow(2,10*(t-1))+b;}return c/2*(-Math.pow(2,-10*--t)+2)+b;},easeInCirc:function(x,t,b,c,d){return -c*(Math.sqrt(1-(t/=d)*t)-1)+b;},easeOutCirc:function(x,t,b,c,d){return c*Math.sqrt(1-(t=t/d-1)*t)+b;},easeInOutCirc:function(x,t,b,c,d){if((t/=d/2)<1){return -c/2*(Math.sqrt(1-t*t)-1)+b;}return c/2*(Math.sqrt(1-(t-=2)*t)+1)+b;},easeInElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0){return b;}if((t/=d)==1){return b+c;}if(!p){p=d*0.3;}if(a<Math.abs(c)){a=c;var s=p/4;}else{var s=p/(2*Math.PI)*Math.asin(c/a);}return -(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b;},easeOutElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0){return b;}if((t/=d)==1){return b+c;}if(!p){p=d*0.3;}if(a<Math.abs(c)){a=c;var s=p/4;}else{var s=p/(2*Math.PI)*Math.asin(c/a);}return a*Math.pow(2,-10*t)*Math.sin((t*d-s)*(2*Math.PI)/p)+c+b;},easeInOutElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0){return b;}if((t/=d/2)==2){return b+c;}if(!p){p=d*(0.3*1.5);}if(a<Math.abs(c)){a=c;var s=p/4;}else{var s=p/(2*Math.PI)*Math.asin(c/a);}if(t<1){return -0.5*(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b;}return a*Math.pow(2,-10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p)*0.5+c+b;},easeInBack:function(x,t,b,c,d,s){if(s==undefined){s=1.70158;}return c*(t/=d)*t*((s+1)*t-s)+b;},easeOutBack:function(x,t,b,c,d,s){if(s==undefined){s=1.70158;}return c*((t=t/d-1)*t*((s+1)*t+s)+1)+b;},easeInOutBack:function(x,t,b,c,d,s){if(s==undefined){s=1.70158;}if((t/=d/2)<1){return c/2*(t*t*(((s*=(1.525))+1)*t-s))+b;}return c/2*((t-=2)*t*(((s*=(1.525))+1)*t+s)+2)+b;},easeInBounce:function(x,t,b,c,d){return c-jQuery.easing.easeOutBounce(x,d-t,0,c,d)+b;},easeOutBounce:function(x,t,b,c,d){if((t/=d)<(1/2.75)){return c*(7.5625*t*t)+b;}else{if(t<(2/2.75)){return c*(7.5625*(t-=(1.5/2.75))*t+0.75)+b;}else{if(t<(2.5/2.75)){return c*(7.5625*(t-=(2.25/2.75))*t+0.9375)+b;}else{return c*(7.5625*(t-=(2.625/2.75))*t+0.984375)+b;}}}},easeInOutBounce:function(x,t,b,c,d){if(t<d/2){return jQuery.easing.easeInBounce(x,t*2,0,c,d)*0.5+b;}return jQuery.easing.easeOutBounce(x,t*2-d,0,c,d)*0.5+c*0.5+b;}});(function($){$.fn.fixPNG=function(){return this.each(function(){var image=$(this).css("backgroundImage");if(image.match(/^url\(["']?(.*\.png)["']?\)$/i)){image=RegExp.$1;$(this).css({"backgroundImage":"none","filter":"progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod="+($(this).css("backgroundRepeat")=="no-repeat"?"crop":"scale")+", src='"+image+"')"}).each(function(){var position=$(this).css("position");if(position!="absolute"&&position!="relative"){$(this).css("position","relative");}});}});};var elem,opts,busy=false,imagePreloader=new Image,loadingTimer,loadingFrame=1,imageRegExp=/\.(jpg|gif|png|bmp|jpeg)(.*)?$/i;var isIE=($.browser.msie&&parseInt($.browser.version.substr(0,1))<8);$.fn.fancybox=function(settings){settings=$.extend({},$.fn.fancybox.defaults,settings);var matchedGroup=this;function _initialize(){elem=this;opts=settings;_start();return false;}function _start(){if(busy){return;}if($.isFunction(opts.callbackOnStart)){opts.callbackOnStart();}opts.itemArray=[];opts.itemCurrent=0;if(settings.itemArray.length>0){opts.itemArray=settings.itemArray;}else{var item={};if(!elem.rel||elem.rel==""){var item={href:elem.href,title:elem.title};if($(elem).children("img:first").length){item.orig=$(elem).children("img:first");}opts.itemArray.push(item);}else{var subGroup=$(matchedGroup).filter("a[rel="+elem.rel+"]");var item={};for(var i=0;i<subGroup.length;i++){item={href:subGroup[i].href,title:subGroup[i].title};if($(subGroup[i]).children("img:first").length){item.orig=$(subGroup[i]).children("img:first");}opts.itemArray.push(item);}while(opts.itemArray[opts.itemCurrent].href!=elem.href){opts.itemCurrent++;}}}if(opts.overlayShow){if(isIE){$("embed, object, select").css("visibility","hidden");}$("#fancy_overlay").css("opacity",opts.overlayOpacity).show();}_change_item();}function _change_item(){$("#fancy_right, #fancy_left, #fancy_close, #fancy_title").hide();var href=opts.itemArray[opts.itemCurrent].href;if(href.match(/#/)){var target=window.location.href.split("#")[0];target=href.replace(target,"");target=target.substr(target.indexOf("#"));_set_content('<div id="fancy_div">'+$(target).html()+"</div>",opts.frameWidth,opts.frameHeight);}else{if(href.match(imageRegExp)){imagePreloader=new Image;imagePreloader.src=href;if(imagePreloader.complete){_proceed_image();}else{$.fn.fancybox.showLoading();$(imagePreloader).unbind().bind("load",function(){$(".fancy_loading").hide();_proceed_image();});}}else{if(href.match("iframe")||elem.className.indexOf("iframe")>=0){_set_content('<iframe id="fancy_frame" onload="$.fn.fancybox.showIframe()" name="fancy_iframe'+Math.round(Math.random()*1000)+'" frameborder="0" hspace="0" src="'+href+'"></iframe>',opts.frameWidth,opts.frameHeight);}else{$.get(href,function(data){_set_content('<div id="fancy_ajax">'+data+"</div>",opts.frameWidth,opts.frameHeight);});}}}}function _proceed_image(){if(opts.imageScale){var w=$.fn.fancybox.getViewport();var r=Math.min(Math.min(w[0]-36,imagePreloader.width)/imagePreloader.width,Math.min(w[1]-60,imagePreloader.height)/imagePreloader.height);var width=Math.round(r*imagePreloader.width);var height=Math.round(r*imagePreloader.height);}else{var width=imagePreloader.width;var height=imagePreloader.height;}_set_content('<img alt="" id="fancy_img" src="'+imagePreloader.src+'" />',width,height);}function _preload_neighbor_images(){if((opts.itemArray.length-1)>opts.itemCurrent){var href=opts.itemArray[opts.itemCurrent+1].href;if(href.match(imageRegExp)){objNext=new Image();objNext.src=href;}}if(opts.itemCurrent>0){var href=opts.itemArray[opts.itemCurrent-1].href;if(href.match(imageRegExp)){objNext=new Image();objNext.src=href;}}}function _set_content(value,width,height){busy=true;var pad=opts.padding;if(isIE){$("#fancy_content")[0].style.removeExpression("height");$("#fancy_content")[0].style.removeExpression("width");}if(pad>0){width+=pad*2;height+=pad*2;$("#fancy_content").css({"top":pad+"px","right":pad+"px","bottom":pad+"px","left":pad+"px","width":"auto","height":"auto"});if(isIE){$("#fancy_content")[0].style.setExpression("height","(this.parentNode.clientHeight - 20)");$("#fancy_content")[0].style.setExpression("width","(this.parentNode.clientWidth - 20)");}}else{$("#fancy_content").css({"top":0,"right":0,"bottom":0,"left":0,"width":"100%","height":"100%"});}if($("#fancy_outer").is(":visible")&&width==$("#fancy_outer").width()&&height==$("#fancy_outer").height()){$("#fancy_content").fadeOut("fast",function(){$("#fancy_content").empty().append($(value)).fadeIn("normal",function(){_finish();});});return;}var w=$.fn.fancybox.getViewport();var itemLeft=(width+36)>w[0]?w[2]:(w[2]+Math.round((w[0]-width-36)/2));var itemTop=(height+50)>w[1]?w[3]:(w[3]+Math.round((w[1]-height-50)/2));var itemOpts={"left":itemLeft,"top":itemTop,"width":width+"px","height":height+"px"};if($("#fancy_outer").is(":visible")){$("#fancy_content").fadeOut("normal",function(){$("#fancy_content").empty();$("#fancy_outer").animate(itemOpts,opts.zoomSpeedChange,opts.easingChange,function(){$("#fancy_content").append($(value)).fadeIn("normal",function(){_finish();});});});}else{if(opts.zoomSpeedIn>0&&opts.itemArray[opts.itemCurrent].orig!==undefined){$("#fancy_content").empty().append($(value));var orig_item=opts.itemArray[opts.itemCurrent].orig;var orig_pos=$.fn.fancybox.getPosition(orig_item);$("#fancy_outer").css({"left":(orig_pos.left-18)+"px","top":(orig_pos.top-18)+"px","width":$(orig_item).width(),"height":$(orig_item).height()});if(opts.zoomOpacity){itemOpts.opacity="show";}$("#fancy_outer").animate(itemOpts,opts.zoomSpeedIn,opts.easingIn,function(){_finish();});}else{$("#fancy_content").hide().empty().append($(value)).show();$("#fancy_outer").css(itemOpts).fadeIn("normal",function(){_finish();});}}}function _set_navigation(){if(opts.itemCurrent!=0){$("#fancy_left, #fancy_left_ico").unbind().bind("click",function(e){e.stopPropagation();opts.itemCurrent--;_change_item();return false;});$("#fancy_left").show();}if(opts.itemCurrent!=(opts.itemArray.length-1)){$("#fancy_right, #fancy_right_ico").unbind().bind("click",function(e){e.stopPropagation();opts.itemCurrent++;_change_item();return false;});$("#fancy_right").show();}}function _finish(){_set_navigation();_preload_neighbor_images();$(document).keydown(function(e){if(e.keyCode==27){$.fn.fancybox.close();$(document).unbind("keydown");}else{if(e.keyCode==37&&opts.itemCurrent!=0){opts.itemCurrent--;_change_item();$(document).unbind("keydown");}else{if(e.keyCode==39&&opts.itemCurrent!=(opts.itemArray.length-1)){opts.itemCurrent++;_change_item();$(document).unbind("keydown");}}}});if(opts.centerOnScroll){$(window).bind("resize scroll",$.fn.fancybox.scrollBox);}else{$("div#fancy_outer").css("position","absolute");}if(opts.hideOnContentClick){$("#fancy_wrap").click($.fn.fancybox.close);}$("#fancy_overlay, #fancy_close").bind("click",$.fn.fancybox.close);$("#fancy_close").show();if(opts.itemArray[opts.itemCurrent].title!==undefined&&opts.itemArray[opts.itemCurrent].title.length>0){$("#fancy_title div").html(opts.itemArray[opts.itemCurrent].title);$("#fancy_title").show();}if(opts.overlayShow&&isIE){$("embed, object, select",$("#fancy_content")).css("visibility","visible");}if($.isFunction(opts.callbackOnShow)){opts.callbackOnShow();}busy=false;}return this.unbind("click").click(_initialize);};$.fn.fancybox.scrollBox=function(){var pos=$.fn.fancybox.getViewport();$("#fancy_outer").css("left",(($("#fancy_outer").width()+36)>pos[0]?pos[2]:pos[2]+Math.round((pos[0]-$("#fancy_outer").width()-36)/2)));$("#fancy_outer").css("top",(($("#fancy_outer").height()+50)>pos[1]?pos[3]:pos[3]+Math.round((pos[1]-$("#fancy_outer").height()-50)/2)));};$.fn.fancybox.getNumeric=function(el,prop){return parseInt($.curCSS(el.jquery?el[0]:el,prop,true))||0;};$.fn.fancybox.getPosition=function(el){var pos=el.offset();pos.top+=$.fn.fancybox.getNumeric(el,"paddingTop");pos.top+=$.fn.fancybox.getNumeric(el,"borderTopWidth");pos.left+=$.fn.fancybox.getNumeric(el,"paddingLeft");pos.left+=$.fn.fancybox.getNumeric(el,"borderLeftWidth");return pos;};$.fn.fancybox.showIframe=function(){$(".fancy_loading").hide();$("#fancy_frame").show();};$.fn.fancybox.getViewport=function(){return[$(window).width(),$(window).height(),$(document).scrollLeft(),$(document).scrollTop()];};$.fn.fancybox.animateLoading=function(){if(!$("#fancy_loading").is(":visible")){clearInterval(loadingTimer);return;}$("#fancy_loading > div").css("top",(loadingFrame*-40)+"px");loadingFrame=(loadingFrame+1)%12;};$.fn.fancybox.showLoading=function(){clearInterval(loadingTimer);var pos=$.fn.fancybox.getViewport();$("#fancy_loading").css({"left":((pos[0]-40)/2+pos[2]),"top":((pos[1]-40)/2+pos[3])}).show();$("#fancy_loading").bind("click",$.fn.fancybox.close);loadingTimer=setInterval($.fn.fancybox.animateLoading,66);};$.fn.fancybox.close=function(){busy=true;$(imagePreloader).unbind();$("#fancy_overlay, #fancy_close").unbind();if(opts.hideOnContentClick){$("#fancy_wrap").unbind();}$("#fancy_close, .fancy_loading, #fancy_left, #fancy_right, #fancy_title").hide();if(opts.centerOnScroll){$(window).unbind("resize scroll");}__cleanup=function(){$("#fancy_overlay, #fancy_outer").hide();if(opts.centerOnScroll){$(window).unbind("resize scroll");}if(isIE){$("embed, object, select").css("visibility","visible");}if($.isFunction(opts.callbackOnClose)){opts.callbackOnClose();}busy=false;};if($("#fancy_outer").is(":visible")!==false){if(opts.zoomSpeedOut>0&&opts.itemArray[opts.itemCurrent].orig!==undefined){var orig_item=opts.itemArray[opts.itemCurrent].orig;var orig_pos=$.fn.fancybox.getPosition(orig_item);var itemOpts={"left":(orig_pos.left-18)+"px","top":(orig_pos.top-18)+"px","width":$(orig_item).width(),"height":$(orig_item).height()};if(opts.zoomOpacity){itemOpts.opacity="hide";}$("#fancy_outer").stop(false,true).animate(itemOpts,opts.zoomSpeedOut,opts.easingOut,__cleanup);}else{$("#fancy_outer").stop(false,true).fadeOut("fast",__cleanup);}}else{__cleanup();}return false;};$.fn.fancybox.build=function(){var html='<div id="fancy_overlay"></div><div id="fancy_wrap"><div class="fancy_loading" id="fancy_loading"><div></div></div><div id="fancy_outer"><div id="fancy_inner"><div id="fancy_close"></div><div id="fancy_bg"><div class="fancy_bg fancy_bg_n"></div><div class="fancy_bg fancy_bg_ne"></div><div class="fancy_bg fancy_bg_e"></div><div class="fancy_bg fancy_bg_se"></div><div class="fancy_bg fancy_bg_s"></div><div class="fancy_bg fancy_bg_sw"></div><div class="fancy_bg fancy_bg_w"></div><div class="fancy_bg fancy_bg_nw"></div></div><a href="javascript:;" id="fancy_left"><span class="fancy_ico" id="fancy_left_ico"></span></a><a href="javascript:;" id="fancy_right"><span class="fancy_ico" id="fancy_right_ico"></span></a><div id="fancy_content"></div><div id="fancy_title"></div></div></div></div>';$(html).appendTo("body");$('<table cellspacing="0" cellpadding="0" border="0"><tr><td class="fancy_title" id="fancy_title_left"></td><td class="fancy_title" id="fancy_title_main"><div></div></td><td class="fancy_title" id="fancy_title_right"></td></tr></table>').appendTo("#fancy_title");if(isIE){$("#fancy_inner").prepend('<iframe class="fancy_bigIframe" scrolling="no" frameborder="0"></iframe>');$("#fancy_close, .fancy_bg, .fancy_title, .fancy_ico").fixPNG();}};$.fn.fancybox.defaults={padding:10,imageScale:true,zoomOpacity:false,zoomSpeedIn:0,zoomSpeedOut:0,zoomSpeedChange:300,easingIn:"swing",easingOut:"swing",easingChange:"swing",frameWidth:425,frameHeight:355,overlayShow:true,overlayOpacity:0.3,hideOnContentClick:true,centerOnScroll:true,itemArray:[],callbackOnStart:null,callbackOnShow:null,callbackOnClose:null};$(document).ready(function(){$.fn.fancybox.build();});})(jQuery);
/** Fancybox and Easing Ends **/

/* setTagItem: Creates a 'Tag Item' eg classifieds or region selects
Values:
1. the content of the drop down as 'type' eg region, category, etc. currently: 1 for 'region', 2 for 'category'. defaults to 'region'.
2. the level as 'level_id',
3. current selected item as 'item_id' and
4. an optional argument (bool) to set whether it is a deep search item (default is '' and creates a non DeepSearch item. True creates a DS item)
*/
window.$place = {
	validated : true,
	tabs : $('#placead fieldset'),
	nav : $('#tabnav li')
};
$(function(){
    //START: JS for Search Bar at top of site
    $('#afs-search-opts-nojs').empty();
    $('#input-afs-search-cats').attr('name','cat');
    $('#input-afs-search-regions').attr('name','region');
    $('#topbar-search-input').val('Search our Cellular Listings');
    $('#topbar-search-input').focus(function(){
        if ($(this).val() == "Search our Cellular Listings") {$(this).val('');}
    }).blur(function(){
        if ($(this).val() == "") {$(this).val('Search our Cellular Listings');}
    });
    $('#afs-search-opts').show();

    $('#afs-search-opts div').hover(function(){$(this).children('ul').fadeIn(100);}).mouseleave(function(){$(this).children('ul').fadeOut(100);});
    $('#afs-search-opts a.select').click(function(){return false;});
    $('#afs-search-opts li a').click(function(){
        $val = $(this).attr('rel');
        $text = $(this).attr('title');
        $type_id = $(this).parent().parent().parent('div').attr('id');
        $('#input-'+$type_id).val($val);
        $('#'+$type_id + ' a.select').text($text);
        $(this).parent().parent('ul').fadeOut(100);
        return false;
    });
    //ENDS: JS for Search Bar at top of site

    // Contact the seller form: Validation
    $('#mailer_submit').click(function(){
        if ($('#captcha_email').val() == "Enter #"
                || $('#contact-message').val() == "Type your message here (reqd)" || $('#contact-message').val() == ""
                || ($('#contact-emailAddress').val() == "Your email address (reqd)" && $('#contact-telephone').val() == "Your telephone number"))
        {
            sendError('Required Fields Missing','<p>You need to fill in a Message, Verification AND Contact details (either Email OR Telephone number) to be able to send this form.</p>',5000);
            return false;
        }
        if ( $('#contact-emailAddress').val() != "Your email address (reqd)") {if (!valEmail($('#contact-emailAddress'))) {return false;}}
        if ( $('#contact-telephone').val() != "Your telephone number") {if (!valTel($('#contact-telephone'))) {return false;}}
    });
    //ENDS: Contact the seller form: Validation
    $('#contact-emailAddress').blur(function(){
        if ($(this).val() != "Your email address (reqd)") {
            valEmail($('#contact-emailAddress'));
        }
    });

    $('#contact-telephone').blur(function(){
        if ($(this).val() != "Your telephone number") {
            valTel($('#contact-telephone'));
        }
    });
    
    
        $("a.iframe").fancybox({
		'frameWidth' : 688,
		'frameHeight' : 400,
		'centerOnScroll' : false,
		'overlayShow' : false,
		'hideOnContentClick' : true
	}); 

	$("a.fancyBox").fancybox({
		'centerOnScroll' : false,
		'overlayShow' : false,
		'padding' : 0,
		'hideOnContentClick' : false
	});

	$("a.displayGroup").fancybox({
		'imageScale' : true,
		'zoomSpeedIn': 300,
		'zoomSpeedOut': 300,
		'centerOnScroll' : false,
		'overlayShow' : false
	});    
});

/* ONLY RUNS AFTER THE PAGE/WINDOW HAS FULLY LOADED */
$(window).load(function(){

$valprice = true, $valtel = true, $valemail = true;
    $("#price").blur(function(){if (valNum(this)) {$valprice = true;} else {$valprice = false;}});
    $("#tel, #mobile").blur(function(){if (valTel(this)) {$valtel = true;} else {$valtel = false;}});
    $("#email").blur(function(){if (valEmail(this)) {$valemail = true;} else {$valemail = false;}});
    $("#tel, #mobile, #price, #email").keypress(function(){$(this).attr('style','');});
    if (!$valprice || !$valtel || !$valemail) {$place.validated = false;}

/* auto-select 'display this' checkbox when person clicks on an input field (place page)*/
    $('#tel, #email, #mobile, #twitter').bind("click focus",function(){
        $cbparent = $(this).parent('dd').siblings('dd.preview');
        $cbinput = '#' + $cbparent.children('input').attr('id');
        if ($($cbinput).attr('checked') != 'checked') {$($cbinput).attr('checked','checked');}
    }).bind("blur",function(){if ($(this).val() == "" || $(this).val() == "@") {
        $cbparent = $(this).parent('dd').siblings('dd.preview');
        $cbinput = '#' + $cbparent.children('input').attr('id');
        if ($($cbinput+":checked")) {$($cbinput).attr('checked','');}
    }});

});
function valEmail($e) {
	var $emailchk = true,
            $val = $($e).val(),
            $parentId = $($e).closest('fieldset').attr('id'),
            $pattern = /(^[a-zA-Z0-9\.+_-]+(@[\.a-zA-Z0-9_-]+){1}?(\.[a-zA-Z0-9_-]{2,6}){1,3}$)/i;

	if (!$pattern.test($val) && $val != "") {$emailchk = false;}
	if (!$emailchk) {
		sendError("Error:","<p>You haven't entered a correct email address.</p>");
		$($e).css({'borderBottom':'1px solid #c00'});
		return false;
	}
	else {return true;}
}

function valNum($e) {
	var $val = $($e).val(),
		$val = $val.replace(/\..*/g,""),
		/*$val = $val.replace(" ",""),*/
		$pattern = /\D/g,
		$parentId = $($e).closest('fieldset').attr('id');

	if ($pattern.test($val) && $val != "") {
		sendError("Error:","<p>Please enter a proper number. Only digits are allowed.</p>");
		$($e).css({'borderBottom':'1px solid #c00'});
		return false;
	}
	else {return true;}

}

function valTel($e) {
	var $val = $($e).val(),
		$pattern = /^[\+0-9 -()]{10,20}$/,
		$parentId = $($e).closest('fieldset').attr('id');

	if (!$pattern.test($val) && $val != "") {
		sendError("Error:","<p>Please enter a correct telephone number.</p>",6000);
		$($e).css({'borderBottom':'1px solid #c00'});
		return false;
	}
	else {return true;}

}
function setTagItem(type_id, level_id, item_id, isDS, selAll) {
	if (type_id) {
		if (!isDS) {arg = ''; dstxt = '';} else {arg = '&ds=1'; dstxt = '_ds';}
		if (!selAll) {arg += '';} else {arg += '&selAll=1';}
		switch (type_id) {
			case 1 : type = 'region'; break;
			case 2 : type = 'category'; break;
			default : type = 'region';
		}
		$('#'+type+'_selector'+dstxt+' ul').hide();
    	$('#'+type+'_selector'+dstxt).load('/ajax/'+type+'?level='+level_id+'&'+type+'_id='+item_id+arg);
	}
}

function showTagItem(type_id, isDS) {
	if (type_id) {
	if (!isDS) {dstxt = '';} else {dstxt = '_ds';}
		switch (type_id) {
			case 1 : type = 'region'; break;
			case 2 : type = 'category'; break;
			default : type = 'region';
		}
	$('#'+type+'_selector'+dstxt+' ul').toggle();
	}
}

function closeTagPicker(type_id, isDS) {
	if (type_id) {
	if (!isDS) {dstxt = '';} else {dstxt = '_ds';}
		switch (type_id) {
			case 1 : type = 'region'; break;
			case 2 : type = 'category'; break;
			default : type = 'region';
		}
	$('#'+type+'_selector'+dstxt+' ul').hide();
	}
}

function manageImages($d){
    $("#imagemanager").load("/classified/imgmanage?id="+$('#imagemanager').attr('rel'));
}

$(window).load(function(){
    manageImages();

    $('#payment_options').append("<input type='hidden' name='pay_select_opt' id='pay_select_opt' value='1' />");
    $('#payment_options li').click(function(){
        if ($(this).hasClass('picked') || $(this).hasClass('notLoggedIn')) {return false;} else {
            if ($('#payment_options li').hasClass('picked')) {$('#payment_options li').removeClass('picked');}
            $(this).fadeOut(0).addClass('picked').fadeIn(600);
            $paymentid = $(this).attr('id');
            switch($paymentid) {
                case 'pay_creditcard' : $gatewayid = 1; break;
                case 'pay_eft' : $gatewayid = 2;  break;
                case 'pay_mobile' : $gatewayid = 5;  break;
                case 'pay_account' : $gatewayid = 3;  break;
            }
            $('#pay_select_opt').val($gatewayid);
        }
    });
    $('#payment_options li a').click(function(){
        $(this).attr('target','_blank');
    });
});

/* Handling Cookies */
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function initGoogleMaps(region, level){
    var map = null;
    var geocoder = null;

    if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map_canvas"));

        geocoder = new GClientGeocoder();
        geocoder.setBaseCountryCode('za');

        geocoder.getLatLng(region, function(point) {
            if (!point) {
                alert(region + " not found");
            } else {
                map.setCenter(point, level);
                map.addOverlay(new GMarker(point));
                map.setUIToDefault();
            }
          }
        );
    }
}

/* Creates and pops up an error message. Takes the error title and message. Title is plain text, but NB: error message is html, so surround with <p>, etc */
function sendError($title,$msg,$delay) {
	if (!$delay) {$delay = 3000;}
	if (!$('div.errormsg').length) {$("body").append("<div class='errormsg msg' style='position:fixed; top:100px; left:50%; margin-left:-482px;'><div class='errorbody'></div><p class='close'>click to close this notification [x]</p></div>");}
	$("div.errorbody").html("<h3>"+$title+"</h3>"+$msg);
	$("div.errormsg").stop().fadeIn(350).animate({opacity:1},$delay).fadeOut(1000, function(){$("div.errorbody").html("");});
}
