
var lastBrandToStoreKeyword = "";

function search(text){

	document.getElementById('rBrandToStore').style.display = "none";
	document.getElementById('rBrandToStoreInfo').innerHTML = "";

	document.getElementById('rArticles').style.display = "none";
	document.getElementById('rArticlesInfo').innerHTML = "";

	text = text.replace(/%/gi,'');

	if(text.length > 1){

		document.getElementById('searchresultdiv').style.display = "block";

		var params ="";
		params += "&text="+text;
		params += "&actionSwitch=newsearch";

		var url = "/functions/ajaxsearch.php";

		var xmlHttp = getxmlHttp();
		xmlHttp.open("POST", url, true);

		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp.setRequestHeader("Content-length", params.length);
		xmlHttp.setRequestHeader("Connection", "close");

		xmlHttp.onreadystatechange = function() {
			if(xmlHttp.readyState == 4) {

				var response = xmlHttp.responseText;

				//alert(response);

				var res_ar = response.split("#PIPE#");

				setBrandsData(res_ar[0]);
				setCampaignData(res_ar[1]);
				setCategoriesData(res_ar[2]);
				setStoresAndMalls(res_ar[3]);
				//setLatest(res_ar[4]);
			}
		}
		xmlHttp.send(params);
	} else {
		document.getElementById('searchresultdiv').style.display = "none";
		document.getElementById('rBrands').innerHTML = "";
	}
}


function setBrandsData(inData){
	document.getElementById('rBrands').innerHTML = inData;
}

function setCampaignData(inData){
	document.getElementById('rCampaigns').innerHTML = inData;
}

function setCategoriesData(inData){
	document.getElementById('rCategories').innerHTML = inData;
}

function setStoresAndMalls(inData){
	document.getElementById('rStoreAndMalls').innerHTML = inData;
}

function setLatest(inData){
	//document.getElementById('rLatestSearches').innerHTML = inData;
}

function setBrandsToStoreData(inData){
	document.getElementById('rBrandToStoreInfo').innerHTML = inData;
}

function storeLatestSearch(id, word, type){
	var params ="";
	params += "&type="+type;
	params += "&id="+id;

	var cleanItemName = word.replace("#rep#", "'");

	params += "&word="+cleanItemName;

	var url = "/functions/ajaxsavelatestsearch.php";

	var xmlHttp = getxmlHttp();
	xmlHttp.open("POST", url, true);

	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length", params.length);
	xmlHttp.setRequestHeader("Connection", "close");

	xmlHttp.onreadystatechange = function() {
		if(xmlHttp.readyState == 4) {
			// Do nothing
			var response = xmlHttp.responseText;
		}
	}
	xmlHttp.send(params);
}

function getMoreItemSearch(page, itemType){

	//alert("page = "+page+" type ="+itemType);

	var text = document.getElementById('menusearchinput').value;

	var params ="";
		params += "&text="+text;
		params += "&itemType="+itemType;
		params += "&page="+page;
		params += "&actionSwitch=moresearch";

		var url = "/functions/ajaxsearch.php";

		var xmlHttp = getxmlHttp();
		xmlHttp.open("POST", url, true);

		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp.setRequestHeader("Content-length", params.length);
		xmlHttp.setRequestHeader("Connection", "close");

		xmlHttp.onreadystatechange = function() {
			if(xmlHttp.readyState == 4) {

				var response = xmlHttp.responseText;

				switch(itemType){
					case "brands":
						setBrandsData(response);
					break;

					case "campaign":
						setCampaignData(response);
					break;

					case "categories":
						setCategoriesData(response);
					break;

					case "storeandmalls":
						setStoresAndMalls(response);
					break;
				}

				//alert(response);
			}
		}
	xmlHttp.send(params);

}

function itemToStores(itemId, itemName, itemType){

	//alert(itemId+" "+ itemName+" "+ itemType);

	if(itemType=="brands") {

		recordHit(itemId, 'brand');

	}

	if(itemType=="category") {

		recordHit(itemId, 'category');

	}

	storeLatestSearch(itemId, itemName, itemType);

	lastBrandToStoreKeyword = "bname";

	var cleanItemName = itemName.replace("#rep#", "'");

	document.getElementById('brandNameHolder').innerHTML = "Butiker som säljer '"+cleanItemName+"'";
	document.title = "Butiker som säljer '"+cleanItemName+"' - iCITY.se - Stockholm";

	document.getElementById('rBrandToStore').style.display = "block";

	document.getElementById('articleNameHolder').innerHTML = "Artiklar förknippade med '"+cleanItemName+"'";
	document.getElementById('rArticles').style.display = "block";

	var params ="";
		params += "&itemId="+itemId;
		params += "&itemType="+itemType;
		params += "&actionSwitch=itemtostore";

		var url = "/functions/ajaxsearch.php";

		var xmlHttp = getxmlHttp();
		xmlHttp.open("POST", url, true);

		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp.setRequestHeader("Content-length", params.length);
		xmlHttp.setRequestHeader("Connection", "close");

		xmlHttp.onreadystatechange = function() {
			if(xmlHttp.readyState == 4) {

				var response = xmlHttp.responseText;
				//alert(response);

				if(response =="-1"){
					setBrandsToStoreData("<div style='position:relative;margin-left:10px;margin-top:10px;'><span class='istext contenttext'>Inga butiker funna</span></div><div>&nbsp;</div>");
					document.getElementById('gmap').style.display = "none";

				} else {
					var res_ar = response.split("#PIPE#");

					setBrandsToStoreData(res_ar[0]);

					document.getElementById('gmap').style.display = "block";
					setMapData(res_ar[1]);
					setArticleData(res_ar[2]);
				}
			}
		}
	xmlHttp.send(params);
}

