

var hack_NewVSpecials = true;

var _ALLOW_MUTLI_PROFILE_MAP_BY_SITETOKEN = 'occardealers,ocnissan,jaguarmissionviejo,jaguarnewportbeach,jaguarsantamonica,hornburg,hornburgla,tustinautocenter,pnaajaguarspecials,pnaalandroverspecials';
var _ALLOW_EOFFER                         = 'raysuzuki,raychevrolet,nissanofgardengrove,ocnissanirvine,toyotaplace,marinadelreytoyota,airportmarinahonda,airportmarinaford,66automall,southernmainemotors,nissanofstcharles,newcenturybmw,markkia';
var _ALLOW_EOFFER_V2                      ='raysuzuki,raychevrolet';


var _IS_IPAD     = navigator.userAgent.match(/iPad/i)   != null;
var _IS_IPHONE   = navigator.userAgent.match(/iPhone/i) != null;
var _IS_IPOD     = navigator.userAgent.match(/iPod/i)   != null;
var _IS_APLTOUCH = (_IS_IPAD || _IS_IPHONE || _IS_IPOD) ? true : false;
var _IS_TOUCH    = (_IS_APLTOUCH) ? true : false;
/*########################*/

/* see: ~/licenses.js) */
(function($) {
	$.PMM = {

        modx:{
            logout: function (url,ctx) {

                var call = {
                    url:url,
                    type:"POST",
                    data:{HTTP_MODAUTH:siteData.modxAuth,action:'logout',login_context:'mgr'},
                    dataType:"json",
                    cache:false,
                    success:function (data) {
                        window.location = window.location.href;
                    },
                    error:function (XMLHttpRequest, textStatus, errorThrown) {
                        return textStatus;
                    }
                };

                $.ajax(call);
            }
        },

	    checkForDebug: function(){
	        return siteData.debug;
	    },
	    
	    
	    /**
	     * optional: argument[1] = string of content or func to return string of content
	     * optional: argument[2] = true|false to signify the removal of the element from the DOM onClose
	     * optional: argument[3] = true|false to overlay being modal
	     */
	    doOverlay: function(id)
	    {
	    	var content      = '';
	    	var rmvOnClose   = (typeof arguments[2] != 'undefined') ? arguments[2] : false;
	    	var closeOnClick = (typeof arguments[3] != 'undefined') ? arguments[3] : true;
	    	var callback     = (typeof arguments[4] == 'function') ? arguments[4] : false;

	    	if($(id).length == 0){
	    		$('body').append('<div id="'+id.replace('#','')+'"></div>');
	    	}
	    	
	    	if((arguments[1])){
	    	    if(typeof arguments[1] == 'string'){
	    	    	$(id).html(arguments[1]);
	    	    }
	    	    else if(typeof arguments[1] == 'function'){
	    	    	var f = arguments[1];
	    	    	$(id).html(f());
	    	    }
	    	    else{
	    	    	// do nothing
	    	    }
	    	}

            if(closeOnClick){
    	    	var api = $(id).overlay({
    	    		expose:'#000',
    	    		api: true
    	    	});
	    	} else{
    	    	var api = $(id).overlay({
                    expose:'#000',
                    api: true,
                    closeOnClick:false,
                    mask: {
                        color: '#ebecff',
                        loadSpeed: 200,
                        opacity: 0.9
                    }
                });
            }
$.PMM.sendToConsole('callback typeof: ' + typeof callback);
            api.onLoad(function(){
                if(typeof callback == 'function'){
                    $.PMM.sendToConsole('running overlay callback');
                    callback();
                }
            });
            
	    	api.load();
	    	
	    	api.onClose(function(){
	    		if(rmvOnClose){
	    		    $(id).remove();
	    		}
	    	});

	    	$.PMM.sendToConsole('overlay request');
	    	
	    	
	    },
	    
	    doOverlayClose: function(id){
	    	var api = $(id).overlay().close();
	    },
	    
	    doOverlayIframe: function(id,url,widthHeight){
	        var sz  = widthHeight.split(':');
            var api = $(id).overlay({
            	expose:'#000',
            	api: true
            });
            api.onBeforeLoad(function() {
            	    var wrap = this.getOverlay().find(".contentWrap");
            	    if($.browser.msie){
            	        sz[0] = (parseInt(sz[0].replace('px','')) + 5) + 'px';
            	        sz[1] = (parseInt(sz[1].replace('px','')) + 5) + 'px';
            	    }
            	    wrap.html('<iframe src="'+url+'" style="width:'+sz[0]+';height:'+sz[1]+';"></iframe>');
            });
            api.load();
            api.onClose(function(){
            	var wrap = this.getOverlay().find(".contentWrap");
            	wrap.html('');
            });
            
            $.PMM.sendToConsole('vid click');
	    },
	    
	    setRequest: function(){
	        var reqPath = location.href.substring(7);
	        siteData.req.path  = reqPath;
	        siteData.req.route = reqPath.split('/');
	    },
        
        getIfSetProperty: function(obj, path){
            var p = path.split('.');
            var o = obj;
            
            for (i in p) {
	            	var oo = eval('o.' + p[i]);
	                switch (typeof oo) {
	                    case 'object':
	                        //continue
	                        o = oo;
	                        break;
	                        
	                    case 'string':
	                    case 'int':
	                    case 'array':
	                        return oo;
	                        break;
	                        
	                    case 'undefined':
	                        return false;
	                }
            }
        },
        
        getSiteProfileByLotToken: function(lotToken){
            if(lotToken != ''){
                if(lotToken.indexOf('|') > -1){
                    var p = lotToken.split('|');
                    var r = Math.floor(Math.random()*p.length);
                    return this.getSiteProfileByLotToken(p[r]);
                }
                else{
                    if(typeof siteData.profiles.profiles != 'undefined'){
	                    var p = siteData.profiles.profiles;
	                    if(p){
	                        for (i in p.profile) {
	                            if(p.profile[i].sitetoken == lotToken){
	                                return p.profile[i];
	                                break;
	                            }
	                        }
	                    }
                    }
                }
            }
            
            return false;
        },
        
        popunder: function(url){
            var winfeatures="width=800,height=600,scrollbars=1,resizable=1,toolbar=0,location=0,menubar=0,status=0,directories=0";
            win2=window.open(url,"",winfeatures);
            win2.blur();
            window.focus();
        },

	    prepareCallData: function(v){
	        var o = {};
	        for ( k in v ) {
	            if(v[k] !== ''){
	                o[k] = v[k];
	            }
	        }

	        return o;
	    },

	    prepareQueryString: function(v){
	        if(typeof(v) == 'object'){
	            var q = '';
	            for ( k in v ) {
	                if(v[k] !== ''){
	                    q += k + '=' + v[k] + '&';
	                }
	            }

	            return q.substring(0,(q.length-1));
	        }
	        else{
	            return false;
	        }
	    },

	    doCall: function(settings){
	        $.PMM.sendToConsole('doCall: ');

	        var call = {
	            type: "GET",
	            data: null,
	            dataType: "json",
	            cache:false,
	            success: function(data){
	                return data;
	            },
	            error: function(XMLHttpRequest, textStatus, errorThrown){
	                return textStatus;
	            }
	        };

	        $.extend(call,settings);

	        $.ajax(call);
	    },

	    qstrParams:{},

	    init: function(options) {
	        this.qstr_parse();
	        this.setRequest();
	    },

	    pgXtras: function(){ // This needs a better solution as the Xtra's grow
	         
	    },

	    clearCookie: function(cookie){
	        if($.cookie){
	            $.cookie(cookie,null);
	            $.PMM.sendToConsole('Cookie Removed: ' + cookie);
	        }
	    },

	    qstr_parse: function (qs,rv) { // optionally pass a querystring to parse; rv (boolean) return params if true;
	    	return _app.qstr_parse(qs,rv);
	    },

	    qstr_get: function(key, default_) {
	    	return _app.qstr_get(key, default_);
	    },

	    sendToConsole: function(msg){
	        toConsole(msg);
	    },
	    
	    goTo: function(){ // vStatus,vMake,vModel,vTrim
	        $.PMM.sendToConsole('Called $.PMM.goTo()');
	        var doNewFormat = true;
	        var req = (arguments[0]) ? arguments[0] : false;

	        if(req === 'search'){
	               var v = [];
        	               v.status  = (arguments[1]) ? arguments[1] : false;
        	               v.make  = (arguments[2]) ? arguments[2] : false;
        	               v.model = (arguments[3]) ? arguments[3] : false;
        	               //v.trim = (arguments[4]) ? arguments[4] : false;

        	               var trim = (arguments[4]) ? arguments[4] : false;
        	               $.PMM.sendToConsole('Make: ' + v.make);
        	               $.PMM.sendToConsole('Model: ' + v.model);
        	               $.PMM.sendToConsole('Trim: ' + trim);
        	               var qs = '';

        	               var href;
        	               if(doNewFormat){
            	       href = '/vehicle/search/';
            	           for ( idx in v ) {
            	               if(v[idx]){
            	                       href += v[idx] + '/';
            	                   }
            	           }

            	           if(qs.length !== 0){
            	               href += '?' + qs;
            	           }
        	               }
        	               else{
        	                   href = '/inv_new.php?vStatus=1&vMake=' + v.make + '&vModel=' + v.model;

        	                   if(qs.length !== 0){
            	               href += qs;
            	       }
        	               }

        	               window.location.href = href;
	        }
	    },

	    getPlugins2: function(){
            if (JSON) {
                $.PMM.sendToConsole('JSON Plugin Loaded');
                
                if(jQuery.cookie){
                    $.PMM.sendToConsole('Cookie Plugin Loaded');
                    
                    if ($('body#pg-vsrch').length > 0) {

                    }
                    else {

                        $.PMM.pgXtras();
                    }
                }
            }
	    },

	    getPlugins: function(){
	        $.PMM.getPlugins2();
	    }
	};
})(jQuery);


