// JavaScript Document for allaannonser.se

// Add to favorites/bookmarks
function addFavorit(url, description) {
	// Firefox
	if (window.sidebar) {
		// Add to bookmarks
		window.sidebar.addPanel(description, url, "");
	// Internet Explorer
	} else if(window.external && navigator.userAgent.toLowerCase().indexOf("chrome") == -1) {
		// Add to favorites
		window.external.AddFavorite(url, description);
	// Opera, Safari or Chrome
	} else if(
		(window.opera && window.print) ||
		navigator.userAgent.toLowerCase().indexOf("webkit") != -1 ||
		navigator.userAgent.toLowerCase().indexOf("chrome") != -1
	) {
		// Check if MAC
		var isMac = (navigator.userAgent.toLowerCase().indexOf("mac") != -1);
		
		// Set name for button
    	var button = isMac ? "Command/Cmd" : "CTRL";
		
		// Display message
		alert("Tryck först på OK och sedan på " + button + " + D för att lägga till " + description + " bland dina bokmärken.");
	}
}

// Refresh kelkoo when needed
refreshKelkooHitlist = function(seo, uri, querystring) {
	
	new Ajax.Request('/include/ajax/update_kelkoo_cache.php', {
		asynchronous: true,
		parameters: { seo: seo, uri: uri, querystring: querystring },
		onCreate: function() {
			
			if(seo == 1) {
				
				var div1 = new Element('div').setStyle({ position: 'absolute', backgroundColor: '#ffffff', opacity: '0.7' }).update('<center><img src="/images/ajax-loader.gif" alt="" /></center>');
			
				div1.setStyle({ width: $('kelkoo-top').getWidth() + 'px', height: $('kelkoo-top').getHeight() + 'px', top: $('kelkoo-top').cumulativeOffset().top + 'px', left: $('kelkoo-top').cumulativeOffset().left + 'px' });
				
				$('kelkoo-top').appendChild(div1);
			}
			
			var div2 = new Element('div').setStyle({ position: 'absolute', backgroundColor: '#ffffff', opacity: '0.7' }).update('<center><img src="/images/ajax-loader.gif" alt="" /></center>');
			
			div2.setStyle({ width: $('kelkoo-bottom').getWidth() + 'px', height: $('kelkoo-bottom').getHeight() + 'px', top: $('kelkoo-bottom').cumulativeOffset().top + 'px', left: $('kelkoo-bottom').cumulativeOffset().left + 'px' });
			
			$('kelkoo-bottom').appendChild(div2);
		},
		onComplete: function(truck) {
			 
			 obj = truck.responseText.evalJSON();
			 
			 if(seo == 1) {
				$('kelkoo-top').update('<table cellspacing="0" cellpadding="0" class="classifieds">' + obj.top + '</table>');
			 }
			 
			$('kelkoo-bottom').update('<table cellspacing="0" cellpadding="0" class="classifieds">' + obj.bottom + '</table>');
		}
	});

}

