if(typeof mySnipApps == "undefined") { function snipApps() { // Current Instance var self = this; // Is this instance initialized? this.loading = -1; this.inited = false; // Host and URL Info if(window.location.protocol == "https:") { this.https = true; this.url_prefix = "https"; } else { this.https = false; this.url_prefix = "http"; } this.caller_domain = window.location.host; this.snipapps_domain = "snipapps.com"; this.script_name = window.location.pathname; this.path_info = window.location.search; this.session_key = ""; this.browser = "ff"; // Page Snippets this.snippets = new Array(); // Scripts this.scripts = new Array(); this.scripts[0] = new Object(); this.scripts[0].src = "http://" + this.snipapps_domain + "/templates/general/scripts/jquery/jquery.js"; this.scripts[0].test = "(typeof jQuery != 'undefined')"; this.scripts[0].loading = 0; this.scripts[1] = new Object(); this.scripts[1].src = "http://" + this.snipapps_domain + "/templates/general/scripts/jquery/ui.core.js"; this.scripts[1].test = "(typeof jQuery.ui != 'undefined')"; this.scripts[1].loading = 0; this.scripts[2] = new Object(); this.scripts[2].src = "http://" + this.snipapps_domain + "/templates/general/scripts/scripts.js.cfm"; this.scripts[2].test = "(typeof validateForm != 'undefined')"; this.scripts[2].loading = 0; this.scripts[3] = new Object(); this.scripts[3].src = "http://" + this.snipapps_domain + "/templates/general/carousel/carousel.js"; this.scripts[3].test = "(typeof thisCarousel != 'undefined')"; this.scripts[3].loading = 0; /* ------------------ */ /* Init Functions */ /* ------------------ */ this.init = function() { var callback = ""; if(arguments.length > 0 && typeof arguments[0] == "function") { callback = arguments[0]; } if(self.loading == -1 && self.inited == false) { self.loading = 0; // For Definition Windows document.write(""); self.loadScripts(); } self.checkInited(0,callback); }; this.loadScripts = function() { if(self.loading > -1 && self.loading < self.scripts.length) { if(eval(self.scripts[self.loading].test) == true) { self.loading += 1; } else { if(self.scripts[self.loading].loading == 0) { self.scripts[self.loading].loading = 1; var scriptTag = document.createElement('script'); scriptTag.setAttribute("type","text/javascript"); scriptTag.setAttribute("src", self.scripts[self.loading].src); if(typeof scriptTag != "undefined") { document.getElementsByTagName("head")[0].appendChild(scriptTag); } else { // It didn't load. self.loading += 1; } } } if(self.loading >= self.scripts.length) { self.inited = true; self.browser = getDom(); // jQuery.noConflict(); // All WebKit Browsers are Safari to jQuery. Just in case, though, there is a hook. if(self.browser == "safari" || self.browser == "chrome") { jQuery.isReady = true; } } else { setTimeout(mySnipApps.loadScripts, 300); } } } this.checkInited = function(elapsed) { var callback = (arguments.length > 1 && typeof arguments[1] == "function") ? arguments[1] : ""; if(!self.inited) { if(elapsed <= 25000) { var invokestring = "mySnipApps.checkInited(" + (elapsed + 200); if(typeof callback == "function") { invokestring = invokestring + "," + callback + ")"; } else { invokestring = invokestring + ")"; } setTimeout(invokestring, 200); } else { // timed out } } else { // Now that we're inited, run callback. if(typeof callback == "function") { callback(); } } }; /* ---------------------- */ /* Standard Functions */ /* ---------------------- */ this.create = function(sid,app,key) { var link = this.url_prefix + "://" + self.snipapps_domain + "/templates/snipapps/_remote/snippet.cfm"; var params = "mode=load&json=1"; var trimquery = self.path_info; // Strip ? from URL query. if(trimquery != "") { trimquery = trimquery.split("?"); trimquery = trimquery[1]; } params = params + "&urlvars=" + escape(trimquery) + "&app=" + app + "&key=" + key + "&domain=" + self.caller_domain + "&scriptid=" + sid + "&" + self.session_key + "&format=json&jsoncallback=?"; jQuery.getJSON(link, params, function(json) { if(json.recordcount > 0) { var DoCommit = json.data.docommit[0]; var content = jQuery.trim(json.data.content[0]); var snippetType = json.data.type[0]; if(DoCommit == 1) { jQuery("div#" + sid + "_loading").hide(); jQuery("div#" + sid).html(content).show(); //.css("opacity","0") // Add to Snippet List var snipindex = self.snippets.length; self.snippets[snipindex] = new Object(); self.snippets[snipindex].type = snippetType; self.snippets[snipindex].app = app; self.snippets[snipindex].key = key; self.snippets[snipindex].script_id = sid; // States self.snippets[snipindex].states = new Object(); // Base State self.snippets[snipindex].states.base = new Object(); self.snippets[snipindex].states.base.key = key; self.snippets[snipindex].states.base.urlvars = new Object(); self.snippets[snipindex].states.base.formvars = new Object(); } else { return false; } } }); } // A call by a snippet to navigate to another page with specified url variables. this.navigate = function(sid,data,urlvars) { var link = ""; var params = "json=1"; var scon = jQuery("#" + sid); var sload = jQuery("#" + sid + "_loading"); var snip = ""; // This only works if the scriptid is unique. Which it should be. if(jQuery(scon).length == 1) { jQuery(scon).hide(); jQuery(sload).show(); snip = self.getSnippet(sid); link = self.url_prefix + "://" + self.snipapps_domain + "/apps/" + snip.app + ".cfm/mode/load"; params = "json=1&app=" + snip.app + "&key=" + snip.key + "&scriptid=" + snip.script_id + "&data=" + data + "&urlvars=" + escape(urlvars) + "&domain=" + self.caller_domain + "&child=1&" + self.session_key + "&format=json&jsoncallback=?"; jQuery.getJSON(link, params, function(json) { if(json.recordcount > 0) { var DoCommit = json.data.docommit[0]; var content = jQuery.trim(json.data.content[0]); if(DoCommit == 1) { jQuery(sload).hide(); jQuery(scon).html(content).show(); } else { return false; } } }); } } // A call by a snippet to reload base. Does not modify URL string. this.restore = function(sid) { var link = ""; var params = "json=1"; var scon = jQuery("#" + sid); var sload = jQuery("#" + sid + "_loading"); var snip = ""; var urlvars = ""; var formvars = ""; var u = 0; var f = 0; if(jQuery(scon).length == 1) { jQuery(scon).hide(); jQuery(sload).show(); snip = self.getSnippet(sid); urlvars = ""; for(u in snip.states.base.urlvars) { urlvars = self.paramAppend(urlvars,u,snip.states.base.urlvars[u]); } // Strip ? from URL query. if(urlvars != "") { urlvars = urlvars.split("?"); urlvars = urlvars[1]; } for(f in snip.states.base.formvars) { formvars = self.paramAppend(formvars,f,snip.states.base.formvars[u]); } // Strip ? from FORM query. if(formvars != "") { formvars = formvars.split("?"); formvars = formvars[1]; } link = self.url_prefix + "://" + self.snipapps_domain + "/apps/" + snip.app + ".cfm/mode/load"; params = params + "&urlvars=" + escape(urlvars) + "&formvars" + escape(formvars) + "&app=" + snip.app + "&key=" + snip.key + "&domain=" + self.caller_domain + "&scriptid=" + snip.script_id + "&" + self.session_key + "&format=json&jsoncallback=?"; jQuery.getJSON(link, params, function(json) { if(json.recordcount > 0) { var DoCommit = json.data.docommit[0]; var content = jQuery.trim(json.data.content[0]); if(DoCommit == 1) { jQuery("div#" + snip.script_id + "_loading").hide(); jQuery("div#" + snip.script_id).html(content).show(); } else { return false; } } }); } } // A call by a snippet to refresh this script's base page with this url string. this.refreshbase = function(sid,urlstring) { var uarray = urlstring.split("&"); var farray = ""; var clear = true; var parray = ""; var pname = ""; var pval = ""; if(arguments.length > 2 && arguments[2] != "") { farray = arguments[2]; farray = farray.split("&"); } if(arguments.length > 3 && arguments[3] == false) { clear = arguments[3]; } if(clear == true) { self.clearBaseUrlVars(sid); self.clearBaseFormVars(sid); } for(var u = 0; u < uarray.length; u++) { parray = uarray[u].split("="); pname = parray[0]; pval = parray[1]; self.setBaseUrlVar(sid,pname,pval); } if(typeof farray == "object" && typeof farray.length != "undefined") { for(var f = 0; f < farray.length; f++) { parray = farray[r].split("="); pname = parray[0]; pval = parray[1]; self.setBaseFormVar(sid,pname,pval); } } self.restore(sid); }; // Restore a specific sort of snippet on the same page without modifying form/url variables. this.restoreTo = function(sapp,stype) { var snips = self.findSnippets(sapp,stype); // If no snippets found, no point in wasting time. if(typeof snips != "object" || typeof snips.length == "undefined" || snips.length == 0) { return false; } for(var s = 0; s < snips.length; s++) { self.restore(snips[s].script_id); } }; // Post form or url to a specific sort of snippet on the same page. this.postTo = function(sapp,stype,postdata) { var snips = self.findSnippets(sapp,stype); var formdata = { method: "get", datakey: "" }; // If no snippets found, no point in wasting time. if(typeof snips != "object" || typeof snips.length == "undefined" || snips.length == 0) { return false; } jQuery.extend(formdata,postdata); formdata.method = formdata.method.toLowerCase(); for(var s = 0; s < snips.length; s++) { self.clearBaseUrlVars(snips[s].script_id); self.clearBaseFormVars(snips[s].script_id); for(var f in formdata) { if(f != "method") { if(formdata.method == "post") { self.setBaseFormVar(snips[s].script_id,f,formdata[f]); } else { self.setBaseUrlVar(snips[s].script_id,f,formdata[f]); } } } self.restore(snips[s].script_id); } }; /* ------------------- */ /* Modal Functions */ /* ------------------- */ // Create and post to modal window this.openModal = function(sid,postdata) { // initlaize variables var link = ""; var params = ""; var fswidth = jQuery(document).width(); var fsheight = jQuery(document).height(); var snip = self.getSnippet(sid); var urlvars = ""; var formvars = ""; var formdata = { method: "get", datakey: "" }; // modal elements. var modalwin = ""; var modalmask = ""; var modalload = ""; var modalcontent = ""; var modalclose = ""; jQuery.extend(formdata,postdata); formdata.method = formdata.method.toLowerCase(); // we require a data key to proceed if(formdata.datakey == "") { return false; } // serialize formdata and setup link/params for(var f in formdata) { if(f != "method" && f != "datakey") { if(formdata.method == "post") { formvars = self.paramAppend(formvars,f,formdata[f]); } else { urlvars = self.paramAppend(urlvars,f,formdata[f]); } } } // Strip ? from URL query. if(urlvars != "") { urlvars = urlvars.split("?"); urlvars = urlvars[1]; } // Strip ? from FORM query. if(formvars != "") { formvars = formvars.split("?"); formvars = formvars[1]; } link = self.url_prefix + "://" + self.snipapps_domain + "/apps/" + snip.app + ".cfm/mode/load"; params = "json=1&modal=1&app=" + snip.app + "&key=" + snip.key + "&scriptid=" + snip.script_id + "&data=" + formdata.datakey + "&urlvars=" + escape(urlvars) + "&formvars=" + escape(formvars) + "&domain=" + self.caller_domain + "&child=1&" + self.session_key + "&format=json&jsoncallback=?"; // create modal window // max z-index is 2147483647, but we need it to work with prettyPhoto, so it has to be less than 9000. modalwin = jQuery('
').prependTo("body"); modalmask = jQuery('
 
').prependTo("body"); // show modal window and load content jQuery(modalmask) .click(function() { mySnipApps.closeModal(); }) .animate({ width: fswidth, height: fsheight }, 300, "linear", function() { jQuery(window).scrollTop(0); modalclose = jQuery('
Close Window
').prependTo(modalwin); modalload = jQuery('
').appendTo(modalwin); jQuery(modalwin) .css("width",fswidth) .css("height",fsheight) .show(); jQuery.getJSON(link,params,function(json) { if(json.recordcount > 0) { var DoCommit = json.data.docommit[0]; var content = jQuery.trim(json.data.content[0]); jQuery(modalload).hide(); if(DoCommit == 1) { modalcontent = jQuery('
' + content + '
').appendTo(modalwin); } else { return false; } } }); }); }; // Hide and destroy modal window this.closeModal = function() { jQuery("div[name='modal'][data-snipapps='modal']") .hide() .remove(); jQuery("div[name='mask'][data-snipapps='modal']") .animate({ width: 1, height: 1, opacity: 0 }, 300, "linear", function() { jQuery(this).hide().remove(); }); }; /* -------------------- */ /* Helper Functions */ /* -------------------- */ // Retrieves the Snippet with that Script ID. this.getSnippet = function(sid) { for(var s = 0; s < self.snippets.length; s++) { if(self.snippets[s].script_id == sid) { return self.snippets[s]; break; } } }; // Retrieves an array of snippets that matches app and type. this.findSnippets = function(sapp,stype) { var result = new Array(); for(var s = 0; s < self.snippets.length; s++) { if(self.snippets[s].app == sapp && self.snippets[s].type == stype) { result[result.length] = self.snippets[s]; } } return result; }; // Changes a variable in the base URL this.setBaseUrlVar = function(sid,vname,vval) { for(var s = 0; s < self.snippets.length; s++) { if(self.snippets[s].script_id == sid) { if(vval == "") { self.snippets[s].states.base.urlvars[vname] = null; } else { self.snippets[s].states.base.urlvars[vname] = vval; } break; } } }; // Clears the base URL of all its variables. this.clearBaseUrlVars = function(sid) { for(var s = 0; s < self.snippets.length; s++) { if(self.snippets[s].script_id == sid) { self.snippets[s].states.base.urlvars = new Object(); break; } } }; // Changes a variable in the base FORM this.setBaseFormVar = function(sid,vname,vval) { for(var s = 0; s < self.snippets.length; s++) { if(self.snippets[s].script_id == sid) { if(vval == "") { self.snippets[s].states.base.formvars[vname] = null; } else { self.snippets[s].states.base.formvars[vname] = vval; } break; } } }; // Clears the base FORM of all its variables. this.clearBaseFormVars = function(sid) { for(var s = 0; s < self.snippets.length; s++) { if(self.snippets[s].script_id == sid) { self.snippets[s].states.base.formvars = new Object(); break; } } }; // Navigation Function For Page Numbers this.navPageNumber = function(target,sid) { self.setBaseUrlVar(sid,"page",target); self.restore(sid); return true; }; // Append to a URL param string. this.paramAppend = function(str,pname,pval) { str = jQuery.trim(str); pname = jQuery.trim(pname); if(typeof pval == "string") { pval = jQuery.trim(pval); } if(str == "") { str = "?" + pname + "=" + pval; } else { str = str + "&" + pname + "=" + pval; } return str; }; // Checks to see if a condition is true over time. If true, runs callback. this.checkConditionOverTime = function(evalstring,time,callback) { // Forget it if(typeof callback != "function") { return false } var checkfunction = function() { if(eval(evalstring) == true) { callback(); } else { self.checkConditionOverTime(evalstring,time,callback); } } setTimeout(checkfunction,time); } }; var mySnipApps = new snipApps(); mySnipApps.session_key = "CFID=106973140&CFTOKEN=67950050&jsessionid=2030f54981eb5a3a785b"; mySnipApps.snipapps_domain = "worldrets.com"; } document.write(""); document.write("
"); mySnipApps.init(function() { mySnipApps.create("realtor27B7E1D4-00ED-ADA5-1524CFAFD11A1CBC","realtor","TTlbIjo2ODo7JDoqOiBMKClSLUonQStWL0hWLUNaSSo/Sjg9OiRcOVpCSks5WikrV0woLl1DPV4iRU8hPgouUlA8QiMoSClVPTsvIjxLKzNVTCAK"); });