function setArticleData(inData){

	if(inData == "-1"){
		document.getElementById('rArticlesInfo').innerHTML = "<div style='position:relative;margin-left:10px;margin-top:10px;'><span class='istext contenttext'>Inga artiklar funna</span></div><div>&nbsp;</div>";
	} else {
		document.getElementById('rArticlesInfo').innerHTML = inData;
	}
}

function orderItemToStoreData(itemId, order, sort, itemType){

	if(lastBrandToStoreKeyword == order){

		if(sort == "ASC"){
			sort = "DESC";
		} else {
			sort = "ASC";
		}
	} else {
		sort = "ASC";
	}

	lastBrandToStoreKeyword = order;

	var params ="";
		params += "&itemId="+itemId;
		params += "&order="+order;
		params += "&sort="+sort;
		params += "&itemType="+itemType;
		params += "&actionSwitch=itemtostore";

		var url = "/functions/ajaxsearch.php";

		var xmlHttp = getxmlHttp();
		xmlHttp.open("POST", url, true);

		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp.setRequestHeader("Content-length", params.length);
		xmlHttp.setRequestHeader("Connection", "close");

		xmlHttp.onreadystatechange = function() {
			if(xmlHttp.readyState == 4) {

				var response = xmlHttp.responseText;
				//alert(response);

				if(response =="-1"){
					setBrandsToStoreData("<div style='position:relative;margin-left:10px;margin-top:10px;'><span class='istext contenttext'>Inga butiker funna</span></div><div>&nbsp;</div>");

				} else {
					var res_ar = response.split("#PIPE#");

					setBrandsToStoreData(res_ar[0]);
					setMapData(res_ar[1]);
				}
			}
		}
	xmlHttp.send(params);
}

function setMapData(str) {

	var tmp_ar = str.split("#ITEM#");
	var item_ar = new Array();
	var items_ar = new Array();

	for(var i = 0; i < tmp_ar.length; i++){
		item_ar =  tmp_ar[i].split("#SPLIT#");
		items_ar.push(item_ar);
	}

	if (GBrowserIsCompatible()) {

		var map = new GMap2(document.getElementById("searchmap"));
		map.setCenter(new GLatLng(items_ar[0][0],items_ar[0][1]), 10);
		var mapControl = new GMapTypeControl();
		map.addControl(mapControl);
		map.addControl(new GSmallMapControl());

		/*var mcdIcon = new GIcon(G_DEFAULT_ICON);
		mcdIcon.image = "http://www.icity.se/images/mcdonalds_map.png";
		mcdIcon.shadow = "http://www.icity.se/images/mcdonalds_shadow.png";
		mcdIcon.iconSize = new GSize(32,32);
		mcdIcon.shadowSize = new GSize(50,32);*/

		var mallIcon = new GIcon(G_DEFAULT_ICON);
		mallIcon.image = "http://www.icity.se/images/map_icon_galleria.png";
		mallIcon.shadow = "http://www.icity.se/images/map_icon_shadow.png";
		mallIcon.iconSize = new GSize(26,32);
		mallIcon.shadowSize = new GSize(41,32);

		var storeIcon = new GIcon(G_DEFAULT_ICON);
		storeIcon.image = "http://www.icity.se/images/map_icon_store.png";
		storeIcon.shadow = "http://www.icity.se/images/map_icon_shadow.png";
		storeIcon.iconSize = new GSize(26,32);
		storeIcon.shadowSize = new GSize(41,32);

		function createMarker(point,inhtml, mapIcon) {

			if(mapIcon == "mallIcon"){
				markerOptions = { icon:mallIcon };
			} else {
				markerOptions = { icon:storeIcon };
			}

			var marker = new GMarker(point, markerOptions);

			GEvent.addListener(marker, "click", function() {
				marker.openInfoWindowHtml(inhtml);
			});
			return marker;
		}

		for(var i = 0; i < items_ar.length -1; i++){
			var point = new GLatLng(items_ar[i][0],items_ar[i][1]);
			if(point && items_ar[i][2] && items_ar[i][3]){
				map.addOverlay(createMarker(point,items_ar[i][2], items_ar[i][3]));
			}
		}

	}
}

/*function setBackgroundColorLighted(id){
	document.getElementById(id).style.backgroundColor= "#ffffff";
}

function setBackgroundColorNormal(id){
	document.getElementById(id).style.backgroundColor= "#f2f2f2";
}*/

function setBackgroundColorNormalNew(id, color){
	document.getElementById(id).style.backgroundColor= color;
}

function setBackgroundColorLightedNew(id, color){
	document.getElementById(id).style.backgroundColor = color;
}

/* Call on this function to get a xmlHttp object, used for ajax data transfer / communication */
function getxmlHttp() {
	var xmlHttp=null;
	try {
	  // Firefox, Opera 8.0+, Safari
	  xmlHttp=new XMLHttpRequest();
	  } catch (e) {
	  // Internet Explorer
		try {
		 xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			try {
			  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) {
			 alert("Your browser does not support AJAX!");
			 return false;
			}
		}
	  }

	  return xmlHttp;
}