/* Track event with Google Analytics */
function trck(linkobject, val, keyword) {
	
	var adtype = 0;
	
	if (val == "/external/Kelkoo") {
		//trans(1, "K01", "Kelkoo", 1.02);
		
		//pageTracker._trackPageview(val + '/' + keyword);
		pageTracker._trackEvent('external', 'kelkoo', keyword);
		
		if(current_category_id > 0) {
			//pageTracker._trackPageview('/payAd/Klick/Kategori/Kelkoo/' + current_categoryname);
			pageTracker._trackEvent('kelkoo', 'category', current_categoryname);
		}
		
		//pageTracker._trackPageview('/payAd/Klick/Kelkoo/' + keyword);
		
		adtype = 1;
		//update();
		//return true;
	} else if(val == '/external/Pricerunner') {
		//trans(3, "P01", "Pricerunner", 1.02);
		
		//pageTracker._trackPageview(val + '/' + keyword);
		if(current_category_id > 0) {
			//pageTracker._trackPageview('/payAd/Klick/Kategori/Pricerunner/' + current_categoryname);
		}
		//pageTracker._trackPageview('/payAd/Klick/Pricerunner/' + keyword);
		
		adtype = 2;
		//update();
		//return true;
	} else if(val == "/external/Adsense") {
		//trans(2, "A01", "Adsense", 0.70);
		//return true;
		adtype = 3;
	}else{
	
		if(val == '/external/Eniro') {
			adtype = 6;
		}else if(val == '/external/Bilannonser') {
			adtype = 7;
		}else if(val == '/external/Bilförmedlingen') {
			adtype = 8;
		}else if(val == '/external/Auktionshuset Metropol') {
			adtype = 9;
		}else if(val == '/external/Ticket2.se') {
			adtype = 10;
		}else if(val == '/external/Ticket2.se') {
			adtype = 10;
		}else if(val == '/external/Booli-bostader') {
			adtype = 11;
		}else{
			adtype = 4;
		}
		
		var content = val.replace('/external/', '');
		content = content.replace('/ppc/', '');
		
		if(val.substr(0,5) == '/ppc/') {
			pageTracker._trackEvent('external', content, 'ppc');
		}else{
			pageTracker._trackEvent('external', content);
		}
		
	}
	
	if(linkobject) {
		
		var url = linkobject.href;
		if(adtype == 4) {
			var content = val.replace('/external/', '');
			content = content.replace('/ppc/', '');

			linkobject.href = '/203track.php?url=' + escape(url) + '&atid=' + adtype + '&company=' + content;
		}else{
			
			linkobject.href = '/203track.php?url=' + escape(url) + '&atid=' + adtype;
		}
	}
	
	/*
	if(parent_category_id == 1) {
		
				// check if cookies are enabled 
		   		document.cookie="testcookie" 
				cookieEnabled=(document.cookie.indexOf("testcookie")!=-1); 
				// Check if cookie exists 
				var nameEQ = "layer="; 
				var ca = document.cookie.split(';'); 
				for(var i=0;i < ca.length;i++) { 
						var c = ca[i]; 
						while (c.charAt(0)==' ') c = c.substring(1,c.length); 
						if (c.indexOf(nameEQ) == 0) var layer = c.substring(nameEQ.length,c.length); 
				} 
				
				if (cookieEnabled && layer != 1) { 
						 
						new topLayer('toplayer', 620, 'toplayer', '<iframe border="0" frameborder="0" src="/inc/ads_layer_google.php?category=' + current_category_id + 
						'" style="margin: 0; padding: 0" scroll="no" scrolling="no" width="600" height="540"></iframe>', 1);
												 
						// Get current time 
						var today = new Date(); 
						today.setTime( today.getTime() ); 
						 
						expires = 1 * 1000 * 60 * 60 * 24; 
		 
						var expires_date = new Date(today.getTime() + (expires)); 
						 
						// Set cookie 
						document.cookie = "layer" + "=" + escape("1") + ";expires=" + expires_date.toGMTString() + "; path=/";
				}
	}
	*/
	
	update();
}

