var globalStatus = "";

var domainStatus = "";

function processAd()
{
	loc = window.location.href;
	
	matches = loc.match(/#([0-9DLR]+)/);
	if(matches && matches[1])
	{
		var ad = document.getElementById("ad-" + matches[1]);
		if(ad)
		{
			ad.style.background = rgb;
			
		}
	}
}

function showStatusMsg()
{
	var msg = "";
	
	if(globalStatus)
	{
		msg += globalStatus + "<br/>";
	}
	if(domainStatus)
	{
		msg += domainStatus + "<br/>";
	}
	if(msg)
	{
		var statusContainer = document.getElementById("logo_topnav");
		var status  = document.createElement('div');
		status.setAttribute('id', 'statusMessage');
		
		status.innerHTML = msg;
		statusContainer.appendChild(status);
	}
}

function pageLoaders()
{
	processAd();
	showStatusMsg();
}

var rgb = "#ff0";
window.onload = pageLoaders;


var showHideToggle = 0;
function showHide(pDir, pdId, linkId, cats)
{
	var pObj = document.getElementById(pDir);
	var pChilds = pObj.getElementsByTagName("span");
	var lnObj = document.getElementById(linkId);
	
	var hideClass = "hidden";
	var showClass= "shown";
	
	for(var i = 0; i < pChilds.length; i++)
	{
		var cObj = pChilds[i];
		if(cObj.className == hideClass)
		{
			cObj.className = showClass;
		} else if(cObj.className == showClass)
		{
			cObj.className = hideClass;
		}
	}
	
	var url = "<a href=\"#\" onClick=\"showHide('pDir', '" + pdId + "', '" + linkId + "', '" + cats + "'); return false;\">";
	if(showHideToggle)
	{
		url += "Show";
		showHideToggle = 0;
	} else
	{
		url += "Hide";
		showHideToggle = 1;
	}
		
	url += " (" + cats + ") More Categories</a>";
	
	lnObj.innerHTML = url;	
}

/* Phone Auto Tab */
function autotab(original,destination)
{
    original.value = original.value.replace(/[^0-9A-Z]/, '');
	if (original.getAttribute&&original.value.length==original.getAttribute("maxlength"))
	{ 
		destination.focus()
	}
}

function showLike()
{
	var content = "<iframe src=\"http://www.facebook.com/widgets/like.php?href=" + window.location + "&amp;layout=button_count\"" +
	        "scrolling=\"no\" frameborder=\"0\"" +
	        "style=\"border:none; width:300px; height:30px\"></iframe>";
	
	document.write(content);
}

function autoSearch(query)
{
	var searchField = document.getElementById("query");
	if(searchField)
	{
		searchField.value = query;
		doSearch();
	}
	
}

function highlightContent(value, chars, tinyW, tagStart, tagStop)
{
	var pre = customSubstr(value, chars, tinyW);
	var suf = value.substr(strlen(pre), strlen(value));
	
	var output = tagStart + pre + tagStop + suf;
	
	return output;
}

function customSubstr(strVal, strLen, minWord)
{
	var sub = "";
    var len = 0;
	var spl = strVal.split(" ");
	
	for(var i = 0; i < spl.length; i++)
	{
		var word = spl[i];
		
		var part = ((sub != "") ? " " : "") + word;
		sub += part;
		len += strlen(part);
		
		if (strlen(word) > minWord && strlen(sub) >= strLen)
        {
            break;
        }
	}
	
	return sub;
}

function strlen(strVar)
{
	return(strVar.length)
}


var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			   string: navigator.userAgent,
			   subString: "iPhone",
			   identity: "iPhone/iPod"
	    },
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};




function mobileDetect()
{
	loc = window.location.href;

	matches = loc.match(/(mobile=false)/);
	if(matches && matches[1])
	{
		useDesktop();
	}

	BrowserDetect.init();
	if (BrowserDetect.OS.match(/iphone/i))
	{
		var usecomp = isDesktop();

		if(!usecomp)
		{
			window.location = "http://m.tampa4sale.com";

		}
	}
}

function isDesktop()
{

	var cookies = new CookieHandler();
	if(cookies)
	{
		var mobileToggle = cookies.get("useDesktop");

		if(mobileToggle)
		{

			return true;
		}
	}
	
	return false;
}

function useDesktop()
{

	var cookies = new CookieHandler();
	if(cookies)
	{
		cookies.set("useDesktop", true);
	}
}

function useMobile()
{
	var cookies = new CookieHandler();
	if(cookies)
	{
		cookies.set("useDesktop", false);
		window.location = "http://m.tampa4sale.com";
	}
}

function showMobileToggle()
{

	var isDesk = isDesktop();
	if(isDesk)
	{

		document.write(" | <a href='javascript:void(0);' onClick='useMobile();'>Switch to Mobile Version</a>");
	}
}