/** jQuery.cookie **/
jQuery.cookie=function(B,I,L){if(typeof I!="undefined"){L=L||{};if(I===null){I="";L.expires=-1;}var E="";if(L.expires&&(typeof L.expires=="number"||L.expires.toUTCString)){var F;if(typeof L.expires=="number"){F=new Date();F.setTime(F.getTime()+(L.expires*24*60*60*1000));}else{F=L.expires;}E="; expires="+F.toUTCString();}var K=L.path?"; path="+(L.path):"";var G=L.domain?"; domain="+(L.domain):"";var A=L.secure?"; secure":"";document.cookie=[B,"=",encodeURIComponent(I),E,K,G,A].join("");}else{var D=null;if(document.cookie&&document.cookie!=""){var J=document.cookie.split(";");for(var H=0;H<J.length;H++){var C=jQuery.trim(J[H]);if(C.substring(0,B.length+1)==(B+"=")){D=decodeURIComponent(C.substring(B.length+1));break;}}}return D;}};

/* JSON */
if(!this.JSON){JSON={};}(function(){function f(n){return n<10?'0'+n:n;}if(typeof Date.prototype.toJSON!=='function'){Date.prototype.toJSON=function(key){return this.getUTCFullYear()+'-'+f(this.getUTCMonth()+1)+'-'+f(this.getUTCDate())+'T'+f(this.getUTCHours())+':'+f(this.getUTCMinutes())+':'+f(this.getUTCSeconds())+'Z';};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf();};}var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapeable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'},rep;function quote(string){escapeable.lastIndex=0;return escapeable.test(string)?'"'+string.replace(escapeable,function(a){var c=meta[a];if(typeof c==='string'){return c;}return'\\u'+('0000'+a.charCodeAt(0).toString(16)).slice(-4);})+'"':'"'+string+'"';}function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==='object'&&typeof value.toJSON==='function'){value=value.toJSON(key);}if(typeof rep==='function'){value=rep.call(holder,key,value);}switch(typeof value){case'string':return quote(value);case'number':return isFinite(value)?String(value):'null';case'boolean':case'null':return String(value);case'object':if(!value){return'null';}gap+=indent;partial=[];if(typeof value.length==='number'&&!value.propertyIsEnumerable('length')){length=value.length;for(i=0;i<length;i+=1){partial[i]=str(i,value)||'null';}v=partial.length===0?'[]':gap?'[\n'+gap+partial.join(',\n'+gap)+'\n'+mind+']':'['+partial.join(',')+']';gap=mind;return v;}if(rep&&typeof rep==='object'){length=rep.length;for(i=0;i<length;i+=1){k=rep[i];if(typeof k==='string'){v=str(k,value);if(v){partial.push(quote(k)+(gap?': ':':')+v);}}}}else{for(k in value){if(Object.hasOwnProperty.call(value,k)){v=str(k,value);if(v){partial.push(quote(k)+(gap?': ':':')+v);}}}}v=partial.length===0?'{}':gap?'{\n'+gap+partial.join(',\n'+gap)+'\n'+mind+'}':'{'+partial.join(',')+'}';gap=mind;return v;}}if(typeof JSON.stringify!=='function'){JSON.stringify=function(value,replacer,space){var i;gap='';indent='';if(typeof space==='number'){for(i=0;i<space;i+=1){indent+=' ';}}else if(typeof space==='string'){indent=space;}rep=replacer;if(replacer&&typeof replacer!=='function'&&(typeof replacer!=='object'||typeof replacer.length!=='number')){throw new Error('JSON.stringify');}return str('',{'':value});};}if(typeof JSON.parse!=='function'){JSON.parse=function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==='object'){for(k in value){if(Object.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v;}else{delete value[k];}}}}return reviver.call(holder,key,value);}cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return'\\u'+('0000'+a.charCodeAt(0).toString(16)).slice(-4);});}if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,'@').replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']').replace(/(?:^|:|,)(?:\s*\[)+/g,''))){j=eval('('+text+')');return typeof reviver==='function'?walk({'':j},''):j;}throw new SyntaxError('JSON.parse');};}})();