/* Track event with Google Analytics */
function trck_old(val, keyword) {
	
	if (val == "/external/Kelkoo") {
		//trans(1, "K01", "Kelkoo", 1.02);
		//pageTracker._trackPageview(val + '/' + keyword);
		if(current_category_id > 0) {
			//pageTracker._trackPageview('/payAd/Klick/Kategori/Kelkoo/' + current_categoryname);
		}
		//pageTracker._trackPageview('/payAd/Klick/Kelkoo/' + keyword);
		//update();
		//return true;
	} else if(val == '/external/Pricerunner') {
		//trans(3, "P01", "Pricerunner", 1.02);
		//pageTracker._trackPageview(val + '/' + keyword);
		if(current_category_id > 0) {
			//pageTracker._trackPageview('/payAd/Klick/Kategori/Pricerunner/' + current_categoryname);
		}
		//pageTracker._trackPageview('/payAd/Klick/Pricerunner/' + keyword);
		//update();
		//return true;
	} else if(val == "/external/Adsense") {
		//trans(2, "A01", "Adsense", 0.70);
		//return true;
	}else{
	
		//pageTracker._trackPageview(val);
	}
	
	if(parent_category_id == 1 || parent_category_id == 2) {
		
		// Check if layer exists 
		if ($("bottomLayer") && $("topLayer")) { 
				var top = 0; 
				 
				obj = $("checkHeight"); 
				 
				while (obj) { 
						top += obj.offsetTop; 
						 
						obj = obj.offsetParent; 
				} 
				// check if cookies are enabled 
		   		document.cookie="testcookie" 
				cookieEnabled=(document.cookie.indexOf("testcookie")!=-1); 
				// Check if cookie exists 
				var nameEQ = "layer="; 
				var ca = document.cookie.split(';'); 
				for(var i=0;i < ca.length;i++) { 
						var c = ca[i]; 
						while (c.charAt(0)==' ') c = c.substring(1,c.length); 
						if (c.indexOf(nameEQ) == 0) var layer = c.substring(nameEQ.length,c.length); 
				} 
				
				if (cookieEnabled && layer != 1) { 
						 
						var plus = false; 
						 
						// Some offset haxxing if you dont have fullscreen etc.  
						// If toplayer is heigher than current viewheight we have to do some more digging 
						 
						var layerheight = 740; 
						 
						if(layerheight >= document.viewport.getHeight()) { 
								 
								// Check if toplayer + scrolloffset is lower than total height of webpage then just put it at the top of your screen 
								if((layerheight+document.viewport.getScrollOffsets().top) <= document.viewport.getHeight()) { 
										 
										var topvalue = document.viewport.getScrollOffsets().top + "px"; 
										var topmargin = 0; 
										 
								}else{ 
										 
										// Else put it at the bottom of the page 
										var topmargin = (layerheight+document.viewport.getScrollOffsets().top)-document.viewport.getHeight(); 
										var topvalue = document.viewport.getScrollOffsets().top + "px"; 
										 
										// Check so div doesnt get put outside the screen 
										if((document.viewport.getScrollOffsets().top - topmargin) < 0) { 
												topmargin = 0;   
										} 
								} 
								 
						}else{ 
								// Else just put it centered on the screen 
								var topvalue = "50%"; 
								var topmargin = Math.round(layerheight / 2) - document.viewport.getScrollOffsets().top; 
								 
								if(topmargin < 0) { 
										topmargin = topmargin * -1; 
										plus = true; 
								} 
						} 
						 
						// Display layer 
						$("bottomLayer").setStyle({ display: "block", width: document.viewport.getWidth() + 'px' }); 
						$("topLayer").setStyle({ display: "block", top: topvalue, marginTop: (plus == false ? '-' : '') + topmargin + 'px', width: "710px" }); 
						$("topLayer").setStyle({ left: '50%', marginLeft: '-' + Math.round($("topLayer").offsetWidth / 2) + 'px' }); 
						 
						// Set site height on layer 
						$("bottomLayer").setStyle({ height: top + "px" }); 
						 
						// Set content 
						$("contentLayer").update('<iframe border="0" frameborder="0" src="/inc/ads_layer_google.php?category=' + current_category_id + '" scroll="no" scrolling="no" width="700" height="700"></iframe>'); 
						 
						// Get current time 
						var today = new Date(); 
						today.setTime( today.getTime() ); 
						 
						expires = 1 * 1000 * 60 * 60 * 24; 
		 
						var expires_date = new Date(today.getTime() + (expires)); 
						 
						// Set cookie 
						document.cookie = "layer" + "=" + escape("1") + ";expires=" + expires_date.toGMTString() + "; path=/";
				} 
		} 
		 
		// If close link exists 
		if ($("closeLayer")) { 
				// Observe link for click 
				$("closeLayer").observe("click", function() { 
						// Hide layers when clicking 
					$("bottomLayer").setStyle({ display: "none" }); 
						$("topLayer").setStyle({ display: "none" }); 
			}); 
		}
	}
	
	update();
}

/* Add transaction to Google Analytics */
function trans(id, sku, name, price) {
	pageTracker._addTrans(
		keywords.join(" "),         				// Order ID
		"",                            				// Affiliation
		price,                                    	// Total
		"",                                     	// Tax
		"",                                        	// Shipping
		"",                                			// City
		"",                               			// State
		""                                       	// Country
	);
	
	pageTracker._addItem(
		keywords.join(" "),                        	// Item Number
		sku,	                                   	// SKU
		name,                                  		// Product Name 
		name,                             			// Category
		price,                                    	// Price
		"1"                                         // Quantity
	);
	
	pageTracker._trackTrans();
}

function update() {
	if (document.getElementById('rightframe')) {
		if (document.getElementById('rightframe').contentDocument)
			document.getElementById('rightframe').contentDocument.location.reload(true);
		else
			parent.frames['rightframe'].window.location.reload();
	}
	if (document.getElementById('rightframe2')) {
		if (document.getElementById('rightframe2').contentDocument)
			document.getElementById('rightframe2').contentDocument.location.reload(true);
		else
			parent.frames['rightframe2'].window.location.reload();
	}
	
	if (document.getElementById('topframe')) {
		if (document.getElementById('topframe').contentDocument)
			document.getElementById('topframe').contentDocument.location.reload(true);
		else
			parent.frames['topframe'].window.location.reload();
	}
}

