<krpano version="1.20.9">





//HAMID FETCH SHOP HS DATA

<action name="get_data_from_api" type="Javascript" protect2="true" ><![CDATA[
var getUrlParameter = function getUrlParameter(sParam) {
  var sPageURL = window.location.search.substring(1), sURLVariables = sPageURL.split("&"), sParameterName, i;
  for (i = 0; i < sURLVariables.length; i++) {sParameterName = sURLVariables[i].split("=");if (sParameterName[0] === sParam) {return sParameterName[1] === undefined ? true : decodeURIComponent(sParameterName[1]);}}
};


	if(getUrlParameter("startscene")==undefined || getUrlParameter("startscene")==""){
		$(".fuzzysearch_plugin").click(function(){
			first_interaction();
		});
		$("body").click(function(){
			first_interaction();
		});				
	}

	$(".fuzzysearch_plugin .chosen-container").mouseenter(function() {
		krpano.set("layer[fuzzysearch_placeholder].onhover","");
	}).mouseleave(function() {
		krpano.set("layer[fuzzysearch_placeholder].onhover","showtext(Search for a shop,DEFAULT_search)");
	});

	window.tempArray = [];
	window.searchData = [];
	window.added_item = [];
	window.shopsInScene = [];
	window.shopInService = [];
	window.shopInXml = [];
	window.mal_data = [];
	window.search_date = [];
	window.search_date2 = [];
	window.search_date3 = [];
	window.search_date4 = [];
	
	window.staging_server = false;
	if(location.hostname.endsWith('vicinity.atomic3d.com.au') || location.hostname.endsWith('127.0.0.1') || location.hostname.endsWith('localhost'))
		window.staging_server = true;

	var url = "https://api.vicinity.com.au/oauth/accesstoken?grant_type=client_credentials";
	if(staging_server)
		var url = "https://www.vicinity.atomic3d.com.au/api.php";
	
	var xhr = new XMLHttpRequest();
	if(staging_server)
		xhr.open("POST", url, true);
	else
		xhr.open("GET", url, true);
	xhr.setRequestHeader('Authorization', 'Basic WjgxdHBIcTlXS3dPQU1zWHZyVVRsQ0F5YU05YU9zamY6MlMybkFqRTg4RXZUY25uUw==');
	xhr.setRequestHeader('Accept', '*/*');

	var formData = new FormData()
	
	if(staging_server)
		formData.append('url', "https://api.vicinity.com.au/oauth/accesstoken?grant_type=client_credentials");
	
	xhr.send(formData);
	xhr.onreadystatechange = function () {
		if (this.readyState == 4 && this.status == 200) {
			var response = JSON.parse(this.response);
			window.token = response.access_token;
//alert(window.token);
			getData(token);
		}
	};
	
function getData(token) {
	if(krpano.get("mall_name")!=null)
		var url = 'https://api.vicinity.com.au/v3/leasing-digital-info?filter=centre_name=="' + krpano.get("mall_name") + '"';
	else
		var url = 'https://api.vicinity.com.au/v3/leasing-digital-info?filter=centre_key==' + krpano.get("centre_key");
    if(staging_server)
		var url = "https://www.vicinity.atomic3d.com.au/api.php";

    var xhr = new XMLHttpRequest();
	if(staging_server)
		xhr.open("POST", url, true);
	else
		xhr.open("GET", url, true);
    xhr.setRequestHeader('Authorization', "Bearer " + token);
    var formData = new FormData();
	if(staging_server){
		if(krpano.get("mall_name")!=null)
			formData.append('url', 'https://api.vicinity.com.au/v3/leasing-digital-info?filter=centre_name=="' + krpano.get("mall_name") + '"');
		else
			formData.append('url', 'https://api.vicinity.com.au/v3/leasing-digital-info?filter=centre_key==' + krpano.get("centre_key") + '');
		formData.append('method', "GET");
	}
    xhr.send(formData);
    xhr.onreadystatechange = function () {
        if (this.readyState == 4 && this.status == 200) {
            var response = JSON.parse(this.response);
            var data = response.data;
            var arraySize = data.length;
            //set data for search
            for(var i = 0; i < arraySize; i++){
                window.mal_data[data[i].unit_key] = data[i];
				window.search_date.push(data[i]);
				window.center_name = data[i].centre_name;
            }
            
            krpano.call("set_hotspot_data()");
			/*
			// https://data.page/json/csv
			var ExcelArray = [];
			var arraySize = search_date.length;
			for(var i = 0; i < arraySize; i++){
				ExcelArray.push([search_date[i].unit_key,search_date[i].unit_code,search_date[i].leasing_tenant,search_date[i].category,search_date[i].floor]);
			}
			console.log("ExcelArray",ExcelArray);
			console.log(JSON.stringify(ExcelArray));
			*/


            /*set fuzzy search*/
            var scenes = krpano.get('scene').getArray();
            var scenesArraySize = scenes.length;
            for (var i = 0; i < scenesArraySize; i++) {
				//console.log('scenes[i]', scenes[i]);
                if (!scenes[i].shops) {
					continue;
                }
                try {
                    var shops = scenes[i].shops;
                    var shopsArray = shops.split(',');
                    for (var index in shopsArray) {
                        window.shopsInScene.push(parseInt(shopsArray[index]));
                    }
                } catch (e) {

                }
            }
			
            // var shopInService = [];
            for (var i = 0; i < arraySize; i++) {
                if (shopsInScene.includes(data[i].unit_key) && !(data[i].unit_key in added_item)) {
                    added_item[data[i].unit_key] = true;
                    if(window.search_on_shopid == true)
						krpano.call('plugin[fuzzysearch].addItem("' + data[i].unit_code       + '","jscall(find_shop(' + i + ',\'data\');send_analytics(\'search\',\'' + (data[i].leasing_tenant==""?data[i].unit_code:data[i].leasing_tenant.replace(/'/g, "````")) + '\',\'\');)")');
					krpano.call('plugin[fuzzysearch].addItem("' + data[i].leasing_tenant  + '","jscall(find_shop(' + i + ',\'data\');send_analytics(\'search\',\'' + (data[i].leasing_tenant==""?data[i].unit_code:data[i].leasing_tenant.replace(/'/g, "````")) + '\',\'\');)")');
                }else{
					shopInService.push(data[i].unit_key);
				}
            }
			// sort the list order/////////////////////////////////
			var options = $('select.chosen-select option');
			var arr = options.map(function(_, o) { return { t: $(o).text(), v: o.value, d: $(o).attr("data-click") }; }).get();
			// arr.sort(function(o1, o2) { return o1.t > o2.t ? 1 : o1.t < o2.t ? -1 : 0; });
			// arr.sort((o1, o2) => isFinite(o1.t[0]) - isFinite(o2.t[0]) || o1.t.localeCompare(o2.t, undefined, { numeric: true, sensitivity: 'base' }));
			arr.sort((o1, o2) => isFinite(o1.t[0]) - isFinite(o2.t[0]) || o1.t.replace(/_/, 'z').localeCompare(o2.t.replace(/_/, 'z'), undefined, { numeric: true, sensitivity: 'base' }));
			options.each(function(i, o) {
			  o.value = arr[i].v;
			  $(o).attr("data-click",arr[i].d);
			  $(o).text(arr[i].t);
			});
			$(".chosen-select").trigger('chosen:updated');
			/**/


			var keyArray = Object.keys(tempArray);
			for(var index in shopsInScene){
				if(!keyArray.includes(shopsInScene[index].toString())){
					shopInXml.push(shopsInScene[index]);
				}
			}
			if(window.staging_server==false){
				console.log('shop in api', JSON.stringify(shopInService));
				console.log('shop in xml', JSON.stringify(shopInXml));
			}
        }
    };
    
    
    
	
	
	if(krpano.get("mall_name")!=null)
		var url = 'https://api.vicinity.com.au/v3/leasing-digital-info?page=2&filter=centre_name=="' + krpano.get("mall_name") + '"';
	else
		var url = 'https://api.vicinity.com.au/v3/leasing-digital-info?page=2&filter=centre_key==' + krpano.get("centre_key");
    if(staging_server)
		var url = "https://www.vicinity.atomic3d.com.au/api.php";

	
	
    var xhr2 = new XMLHttpRequest();
	if(staging_server)
		xhr2.open("POST", url, true);
	else
		xhr2.open("GET", url, true);
    xhr2.setRequestHeader('Authorization', "Bearer " + token);

	var formData2 = new FormData();
	if(staging_server){
		if(krpano.get("mall_name")!=null)
			formData2.append('url', 'https://api.vicinity.com.au/v3/leasing-digital-info?page=2&filter=centre_name=="' + krpano.get("mall_name") + '"');
		else
			formData2.append('url', 'https://api.vicinity.com.au/v3/leasing-digital-info?page=2&filter=centre_key==' + krpano.get("centre_key") + '');
		formData2.append('method', "GET");
	}
    xhr2.send(formData2);
    xhr2.onreadystatechange = function () {
        if (this.readyState == 4 && this.status == 200) {
            var response = JSON.parse(this.response);
            window.data2 = response.data;
            var arraySize = data2.length;
            //set data2 for search
            for(var i = 0; i < arraySize; i++){
                window.mal_data[data2[i].unit_key] = data2[i];
                 window.search_date2.push(data2[i]);
            }
            
            krpano.call("set_hotspot_data()");

            /*set fuzzy search*/
            var scenes = krpano.get('scene').getArray();
            var scenesArraySize = scenes.length;
            for (var i = 0; i < scenesArraySize; i++) {
				//console.log('scenes[i]', scenes[i]);
                if (!scenes[i].shops) {
                    continue;
                }
                try {
                    var shops = scenes[i].shops;
                    var shopsArray = shops.split(',');
                    for (var index in shopsArray) {
                        window.shopsInScene.push(parseInt(shopsArray[index]));
                    }
                } catch (e) {

                }
            }
			
            // var shopInService = [];
            for (var i = 0; i < arraySize; i++) {
                if (window.shopsInScene.includes(data2[i].unit_key) && !(data2[i].unit_key in added_item)) {
                    added_item[data2[i].unit_key] = true;
					// console.log(data2[i].leasing_tenant);
					if(window.search_on_shopid == true)
						krpano.call('plugin[fuzzysearch].addItem("' + data2[i].unit_code       + '","jscall(find_shop(' + i + ',\'data2\');send_analytics(\'search\',\'' + (data2[i].leasing_tenant==""?data2[i].unit_code:data2[i].leasing_tenant.replace(/'/g, "````")) + '\',\'\');)")');
					krpano.call('plugin[fuzzysearch].addItem("' + data2[i].leasing_tenant  + '","jscall(find_shop(' + i + ',\'data2\');send_analytics(\'search\',\'' + (data2[i].leasing_tenant==""?data2[i].unit_code:data2[i].leasing_tenant.replace(/'/g, "````")) + '\',\'\');)")');
                }else{
					shopInService.push(data2[i].unit_key);
				}
            }
			// sort the list order/////////////////////////////////
			var options = $('select.chosen-select option');
			var arr = options.map(function(_, o) { return { t: $(o).text(), v: o.value, d: $(o).attr("data-click") }; }).get();
			// arr.sort(function(o1, o2) { return o1.t > o2.t ? 1 : o1.t < o2.t ? -1 : 0; });
			// arr.sort((o1, o2) => isFinite(o1.t[0]) - isFinite(o2.t[0]) || o1.t.localeCompare(o2.t, undefined, { numeric: true, sensitivity: 'base' }));
			arr.sort((o1, o2) => isFinite(o1.t[0]) - isFinite(o2.t[0]) || o1.t.replace(/_/, 'z').localeCompare(o2.t.replace(/_/, 'z'), undefined, { numeric: true, sensitivity: 'base' }));
			options.each(function(i, o) {
			  o.value = arr[i].v;
			  $(o).attr("data-click",arr[i].d);
			  $(o).text(arr[i].t);
			});
			$(".chosen-select").trigger('chosen:updated');
			/**/

			var keyArray = Object.keys(tempArray);
			for(var index in shopsInScene){
				if(!keyArray.includes(shopsInScene[index].toString())){
					shopInXml.push(shopsInScene[index]);
				}
			}
        }
    };






	if(krpano.get("mall_name")!=null)
		var url = 'https://api.vicinity.com.au/v3/leasing-digital-info?page=3&filter=centre_name=="' + krpano.get("mall_name") + '"';
	else
		var url = 'https://api.vicinity.com.au/v3/leasing-digital-info?page=3&filter=centre_key==' + krpano.get("centre_key");
    if(staging_server)
		var url = "https://www.vicinity.atomic3d.com.au/api.php";


    var xhr3 = new XMLHttpRequest();
	if(staging_server)
		xhr3.open("POST", url, true);
	else
		xhr3.open("GET", url, true);
    xhr3.setRequestHeader('Authorization', "Bearer " + token);

	var formData3 = new FormData();
	if(staging_server){
		if(krpano.get("mall_name")!=null)
			formData3.append('url', 'https://api.vicinity.com.au/v3/leasing-digital-info?page=3&filter=centre_name=="' + krpano.get("mall_name") + '"');
		else
			formData3.append('url', 'https://api.vicinity.com.au/v3/leasing-digital-info?page=3&filter=centre_key==' + krpano.get("centre_key") + '');
		formData3.append('method', "GET");
	}    xhr3.send(formData3);
    xhr3.onreadystatechange = function () {
        if (this.readyState == 4 && this.status == 200) {
            var response = JSON.parse(this.response);
            window.data3 = response.data;
            var arraySize = data3.length;
            for(var i = 0; i < arraySize; i++){
                window.mal_data[data3[i].unit_key] = data3[i];
                 window.search_date3.push(data3[i]);
            }
            
            krpano.call("set_hotspot_data()");

            /*set fuzzy search*/
            var scenes = krpano.get('scene').getArray();
            var scenesArraySize = scenes.length;
            for (var i = 0; i < scenesArraySize; i++) {
                if (!scenes[i].shops) {
                    continue;
                }
                try {
                    var shops = scenes[i].shops;
                    var shopsArray = shops.split(',');
                    for (var index in shopsArray) {
                        window.shopsInScene.push(parseInt(shopsArray[index]));
                    }
                } catch (e) {

                }
            }
			
            // var shopInService = [];
            for (var i = 0; i < arraySize; i++) {
                if (window.shopsInScene.includes(data3[i].unit_key) && !(data3[i].unit_key in added_item)) {
                    added_item[data3[i].unit_key] = true;
					// console.log(data3[i].leasing_tenant);
					if(window.search_on_shopid == true)
						krpano.call('plugin[fuzzysearch].addItem("' + data3[i].unit_code       + '","jscall(find_shop(' + i + ',\'data3\');send_analytics(\'search\',\'' + (data3[i].leasing_tenant==""?data3[i].unit_code:data3[i].leasing_tenant.replace(/'/g, "````")) + '\',\'\');)")');
					krpano.call('plugin[fuzzysearch].addItem("' + data3[i].leasing_tenant  + '","jscall(find_shop(' + i + ',\'data3\');send_analytics(\'search\',\'' + (data3[i].leasing_tenant==""?data3[i].unit_code:data3[i].leasing_tenant.replace(/'/g, "````")) + '\',\'\');)")');
                }else{
					shopInService.push(data3[i].unit_key);
				}
            }
			// sort the list order/////////////////////////////////
			var options = $('select.chosen-select option');
			var arr = options.map(function(_, o) { return { t: $(o).text(), v: o.value, d: $(o).attr("data-click") }; }).get();
			// arr.sort(function(o1, o2) { return o1.t > o2.t ? 1 : o1.t < o2.t ? -1 : 0; });
			// arr.sort((o1, o2) => isFinite(o1.t[0]) - isFinite(o2.t[0]) || o1.t.localeCompare(o2.t, undefined, { numeric: true, sensitivity: 'base' }));
			arr.sort((o1, o2) => isFinite(o1.t[0]) - isFinite(o2.t[0]) || o1.t.replace(/_/, 'z').localeCompare(o2.t.replace(/_/, 'z'), undefined, { numeric: true, sensitivity: 'base' }));
			options.each(function(i, o) {
			  o.value = arr[i].v;
			  $(o).attr("data-click",arr[i].d);
			  $(o).text(arr[i].t);
			});
			$(".chosen-select").trigger('chosen:updated');
			/**/

			var keyArray = Object.keys(tempArray);
			for(var index in shopsInScene){
				if(!keyArray.includes(shopsInScene[index].toString())){
					shopInXml.push(shopsInScene[index]);
				}
			}
        }
    };

}



	window.find_shop = function(searchKey, data2) {
		try {
			if(data2 == "data3d")
				var data = window.server_response_key[searchKey.toLowerCase()];
				// var data = window.search_date3d[searchKey];
			else if(data2 == "data2")
				var data = window.search_date2[searchKey];
			else if(data2 == "data3")
				var data = window.search_date3[searchKey];
			else if(data2 == "data4")
				var data = window.search_date4[searchKey];
			else
				var data = window.search_date[searchKey];

			var scenes = krpano.get('scene').getArray();
			var arraySize = scenes.length;
			var sceneFound = false;
			for (var i = 0; i < arraySize; i++) {
				if (!scenes[i].shops) {
					continue;
				}

				try {
					var shops = scenes[i].shops;
					var shopsArray = shops.split(',');
					for (var index in shopsArray) {
						if(scenes[i].name.indexOf("scene_3d")<0){
							if (parseInt(shopsArray[index]) === data.unit_key) {
								var sceneName = scenes[i].name;

								krpano.call('loadscene("' + sceneName + '", null, MERGE, BLEND(1))');

								var hotspots = krpano.get('hotspot').getArray();
								for (var hotspotIndex in hotspots) {
									if (parseInt(hotspots[hotspotIndex].unit_key) === data.unit_key) {
										var name = hotspots[hotspotIndex].name;
										krpano.call('looktohotspot("' + name + '","130")');
									}
								}

								sceneFound = true;
								break;
							}
						}else{
							// console.log(data2);
							// console.log(searchKey);
							// console.log(search_date3d);
							// console.log(server_response_key);
							// console.log(data);
							// console.log(shopsArray[index]);
							// console.log(data.unit_key);
							if (shopsArray[index] === data.unit_key) {
								var sceneName = scenes[i].name;

								krpano.call('loadscene("' + sceneName + '", null, MERGE, BLEND(1))');

								var hotspots = krpano.get('hotspot').getArray();
								for (var hotspotIndex in hotspots) {
									if (hotspots[hotspotIndex].unit_key === data.unit_key) {
										var name = hotspots[hotspotIndex].name;
										krpano.call('looktohotspot("' + name + '","90")');
									}
								}

								sceneFound = true;
								break;
							}
						}
					}

					if (sceneFound) {
						break;
					}
				} catch (e) {
					console.log('error slave', e.message);
				}
			}
		} catch (e) {
			console.log('error master', e.message);
		}
	}

























// krpano.set("showerrors",true);
// krpano.set("logkey",true);
// krpano.set("debugmode",true);
// krpano.set("debugkeys",true);
// krpano.set("debugjsactions",true);
// krpano.set("debugjsactions",true);
// krpano.set("debugjsplugins",true);


var scenes = krpano.get('scene').getArray();
var scenesArraySize = scenes.length;
for (var i = 0; i < scenesArraySize; i++) {
	//console.log('scenes[i]', scenes[i]);
	if (!scenes[i].shops ||	scenes[i].name.indexOf("scene_3d")<0) {
		continue;
	}
	try {
		var shops = scenes[i].shops;
		var shopsArray = shops.split(',');
		for (var index in shopsArray) {
			window.shopsInScene.push(shopsArray[index]);
		}
	} catch (e) {

	}
}


// https://sheets.googleapis.com/v4/spreadsheets/1DX0sbejMtaO8B5fnnD_y0LxWbzXqP47jK394JaN2VgA/values/Sheet1!A:Z/?key=AIzaSyBTO9EEQdicplR5JgONlLFNUhuX_Ap8MqU
var apiKey = "AIzaSyBTO9EEQdicplR5JgONlLFNUhuX_Ap8MqU";
// var spreadSheetId = "1KbE0slcURdaGOz_4QTPCHe-JOyJKKhC_5hv2E46GHXQ";
var spreadSheetId = "1DX0sbejMtaO8B5fnnD_y0LxWbzXqP47jK394JaN2VgA";

$.ajax({
	url: "https://sheets.googleapis.com/v4/spreadsheets/" + spreadSheetId + "/values/Sheet1!A:Z/?key=" + apiKey,
	type: "POST",
	dataType: "jsonp",
	data: {},
	success: function (server_response2) {
		/*
		// array to associative array (Dictionary)
		window.data = server_response.values.slice(1).map(row => row.reduce(function(acc, cur, i) {
		  acc[server_response.values[0][i]] = cur;
		  return acc;
		}, {}));
		*/
		window.search_date3d = [];
		window.server_response_key = {};
		// window.server_response = { "range": "Sheet1!A1:Z1000", "majorDimension": "ROWS", "values": [ [ "Shop ID", "Tenant", "Area (m2)" ], [ "LOWER GROUND" ], [ "B180_", "Retail", " 84 " ], [ "B181_", "Miniimaru", " 177 " ], [ "B088_", "Bevilles", " 97 " ], [ "B157_", "The Medi Beauty", " 141 " ], [ "B158_", "Luxe Therapy", " 298 " ], [ "GROUND" ], [ "M005_", "ALDI", " 1,156 " ], [ "K0145", "Cupcake Queen", " 30 " ], [ "K0146", "Boost Juice TBC", " 30 " ], [ "G-110", "Bakers Delight ", " 76 " ], [ "G-110A", "Double Edge (hair dresser)", " 73 " ], [ "G-111", "Nextra Newsagency ", " 162 " ], [ "G-112", "Pharmacy", " 547 " ], [ "G-098", "Michael Hill", " 160 " ], [ "G-098A", "Sssh . . . Secrets", " 69 " ], [ "G-099", "Retail Services ", " 159 " ], [ "G-099A", "Retail Services ", " 115 " ], [ "G-108", "Flight Centre", " 115 " ], [ "G-108A", "Retail Services ", " 76 " ], [ "G-109", "Mainstream Butcher", " 114 " ], [ "G-136", "Food Retail / Gen Merch", " 111 " ], [ "G-137", "General Merch", " 115 " ], [ "G-138", "Jewelery", " 69 " ], [ "G-139", "Jewelery", " 79 " ], [ "G-140", "Specialty", " 92 " ], [ "G-141", "Apparel Retailer", " 375 " ], [ "K0147", "Concierge", " 20 " ], [ "EX030", "Services / Retail - i.e. Bike", " 426 " ], [ "G-115", "Café", " 206 " ], [ "G-116", "Food Retail ", " 151 " ], [ "G-117", "Seafood", " 157 " ], [ "G-118", "Fisch (seafood)", " 155 " ], [ "G-119", "Butcher", " 210 " ], [ "G-120", "Fruit & Veg - total ", " 1,559 " ], [ "G-121", "Maita (oriential grocer)", " 1,270 " ], [ "G-113", "Food Retail ", " 102 " ], [ "G-114", "Food Retail - Kosher", " 126 " ], [ "K0130", "Brunetti TBC ", " 87 " ], [ "K0131", "Market Hall Kiosk 2", " 128 " ], [ "K0132", "Market Hall Kiosk 3", " 144 " ], [ "K0133", "Market Hall Kiosk 4", " 100 " ], [ "K0134", "Market Hall Kiosk 5", " 122 " ], [ "K0135", "Market Hall Kiosk 6", " 78 " ], [ "K0136", "MLON-IV-MOET OYSTER & RAW BAR (TBC)", " 83 " ], [ "K0137", "Market Hall Kiosk 8", " 89 " ], [ "K0138", "Market Hall Kiosk 9", " 107 " ], [ "K0139", "Market Hall Kiosk 10", " 76 " ], [ "K0140", "Market Hall Kiosk 11", " 70 " ], [ "K0141", "Market Hall Kiosk 12", " 89 " ], [ "K0142", "Market Hall Kiosk 13", " 86 " ], [ "EX021", "Restaurant", " 120 " ], [ "EX022", "Restaurant", " 153 " ], [ "EX020", "Yum Cha / Hot Pot", " 622 " ], [ "EX019", "Shujinko Ramen", " 151 ", "70 inside and 81 outside " ], [ "EX018", "Restaurant", " 146 ", "108 inside and 38 outside" ], [ "EX018A", "Yo Chi ", " 112 ", "81 inside and 31 outside" ], [ "G-123", "Health Insurance", " 143 " ], [ "G-132", "Food Retail / Gen Merch", " 168 " ], [ "G-133", "Food Retail / Gen Merch", " 118 " ], [ "G-134", "Food Retail / Gen Merch", " 125 " ], [ "G-135", "Food Retail / Gen Merch", " 105 " ], [ "K0143A", "General Kiosk", " 27 " ], [ "K0150", "General Kiosk", " 30 " ], [ "K0151", "General Kiosk", " 30 " ], [ "G-122", "Mass market café", " 150 " ], [ "G-122a", "Mass market café", " 75 " ], [ "EX017", "Shanghai Red", " 225 ", "179 inside and 46 outside" ], [ "EX016", "Tetsujin", " 194 ", "151 inside and 43 outside" ], [ "EX015", "Dodee Pang (TBC)", " 185 ", "142 inside and 43 outside" ], [ "G-124", "Laser/Beauty", " 125 " ], [ "G-125", "Optometrist/Telco", " 127 " ], [ "G-126", "Travel agent/forex", " 113 " ], [ "G-127", "Hairdresser", " 106 " ], [ "G-129", "Food Retail / Gen Merch", " 133 " ], [ "G-130", "Food Retail / Gen Merch", " 124 " ], [ "G-131A", "Food Retail / Gen Merch", " 66 " ], [ "G-131", "Food Retail / Gen Merch", " 132 " ], [ "EX014", "Restaurant", " 204 ", "109 inside and 95 outside" ], [ "EX013", "Financial Services", " 111 " ], [ "EX012", "Financial Services", " 133 " ], [ "EX011", "Financial Services", " 153 " ], [ "EX010", "Financial Services", " 187 " ], [ "M004_", "WOOLWORTHS", " 3,952 " ], [ "LEVEL 1" ], [ "1-010", "Services / Specialty", " 360 " ], [ "1-011", "Services / Childrens Education", " 612 " ], [ "1-013", "Childcare", " 1,013 " ], [ "1-014", "Multi Category - TOTAL GFA", " 2,249 " ], [ "1-015", "Gym - Total NLA", " 2,296 " ] ] };
		window.server_response = server_response2.values;

		for (var i = 0; i < server_response.length; ++i) {
			if(0 in server_response[i]){server_response[i][0]   = server_response[i][0].replace(/(\r\n|\n|\r)/gm, "")}else{server_response[i][0]="";}
			if(1 in server_response[i]){server_response[i][1]   = server_response[i][1].replace(/(\r\n|\n|\r)/gm, "")}else{server_response[i][1]="";}
			if(2 in server_response[i]){server_response[i][2]   = server_response[i][2].replace(/(\r\n|\n|\r)/gm, "")}else{server_response[i][2]="";}
			if(3 in server_response[i]){server_response[i][3]   = server_response[i][3].replace(/(\r\n|\n|\r)/gm, "")}else{server_response[i][3]="";}
			if(server_response[i][0]!="Shop ID" && server_response[i][0]!="" && server_response[i][1]!="" && server_response[i][2]!=""){
				server_response_key[server_response[i][0].toLowerCase()] = server_response[i];
				// server_response[i]["unit_key_insensitive"] = server_response[i][0].toLowerCase();
				
				server_response[i]["unit_key"] = server_response[i][0];
				server_response[i]["title"] = server_response[i][1];
				server_response[i]["leasing_tenant"] = server_response[i][1];
				server_response[i]["unit_code"] = server_response[i][0];
				server_response[i]["floor"] = "---";
				server_response[i]["gla"] = server_response[i][2].trim() + ".0 sqm";
				server_response[i]["category"] = "---";
				
				
				window.mal_data[server_response[i][0].toLowerCase()] = server_response[i];
				window.search_date3d.push(server_response[i]);

				// if (shopsInScene.includes(server_response[i][0].toLowerCase()) && !(server_response[i][0].toLowerCase() in added_item)) {
				// console.log(i,server_response[i][0].toLowerCase(),(shopsInScene.includes(server_response[i][0].toLowerCase()) || shopsInScene.includes(server_response[i][0])));
				if ((shopsInScene.includes(server_response[i][0].toLowerCase()) || shopsInScene.includes(server_response[i][0])) && !(parseInt("10000000" + i.toString()) in added_item)) {
					// added_item[server_response[i][0].toLowerCase()] = true;
					added_item[parseInt("10000000" + i.toString())] = true;
					// console.log(parseInt("10000000" + i.toString()));
					
					if(window.search_on_shopid == true)
						krpano.call('plugin[fuzzysearch].addItem("' + server_response[i][0]       + '","jscall(find_shop(\'' + server_response[i][0].toLowerCase() + '\',\'data3d\');)")');
					if(window.search_on_shopid == true)
						krpano.call('plugin[fuzzysearch].addItem("' + server_response[i][1]  + '","jscall(find_shop(\'' + server_response[i][0].toLowerCase() + '\',\'data3d\');)")');
				}else{
					// console.log('not include data => ', json.data[i].unit);
					// shopInService.push(server_response[i][0].toLowerCase())
				}
			}
		}
		krpano.call("set_hotspot_data()");
		// console.log("server_response",server_response);
		// console.log("server_response_key",server_response_key);
	},
	error: function (jqXHR, exception) {
		console.log("Server Error",exception);
	},
});













	]]></action>

<action name="set_hotspot_data" type="Javascript" protect="true" ><![CDATA[
  if(window.mal_data){
	var hotspots = krpano.get("hotspot").getArray();
	var arraySize = hotspots.length;
	for(var i = 0; i< arraySize; i++){
		if(hotspots[i].style === 'shop_unset'){
		  try{
			console.log(hotspots[i].unit_key);
			var dataItem = window.mal_data[hotspots[i].unit_key];
			if(typeof hotspots[i].unit_key == "string" && dataItem==undefined)
				dataItem = window.mal_data[hotspots[i].unit_key.toLowerCase()];
			if(dataItem==undefined)
				dataItem = {"unit_key":"---","title":"---","category":"---","gla":"---","unit_code":"---","leasing_tenant":"---","floor":"---",};
			// krpano.set("hotspot["+hotspots[i].name+"].title", dataItem.retailer);
			krpano.set("hotspot["+hotspots[i].name+"].title", dataItem.unit_key);
			krpano.call("hotspot["+hotspots[i].name+"].loadstyle(shop)");
		  }catch(error){
			//console.log('error in array', error);
		  }
		}

		if(hotspots[i].style === 'shop'){
			if(getUrlParameter_custome("show_shops")!="true" && krpano.get("xml.scene").indexOf("scene_3d")<0){
				krpano.call("removehotspot(hotspot["+hotspots[i].name+"])");
				continue;
			}
		try{
			//console.log("set hotpspot title",hotspots[i].unit_key);
			// console.log(hotspots[i].unit_key);
			var dataItem = window.mal_data[hotspots[i].unit_key];
			if(typeof hotspots[i].unit_key == "string" && dataItem==undefined)
				dataItem = window.mal_data[hotspots[i].unit_key.toLowerCase()];
			if(dataItem==undefined)
				dataItem = {"unit_key":"---","title":"---","category":"---","gla":"---","unit_code":"---","leasing_tenant":"---","floor":"---",};
			
			// krpano.set("hotspot["+hotspots[i].name+"].title", dataItem.retailer);
			// krpano.set("hotspot["+hotspots[i].name+"].title", dataItem.unit_code);
			if(dataItem.leasing_tenant=="" || dataItem.leasing_tenant==null || dataItem.leasing_tenant==undefined)
				dataItem.leasing_tenant = "---";
			krpano.set("hotspot["+hotspots[i].name+"].title", dataItem.leasing_tenant.replace("[","&#91;").replace("]","&#93;"));
			krpano.set("hotspot["+hotspots[i].mytext+"].html", dataItem.leasing_tenant.replace("[","&#91;").replace("]","&#93;"));

			//add generation of krpano data by jerome for VR version

				var content = "";

				content += "<h1>" + dataItem.leasing_tenant + "</h1>";
				content += "<p>";
				content += '<ul class="shoplist">';
				if(krpano.get("xml.scene").indexOf("scene_3d")<0)
					content += '<li class="catname">Category : ' + dataItem.category + '</li>';
				content += '<li class="catname">Area : ' + dataItem.gla + '</li>';
				if(krpano.get("xml.scene").indexOf("scene_3d")<0)
					content += '<li class="catname">Level : ' + dataItem.floor + '</li>';
				content += '<li class="catname">Shop ID : ' + dataItem.unit_code + '</li>';
				content += '</ul>';
				content += '</p>';

				krpano.set("data["+hotspots[i].name+"].content", content);

		}catch(error){
			//console.log('error in array', error);
		}
	}
	  }
	}
]]></action>





<action name="popup" type="Javascript" protect="true"><![CDATA[
// Start edit by Hamid - 2021-05-03 -------------------------------------------------------------
var popupcontent = "";
try {
    var item = window.mal_data[krpano.get("hotspot[" + args[1] + "].unit_key")];
	
	if(typeof krpano.get("hotspot[" + args[1] + "].unit_key") == "string" && item==undefined)
		item = window.mal_data[krpano.get("hotspot[" + args[1] + "].unit_key").toLowerCase()];
	if(item==undefined)
		item = {"unit_key":"---","title":"---","category":"---","gla":"---","unit_code":"---","leasing_tenant":"---","floor":"---",};

    if (item) {
        //content += "<h1>" + item.retailer + "<span class='shopid'>"+item.unit_code+"</span></h1>";
        popupcontent += "<h1>" + item.leasing_tenant + "</h1>";
        popupcontent += "<p>";
        popupcontent += '<ul class="shoplist">';
		if(krpano.get("xml.scene").indexOf("scene_3d")<0)
			popupcontent += '<li class="category">' + item.category + '</li>';
        popupcontent += '<li class="area">' + item.gla + '</li>';
		if(krpano.get("xml.scene").indexOf("scene_3d")<0)
			popupcontent += '<li class="level">' + item.floor + '</li>';
        popupcontent += '<li class="shopid">' + item.unit_code + '</li>';
        try {
            if (item.controls) {
                for (var index in item.controls) {
                    var listItem = item.controls[index];
                    var nameClass =  listItem.name.replace(' ', '').toLowerCase();
					
					// console.log(listItem);
					// console.log(item.category);
					
					// send_analytics("open_popup",item.centre_name + " - " + item.unit_key,listItem.name, item.category,(item.leasing_tenant==""?item.unit_code:item.leasing_tenant));
					// console.log('<li class="' + nameClass + '" onclick=\'send_analytics("download_content","' + item.centre_name + " - " + item.unit_key + '","' + listItem.name + '","' + item.category + '","' + (item.leasing_tenant==""?item.unit_code:item.leasing_tenant) + '");\' >' + '<a target="_blank" href="' + listItem.url + '">Download</a></li>');
					// popupcontent += '<li class="' + nameClass + '" onclick=\'send_analytics("download_content","' + item.centre_name + " - " + item.unit_key + '","' + listItem.name + '","' + item.category.replace(/'/g, "````") + '","' + (item.leasing_tenant==""?item.unit_code:item.leasing_tenant) + '");\' >' + '<a target="_blank" href="' + listItem.url + '">Download</a></li>';
					// popupcontent += '<li class="' + nameClass + '" onclick=\'send_analytics("download_content","' + item.centre_name + " - " + item.unit_key + '","' + listItem.name.replace(/'/g, "````") + '","' + item.category.replace(/'/g, "````") + '","' + (item.leasing_tenant==""?item.unit_code:item.leasing_tenant) + '");\' >' + '<a target="_blank" href="' + listItem.url + '">Download</a></li>';
					popupcontent += '<li class="' + nameClass + '" onclick=\'\' >' + '<a target="_blank" href="' + listItem.url + '">Download</a></li>';
                }
            }
        } catch (e) {
			// console.log(e);
        }
        popupcontent += '</ul>';
        popupcontent += '</p>';
    }
} catch (error) {
    console.log('error***', error);
}
// End edit by Hamid - 2021-05-03 -------------------------------------------------------------

let scroller = document.getElementById("scroller");
let inner_scroller = document.getElementById("inner_scroller");

// Start edit by Hamid - 2021-05-03 -------------------------------------------------------------
// let datacontent = '<div class="text_content">' + krpano.get("data["+args[1]+"].content")+ '</div>';
let datacontent = '<div class="text_content">' + popupcontent + '</div>';
// End edit by Hamid - 2021-05-03 -------------------------------------------------------------

inner_scroller.innerHTML = datacontent;
window.krpano = krpano;
if(!krpano.device.ios){$("#scroller").niceScroll({autohidemode:"scroll",cursorcolor:"#fff",cursoropacitymax:0.7,cursorwidth:3,cursorborder:"1px solid #fff",cursorborderradius:"0px"});};
krpano.call("show_html_div()");
// console.log(item);
// send_analytics("open_popup",(item.leasing_tenant==""?item.unit_code:item.leasing_tenant),"");
// send_analytics("open_popup",item.centre_name + " - " + item.unit_key,(item.leasing_tenant==""?item.unit_code:item.leasing_tenant), item.category);
]]></action>

</krpano>