/* jQuery.url */
jQuery.url=function(){var segments={};var parsed={};var options={url:window.location,strictMode:false,key:["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],q:{name:"queryKey",parser:/(?:^|&)([^&=]*)=?([^&]*)/g},parser:{strict:/^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,loose:/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/}};var parseUri=function(){str=decodeURI(options.url);var m=options.parser[options.strictMode?"strict":"loose"].exec(str);var uri={};var i=14;while(i--){uri[options.key[i]]=m[i]||"";}uri[options.q.name]={};uri[options.key[12]].replace(options.q.parser,function($0,$1,$2){if($1){uri[options.q.name][$1]=$2;}});return uri;};var key=function(key){if(!parsed.length){setUp();}if(key=="base"){if(parsed.port!==null&&parsed.port!==""){return parsed.protocol+"://"+parsed.host+":"+parsed.port+"/";}else{return parsed.protocol+"://"+parsed.host+"/";}}return(parsed[key]==="")?null:parsed[key];};var param=function(item){if(!parsed.length){setUp();}return(parsed.queryKey[item]===null)?null:parsed.queryKey[item];};var setUp=function(){parsed=parseUri();getSegments();};var getSegments=function(){var p=parsed.path;segments=[];segments=parsed.path.length==1?{}:(p.charAt(p.length-1)=="/"?p.substring(1,p.length-1):path=p.substring(1)).split("/");};return{setMode:function(mode){strictMode=mode=="strict"?true:false;return this;},setUrl:function(newUri){options.url=newUri===undefined?window.location:newUri;setUp();return this;},segment:function(pos){if(!parsed.length){setUp();}if(pos===undefined){return segments.length;}return(segments[pos]===""||segments[pos]===undefined)?null:segments[pos];},attr:key,param:param};}();

/* onUserExit */
var movingWithinSite 	= false;
var codeToExecute		= function() {};
function userMovingWithinSite(){movingWithinSite=true;};(function(A){A.fn.onUserExit=function(B){var C={execute:"",internalURLs:""};var B=A.extend(C,B);if(B.execute==""){alert("The onUserExit jQuery Plugin has been misconfigured.  Please add the function you wish to execute.");}if(B.internalURLs==""){alert("The onUserExit jQuery Plugin has been misconfigured.  Please add internal URLs so it know when the user is navigating internally.");}codeToExecute=B.execute;A("a").each(function(){var F=A(this);var E=false;var D=B.internalURLs.split("|");for(i=0;i<D.length;i++){if((typeof (F.attr("href"))=="undefined")||(F.attr("href").indexOf(D[i])!==-1)){E=true;}if((typeof (F.attr("href"))=="undefined")||(F.attr("href").indexOf("http://")==-1)){E=true;}}if(E==true){F.bind("click",function(){userMovingWithinSite();});}});};A(window).unload(function(){if(movingWithinSite==false){codeToExecute();}});})(jQuery);

/* jquery.metadata */
(function($){$.extend({metadata:{defaults:{type:'class',name:'metadata',cre:/({.*})/,single:'metadata'},setType:function(type,name){this.defaults.type=type;this.defaults.name=name;},get:function(elem,opts){var settings=$.extend({},this.defaults,opts);if(!settings.single.length)settings.single='metadata';var data=$.data(elem,settings.single);if(data)return data;data="{}";if(settings.type=="class"){var m=settings.cre.exec(elem.className);if(m)data=m[1];}else if(settings.type=="elem"){if(!elem.getElementsByTagName)return;var e=elem.getElementsByTagName(settings.name);if(e.length)data=$.trim(e[0].innerHTML);}else if(elem.getAttribute!=undefined){var attr=elem.getAttribute(settings.name);if(attr)data=attr;}if(data.indexOf('{')<0)data="{"+data+"}";data=eval("("+data+")");$.data(elem,settings.single,data);return data;}}});$.fn.metadata=function(opts){return $.metadata.get(this[0],opts);};})(jQuery);

/* comments */
jQuery.fn.comments=function(A){var A=(A||false);var B=$([]);this.each(function(E,F){var D=F.firstChild;var C=$(this).attr("id");while(D){if(D.nodeType===8){B=B.add("<div rel='"+C+"'>"+D.nodeValue+"</div>");}else{if(A&&(D.nodeType===1)){B=B.add($(D).comments(true));}}D=D.nextSibling;}});return(B);};

$(document).ready(function(){
	
	if($('.tabBlock.active').length > 0){
	    $(".tabBlock.active ul.tabs").tabs(".tabBlock.active div.panes > div");
	    $.PMM.sendToConsole('loading tabs');
	}
	
	if($('.ajaxLoad.active').length > 0){
		$('.ajaxLoad.active').each(function(){
			$('#'+this.id).load($(this).attr('rel'));
		});
	}
	
	if($('body').hasClass('zip-check')){
	    if($.cookie('lotTokenOR') == null){
	        $.PMM.doOverlay('#zip-check',false,false,false);
	    }
	}

	if(($('#qSrch').length > 0) || ($('#fSrch').length > 0) || ($('#fSrchV').length > 0) || ($('#frmLead').length > 0)){
	    $.getScript('/ui/js/vsrch.min.js');
    }
    
    $.PMM.init();
    
    //if($.isFunction($.plugin)){$.PMM.getPlugins();}
    if (siteData.siteToken != 'shellybmw') {$(document).pngFix();}

    /* jqbookmark */
    // add a "rel" attrib if Opera 7+
    if(window.opera){if($("a.jqbookmark").attr("rel")!=""){$("a.jqbookmark").attr("rel","sidebar");}}$("a.jqbookmark").click(function(B){B.preventDefault();var A=this.href;var C=this.title;if(window.sidebar){window.sidebar.addPanel(C,A,"");}else{if((window.external) && (typeof window.external.AddFavorite != 'undefined')){window.external.AddFavorite(A,C);}else{if(window.opera){return false;}else{alert("Unfortunately, this browser does not support the requested action, please bookmark this page manually with CTRL + D.");}}}});
    if (typeof(siteData) != "undefined") {if (siteData.onExit && siteData.onExit != '') {$().onUserExit(siteData.onExit);}}
    
	
	//Hack till we finish flashloader
	if(siteData.siteToken == 'raychevrolet'){
	    if($('#swf_newcars').length > 0){
	        $("#swf_newcars").flashembed({
	        	src:'http://www.dealervideos.com/NewCars/DrillDown.swf?ctx=9HU&makeFilter=Chevrolet',
	            wmode:'opaque'
	            });
	        $('#swf_newcars').css('height','550px');
	    }
	    
	    if($('#swf_specials').length > 0){
	        $("#swf_specials").flashembed({
	        	src:'http://www.dealervideos.com/iVLP/iVLP.swf?configURI=http://www.unitytools.com/clients/contexts/rayChevroletSuzuki/iVLP/091001Chev/config.xml&xFilter=0&vidFilter=0',
	            wmode:'opaque'
	            });
	        $('#swf_specials').css('height','550px');
	    }
	    
	    
	}
	
	if(siteData.siteToken == 'raysuzuki'){
	    if($('#swf_newcars').length > 0){
	        $("#swf_newcars").flashembed({
	        	src:'http://www.dealervideos.com/NewCars/DrillDown.swf?ctx=9HU&makeFilter=Suzuki',
	            wmode:'opaque'
	            });
	        $('#swf_newcars').css('height','550px');
	    }   
	}
	
	
	if(siteData.siteToken == 'miltonmartinhonda'){
	    if($('#swf_newcars').length > 0){
	        $("#swf_newcars").flashembed({
	        	src:'http://www.dealervideos.com/NewCars/DrillDown.swf?ctx=5VK',
	            wmode:'opaque'
	            });
	        $('#swf_newcars').css('height','550px');
	    }
	}
	
	if(siteData.siteToken == 'ragindy'){
	    if($('#swf_newcars').length > 0){
	        $("#swf_newcars").flashembed({
	        	src:'http://www.dealervideos.com/NewCars/DrillDown.swf?ctx=4DA',
	            wmode:'opaque'
	            });
	        $('#swf_newcars').css('height','550px');
	    }
	}
	
	
	if(siteData.siteToken == 'shellybmw'){
		
		if($('#getInetSpecialsFrm').length > 0){
		    $('#getInetSpecialsFrm').click(function(){
			    $.PMM.doOverlay('#inetSpecialsFrm','<iframe src="/internet/pricing/"></iframe>',true);
		    });
		}
		
	    if($('#swf_newcars').length > 0){
	        $("#swf_newcars").flashembed({
	        	src:'http://www.dealervideos.com/NewCars/DrillDown.swf?ctx=38R',
	        	wmode:'opaque'
	        	});
	        $('#swf_newcars').css('height','550px');
	    }
	    if($('#swf_specials').length > 0){
	        $("#swf_specials").flashembed({
	        	src:'http://www.dealervideos.com/iVLP/iVLP.swf?configURI=http://www.unitytools.com/clients/contexts/shellyBMW/iVLP/100401/config.xml&xFilter=0&vidFilter=0',
	        	wmode: 'opaque'
	            });
	        $('#swf_specials').css('height','550px');
	    }
	}
	
	if(_ALLOW_EOFFER.indexOf(siteData.siteToken) > -1){
		$('.eoffer').live('click',function(){
	        var vin = $(this).attr('class').split(' ').pop().substring(4);
			
	        if(_ALLOW_EOFFER_V2.indexOf(siteData.siteToken) > -1){
	            $.PMM.doOverlay('#eofferFrm','<iframe src="/eOffer/?vin='+vin+'"></iframe>',true);
	        }
	        else{
	        	$.PMM.doOverlay('#eofferFrm','<iframe src="/request/eprice/?vin='+vin+'"></iframe>',true);
	        }
        });
	}
	
	if(siteData.siteToken == 'irvinebmw'){
	    if($('#swf_newcars').length > 0){
	        $("#swf_newcars").flashembed({
	        	src:'http://www.dealervideos.com/NewCars/DrillDown.swf?ctx=4Y7',
	        	wmode:'opaque'
	        	});
	        $('#swf_newcars').css('height','550px');
	    }
	}
	
	if(siteData.siteToken == 'fladeboehonda'){
	    if($('#swf_specials').length > 0){
	        $("#swf_specials").flashembed({
	        	src:'http://www.dealervideos.com/iVLP/iVLP.swf?configURI=http://www.unitytools.com/clients/contexts/fladeboeHonda/iVLP/100301/config.xml&xFilter=0&vidFilter=0',
	        	wmode: 'opaque'
	            });
	        $('#swf_specials').css('height','550px');
	    }
	}
	
	/*
	 * *************************************
	 * PMM Fade/Show - Using Cycle for simple fader
	 * *************************************
	 */
	if($('.pmm-fade-show').length > 0){
	    $('.pmm-fade-show').cycle({fx:'fade',speed:1500,timeout:5000});
	}
	
	/*
     * *************************************
     * PMM Feature Search V3
     * *************************************
     */
	if($('#fSrchV3').length > 0){
		var fSrchSettings = {
            auto:0,
            animation:3000,
            scroll:2,   
            visible:2,
            buttonNextHTML: null,
            buttonPrevHTML: null,
            wrap: 'last',
            initCallback: fsrch_initCallback,
            itemVisibleInCallback: fsrch_itemVisibleInCallback
        };
        
        var fSrchScroll  = $.PMM.getIfSetProperty(siteData,'global.modules.module.fsrch.settings.scroll');
        var fSrchVisible = $.PMM.getIfSetProperty(siteData,'global.modules.module.fsrch.settings.visible');
        var fSrchAuto    = $.PMM.getIfSetProperty(siteData,'global.modules.module.fsrch.settings.auto');

        fSrchSettings.scroll  = (fSrchScroll) ? Number(fSrchScroll) : fSrchSettings.scroll;
        fSrchSettings.visible = (fSrchVisible) ? Number(fSrchVisible) : fSrchSettings.visible;
        fSrchSettings.auto    = (fSrchAuto) ? Number(fSrchAuto) : fSrchSettings.auto;
        
        $('#fSrch-gallery').jcarousel(fSrchSettings);
        
        $('.fSrch-vdata-wrapper').each(function(){
        	$(this).bind('click', function(){$pmmVSrch.goToSpecs(this.id);});
        });
	}
	
	if($('#fgal').length > 0){

		var fSrchSettings = {
            auto:0,
            animation:3000,
            scroll:2,   
            visible:2,
            buttonNextHTML: null,
            buttonPrevHTML: null,
            wrap: 'last',
            initCallback: fsrch_initCallback,
            itemVisibleInCallback: fsrch_itemVisibleInCallback
        };
        
        var fSrchScroll  = $.PMM.getIfSetProperty(siteData,'global.modules.module.fsrch.settings.scroll');
        var fSrchVisible = $.PMM.getIfSetProperty(siteData,'global.modules.module.fsrch.settings.visible');
        var fSrchAuto    = $.PMM.getIfSetProperty(siteData,'global.modules.module.fsrch.settings.auto');

        fSrchSettings.scroll  = (fSrchScroll) ? Number(fSrchScroll) : fSrchSettings.scroll;
        fSrchSettings.visible = (fSrchVisible) ? Number(fSrchVisible) : fSrchSettings.visible;
        fSrchSettings.auto    = (fSrchAuto) ? Number(fSrchAuto) : fSrchSettings.auto;
        
        $('#fgal-scroll').jcarousel(fSrchSettings);
        
        $('.fGal-wrap').each(function(){
        	$(this).bind('click', function(){
        		var data = this.id.split('-'); // del string %vin%-%vsid% (we only need %vin%)
                window.location = '/vehicle/specs/vin/'+data[0];
        	});
        });
        
        $('.fGal-wrap').show();
	}

	
	
	
	$('.overlayImg').click(function(){

	    if($('#overlayImg').length == 0){
	    	$('body').append('<div id="overlayImg" class="pmm basic"></div>');
	    }
	    
	    $('#overlayImg').append('<img src="' + $(this).attr('href') + '" />');
	    var api = $('#overlayImg').overlay({expose: '#000',oneInstance: false,api: true});
	    api.load();
	    api.onClose(function(){$('#overlayImg img').remove();});
	    return false;
	});
	
	$('.overlayPMPlayer').click(function(){
	    $('body').append('<div id="overlayPMM" class="pmm basic"><div id="pmmPlayer"></div></div>');
	    $('#pmmPlayer').load($(this).attr('href') + ' #videoplayer');

	    var api = $('#overlayPMM').overlay({expose: '#000',oneInstance: false,api: true});
	    api.load();
	    api.onClose(function(){$('#overlayPMM').remove();});
	    return false;
	});
	
	// Track user exits
	$('a[href^="http:"]').each(function(){
		var href        = $(this).attr('href');
	    //if((href.indexOf('http://media.pmmsystem.net') == -1) && (href.indexOf('http://imageonthefly.autodatadirect.com') == -1)){
	    if((href.indexOf('.jpg') == -1) && (href.indexOf('.JPG') == -1)){
	    	href       = href.split('/');
		    var dest   = href[2].replace('www.','');
		    var target = $(this).attr('target');
		    $(this).bind('click',function(){
		    	$.PMM.sendToConsole('requestExit: ' +  dest);
		    	trackUserExitEvent(dest);
		    	if(target != '_blank'){
		    		setTimeout('document.location = "' + $(this).attr('href') + '"', 100);
		    	}
		    });
	    }
	});
	
	//if(siteData.isENM){
		if(_IS_TOUCH){
			$(".jd_menu li").bind('touchstart', function(){
				if($(this).hasClass('.jdm_hover.jdm_active')){
					var link = $('> a', this).not('.accessible');
					if ( link.length > 0 ) {
						var a = link[0];
						if ( !a.onclick ) {
							window.open( a.href, a.target || '_self' );
						} else {
							$(a).trigger('click');
						}
					}
				}
		    });
		}
	//}
		
		if($('#moreinfo').length > 0){ // we have more info div on page
            $.PMM.sendToConsole('#MoreInfo Found');
            var moreInfo = $('#moreinfo');
            if((moreInfo.html() !== '') && (moreInfo.html() !== '&nbsp;')){ // need to remove condition for &nbsp; once it is cleaned out of myCMS.class.php
                $.PMM.sendToConsole('#MoreInfo Found: not empty');
                moreInfo.hide();
                moreInfo.before('<img src="/usr/image/more-info.jpg" width="124" height="15" class="showMoreInfo" />' + "\r\n");

                $('.showMoreInfo').css('cursor','pointer');
                $('.showMoreInfo').toggle(
                    function(){moreInfo.show();},
                    function(){moreInfo.hide();}
                );
            }
        }
        
        if($('#moreinfo_endofpage').length > 0){ // we have more info div on page
            $.PMM.sendToConsole('#MoreInfo_EndOfPage Found');
            var moreInfo = $('#moreinfo_endofpage');
            if((moreInfo.html() !== '') && (moreInfo.html() !== '&nbsp;')){ // need to remove condition for &nbsp; once it is cleaned out of myCMS.class.php
                $.PMM.sendToConsole('#MoreInfo Found: not empty');
                moreInfo.hide();
                moreInfo.before('<img src="/usr/image/more-info.jpg" width="124" height="15" class="showMoreInfo" />' + "\r\n");

                $('.showMoreInfo').css('cursor','pointer');
                $('.showMoreInfo').toggle(
                    function(){moreInfo.show();},
                    function(){moreInfo.hide();}
                );
            }
        }

        // Need a better way to inject dealer specific Xtras here
        if(siteData.siteToken == 'amofoc'){ // This will load the live person chat application
            if((typeof(lpAddButton) != "undefined") && ($.isFunction(lpAddButton))){
                lpAddButton();
            }
            if((typeof(lpAddMonitorTag) != "undefined") && ($.isFunction(lpAddMonitorTag))){
                lpAddMonitorTag();
            }
        }
        
        // Need a better way to inject dealer specific Xtras here
        //if(siteData.siteToken == 'toyotaplace'){ // This will load the activEngage chat application
        if($('#activengage').length > 0){
            if((typeof(activEngageLoad) != "undefined") && ($.isFunction(activEngageLoad))){
                activEngageLoad();
            }
        }
        
        if($('#pg-vspecs').length > 0){
            if($.cookie('lastSearch') != null){
                window.onbeforeunload = function () {
                    location.replace(decodeURIComponent($.cookie('lastSearch')));
                }
            }
        }
        
        if($('#pg-vspecs.bmw').length > 0){
            var imgHref = $('#detailPic1 a').attr('href');
            if(imgHref.indexOf('imageonthefly') > -1){
                $('.detail-pic-disclaimer2').html('European Model Shown');
            }
        }
        
        if($('#pg-vsrch.new.bmw').length > 0){
        	$('.vImg').each(function(){
        		var imgHref = $(this).attr('src');
        		if(imgHref.indexOf('imageonthefly') > -1){
                    $(this).closest('li.col1').append('<p class="vsrch-pic-disclaimer2">European Model Shown</p>');
                }
        	});
        }
        
        if($('#pg-vspecials.new.bmw').length > 0){
        	$('.vImg').each(function(){
        		var imgHref = $(this).attr('src');
        		if(imgHref.indexOf('imageonthefly') > -1){
                    $(this).closest('.topCol1').append('<p class="vspecials-pic-disclaimer2">European Model Shown</p>');
                }
        	});
        }
        
        if($('.model-selection.bmw ul').length > 0){
        	$('.model-selection ul li').each(function(){
        		var imgHref = $(this).find('img').attr('src');
        		if(imgHref.indexOf('imageonthefly') > -1){
        			$(this).append('<p class="mdltrm-pic-disclaimer2">European Model Shown</p>');
        		}
        	});
        }
});

function trackUserExitEvent(destination){
	 var trackerToken = '_trackEvent-requestExit-click-' + destination;
	 doTrackEvent(trackerToken);
}

/* Collect Google Analytics Event Calls */
function doTrackEvent(trackerToken){
	if(siteData.siteToken == 'cerritosautosquare'){
		var c = trackerToken.split('-');
		_gaq.push([c[0], c[1].replace(/_/g,' '), c[2], c[3]]);
	}
	
	if(siteData.siteToken == '66automall'){
		var c = trackerToken.split('-');
		_gaq.push([c[0], c[1].replace(/_/g,' '), c[2], c[3]]);
		$.PMM.sendToConsole('Logged requestExit');
	}
}

// Fsrch CallBacks
/* Note: frsch id selectors are for legacy fsrch logic in which the MODx snippet is not used
 * This may be removed once only using MODx
 * */
function fsrch_itemVisibleInCallback(carousel, item, i, state){
	$('#frschIdxNum,.fgal-idx').html(i);
}
function fsrch_initCallback(carousel){
	$('#frschIdxCnt,.fgal-ttl').html(carousel.options.size);

    $('#mycarousel-next,#fgal .ctrl-next').bind('click', function() {carousel.next();return false;});
    $('#mycarousel-prev,#fgal .ctrl-prev').bind('click', function() {carousel.prev();return false;});
    
    $('#mycarousel-next,#fgal .ctrl-next').css('cursor','pointer');
    $('#mycarousel-prev,#fgal .ctrl-prev').css('cursor','pointer');
}

function CommaFormatted(amount)
{
	var delimiter = ","; // replace comma if desired
	//var a = amount.split('.',2);
	var a = amount;
	//var d = a[1];
	var d = '';
	//var i = parseInt(a[0]);
	var i = parseInt(a);
	if(isNaN(i)) { return ''; }
	var minus = '';
	if(i < 0) { minus = '-'; }
	i = Math.abs(i);
	var n = new String(i);
	var a = [];
	while(n.length > 3)
	{
		var nn = n.substr(n.length-3);
		a.unshift(nn);
		n = n.substr(0,n.length-3);
	}
	if(n.length > 0) { a.unshift(n); }
	n = a.join(delimiter);
	if(d.length < 1) { amount = n; }
	else { amount = n + '.' + d; }
	amount = minus + amount;
	return amount;
}

function trimIt (str) {
	var	str = str.replace(/^\s\s*/, ''),
		ws = /\s/,
		i = str.length;
	while (ws.test(str.charAt(--i)));
	return str.slice(0, i + 1);
}

// in_array
function in_array(E,D,C){var B="",A=!!C;if(A){for(B in D){if(D[B]===E){return true;}}}else{for(B in D){if(D[B]==E){return true;}}}return false;};


function printGMap(pmm){
    var map = new GMap(document.getElementById(pmm.map.id));
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
    map.setCenter(new GLatLng(pmm.map.lat,pmm.map.lng), pmm.map.zoom);

    var fAddr = pmm.profile.addr + ', ' + pmm.profile.city + ', ' + pmm.profile.state + ' ' + pmm.profile.zip;
    var html = '<div id="GoogleInfoWin" align="left">';
    html += '<b>' + pmm.profile.name + '</b><br />' + pmm.profile.addr + '<br />' + pmm.profile.city  + ', ' + pmm.profile.state + ' ' + pmm.profile.zip + '<br /><br />';
    html += '<form action="http://maps.google.com/maps" method="get" target="_blank">';
    html += '<i>Your address</i>: <br /><input type="text" name="saddr" value="" size=20><br />';
    html += '<input type="hidden" name="daddr" value="' + fAddr + '" />';
    html += '<input type="submit" value="Directions"/></form>';
    html += '</div>';

    map.openInfoWindowHtml(map.getCenterLatLng(),html);
}

function showGMap(idx){ // Base 1 is default geocode, > 1 = loc#
	var geo;
	var name;
	var addr;
	var city;
	var state;
	var zip;
	
	if(idx == 1){
	    geo   = siteData.profile.geocode;
	    name  = siteData.profile.site.name;
	    addr  = siteData.profile.site.address.street;
	    city  = siteData.profile.site.address.city;
	    state = siteData.profile.site.address.state;
	    state = siteData.profile.site.address.zip;
	}
	else if(idx > 1){
	    geo   = eval('siteData.profile.geocode.loc'+idx);
	    name  = geo.name;
	    addr  = geo.address.street;
	    city  = geo.address.city;
	    state = geo.address.state;
	    state = geo.address.zip;
	}

	var pmm = {'profile': {'name':name,'addr':addr,'city': city,'state':state,'zip':zip},'map': {'id':'map_google','lat':geo.lat,'lng':geo.lng,'zoom':13}};

    var map = new GMap(document.getElementById(pmm.map.id));
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
    map.setCenter(new GLatLng(pmm.map.lat,pmm.map.lng), pmm.map.zoom);

    var fAddr = pmm.profile.addr + ', ' + pmm.profile.city + ', ' + pmm.profile.state + ' ' + pmm.profile.zip;
    var html = '<div id="GoogleInfoWin" align="left">';
    html += '<b>' + pmm.profile.name + '</b><br />' + pmm.profile.addr + '<br />' + pmm.profile.city  + ', ' + pmm.profile.state + ' ' + pmm.profile.zip + '<br /><br />';
    html += '<form action="http://maps.google.com/maps" method="get" target="_blank">';
    html += '<i>Your address</i>: <br /><input type="text" name="saddr" value="" size=20><br />';
    html += '<input type="hidden" name="daddr" value="' + fAddr + '" />';
    html += '<input type="submit" value="Directions"/></form>';
    html += '</div>';

    map.openInfoWindowHtml(map.getCenterLatLng(),html);
}

// Used in wrap_up_vSpecs.php
var gglMap;
function showGMap2(){ // Base 1 is default geocode, > 1 = loc#
	if(typeof(arguments[0]) == 'object'){ // when called through "google.setOnLoadCallback()" passed arg will be event obj and not int
	    var idx = 1;
	}
	else{
	    
		var idx = (arguments[0]) ? arguments[0] : 1; 
	}
	
	var geo;
	var name;
	var addr;
	var city;
	var state;
	var zip;
	var mapId = (typeof siteData.mapId != 'undefined') ? siteData.mapId : 'map_google';
	
	if(idx == 1){
	    geo   = siteData.profile.geocode;
	    name  = siteData.profile.site.name;
	    addr  = siteData.profile.site.address.street;
	    city  = siteData.profile.site.address.city;
	    state = siteData.profile.site.address.state;
	    zip   = siteData.profile.site.address.zip;
	}
	else if(idx > 1){
	    geo   = eval('siteData.profile.geocode.loc'+idx);
	    name  = geo.name;
	    addr  = geo.address.street;
	    city  = geo.address.city;
	    state = geo.address.state;
	    zip   = geo.address.zip;
	}
	
	if(_ALLOW_MUTLI_PROFILE_MAP_BY_SITETOKEN.indexOf(siteData.siteToken) > -1){ // idx is a sting, assumed lotToken
		if((siteData.lotToken != '') && (siteData.lotToken != siteData.siteToken)){
			for(k in siteData.profiles.profiles.profile){
				if(siteData.profiles.profiles.profile[k].sitetoken == siteData.lotToken){ //.geocode.lat
				    var p = siteData.profiles.profiles.profile[k];
					geo   = p.geocode;
				    name  = p.site.name;
				    addr  = p.site.address.street;
				    city  = p.site.address.city;
				    state = p.site.address.state;
				    zip   = p.site.address.zip;
				    break;
				}
	        }
		}
	}

	var pmm = {'profile': {'name':name,'addr':addr,'city': city,'state':state,'zip':zip},'map': {'id':mapId,'lat':geo.lat,'lng':geo.lng,'zoom':13}};

	gglMap = new google.maps.Map2(document.getElementById(pmm.map.id));
	
    gglMap.addControl(new google.maps.LargeMapControl());
    gglMap.addControl(new google.maps.MapTypeControl());
    gglMap.setCenter(new google.maps.LatLng(pmm.map.lat,pmm.map.lng), 13); 

    var fAddr = pmm.profile.addr + ', ' + pmm.profile.city + ', ' + pmm.profile.state + ' ' + pmm.profile.zip;
    var html = '<div id="GoogleInfoWin" align="left">';
    html += '<b>' + pmm.profile.name + '</b><br />' + pmm.profile.addr + '<br />' + pmm.profile.city  + ', ' + pmm.profile.state + ' ' + pmm.profile.zip + '<br /><br />';
    html += '<form action="http://maps.google.com/maps" method="get" target="_blank">';
    html += '<i>Your address</i>: <br /><input type="text" name="saddr" value="" size=20><br />';
    html += '<input type="hidden" name="daddr" value="' + fAddr + '" />';
    html += '<input type="submit" value="Directions"/></form>';
    html += '</div>';

    //gglMap.openInfoWindowHtml(gglMap.getCenter(),html);
    
    if(typeof siteData.doOverlay != 'undefined'){
        if(siteData.doOverlay){
            
            $.PMM.doOverlay('#'+mapId,'',false,true,function(){
                gglMap.checkResize();
                gglMap.openInfoWindowHtml(gglMap.getCenter(),html);
            });
        }
    }
    else{
        gglMap.openInfoWindowHtml(gglMap.getCenter(),html);
    }
}

// A function to create the marker and set up the event window
function createGMapMarker(idx,point,name,html) {
        var marker = new google.maps.Marker(point);
        GEvent.addListener(marker, "click", function() {
          marker.openInfoWindowHtml(html);
        });
        // save the info we need to use later for the side_bar
        gmarkers[idx] = marker;
        // add a line to the side_bar html
        //side_bar_html += '<a href="javascript:gMapMarkerclick(' + i + ')">' + name + '</a><br />';
        //i++;
        return marker;
}

// This function picks up the click and opens the corresponding info window
function gMapMarkerclick(i) {
    GEvent.trigger(gmarkers[i], "click");
}

var gmarkers = [];
function showGMapMultiLocations(){

      $('#map_google').height('525px');
      // create the map
      var map = new google.maps.Map2(document.getElementById("map_google"));
      map.addControl(new google.maps.LargeMapControl());
      map.addControl(new google.maps.MapTypeControl());
      map.setCenter(new google.maps.LatLng(32.92916554402031, -117.15751647949219), 10);

      // add the points  

      // Acura of Escondido
      var html = "<strong>Acura of Escondido</strong><br />1502 Auto Park Way No.<br />Escondido, CA 92029<br />(888) 202-0033<br /><br />";
      html += '<form action="http://maps.google.com/maps" method="get" target="_blank">';
      html += '<i>Your address</i>: <br /><input type="text" name="saddr" value="" size=20><br />';
      html += '<input type="hidden" name="daddr" value="1502 Auto Park Way North, Escondido, CA 92029" />';
      html += '<input type="submit" value="Directions"/></form>';
      html += '</div>';
      
      var point = new google.maps.LatLng(33.1148520,-117.1050390);
      var marker = createGMapMarker(0,point,"",html)
      map.addOverlay(marker);
      
      // Ball Acura
      var html = "<strong>Ball Acura</strong><br />2001 National City Blvd<br />National City, CA 91950<br />(888) 820-2623<br /><br />";
      html += '<form action="http://maps.google.com/maps" method="get" target="_blank">';
      html += '<i>Your address</i>: <br /><input type="text" name="saddr" value="" size=20><br />';
      html += '<input type="hidden" name="daddr" value="2001 National City Blvd, National City, CA 91950" />';
      html += '<input type="submit" value="Directions"/></form>';
      html += '</div>';
      
      var point = new google.maps.LatLng(32.6654780000000000,-117.1028700000000000);
      var marker = createGMapMarker(1,point,"",html)
      map.addOverlay(marker);
      
      // Hoehn Acura
      var html = "<strong><strong>Hoehn Acura</strong><br />5556 Paseo Del Norte<br />Carlsbad, CA 92008<br />(760) 438-9599<br /><br />";
      html += '<form action="http://maps.google.com/maps" method="get" target="_blank">';
      html += '<i>Your address</i>: <br /><input type="text" name="saddr" value="" size=20><br />';
      html += '<input type="hidden" name="daddr" value="5556 Paseo Del Norte, Carlsbad, CA 92008" />';
      html += '<input type="submit" value="Directions"/></form>';
      html += '</div>';
      
      var point = new google.maps.LatLng(33.1283356,-117.3238133);
      var marker = createGMapMarker(2,point,"",html)
      map.addOverlay(marker);
      
      // Kearny Mesa Acura
      var html = "<strong>Kearny Mesa Acura</strong><br />5205 Kearny Mesa Road<br />San Diego, CA 92111<br />(888) 380-01151<br /><br />";
      html += '<form action="http://maps.google.com/maps" method="get" target="_blank">';
      html += '<i>Your address</i>: <br /><input type="text" name="saddr" value="" size=20><br />';
      html += '<input type="hidden" name="daddr" value="5205 Kearny Mesa Road, San Diego, CA 92111" />';
      html += '<input type="submit" value="Directions"/></form>';
      html += '</div>';
      
      var point = new google.maps.LatLng(32.8304910,-117.1435630);
      var marker = createGMapMarker(3,point,"",html)
      map.addOverlay(marker);
      
      

      
      //$('#map_google').prepend('<div id="side_bar">'+ side_bar_html+'</div>');
}

function cms_editRollOver(id){$('#'+id).css('backgroundColor','#ccc');$('#'+id).css('cursor','pointer');return true;}
function cms_editRollOut(id){$('#'+id).css('backgroundColor','#ffffcc');return true;}
function cms_editContent(id,chainTo){
	var cmsPg = 'cms.php';
	if(typeof siteData.pages.models != 'undefined'){
		if(typeof siteData.pages.models.meta != 'undefined'){
		    if((typeof siteData.pages.models.meta.active != 'undefined') && (siteData.pages.models.meta.active == 'yes')){
		    	cmsPg = 'cms_v2.php';
            }
		}
    }
	document.location = '/pm_motors/pmm_myCMS/'+cmsPg+'?cmsAction=edit&contentID=' + id + '&editLoc=' + chainTo + '&lang='+ siteData.lang;
}

function setZip(val){
    if(val == ''){
        alert('Zipcode is required');
        return false;
    }
    
    if((val.length != 5) || (!isNumber(val))){
        alert('Zipcode is not valid. Must be a 5 digit numeric number');
        return false;
    }
    
    //else we are good
    var url = "/usr/zipcheck.php?zipcode="+val;
    $.ajax({
                type:'GET',
                url: url,
                dataType:'json',
                success: function(json) {
                    if(json.status == 'match'){
                        toConsole('We matched for ' + json.lotTokenOR + ' on zipcode ' + json.zip);
                        $.cookie('lotTokenOR',json.lotTokenOR + '|' + json.zip,{path: '/'});
                        $.PMM.doOverlayClose('#zip-check');
                        if(window.location.href.indexOf('/vehicle/specs/acura/') > -1){
                            window.location = window.location.href;
                        }
                        
                        
                    }
                    else{
                        alert("Your zip code did not match with any Specific Dealer.\nPlease select your desired Dealer from the list");
                    }
                }
            });
 
}



function MM_swapImgRestore() {var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;}
function MM_preloadImages() {var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}}
function MM_findObj(n, d) {var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);if(!x && d.getElementById) x=d.getElementById(n); return x;}
function MM_openBrWindow(theURL,winName,features) {window.open(theURL,winName,features);}
function MM_swapImage() {var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}}