/* Toggle more options in searchbox */
function toggleMore(selectBox) {
	var form = $('classifieds');

	es = $F(form['e']).split(",");
	
	new Ajax.Updater('more', '/include/ajax/get.php?page=searchbox%2fSearchBoxClassifiedsMore%2etpl',
		{
			method: 'get',
			parameters:
			{
				c: $F(form['c']),
				e0: es[0],
				e1: es[1],
				e2: es[2],
				e3: es[3],
				e4: es[4],
				e5: es[5]
			}
		}
	);
	
	if (selectBox) {
		if ($F(form['c']) == 9) {
			$('more').show();
			$('moreArrow').src = '/img/searchbox/arrowUp.gif';
		}		
	} else {
		$('more').toggle();	
		$('moreArrow').src = $('moreArrow').src.include('arrowUp.gif') ? '/img/searchbox/arrowDown.gif' : '/img/searchbox/arrowUp.gif';
	}
}

/* Toggle more options in housing searchbox */
function toggleMoreHousing() {
	var form = $('housing');

	new Ajax.Updater('moreHousing', '/include/ajax/get.php?page=searchbox%2fSearchBoxHousingMore%2etpl',
		{
			method: 'get',
			parameters:
			{
				amax: $F('_arealivingMax'),
				amin: $F('_arealivingMin'),
				nr: $F('_nrooms')
			}
		}
	);
	
		$('moreHousing').toggle();	
		$('moreArrow').src = $('moreArrow').src.include('arrowUp.gif') ? '/img/searchbox/arrowDown.gif' : '/img/searchbox/arrowUp.gif';
		$('_arealivingMax').disable();
		$('_arealivingMin').disable();
		$('_nrooms').disable();
}


/* Create extra seatch query for price etc */
function estring(val, pos) {
	var form = $('classifieds');
	var str = new Array(6);
	
	if (IsNumeric(val)) {
		tmp = $F(form['e']).split(",");
		for (i=0; i<tmp.length; i++)
			str[i] = tmp[i];
		
		str[pos] = val;
		
		$(form['e']).value = str.join(",");
	}
}

function IsNumeric(sText) {
	var ValidChars = "0123456789.";
	var IsNumber=true;
	var Char;
	
	
	for (i = 0; i < sText.length && IsNumber == true; i++) 
	  { 
	  Char = sText.charAt(i); 
	  if (ValidChars.indexOf(Char) == -1) 
		 {
		 IsNumber = false;
		 }
	  }
	return IsNumber;
}

swapCountries = function(obj) {
	
	var value = obj.options[obj.selectedIndex].value;
	
	if(value == 50 || value == 1301 || value == 1302 || value == 1304 || value == 1305 || value == 1306 || value == 1307 || value == 1308 || value == 1309 || value == 1310 || value == 1311 || value == 1303 || value == 1312 || value == 1313 || value == 1314 || value == 1315 || value == 1316 || value == 1317) {
		$('select-lan').setStyle({ display: 'none' });
		$('select-lan').disabled = 'disabled';
		$('select-countries').disabled = '';
		$('select-countries').setStyle({ display: 'block' });
		$('img').disabled = 'disabled';
		$('n').disabled = 'disabled';
	}else{
		$('select-lan').setStyle({ display: 'block' });
		$('select-lan').disabled = '';
		$('select-countries').disabled = 'disabled';
		$('select-countries').setStyle({ display: 'none' });
		$('img').disabled = '';
		$('n').disabled = '';
	}
	
}

refreshKelkoo = function(seo, keyword) {
	new Ajax.Updater('moreHousing', '/include/ajax/get.php?page=searchbox%2fSearchBoxHousingMore%2etpl',
		{
			method: 'get',
			parameters:
			{
				amax: $F('_arealivingMax'),
				amin: $F('_arealivingMin'),
				nr: $F('_nrooms')
			}
		}
	);
}

send203TrackData = function() {
	new Ajax.Request('/203trackviews.php', {
		asynchronous: false,
		parameters: { code: 'a7aeaa75ab8df5b1b98537ef3b0bb796c9e94cae' }
	});
}