function QueryStringReader () {
	this.valid = false;
	this.args = new Object();
	this.keys = new Array();
	
	if (location.search.length > 1) {
		str = location.search;
		var query = str.charAt(0) == '?' ? str.substring(1) : str;
		if (location.search.indexOf("=") != -1) {
			var fields = query.split('&');
			for (var f = 0; f < fields.length; f++) {
				var field = fields[f].split('=');
				this.args[unescape(field[0].replace(/\+/g, ' '))] = unescape(field[1].replace(/\+/g, ' '));
				this.keys[this.keys.length] = unescape(field[0].replace(/\+/g, ' '));
			}
			this.valid = true;
		} else if (location.search.indexOf("&") != -1) {
			this.valid = true;
			this.vals = location.search.substr(1).split("&");
		}
	}
}

QueryStringReader.prototype.get = function (str) {

	if (!this.valid) {
		return false;
	}
	if (this.keys.length==0) {
		return false;
	}
	for (var i = 0; i < this.keys.length; i++) {
		if (this.keys[i]==str) {
			return this.args[str];
		}
	}
	return false;
}



function CookieHandler () {
	this.valid = false;
	this.val = null;
	this.path = "/";
	this.domain = "";
}

new CookieHandler();

CookieHandler.prototype.get = function (key)
{
	this.getv(key);
	return this.valid ? this.val : false;
}

CookieHandler.prototype.set = function (key,val)
{

	var today = new Date()
	expires = new Date(today.getTime() + 365*24*60*60*1000);
	document.cookie = key + "=" + escape(val) + "; expires=" + expires.toGMTString() + 
		(this.path=="" ? "" : "; path=" + this.path) + 
		(this.domain=="" ? "" : "; domain=" + this.domain);
}

CookieHandler.prototype.del = function (key,path,domain)
{
	document.cookie= key + "=" +
		((path) ? "; path=" + path : this.path) +
		((domain) ? "; domain=" + domain : this.domain) +
		"; expires=Thu 01-Jan-70 00:00:01 GMT";
}


CookieHandler.prototype.getv = function (key)
{ 

	var endstr;
	var arg = key + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i=0, j=0;
	
	while (i < clen)
	{
		j = i + alen;
		if (document.cookie.substring(i, j) == arg)
		{
			endstr = document.cookie.indexOf(";", j);
			if (endstr == -1)
			{
				endstr = document.cookie.length;
			}
			this.val = unescape(document.cookie.substring(j, endstr));
			this.valid = true;
			return true;
		}
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0)
		{
			break;
		}
	}
	this.valid = false;
	return false;
}

mobileDetect();

function rollUp()
{
	if(!overAd)
	{
		if(!inTween)
		{
			inTween = true;
			$("#penAdContent").slideUp('slow', function(){
				inTween = false;
				});
			
		}
	}
}

function doRand(min, max)
{
	if (max<min){
		min = max
	}

	max++;

	var rng = Math.floor(min + (max-min)*Math.random())
	return rng;
}

function mkOXUrl(prefix, banId, campId, zId)
{
	var uri = "http://adh1.jax.usa4sale.net/openx/www/delivery/";
	uri += prefix + "?";
	var attrs = new Array("bannerid="+banId, "campaignid="+campId, "zoneid="+zId, "cb="+doRand(100000000, 999999999));
	uri += attrs.join("&amp;");
	return uri;
}

function mkOXLink(prefix, banId, zId)
{
	var uri = "http://adh1.jax.usa4sale.net/openx/www/delivery/";
	uri += prefix + "?";
	var attrs = new Array("oaparams=2", "bannerid="+banId, "zoneid="+zId, "cb="+doRand(100000000, 999999999), "oadest="+ox_penUrl);
	uri += attrs.join("__");
	return uri;
}

function doImpression()
{
	var uri = mkOXUrl("lg.php", ox_penTextId, ox_penCampaign, ox_penAdZone);
	var cont = "<img src='"+uri+"' width='0' height='0' alt='' style='width: 0px; height: 0px;' />";
	$("#ToggleSlide").append(cont);
}

// iPad/iPhone Menu Clicker
$(document).ready(function(){

	$("ul.dropdown li").clicker();
	
	
	if($("#ToggleSlide").length)
	{
		$("#ToggleSlide").live("mouseover", function(){
			overAd = true;
			if(!inTween)
			{
				inTween = true;
				$("#penAdContent").slideDown('slow', function(){
					inTween = false;
					});
				doImpression();
			}
		});
	
		$("#ToggleSlide").live("mouseout", function(){
			overAd = false;
			setTimeout('rollUp()', 300);
		});
	
		$("#penAdContent").live("mouseover", function(){
			overAd = true;
		});
	
		$("#penAdContent").live("mouseout", function(){
			overAd = false;
			setTimeout('rollUp()', 300);
		});
		
		$("#ToggleSlide").attr("href", mkOXLink("ck.php", ox_penCompactId, ox_penAdZone));
		$("#ToggleSlideBanner").attr("href", mkOXLink("ck.php", ox_penExpandId, ox_penAdZone));
	}

});

$.fn.clicker = function() {

	$(this).click(function(){

	});

}


function doTrack(pageView)
{
	try {
	if(pageTracker)
	{
		pageTracker._trackPageview(pageView);
	}
	} catch(err) {}
}


var overAd = false;
var inTween = false;

