if (typeof console == "undefined") { var console = {log:function(dummy){}}; } /** * Functions for controlling the suggestion stuff */ var didyoumean_states={}; function switch_didyoumean(element_id) { if (didyoumean_states[element_id]==undefined || didyoumean_states[element_id]=='short') { $("#short_"+element_id).css({display:'none'}); $("#extended_"+element_id).css({display:'inline'}); didyoumean_states[element_id]='extended'; $("#"+element_id+"_switch").text("less..."); } else if (didyoumean_states[element_id]=='extended') { $("#short_"+element_id).css({display:'inline'}); $("#extended_"+element_id).css({display:'none'}); didyoumean_states[element_id]='short'; $("#"+element_id+"_switch").text("more..."); } } /** * Functions that control the styles of the header tabs and the value of the what_who_input field */ var tabs={ selected:false, lasttab:false, over:function (element) {element.className = 'overTab javaTab';}, out:function (element) {if (element!=tabs.selected) {element.className = 'offTab javaTab';}}, click:function (element,action) {tabs.selected=element;action(element);} }; function click_who(element) { $('#what_tab').removeClass().addClass('offTab javaTab'); element.className = 'overTab javaTab'; $('#what_who_input').attr('value', "who"); $('#search_details_what').hide(); $('#search_details_who').css({display:"inline"}); $('#header_search').attr('action', $('#action_who').attr('value')); $('#searchwhat').attr('name', 'name'); var whoVal = get_cookie('saved_input_name'); $('#searchwhat').text((whoVal)? whoVal : ""); } function click_what(element){ $('#searchwhat').focus(); element.className = 'overTab javaTab'; $('#who_tab').removeClass().addClass('offTab javaTab'); $('#what_who_input').text("what"); $('#search_details_what').css({display:"inline"}); $('#search_details_who').hide(); $('#header_search').attr('action', $('#action_what').attr('value')); $('#searchwhat').attr('name', 'searchwhat'); var whatVal = get_cookie('saved_input_searchwhat'); $('#searchwhat').text((whatVal)? whatVal : ""); } /* FILE: cookies.js */ // The Domain must be declared for cookies to work // The spec for cookies, an rfc older than the hills, calls for 2 dots var domain = ".n49.ca"; /* Function: This function loading in a cookie from the uses system */ function get_cookie(cookie_name) { var results = document.cookie.match (cookie_name + '=(.*?)(;|$)'); if (results){return(unescape(results[1]));} else{return null;} } /* Function: This function sets a cookie to the uses system */ function set_cookie(name, value, expires){ var cookie_string = name + "=" + escape(value); var today = new Date(); today.setTime(today.getTime()); if (!expires){ var expires = 365; } expires = expires * 60 * 60 * 24 * 1000; var expires_date = new Date( today.getTime() + (expires) ); cookie_string += "; expires=" + expires_date.toGMTString(); cookie_string += "; path="+ '/'; cookie_string += "; domain=" + domain; document.cookie = cookie_string; } function delete_cookie(cookie_name){ var cookie_date = new Date (); // current date & time cookie_date.setTime (cookie_date.getTime() - 1); document.cookie = cookie_name + "=; expires=Thu, 01-Jan-1970 00:00:01 GMT"; return false; } function setMail(id, name, gloablDomain, domainName, changeHTML) { // Kind of obfuscates an email...mostly. var aTag = document.getElementById(id); var emAd = name+"@"+domainName+"."+gloablDomain aTag.innerHTML = (changeHTML) ? changeHTML : emAd; aTag.href = "mailto:"+emAd; return false; } /** * This will take the data from a JSON response and place it into a specified DIV * @params {object} $data array returned from the call [elementID, html] */ function callback_populateContent($data){ if(!$data) { error_handler_by_id('No data, probably an error in the Json file.'); return false; } ($data.err_code) ? error_handler_by_id($data.err_code) : $("#"+$data.elementID).html($data.html); } var loaded_scripts=[]; /** * This function loads in a js file and adds to to be DOM * @params {string} $sourse Location of new JS file */ function loadScript($source) { if (!loaded_scripts[$source]) { loaded_scripts[$source]=true; newScript = document.createElement('script'); newScript.src = $source; document.body.appendChild(newScript); } return false; } /** * All Pop Calls should be ported through this function * @param string $type Indicating the type of popup content * @param array $additionalParams These will be passed into the AJAX call and also contain the H1 of the popup */ var popup={ login:function() { //loadScript(conf.jsurl + 'content_display/login.js'); returnValue = document.URL; loginPage = "/login/?return_to=" + encodeURIComponent(returnValue); window.location = loginPage; //this.display('square', 'login', 'LOGIN'); }, forgot_password:function() { this.display('square', 'forgot_password', 'FORGOT PASSWORD?'); }, tags_what:function() { this.display('square', 'tags_what', 'WHAT ARE TAGS?'); }, tags_why:function() { this.display('square', 'tags_why', 'WHY USE TAGS?'); }, tags_edit:function($additionalParams) { this.display('square', 'tags_edit', 'EDIT TAGS', $additionalParams ); }, image_enlarge:function($additionalParams) { loadScript(conf.jsurl + 'content_display/images.js'); this.display('square', 'image_enlarge', 'IMAGE GALLERY', $additionalParams, callback_image_enlarge); }, image_enlarge_switch:function($additionalParams) { var json = new JSON; var params = { "element_id":'popup_content_square_popup_'+popupIds, "request_type":"image_enlarge", "h1":"Image Enlarge", "popup_type":"square" } inlinePopups[params.element_id] = false; // Only attaching the Extra Params If the $additionalParams is set as an array if(typeof $additionalParams == 'object'){ params.additional = $additionalParams; } var json = new JSON; json.async = false; json.request('popup_content',params,function($data){$('#popup_content_square_popup_'+(popupIds-1)).html($data.html);},'','/libs/JSON/misc_actions.php'); }, video_enlarge:function($additionalParams) { loadScript(conf.jsurl + 'content_display/videos.js'); this.display('square', 'video_enlarge', 'VIDEO GALLERY', $additionalParams, callback_video_enlarge); }, quick_quote:function($additionalParams) { loadScript(conf.jsurl + 'content_display/quick_quote.js'); this.display('square', 'quick_quote', 'QUICK QUOTE', $additionalParams); }, email_business:function($additionalParams) { loadScript(conf.jsurl + 'content_display/email_business.js'); this.display('square', 'email_business', 'EMAIL A BUSINESS', $additionalParams); }, add_image:function($additionalParams) { if($('#add_image_form_'+$additionalParams[1])[0]){ if($section_type == 'listing_details'){ if($('#images_content').is(":hidden")){ change_tabs($('#images')[0]); $('#images').click(); } } window.location.href = '#add_image_form_'+$additionalParams[1]+'_a'; }else{ loadScript(conf.jsurl + 'content_display/images.js'); this.display('square', 'add_image', 'ADD AN IMAGE', $additionalParams); } }, add_video:function($additionalParams) { if($('#add_video_form_'+$additionalParams[1])[0]){ if($section_type == 'listing_details'){ if($('#videos_content').is(":hidden")){ change_tabs($('#videos')[0]); $('#videos').click(); } } window.location.href = '#add_video_form_'+$additionalParams[1]+'_a'; }else{ loadScript(conf.jsurl + 'content_display/videos.js'); this.display('square', 'add_video', 'ADD A VIDEO', $additionalParams, callback_add_video); } }, add_review:function($additionalParams) { if($('#review_buisness_form_'+$additionalParams[1])[0]){ if($section_type == 'listing_details'){ if($('#reviews_content').is(":hidden")){ change_tabs($('#reviews')[0]); $('#reviews').click(); } } window.location.href = '#review_buisness_form_'+$additionalParams[1]+'_a'; }else{ loadScript(conf.jsurl + 'content_display/add_review.js'); loadScript(conf.jsurl + 'content_display/reviews.js'); this.display('square', 'add_review', 'REVIEW THIS BUSINESS', $additionalParams, callback_reviewBusinessDisplay); } }, review_comment:function($additionalParams) { loadScript(conf.jsurl + 'content_display/reviews.js'); this.display('square', 'review_comment', 'COMMENT ON THIS REVIEW', $additionalParams); }, article_comment:function($additionalParams) { loadScript(conf.jsurl + 'content_display/articles.js'); this.display('square', 'article_comment', 'COMMENT ON THIS ARTICLE', $additionalParams); }, attach_article:function($additionalParams) { loadScript(conf.jsurl + 'content_display/articles.js'); this.display('square', 'attach_article', 'ATTACH THIS ARTICLE', $additionalParams); }, lead_comment:function($additionalParams) { loadScript(conf.jsurl + 'content_display/leads.js'); this.display('square', 'lead_comment', 'EDIT COMMENT', $additionalParams); }, edit_elt_txt:function ($additionalParams) { loadScript(conf.jsurl + 'content_display/edit_caption.js'); this.display('square', 'edit_elt_txt', 'EDIT CAPTION', $additionalParams); }, email_friend:function ($additionalParams) { loadScript(conf.jsurl + 'content_display/email_friend.js'); this.display('square', 'email_friend', 'EMAIL TO FRIEND', $additionalParams); }, add_favourites:function ($additionalParams) { this.display('circle', 'add_favourites', 'ADD TO FAVOURITES', $additionalParams); }, add_friend:function ($additionalParams) { loadScript(conf.jsurl + 'content_display/members.js'); this.display('square', 'add_friend', 'ADD A FRIEND', $additionalParams); }, inappropriate:function ($additionalParams) { loadScript(conf.jsurl + 'content_display/inappropriate.js'); this.display('square', 'inappropriate', 'INAPPROPRIATE?', $additionalParams); }, directory_browser:function ($additionalParams) { loadScript(conf.jsurl + 'content_display/directory_browser.js'); this.display('square', 'directory_browser', 'FIND A BUSINESS'); }, what_is_public_private:function ($additionalParams) { this.display('circle', 'what_is_public_private', 'WHAT ARE THESE?', $additionalParams); }, report_bug:function ($additionalParams) { if( $additionalParams[0] == 'Link from footer' || $additionalParams['force_display']) { if($('#bug')[0]){ $('#bug').attr('value', $('#bug').attr('value')+"
"+$additionalParams[0]); $('#bug_error_display').html($('#bug_error_display').html()+"
"+$additionalParams[0]); }else{ $additionalParams[0] = "URL: "+window.location+"
Browser: "+navigator.userAgent+"
"+$additionalParams[0]; loadScript(conf.jsurl + 'content_display/report_bug.js'); this.display('square', 'report_bug', 'REPORT A BUG', $additionalParams); } } else { // Bugs are automatically submitted var params = new Array(); params[0] = window.location.href; params[1] = navigator.userAgent; params[2] = navigator.platform; params[3] = $additionalParams[0]; var json = new JSON; json.request('report_bug',params,callback_report_bug,'','/libs/JSON/misc_actions.php') ; } }, feedback:function ($additionalParams) { loadScript(conf.jsurl + 'content_display/feedback.js'); this.display('square', 'feedback', 'FEEDBACK', $additionalParams); }, delete_business:function ($additionalParams) { loadScript(conf.jsurl + 'content_display/delete_business.js'); this.display('square', 'delete_business', 'DELETE BUSINESS', $additionalParams); }, copy_image:function ($additionalParams) { this.display('square', 'copy_image', 'COPY IMAGE', $additionalParams); }, send_sms:function ($additionalParams) { this.display('square', 'send_sms', 'SEND TO PHONE', $additionalParams); }, choose_image:function($additionalParams) { this.display('square', 'choose_image', 'CHOOSE AN IMAGE', $additionalParams); }, choose_video:function($additionalParams) { this.display('square', 'choose_video', 'CHOOSE A VIDEO', $additionalParams); }, fade_out:function() { if(document.body.firstChild.id != 'popupWrapper'){ // Making the height of the white out the same as the height of the wrapper $('#fadeOver').height($(document).height()); // Calling the Appear for the fadeOver image $('#fadeOver').css({display:"block", opacity:0}) $('#fadeOver').fadeTo("fast", 0.5); $('#fadeOver').dblclick(popup_close_all); popupWrapper = document.createElement('div'); popupWrapper.className = 'popup_wrapper'; popupWrapper.id = 'popupWrapper'; document.body.insertBefore(popupWrapper, document.body.firstChild); } else { $("#popupWrapper").fadeIn(); $("#fadeOver").fadeIn(); } }, /** * Sets up the container for diplay and calls for the content using AJAX and JSON * * @param string $popupType Indicating the type of popup element(circle, square) * @param array $contentType Sent as params['request_type'] to indicate the type of popup content * @param string $h1_str The H1 to display in the popup * @param array $additionalParams These are passed into the AJAX call as params['additional'] * @param function customCallBack Is sent in if the AJAX call needs a differnt callBack then callback_popupContentDisplay */ display:function ($popupType, $contentType, $h1_str, $additionalParams, customCallBack) { // Bringing In The White Out If There Is No Popup Already popup.fade_out(); // Creating a new name for this DIV Popup var thisElementID = $popupType+'_popup_'+popupIds; popupIds ++; // Creaing a virtual DIV to set var newPopup = document.createElement('div'); newPopup.className = 'popup_element'; newPopup.id = thisElementID; if($popupType == 'circle'){ var thisElementClass = 'circle_element'; }else{ var thisElementClass = 'square_element'; } // Setting up the base Div HTML Structure var thisElementContent = '
'; thisElementContent += '
'; // Writing the HTML to the DIV newPopup.innerHTML = thisElementContent; newPopup.style.display='none'; newPopup.style.width="100%"; // Writing the Popup Div to popup div holder popupWrapper.appendChild(newPopup); $("#"+thisElementID).show("normal"); // Making the AJAX call for the HTML content of the popup var params = { "element_id":newPopup.id, "request_type":$contentType, "h1":$h1_str, "popup_type":$popupType }; inlinePopups[params.element_id] = false; // Only attaching the Extra Params If the $additionalParams is set as an array if(typeof $additionalParams == 'object'){ params.additional = $additionalParams; } var json = new JSON; if(customCallBack){ json.request('popup_content',params,customCallBack,'','/libs/JSON/misc_actions.php'); }else{ json.request('popup_content',params,callback_popupContentDisplay,'','/libs/JSON/misc_actions.php'); } videoBox_stopVideo('0'); } }; /* FILE: drop-down.js */ function dropDown(o) { // var subMenu = new Object(); o.sub = o.parentNode.getElementsByTagName('ul')[0]; o.sub.style.visibility = 'visible'; o.sub.style.display = ''; // actions if(o.sub.ddDelayKey!=null) { window.clearTimeout(o.sub.ddDelayKey); o.sub.ddDelayKey=null; } if (o.href.substr(o.href.length-1,1) == "#") o.onclick = function() { return false; } o.onmouseout = function() { if(!this.sub.ddDelayKey) this.sub.ddDelayKey = window.setTimeout(function() { o.sub.style.visibility='hidden'; o.sub.style.display = 'none'; } , 300); } o.sub.onmouseover = function() { if(o.sub.ddDelayKey!=null) { window.clearTimeout(o.sub.ddDelayKey); o.sub.ddDelayKey=null; } o.sub.style.visibility = 'visible'; o.sub.style.display = ''; o.sub.style.listStyle = 'none'; } o.sub.onmouseout = function() { if(!this.ddDelayKey) this.ddDelayKey = window.setTimeout(function() { o.sub.style.visibility='hidden'; o.sub.style.display = 'none'; } , 300); } } function error_handler_by_id(error_id, error_string) { switch(error_id) { case(ERR_LOGIN): // Case makes the popup call for the login Element popup.login(); break; case(ERR_INPUT): case(ERR_DELETED): case(ERR_DISABLED): case(ERR_FAILED): case(ERR_MISSING): case(ERR_LOGIN_INCORRECT): case(ERR_DENIED): alert(error_string); break; default: popup.report_bug(["AJAX error: "+error_string+"(#"+error_id+")"]); break; } return false; } var JSON_timeout = []; var JSON = function () { this.xmlhttp=false; this.async=true; /*@cc_on @*/ /*@if (@_jscript_version >= 5) try { this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");} catch (e) { try { this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { this.xmlhttp = false;}} @end @*/ if (!this.xmlhttp && typeof XMLHttpRequest!='undefined') {try {this.xmlhttp = new XMLHttpRequest();} catch (e) {this.xmlhttp=false;}} if (!this.xmlhttp && window.createRequest) {try {this.xmlhttp = window.createRequest();} catch (e) {this.xmlhttp=false;}} } JSON.prototype.request = function ($data_type,$params_z,callback,section_type,file) { if (!file) file="/libs/JSON/JSON_actions.php"; var string=""; params_length=$params_z.length; string = "type="+$data_type+"¶ms="+JSON_parser.encode($params_z); if( section_type ) string += "§ion_type="+section_type; var tempxmlhttp=this.xmlhttp; tempxmlhttp.open("POST",file, this.async); tempxmlhttp.setRequestHeader('Content-Type', "application/x-www-form-urlencoded"); //tempxmlhttp.setRequestHeader("Content-Length", string.length); tempxmlhttp.onreadystatechange=function() {if (tempxmlhttp.readyState==4) {if (tempxmlhttp.status!=404) {callback(JSON_parser.decode(tempxmlhttp.responseText));} else {alert("JSON Call Failed!");}}} if (this.async) { if (JSON_timeout[$data_type]) clearTimeout(JSON_timeout[$data_type]); var timeoutFunc = function() { tempxmlhttp.send(string); } JSON_timeout[$data_type]=setTimeout(timeoutFunc,200); } else { tempxmlhttp.send(string); callback(JSON_parser.decode(tempxmlhttp.responseText)); } } // This gets the top left positions of the clients scrolled window from the documents top left // Also uses lazy function definition pattern. It shows considerable speed improvements over not using it. var getScrollVal = function() { if (typeof(window.pageXOffset) == 'number') { //Netscape compliant getScrollVal = function() { //alert('type 1' + window.pageXOffset+" "+window.pageYOffset); return [window.pageXOffset,window.pageYOffset]; } }else if (document.documentElement && (typeof(document.documentElement.scrollLeft)=='number' || typeof(document.documentElement.scrollTop)=='number')) { //IE6 standards compliant mode getScrollVal = function() { //alert("Type stupid: " + document.documentElement.scrollLeft+" "+document.documentElement.scrollTop); return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; } }else if (document.body && (typeof(document.body.scrollLeft) == 'number' || typeof(document.body.scrollTop)=='number')) { //DOM compliant (IE isn't DOM compliant...Have to put the IE6 one first) getScrollVal = function() { return [document.body.scrollLeft,document.body.scrollTop]; } } return getScrollVal(); } /** * This will regester a function to execute after the page load is completed * * @param {function} func the function that will be executed */ function addLoadEvent(func) { var oldonload = window.onload; if (typeof window.onload != 'function') { window.onload = func; } else { window.onload = function() { if (oldonload) { oldonload(); } func(); } } } /** * Function to control tab change * and handling a function as a parameter and it's own parameters * * @param object Element which triggered the action ( this ) * @param string [optional] Function name, it must be already set in the page when this is triggered * @param mixed [optional] All parameters that should be passed to the function * */ function change_tabs() { if( arguments[1] && ( 'function' == typeof eval('window.' + arguments[1]) ) ) { myFunction = eval('window.' + arguments[1]); myArray = new Array(); for(var i=2; i< arguments.length; i++) myArray[i-2] = arguments[i]; myFunction( myArray ); } var li = new Object(); li = arguments[0]; // Tab Management Here if(li.parentNode.nodeName=="UL") { if( typeof(ul_li)!='object') { var ul = li.parentNode; var ul_li = ul.getElementsByTagName('LI'); for(i=0 ; i< ul_li.length ; i++) { ul_li[i].pos = i; if( ul_li[i].className.indexOf('onTab') !=-1) ul_li[i].parentNode.cur_tab = i; ul_li[i].onmouseout = function() { if( this.parentNode.cur_tab!= this.pos) this.className = "offTab"; } } } } if( li.className.indexOf('onTab') ==-1 ) li.className = "overTab"; if( li.on_click == undefined) { li.on_click = ( li.onclick != undefined ) ? li.onclick : function() {}; li.onclick = function() { activatetab( ul_li, this ); return this.on_click(); } } } function activatetab( ul_ar, liThis ) { if(liThis.id){ var lastTab = ul_ar[liThis.parentNode.cur_tab]; if(lastTab.id){ $("#"+lastTab.id+"_content").hide(); } $("#"+liThis.id+"_content").show(); } liThis.parentNode.cur_tab = liThis.pos; liThis.className = "onTab"; for(i=0 ; i< ul_ar.length ; i++) { if( liThis.parentNode.cur_tab!= ul_ar[i].pos) ul_ar[i].className = "offTab"; } } var videoBox_ar = new Array(); function videoBox_stopVideo($listing_id) { // Looping though all flash elements that need to be set as logged in var videoBox_length = videoBox_ar.length; for(f=0; f'; } /* Set the Opacity of a Element */ function setOpacity(element, value) { $("#"+element).fadeTo("fast", value/10); } /* Function: Clearing a Input Field NOTE: It only clears the field once. EXAMPLE: onFocus="clear_input(this,'click here')" */ function clear_input(field, originalText){ if (field.value == originalText) field.value = ""; return false; } // Parse the current URL and return it in a neat little package. function getCurrentURL() { var url_str = "" + window.location; var url_ar = {url:"",protocol:"",host:"",path:"",file:"", query:"", anchor:"", get:{}}; // RegEx to get all URL elements parsed // split the differents elements of the URL var parse_url_e=/^((http|ftp):\/)?\/?([^:\/\s]+)((\/\w+)*\/)([\w\-\.]+\.[^#?\s]+)?(\?(.[^#\s]+))?(#.+)?$/; if (url_str.match(parse_url_e)) { url_ar = {url:RegExp['$&'], protocol:RegExp.$2, host:RegExp.$3, path:RegExp.$4, file:RegExp.$6, query:RegExp.$8, anchor:RegExp.$9, get:{}}; var pairs = url_ar.query.split( /&/ ); for(var i = 0 ; i < pairs.length; i++) { var key_value = pairs[i].split( /=/ ); url_ar.get[ key_value[0] ] = key_value[1]; } } return url_ar; } // Return an object thats a flash movie function getFlashMovieObject(movieName) { if (window.document[movieName]) { return window.document[movieName]; } else if (navigator.appName.indexOf("Microsoft Internet")==-1) { if (document.embeds && document.embeds[movieName]) { return document.embeds[movieName]; } } else {// if (navigator.appName.indexOf("Microsoft Internet")!=-1) return $("#"+movieName)[0]; } } // Does a Javascript confirm and redirects you to the url if true. function confirmation(url, message) { if (confirm(message)){ window.location = url; } } // Does a Javascript confirm and submits a form if true. function delete_confirmation(form_name, item_name) { if (confirm('Are you sure you want to delete this ' + item_name + '?')) { if( deleted_form = $("#"+form_name) ) { deleted_form.submit(); } } } // Gives a string for the current login state. Used in flash things. function getLoginString() { if (loggedin == true){ return "true"; }else{ return "false"; } } // Counts and limits the # of characters in a textarea. function textCounter( field , cntfield , maxlimit ) { if (field.value.length > maxlimit) field.value = field.value.substring(0, maxlimit); else $("#"+cntfield).text(maxlimit - field.value.length); } // Read The Function Name :) It should be on the onmouseover of the div the embed is inside of function focusFlashMovie($element){ if($element.firstChild){ if(flashElements_ar[$element.id]){ flashElements_ar[$element.id] = false; flashElements_ar[$element.id+"_embed"] = $element.id+"_embed"; } $element.firstChild.id = $element.id+"_embed"; forceRerendering($element.id); if(typeof $element.focus == 'function') { $element.focus() } } } // The following array will have items added to them to indicate if: // There were written on page load (AKA. Inline in the html) - Will return true when called for // Or if the item in a pop up window (written by javascript) - Will return false when called for var inlinePopups = {}; /** * If the element this is called on is inside a popup, it'll return the ID of the popup its in. Otherwise it'll false. * This is an upgraded version so that it can be used on -any- element inside a popup, instead of only the form element. * @param element $element A element (hopefully) inside of a popup */ function getPopUpWrapperId($element){ // Yuck. if ($element.id && ( $element.id.substr(0,13) == 'square_popup_' || $element.id.substr(0,13) == 'circle_popup_' )) { return $element.id; } else if ($element.parentNode) { return getPopUpWrapperId($element.parentNode); } else { return false; } } /** God damnit. This needs to be included for compatibility with the flash box It uses the old stuff instead of the new stuff...ugh */ function popup_call($type, $additionalParams) { switch($type) { case('add_image'): popup.add_image($additionalParams); break; case('add_video'): popup.add_video($additionalParams); break; case('add_review'): popup.add_review($additionalParams); break; } } var popupIds = 0; var popupTopZIndex = 10000; function popup_display($popupType, $contentType, $h1_str, $additionalParams, customCallBack) { popup.display($popupType, $contentType, $h1_str, $additionalParams, customCallBack); } function callback_report_bug($data){ return true; } popup_close = function ($elementID) { if (typeof $elementID == 'undefined') { what = this; } else if (typeof $elementID == 'string') { if (console) console.log('Deprecated use of popup_close. Please revise.'); what = "#"+$elementID; } else { what = $elementID; } $(what).fadeOut("normal", function(){ $("#popupWrapper").fadeOut("normal", function() { $('#fadeOver').fadeOut("normal"); } ).remove() }); } /** * The Callback actions for popup_display * Checks for errors and closes the popup that was created for it if there are any * If there are no errors it sets the HTML, the display to 'block' and puts the popup on the top * * @param array $data [elementID, html] */ function callback_popupContentDisplay($data, close_fn){ if($data){ if($data.err_code){ // popup_close_all(); error_handler_by_id($data.err_code, $data.err_str); }else{ var popup = $("#"+$data.elementID); var popup_content = $('#popup_content_'+$data.elementID); var popup_element = $('#popup_element_'+$data.elementID); popup_content.html($data.html); var top = getScrollVal()[1] + 20; popup_element.css({visibility:"visible", opacity:0.1,"top":top}); popup_element.animate({opacity:1}, "normal"); if($('#username')[0]) $('#username').focus(); popup.css({zIndex:popupTopZIndex}); popupTopZIndex ++; var params = { wmode: "transparent", quality: "high" }; var flashvars = { title:$data.h1_str }; swfobject.embedSWF(conf.swfurl + "popup_h1_"+$data.popupType+".swf", 'popup_h1_flash_'+$data.elementID, "100%", "26", "8", '', flashvars, params); if (typeof close_fn != "undefined") { popup[0].close = function() { close_fn(); popup_close(this); } } else { popup[0].close = popup_close; } } } } /** * The Custom Popup Callback actions for add_video * Checks for errors and closes the popup that was created for it if there are any * If there are no errors uses callback_popupContentDisplay to populate the popup * It then writes the flash video player and the stars * * @param array $data [html, video_id, path] */ function callback_add_video($data){ if($data){ if($data.err_code){ popup_close_all(); error_handler_by_id($data.err_code, $data.err_str); }else{ callback_popupContentDisplay($data); var videoUploads = $('#videoUploads'); if(videoUploads){ var add_video_upload_status = false; var params = { wmode:"transparent", quality:"high" }; var flashvars = { user_id:$data.member_id, type:$data.type, id:$data.type_id, loggedin:getLoginString()}; swfobject.embedSWF(conf.swfurl + "video_uploader.swf", "videoUploads", "520", "180", "8", '', flashvars, params); } } } } /** * The Custom Popup Callback actions for image_enlarge * Checks for errors and closes the popup that was created for it if there are any * If there are no errors uses callback_popupContentDisplay to populate the popup * It then writes the stars * * @param array $data [html, image_id, path] */ function callback_image_enlarge($data){ if($data){ if($data.err_code){ popup_close_all(); error_handler_by_id($data.err_code, $data.err_str); }else{ if(!$('#image_enlarge')[0]){ $data.html = '
'+$data.html+'
'; callback_popupContentDisplay($data); $("#"+$data.elementID).css({visibility:"hidden"}); }else{ popup_close_all(); $('#image_enlarge').html($data.html); } var params = { wmode: "transparent", quality: "high" }; var flashvars = {rating:$data.rating, id:$data.image_id, rating_type:"image", loggedin:getLoginString()}; var divID = "image_enlarge_stars"; swfobject.embedSWF(conf.swfurl + "rating.swf", divID, "70", "15", "6", '', flashvars, params); flashElements_ar.push(divID); } } } /** * The Custom Popup Callback actions for video_enlarge * Checks for errors and closes the popup that was created for it if there are any * If there are no errors uses callback_popupContentDisplay to populate the popup * It then writes the flash video player and the stars * * @param array $data [html, video.video_id, video.path, video.rating] */ function callback_video_enlarge($data){ if($data){ if($data.err_code){ popup_close_all(); error_handler_by_id($data.err_code, $data.err_str); }else{ if(!$('#video_enlarge')[0]){ $data.html = '
'+$data.html+'
'; callback_popupContentDisplay($data); }else{ popup_close_all(); $('#video_enlarge').html($data.html); } callback_popupContentDisplay($data); var params = { wmode: "transparent", quality: "high" }; var flashvars = {video_path:$data.video.path, fullScreen:"false"}; var divID = "video_player_large"; swfobject.embedSWF(conf.swfurl + "mediaplayer.swf", divID, "320", "240", "9.0.47", '', flashvars, params); videoBox_ar.push(divID); stars.init('stars_video_'+$data.video.video_id, 'video', $data.video.video_id); } } } function callback_reviewBusinessDisplay($data){ if($data){ if($data.err_code){ popup_close_all(); error_handler_by_id($data.err_code, $data.err_str); }else{ callback_popupContentDisplay($data); var params = { wmode: "transparent", quality: "high" }; var flashvars = {}; flashvars.rating = $data.rating; flashvars.rating_type = "hidden_field"; flashvars.loggedin = "true"; swfobject.embedSWF(conf.swfurl + "rating.swf", "rating_element", "140", "30", "6", '', flashvars, params); var rating = document.createElement("input"); rating.id = "rating"; rating.name = "params[4]"; rating.type = "hidden"; if($data.rating){ rating.value = $data.rating; }else{ rating.value = 0; } rating.onMouseDown = function(){ clearDragObject(); } $('#rating_hidden_holder').append(rating); } } } function flashSetRating(value) { $('#rating').attr('value', value); } // Closes all open popup windows. function popup_close_all(e){ var use_event = null; if (typeof e != 'undefined') { use_event = e; } else if (typeof window.event != 'undefined') { use_event = window.event; } if (use_event) { if (typeof use_event.preventDefault != 'undefined') { use_event.preventDefault(); } } try { $('#popupWrapper').children().each(function(that){ if (typeof this.close == "function") { this.close(); } else { $(this).fadeOut(); } }); } catch (E){console.log(E);} $("#fadeOver").fadeOut('normal', function() { $("#popupWrapper").fadeOut('normal', function() { $("#popupWrapper").remove(); }) }); } // Used to populate the right column with tags function tags_populate_right_col(section,type,title,tags) { // tags_right_col => defined in the main page if( $('#rcol_tags_title') ){ // if(!tags_right_col) var tags_right_col = new Array(); // Cache the data to prevent another JSON call if(!tags_right_col[section]) tags_right_col[section] = new Array(); if(!tags_right_col[section][type]) tags_right_col[section][type] = new Array(); if(!tags_right_col[section][type]['title']) { tags_right_col[section][type]['title'] = title; tags_right_col[section][type]['data'] = tags; } if( title || tags_right_col[section][type]['title'] ) { if( tags_right_col[section][type] && typeof title=="undefined" ) { title = tags_right_col[section][type]['title']; tags = tags_right_col[section][type]['data']; } $('#rcol_tags_title').text(title); var tagList =''; for( i=0; i'+ tags[i].name +''+"\n"; } $('#rcol_tags_list').html(tagList); } } } // Used for adding a favourite function submit_add_favourites($element){ var params = new Array(); params[0] = $('#tags').attr('value'); params[1] = $('#public_private').attr('value'); params[2] = $('#fav_type').attr('value'); params[3] = $('#type_id').attr('value'); params[4] = $('#type').attr('value'); params[5] = $('#from_id').attr('value'); params[6] = getPopUpWrapperId($element); var json = new JSON; // alert(params); json.request('add_favourite',params,callback_submit_add_favourites,'','/libs/JSON/member_actions.php'); return false; } // The Callback from submit_report_bug() function callback_submit_add_favourites($data) { if ($data.err_code) { error_handler_by_id($data.err_code, $data.err_str) }else{ var url_ar = getCurrentURL(); if(url_ar['file'] != 'actions.php'){ // Close the login popup window popup_close_all(); }else{ var redirectLocation = '/members/'; if($('#referer')[0]){ redirectLocation = $('#referer').attr('value'); } window.document.location = redirectLocation; } } } // Deletes a listing from a member's favourites. function request_delete_favourites($type, $id, $element){ var answer = confirm('Are you sure you want to delete this favourite?'); if (answer){ enterPreLoader($element); $element.innerHTML += '

deleting favourite

'; var params = new Array(); params[0] = $id; params[1] = $type; params[2] = $element.id; var json = new JSON; json.request('delete_favourite',params,callback_delete_favourites,'','/libs/JSON/member_actions.php') ; } } // The callback from request_delete_favourites function callback_delete_favourites($data){ if($data.err_code) { error_handler_by_id($data.err_code); } else { var element = $("#"+$data.elementID).remove(); // Changing all the favourites count tags based on the favourites type var spans = document.getElementsByName('num_favouritess_'+$data.type); var length = spans.length; for(i = 0; i < length; i += 1){ spans[i].innerHTML = $data.count; } } } // Used for editing a favourite listing function submit_tags_edit($element){ var params = new Array(); params[0] = $('#tags').attr('value'); params[1] = $('#public_private').attr('value'); params[2] = $('#fav_type').attr('value'); params[3] = $('#id').attr('value'); params[4] = getPopUpWrapperId($element); var json = new JSON; // alert(params); json.request('submit_tags_edit',params,callback_submit_tags_edit,'','/libs/JSON/tags_actions.php'); return false; } // Used for editing a favourite listing function callback_submit_tags_edit($data){ if($data.err_code) { error_handler_by_id($data.err_code); } else { popup_close_all(); window.location.reload(); } } // Removes a item from the DOM function remove_element($element){ if($element) { $element.parentNode.removeChild($element); } } // Edits the adword iframes function changeAdSense(){ var googleAds = document.getElementsByName('google_ads_frame'); var googleLen = googleAds.length; for(var i=0;i([\w\W]*)\
/;if(result.match(reg_json)){popup.report_bug(["JSON Repsonse error: "+RegExp.$1]);}else{return new Function("return "+json)();}}; }(); function rating_stars(swfPath,ratingType,ratingID,rating,image_id,width,height) { if(width==undefined) width=70; if(height==undefined) height=15; var params = { wmode: "transparent", quality: "high" }; var flashvars = {}; flashvars.rating = rating; flashvars.id = image_id; flashvars.rating_type = ratingType; flashvars.loggedin = getLoginString(); swfobject.embedSWF(swfPath, ratingID, width, height, "6", '', flashvars, params); } /* SWFObject v2.2 is released under the MIT License */ var swfobject=function(){var D="undefined",r="object",S="Shockwave Flash",W="ShockwaveFlash.ShockwaveFlash",q="application/x-shockwave-flash",R="SWFObjectExprInst",x="onreadystatechange",O=window,j=document,t=navigator,T=false,U=[h],o=[],N=[],I=[],l,Q,E,B,J=false,a=false,n,G,m=true,M=function(){var aa=typeof j.getElementById!=D&&typeof j.getElementsByTagName!=D&&typeof j.createElement!=D,ah=t.userAgent.toLowerCase(),Y=t.platform.toLowerCase(),ae=Y?/win/.test(Y):/win/.test(ah),ac=Y?/mac/.test(Y):/mac/.test(ah),af=/webkit/.test(ah)?parseFloat(ah.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,X=!+"\v1",ag=[0,0,0],ab=null;if(typeof t.plugins!=D&&typeof t.plugins[S]==r){ab=t.plugins[S].description;if(ab&&!(typeof t.mimeTypes!=D&&t.mimeTypes[q]&&!t.mimeTypes[q].enabledPlugin)){T=true;X=false;ab=ab.replace(/^.*\s+(\S+\s+\S+$)/,"$1");ag[0]=parseInt(ab.replace(/^(.*)\..*$/,"$1"),10);ag[1]=parseInt(ab.replace(/^.*\.(.*)\s.*$/,"$1"),10);ag[2]=/[a-zA-Z]/.test(ab)?parseInt(ab.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}}else{if(typeof O.ActiveXObject!=D){try{var ad=new ActiveXObject(W);if(ad){ab=ad.GetVariable("$version");if(ab){X=true;ab=ab.split(" ")[1].split(",");ag=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}}catch(Z){}}}return{w3:aa,pv:ag,wk:af,ie:X,win:ae,mac:ac}}(),k=function(){if(!M.w3){return}if((typeof j.readyState!=D&&j.readyState=="complete")||(typeof j.readyState==D&&(j.getElementsByTagName("body")[0]||j.body))){f()}if(!J){if(typeof j.addEventListener!=D){j.addEventListener("DOMContentLoaded",f,false)}if(M.ie&&M.win){j.attachEvent(x,function(){if(j.readyState=="complete"){j.detachEvent(x,arguments.callee);f()}});if(O==top){(function(){if(J){return}try{j.documentElement.doScroll("left")}catch(X){setTimeout(arguments.callee,0);return}f()})()}}if(M.wk){(function(){if(J){return}if(!/loaded|complete/.test(j.readyState)){setTimeout(arguments.callee,0);return}f()})()}s(f)}}();function f(){if(J){return}try{var Z=j.getElementsByTagName("body")[0].appendChild(C("span"));Z.parentNode.removeChild(Z)}catch(aa){return}J=true;var X=U.length;for(var Y=0;Y0){for(var af=0;af0){var ae=c(Y);if(ae){if(F(o[af].swfVersion)&&!(M.wk&&M.wk<312)){w(Y,true);if(ab){aa.success=true;aa.ref=z(Y);ab(aa)}}else{if(o[af].expressInstall&&A()){var ai={};ai.data=o[af].expressInstall;ai.width=ae.getAttribute("width")||"0";ai.height=ae.getAttribute("height")||"0";if(ae.getAttribute("class")){ai.styleclass=ae.getAttribute("class")}if(ae.getAttribute("align")){ai.align=ae.getAttribute("align")}var ah={};var X=ae.getElementsByTagName("param");var ac=X.length;for(var ad=0;ad'}}aa.outerHTML='"+af+"";N[N.length]=ai.id;X=c(ai.id)}else{var Z=C(r);Z.setAttribute("type",q);for(var ac in ai){if(ai[ac]!=Object.prototype[ac]){if(ac.toLowerCase()=="styleclass"){Z.setAttribute("class",ai[ac])}else{if(ac.toLowerCase()!="classid"){Z.setAttribute(ac,ai[ac])}}}}for(var ab in ag){if(ag[ab]!=Object.prototype[ab]&&ab.toLowerCase()!="movie"){e(Z,ab,ag[ab])}}aa.parentNode.replaceChild(Z,aa);X=Z}}return X}function e(Z,X,Y){var aa=C("param");aa.setAttribute("name",X);aa.setAttribute("value",Y);Z.appendChild(aa)}function y(Y){var X=c(Y);if(X&&X.nodeName=="OBJECT"){if(M.ie&&M.win){X.style.display="none";(function(){if(X.readyState==4){b(Y)}else{setTimeout(arguments.callee,10)}})()}else{X.parentNode.removeChild(X)}}}function b(Z){var Y=c(Z);if(Y){for(var X in Y){if(typeof Y[X]=="function"){Y[X]=null}}Y.parentNode.removeChild(Y)}}function c(Z){var X=null;try{X=j.getElementById(Z)}catch(Y){}return X}function C(X){return j.createElement(X)}function i(Z,X,Y){Z.attachEvent(X,Y);I[I.length]=[Z,X,Y]}function F(Z){var Y=M.pv,X=Z.split(".");X[0]=parseInt(X[0],10);X[1]=parseInt(X[1],10)||0;X[2]=parseInt(X[2],10)||0;return(Y[0]>X[0]||(Y[0]==X[0]&&Y[1]>X[1])||(Y[0]==X[0]&&Y[1]==X[1]&&Y[2]>=X[2]))?true:false}function v(ac,Y,ad,ab){if(M.ie&&M.mac){return}var aa=j.getElementsByTagName("head")[0];if(!aa){return}var X=(ad&&typeof ad=="string")?ad:"screen";if(ab){n=null;G=null}if(!n||G!=X){var Z=C("style");Z.setAttribute("type","text/css");Z.setAttribute("media",X);n=aa.appendChild(Z);if(M.ie&&M.win&&typeof j.styleSheets!=D&&j.styleSheets.length>0){n=j.styleSheets[j.styleSheets.length-1]}G=X}if(M.ie&&M.win){if(n&&typeof n.addRule==r){n.addRule(ac,Y)}}else{if(n&&typeof j.createTextNode!=D){n.appendChild(j.createTextNode(ac+" {"+Y+"}"))}}}function w(Z,X){if(!m){return}var Y=X?"visible":"hidden";if(J&&c(Z)){c(Z).style.visibility=Y}else{v("#"+Z,"visibility:"+Y)}}function L(Y){var Z=/[\\\"<>\.;]/;var X=Z.exec(Y)!=null;return X&&typeof encodeURIComponent!=D?encodeURIComponent(Y):Y}var d=function(){if(M.ie&&M.win){window.attachEvent("onunload",function(){var ac=I.length;for(var ab=0;abShare on Facebook function fbs_click() {u=location.href;t=document.title;window.open('http://www.facebook.com/sharer.php?u='+encodeURIComponent(u)+'&t='+encodeURIComponent(t),'sharer','toolbar=0,status=0,width=626,height=436');return false;} /** *Used for openine a new login window, and then calling a callback function when done */ function loginDialog($use){ var loginWindow = window.open('http://www.yahoo.com','','scrollbars=no,menubar=no,height=600,width=800,resizable=yes,toolbar=no,location=no,status=no'); setTimeout ( "checkLoginDialog(" + loginWindow + ")", 2000 ); } function checkLoginDialog(loginWindow){ if (loginWindow.closed) { alert('you have closed the window') } else { setTimeout ( "checkLoginDialog(" + loginWindow + ")", 2000 ); } } /** * Used for submiting a login attempt to PHP with AJAX. * @params {object} $element The form thats being submited */ function loginPopup($element) { if( $('#popupLoginError') ) { $('#popupLoginError').hide(); } var params = new Array(); params[0] = $element.elements[0].value; // username params[1] = $element.elements[1].value; // password params[2] = 'popupLoginError'; params[3] = getPopUpWrapperId($element); var json = new JSON; json.request('login',params,login_callback,'','/libs/JSON/member_actions.php'); return false; } // duplicate of the above function. For some reason the left widget can't use the above, going to fix it. function loging($element){ if( $('#menuLoginError') ) { $('#menuLoginError').hide(); } var params = new Array(); params[0] = $element.elements[0].value; // username params[1] = $element.elements[1].value; // password params[2] = 'menuLoginError'; var json = new JSON; json.request('login',params,login_callback,'','/libs/JSON/member_actions.php'); return false; } // resend confirmation in case the user didn't get the e-mail to valid the account function resendConfirmation(from){ if( from && (from=='popup' || from=='menu') ) { $element = $("#"+from+'LoginForm'); // access the data of the right form var params = new Array(); params[0] = $element.children()[0].value; // username params[1] = $element.cildren()[1].value; // password params[2] = from + 'LoginError'; var json = new JSON; json.request('resendConfirmationMail',params,login_callback,'','/libs/JSON/member_actions.php'); return false; } } /* * Opens a new window, and checks to see if that window is still open every 500 milliseconds * And then calls a callbackfunction when the window is closed. */ function showDialog($url, $callbackfunc, $title, $windowoptions){ var loginWindow = window.open($url,$title,$windowoptions); setTimeout(function () { checkAShownDialog(loginWindow,$callbackfunc); }, 500) } function checkAShownDialog(loginWindow,$callbackfunc){ if (loginWindow.closed) $callbackfunc(); else setTimeout(function () { checkAShownDialog(loginWindow,$callbackfunc); }, 500) } function login_callback($data) { if ($data.err_str) { if( $("#"+$data.errorSlot) ) { $("#"+$data.errorSlot).html($data.err_str); $("#"+$data.errorSlot).css({display:"block"});} } else {window.location.reload();} return false; } // Handles the return from a call to update the members details on stage function callback_memberDetails(data){ if (data.err_code) { error_handler_by_id(data.err_code, data.err_str) }else{ $('#menu_username').html(""+data.username+""); $('#menu_signUp_logOut').html("LOG OUT"); } return false; } function sendsms($company_id,element) { if ($company_id) { params=[ $company_id, $('#destphone').attr('value') ]; if ($('#destmesg')[0]) { params[2] = $('#destmesg').attr('value'); } params[3] = getPopUpWrapperId(element.parentNode.parentNode); if ($('#captcha_hash')[0]) { params[4] = $('#captcha_hash').attr('value'); } if ($('#captcha_input')[0]) { params[5] = $('#captcha_input').attr('value'); } json=new JSON; json.request('send_sms', params, callback_sendsms, '', '/libs/JSON/misc_actions.php'); } return false; } function callback_sendsms (data) { if (data.err_code) { error_handler_by_id(data.err_code, data.err_str) } else { //alert(data['message']); popup_close_all(); } return false; } // Stolen from: http://www.somacon.com/p355.php // I like trim. Trim is nice. String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g,""); } String.prototype.ltrim = function() { return this.replace(/^\s+/,""); } String.prototype.rtrim = function() { return this.replace(/\s+$/,""); } if (typeof $ != 'undefined') { $(document).ready(function() { window.setTimeout(function() { $('.status_box').fadeTo(1000, 0, function() { $('.status_box').slideUp(100); }); }, 5000); }); } // Let's define my error codes... ERR_INPUT=1; ERR_LOGIN=2;ERR_DELETED=3;ERR_DISABLED=4;ERR_FAILED=5;ERR_MISSING=6;ERR_LOGIN_INCORRECT=7;ERR_DENIED=8; var stars={ init:function($div_id, $type, $type_id, $style) { if (typeof $style == 'undefined') $style='small'; if (typeof $style == 'object' || typeof $style == 'function') { $step = $style; } else if (typeof $style == 'string') { if ($style == 'big') { var $step = {x:15, y:30}; } else if ($style == 'medium') { var $step = {x:10, y:20}; } else { var $step = {x:7, y:14}; } } else { return; // You obviously passed in something crazy. } $('#'+$div_id). data("type", $type). data("type_id", $type_id). data("step", $step). click(stars.rate). mousemove(stars.hover). mouseleave(stars.reset). css('cursor', 'pointer'); }, hover:function(e) { var div = $(e.currentTarget); var my_position = div.offset(); var $x = e.clientX - my_position.left; var $w = div.width(); var $step = div.data("step"); var pct_full = ($x/$w)*100; var real_rating = pct_full/10; var rounded_rating = (Math.ceil(pct_full/5)*5)/10; // Round to the nearest .5 //console.log(pct_full, $x, $w, rounded_rating, real_rating); $y = $x / ($step.x / $step.y); // This produces a neat rolling effect // Let's lock it into the steps $y = Math.ceil($y/$step.y)*$step.y; div.children(".star_rating").css("top", -$y); return rounded_rating; }, reset:function(e) { $(this).children(".star_rating").attr('style', ''); }, rate:function(e) { $rating = stars.hover(e); $type = $(this).data("type"); $type_id = $(this).data("type_id"); $div_id = $(this).attr('id'); $(this).unbind('click').unbind('mousemove').unbind('mouseleave').css('cursor', 'auto'); var params = { "type":$type, "type_id":$type_id, "rating":$rating, "div_id":$div_id } console.log(params); var json = new JSON; json.request($type, params, stars.rate_callback, '', '/libs/JSON/rating_actions.php'); }, rate_callback:function($data) { if ($data.err_code) { return error_handler_by_id($data.err_code, $data.err_str); } var rating_string = $data.new_rating.toString().replace(".", "_"); $("#"+$data.div_id).children(".star_rating").removeClass('rate_0 rate_0_5 rate_1 rate_1_5 rate_2 rate_2_5 rate_3 rate_3_5 rate_4 rate_4_5 rate_5').addClass('rate_'+rating_string); stars.reset($data.div_id); } } /** * The video Image Box code */ function videoImageBoxInit(listingid){ var videoImageDivClass = "#videoImageBox" + listingid; var urlstr = '/libs/JSON/JSON_actions.php?JSON_string=false&type=listing_media¶ms=[' + listingid + ']&callback=?'; var arrayBusinessVideos = []; var arrayUserVideos = []; var arrayBusinessImages = []; var arrayUserImages = []; var arrayStoreFrontImages = []; var arrayScreenGrabs = []; $.getJSON(urlstr , function(data) { if (data.num_images != undefined) { if (data.num_images > 0) { $.each(data.images, function(key, value) { if (value.bStoreFrontImageID != undefined) { if (value.bStoreFrontImageID > 0) { if (value.deleted != 1 || value.deleted == undefined) { arrayStoreFrontImages.push(value); } } } else { if (value.business_image != undefined) { if (value.business_image == true) { if (value.deleted != 1 || value.deleted == undefined) { arrayBusinessImages.push(value); } } else { if (value.link != undefined && value.caption != undefined && value.caption != '' && value.caption.indexOf("Screengrab") > 0) { if (value.deleted != 1 || value.deleted == undefined) { arrayScreenGrabs.push(value); } } else { if (value.deleted != 1 || value.deleted == undefined) { arrayUserImages.push(value); } } } } else { if (value.link != undefined && value.caption != undefined && value.caption != '' && value.caption.indexOf("Screengrab") > 0) { if (value.deleted != 1 || value.deleted == undefined) { arrayScreenGrabs.push(value); } } else { if (value.deleted != 1 || value.deleted == undefined) { arrayUserImages.push(value); } } } } }); } } if (data.num_videos != undefined) { if (data.num_videos > 0) { $.each(data.videos, function(key, value) { if (value.business_video != undefined) { if (value.business_video == true) { if (value.deleted != 1 || value.deleted == undefined) { arrayBusinessVideos.push(value); } } else { if (value.deleted != 1 || value.deleted == undefined) { arrayUserVideos.push(value); } } } else { if (value.deleted != 1 || value.deleted == undefined) { arrayUserVideos.push(value); } } }); } } outputHTMLCode = videoImageBoxPrepareStoreFront(arrayStoreFrontImages) + videoImageBoxPrepareVideo(arrayBusinessVideos) + videoImageBoxPrepareVideo(arrayUserVideos) + videoImageBoxPrepareImage(arrayBusinessImages) + videoImageBoxPrepareImage(arrayUserImages) + videoImageBoxPrepareImageGrabber(arrayScreenGrabs); if (outputHTMLCode != ''){ $(videoImageDivClass).html(outputHTMLCode); $(videoImageDivClass).find('div:first').toggle(); $(videoImageDivClass).find('div:first').toggleClass('videoImageBoxImageCurrentlySelected'); $('#videoImageBoxControlsCounter' + listingid).html("1/" + $(videoImageDivClass).children('div').length); } else { outputHTMLCode = "

NO CONTENT YET


"; outputHTMLCode = outputHTMLCode + ""; outputHTMLCode = outputHTMLCode + ""; outputHTMLCode = outputHTMLCode + "
upload imagesupload videoswrite a review
"; $(videoImageDivClass).html(unescape(outputHTMLCode)); } $('#videoImageBoxControlsNext' + listingid).bind('click', function() { if ( $(videoImageDivClass).find('div:last').hasClass('videoImageBoxImageCurrentlySelected') == false ){ $(videoImageDivClass).find('.videoImageBoxImageCurrentlySelected').toggleClass('videoImageBoxImageCurrentlySelected').toggle().next('div').fadeIn().toggleClass('videoImageBoxImageCurrentlySelected'); $('#videoImageBoxControlsCounter' + listingid).html(($(videoImageDivClass).find('.videoImageBoxImageCurrentlySelected').index() + 1) + "/" + $(videoImageDivClass).children('div').length); } }); $('#videoImageBoxControlsPrevious' + listingid).bind('click', function() { if ( $(videoImageDivClass).find('div:first').hasClass('videoImageBoxImageCurrentlySelected') == false ){ $(videoImageDivClass).find('.videoImageBoxImageCurrentlySelected').toggleClass('videoImageBoxImageCurrentlySelected').toggle().prev('div').fadeIn().toggleClass('videoImageBoxImageCurrentlySelected'); //$('videoImageBoxControlsCounter' + listingid).html( ($(videoImageDivClass).find('.videoImageBoxImageCurrentlySelected').index() + 1) + "/" + $(videoImageDivClass).children('div').length); $('#videoImageBoxControlsCounter' + listingid).html(($(videoImageDivClass).find('.videoImageBoxImageCurrentlySelected').index() + 1) + "/" + $(videoImageDivClass).children('div').length); } }); }); function videoImageBoxPrepareImage(imageObject){ var output = ''; $.each(imageObject, function(key, value) { imageoutput = ''; if (value.thumb_path != undefined){ imageoutput = ""; } output = output + imageoutput; }); return output; } function videoImageBoxPrepareStoreFront(imageObject){ var output = ''; $.each(imageObject, function(key, value) { imageoutput = ''; if (value.path != undefined){ imageoutput = ""; } output = output + imageoutput; }); return output; } function videoImageBoxPrepareImageGrabber(imageObject){ var output = ''; $.each(imageObject, function(key, value) { imageoutput = ''; if (value.thumb_path != undefined){ imageoutput = ""; } output = output + imageoutput; }); return output; } function videoImageBoxPrepareVideo(videoObject){ var playbuttonurl = conf.imagesurl + "videoimagebox/videoImageBoxPlayButton.png" var output = ''; $.each(videoObject, function(key, value) { videooutput = ''; if (value.thumb_path != undefined){ videooutput = ""; } output = output + videooutput; }); return output; } } /** * The video Image Box code */ function videoImageBoxInitOneItem(listingid){ var videoImageDivClass = "#videoImageBox" + listingid; var urlstr = '/libs/JSON/JSON_actions.php?JSON_string=false&type=listing_media_one_item¶ms=[' + listingid + ']&callback=?'; var arrayBusinessVideos = []; var arrayUserVideos = []; var arrayBusinessImages = []; var arrayUserImages = []; var arrayStoreFrontImages = []; var arrayScreenGrabs = []; var listingLink = ''; $.getJSON(urlstr , function(data) { if (data.num_images != undefined) { if (data.num_images > 0) { $.each(data.images, function(key, value) { if (value.bStoreFrontImageID != undefined) { if (value.bStoreFrontImageID > 0) { if (value.deleted != 1 || value.deleted == undefined) { arrayStoreFrontImages.push(value); } } } else { if (value.business_image != undefined) { if (value.business_image == true) { if (value.deleted != 1 || value.deleted == undefined) { arrayBusinessImages.push(value); } } else { if (value.link != undefined && value.caption != undefined && value.caption != '' && value.caption.indexOf("Screengrab") > 0) { if (value.deleted != 1 || value.deleted == undefined) { arrayScreenGrabs.push(value); } } else { if (value.deleted != 1 || value.deleted == undefined) { arrayUserImages.push(value); } } } } else { if (value.link != undefined && value.caption != undefined && value.caption != '' && value.caption.indexOf("Screengrab") > 0) { if (value.deleted != 1 || value.deleted == undefined) { arrayScreenGrabs.push(value); } } else { if (value.deleted != 1 || value.deleted == undefined) { arrayUserImages.push(value); } } } } }); } } if (data.num_videos != undefined) { if (data.num_videos > 0) { $.each(data.videos, function(key, value) { if (value.business_video != undefined) { if (value.business_video == true) { if (value.deleted != 1 || value.deleted == undefined) { arrayBusinessVideos.push(value); } } else { if (value.deleted != 1 || value.deleted == undefined) { arrayUserVideos.push(value); } } } else { if (value.deleted != 1 || value.deleted == undefined) { arrayUserVideos.push(value); } } }); } } if(arrayStoreFrontImages.length>0) { outputHTMLCode = videoImageBoxPrepareStoreFront(arrayStoreFrontImages); } else if(arrayBusinessVideos.length>0) { outputHTMLCode = videoImageBoxPrepareVideo(arrayBusinessVideos); } else if(arrayUserVideos.length>0) { outputHTMLCode = videoImageBoxPrepareVideo(arrayUserVideos); } else if(arrayBusinessImages.length>0) { outputHTMLCode = videoImageBoxPrepareImage(arrayBusinessImages); } else if(arrayUserImages.length>0) { outputHTMLCode = videoImageBoxPrepareImage(arrayUserImages); } else if(arrayScreenGrabs.length>0) { outputHTMLCode = videoImageBoxPrepareImageGrabber(arrayScreenGrabs); } // outputHTMLCode = videoImageBoxPrepareStoreFront(arrayStoreFrontImages) + videoImageBoxPrepareVideo(arrayBusinessVideos) + videoImageBoxPrepareVideo(arrayUserVideos) + videoImageBoxPrepareImage(arrayBusinessImages) + videoImageBoxPrepareImage(arrayUserImages) + videoImageBoxPrepareImageGrabber(arrayScreenGrabs); if (outputHTMLCode != ''){ $(videoImageDivClass).html(outputHTMLCode); //$(videoImageDivClass).find('div:first').toggle(); //$(videoImageDivClass).find('div:first').toggleClass('videoImageBoxImageCurrentlySelected'); //$('#videoImageBoxControlsCounter' + listingid).html("1/" + $(videoImageDivClass).children('div').length); } else { outputHTMLCode = "

NO CONTENT YET


"; outputHTMLCode = outputHTMLCode + ""; outputHTMLCode = outputHTMLCode + ""; outputHTMLCode = outputHTMLCode + "
upload imagesupload videoswrite a review
"; $(videoImageDivClass).html(unescape(outputHTMLCode)); } // $('#videoImageBoxControlsNext' + listingid).bind('click', function() { // // if ( $(videoImageDivClass).find('div:last').hasClass('videoImageBoxImageCurrentlySelected') == false ){ // $(videoImageDivClass).find('.videoImageBoxImageCurrentlySelected').toggleClass('videoImageBoxImageCurrentlySelected').toggle().next('div').fadeIn().toggleClass('videoImageBoxImageCurrentlySelected'); // $('#videoImageBoxControlsCounter' + listingid).html(($(videoImageDivClass).find('.videoImageBoxImageCurrentlySelected').index() + 1) + "/" + $(videoImageDivClass).children('div').length); // } // }); // // $('#videoImageBoxControlsPrevious' + listingid).bind('click', function() { // if ( $(videoImageDivClass).find('div:first').hasClass('videoImageBoxImageCurrentlySelected') == false ){ // $(videoImageDivClass).find('.videoImageBoxImageCurrentlySelected').toggleClass('videoImageBoxImageCurrentlySelected').toggle().prev('div').fadeIn().toggleClass('videoImageBoxImageCurrentlySelected'); // // //$('videoImageBoxControlsCounter' + listingid).html( ($(videoImageDivClass).find('.videoImageBoxImageCurrentlySelected').index() + 1) + "/" + $(videoImageDivClass).children('div').length); // $('#videoImageBoxControlsCounter' + listingid).html(($(videoImageDivClass).find('.videoImageBoxImageCurrentlySelected').index() + 1) + "/" + $(videoImageDivClass).children('div').length); // } // }); }); function videoImageBoxPrepareImage(imageObject){ var output = ''; var value=imageObject[0]; if (value.thumb_path != undefined){ output = "
"+ value.caption +"
"; } return output; } function videoImageBoxPrepareStoreFront(imageObject){ var output = ''; var value=imageObject[0]; if (value.path != undefined){ output = "
"; } return output; } function videoImageBoxPrepareImageGrabber(imageObject){ var output = ''; var value=imageObject[0]; if (value.thumb_path != undefined){ output = "
"+ value.caption +"
"; } return output; } function videoImageBoxPrepareVideo(videoObject){ var playbuttonurl = "/images/videoimagebox/videoImageBoxPlayButton.png" var output = ''; var value=videoObject[0]; if (value.thumb_path != undefined){ output = "
Video Thumbnail: "+ value.caption +"
"; } return output; } }