function ObjectPosition(obj) {
    var curleft = 0;
      var curtop = 0;
      if (obj.offsetParent) {
            do {
                  curleft += obj.offsetLeft;
                  curtop += obj.offsetTop;
            } while (obj = obj.offsetParent);
      }
      return [curleft,curtop];
}

var ss_item = null;
var ss_timer = null;

function show_share(el,pos_left)
{
	if (ss_timer != null || ss_item != null) hide_block();
	var list = el.parentNode.childNodes;
	var div = null;
	for (var i = 0; i < list.length; i++) {
		if (list[i].nodeName == 'DIV' && list[i].className == 'addthis_share_list') {
			div = list[i];
			break;
		}
	}
	if (div == null) return;
	
	var pos = ObjectPosition(el);
	div.style.left = pos[0]-90+(pos_left && pos_left == true ? -200 : 0)+'px';
	div.style.top = pos[1]+23+'px';
	div.style.display = "block";
	ss_item = el;
}

function hide_share()
{
	if (ss_timer != null) window.clearTimeout(ss_timer);
	ss_timer = window.setTimeout('hide_block();', 300);
}

function clear_hide()
{
	if (ss_timer != null) window.clearTimeout(ss_timer);
	ss_timer = null;
}

function hide_block()
{
	if (ss_timer != null) {
		window.clearTimeout(ss_timer);
		ss_timer = null;
	}
	if (ss_item == null) return;
	
	var list = ss_item.parentNode.childNodes;
	var div = null;
	for (var i = 0; i < list.length; i++) {
		if (list[i].nodeName == 'DIV' && list[i].className == 'addthis_share_list') {
			div = list[i];
			break;
		}
	}
	if (div == null) return;
	
	div.style.display = "none";
	ss_item = null;
}

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"
		}
	]

};
BrowserDetect.init();

function check_browser()
{
	var status = false;
	status = (status || (BrowserDetect.browser == 'Opera'));
	status = (status || (BrowserDetect.browser == 'Chrome' && BrowserDetect.version >= 2));
	status = (status || (BrowserDetect.browser == 'Explorer' && BrowserDetect.version > 7));
	status = (status || (navigator.userAgent.indexOf('AOL') != -1));
	return status;
}

function setNC_CodeBrowser()
{
	if (typeof an_browser == 'undefined') return;
	for (var i in an_browser) {
		var an = an_browser[i];
		setNC_Code(an, parseAnHref(an));
		an.className += ' cl_show';
	}
}

function setNC_CodeBrowser2()
{
	var L = document.getElementsByTagName('A'), an;
	for (var i = 0, len = L.length; i < len; i++) {
		if ((an = L[i]).className != 'cl_btn_c') continue;
		setNC_Code(an, parseAnHref(an));
		an.className += ' cl_show';
	}
}

var snc_first = true;
function initPC()
{
	var dt = parseLocation(window.location.href);
	if (dt == false) return;
	ShowNC_Code(dt);
	if (check_browser()) {
		setNC_CodeBrowser2();
	}
	snc_first = false;
	dt.focus();
}

function parseLocation(str)
{
	var start = str.indexOf('?i=');
	if (start < 0) return false;
	start += '?i='.length;
	var end = str.indexOf('&',start);
	var cp_an = end < 0 ? str.substring(start) : str.substring(start,end);
	var param = document.getElementById('cp_an'+cp_an);
	start = str.indexOf('&d=');
	if (start < 0) return false;
	start += '&d='.length;
	end = str.indexOf('&',start);
	var d = end < 0 ? str.substring(start) : str.substring(start,end);
	if (!check_DT(d)) return false;
	return param;
}

function check_DT(d)
{
	var dt = new Date();
	if (dt.getTime() - d > 90000) return false;
	return true;
}

function goLink(an)
{
	var cc = '';
	eval(an.parentNode.nextSibling.innerHTML);
	if (cc != '') {
		an.target = "_blank";
		an.href = window.location.href+'?i='+an.id.substring(4)+'&d='+date.getTime();
	}
	return true;
}

var mwindow = null;
function ShowNC_Code(an)
{
	try {
	var dt = parseAnHref(an);
	var wparam = "width=1000,height=600,menubar=1,resizable=1,toolbar=1,scrollbars=1,status=1,titlebar=1,addressbar=1,address=1,location=1";
	if (window.name != dt.wname) {
		window.name = dt.pname;
		if (an.getAttribute('sb') == 'true') {
			an.target = '';
			wparam = "width=400,height=350,menubar=1,resizable=1,toolbar=1,scrollbars=1,status=1,titlebar=1,addressbar=1,address=1,location=1";
		}
		mwindow = window.open(dt.location+'?i='+dt.ident+'&d='+dt.time, dt.wname, wparam, true);
		if (!mwindow )
			alert("Please Enable Pop-up Windows to Copy and Paste Coupons OR Take a Note of this Coupon Code:\ "+dt.cd);
		return true;
	} else {
		if (an.getAttribute('sb') == 'true') br_show(an);
		else setNC_Code(an, dt);
		
		if (!snc_first) window.open(an, dt.pname, '', true);
//		window.setTimeout('window.focus();', 1000);
	}
	} catch (e) { }
	return false;
}

function parseAnHref(str)
{
	var data = { wname: '', pname: '', ident: '', time: '', location: '', cd: '' };
	var text = String(str);
	var start = text.indexOf('coupons-codes/') + ('coupons-codes/').length;
	var end = text.indexOf('/', start);
	var wname = (text.substring(start, end)).replace(/-/g,'_');
	wname = wname.replace('.','_');
	data.wname = 'coupons_codes_' + wname;
	data.pname = 'parent_coupons_codes_' + wname;
	data.ident = str.id.substring(5);
	data.time = (new Date()).getTime();
	end = window.location.href.indexOf('?');
	data.location = end < 0 ? window.location.href : window.location.href.substring(0,end);
	start = text.indexOf(',,');
	if (start >= 0) { data.cd = check_CD(text.substring(start+2, text.length-1)); }
	return data;
}

function check_CD(cd)
{
	return parseChr(cd);
}

function parseChr(sc) {
var ln = sc.length; var chr = '';
for (var i = 0; i < ln; ++i) chr += ''+String.fromCharCode(parseInt(sc.substring(i++,i+1),16));
return chr;
}

function setNC_Code(an, dt)
{
	var td = an.parentNode.parentNode;
	if (td.nodeName == 'TD') {
		td.onclick = '';
		td.style.cursor = 'auto';
	}
	an.innerHTML = '<i>Code:</i>';
	an.style.textDecoration = 'none';
	an.className += ' cl_show';
	if (!an.nextSibling || an.nextSibling.nodeName != 'B') {
		var sp = document.createElement('b');
		sp.innerHTML = dt.cd;
		an.parentNode.appendChild(sp);
	}
}

(function(){
var l=this,o=l.q=function(A,B){return o.fn.init(A,B);};
o.fn=o.prototype={
	init:function(A,B){
		var i;
		this.EB = null;
		if ((typeof A == 'string') && (i = document.getElementById(A))) { this.EB = i; }
		if (typeof A == 'object') { this.EB = A; }
		return this;
	},
	EB: null
};

o.extend=o.fn.extend=function(){
	var J=arguments[0],I=arguments.length,H=1;
	if (!J) return;
	if (typeof J === 'boolean' && J) J = o.fn;
	for (; H<I; H++) {
		var G = arguments[H];
		for (var F in G) {var L = G[F]; J[F] = L;}
	}
};

o.fn.extend(true,{
	ge:function(id){return document.getElementById(id);},
	posLeft:function(P) {
		var x = 0;
		while (P) {
			x += P.offsetLeft;
			P = P.offsetParent;
		}
		return x;
	},
	posTop:function(P) {
		var x = 0;
		while (P) {
			x += P.offsetTop;
			P = P.offsetParent;
		}
		return x;
	}
});

o.QS=o.prototype.QS={};
o.extend(o.QS,{
	E:null,
	set:function(){
		var L=o.fn.EB,D=document.createElement('div');
		D.className="hidden";
		D.id = 'sr_'+(new Date()).getTime()+Math.random();
		D.setAttribute('qT',null);
		D.setAttribute('qP',L.id);
		D.onmouseover = function(){o.QS.clearTimer(this);};
		D.onmouseout = function(){o.QS.setTimer(this);};
		
		L.setAttribute('qD',D.id);
		L.parentNode.appendChild(D);
		L.onkeyup=function(){o.QS.get(this);};
		L.onmouseover = function(){o.QS.clearTimer(o.fn.ge(this.getAttribute('qD')));};
		L.onmouseout = function(){o.QS.setTimer(o.fn.ge(this.getAttribute('qD')));};
	},
	get:function(pt){
		with (o.ajax) {
			if(xh == null)return;
			xh.abort();
			o.QS.E = pt;
			get('/search/gs/'+escape(pt.value)+'/',o.QS.show);
		}
	},
	show:function(data){
		var F=o.fn,Q=o.QS,L=Q.E;
		var D=F.ge(L.getAttribute('qD'));
		D.className = "hidden";
		Q.clearTimer(D);
		
		if (data === false || data.status != 'ok' || typeof data.list == 'undefined' || data.list == '') return;
		D.innerHTML = decodeURIComponent(data.list);
		with (D.style) {
			top = F.posTop(L)+parseInt(L.offsetHeight)+'px';
			left = F.posLeft(L)+'px';
		}
		D.className = "sr_list";
	},
	hide:function() {
		var F=o.fn,L=F.EB,D=F.ge(L.getAttribute('qD'));
		D.className = "hidden";
		D.setAttribute('qT',null);
	},
	clearTimer:function(D) {
		var T = D.getAttribute('qT');
		if (T != null) {
			window.clearTimeout(T);
			D.setAttribute('qT',null);
		}
	},
	setTimer:function(D) {
		D.setAttribute('qT',
			window.setTimeout(function(){q(D.getAttribute('qP')).QS.hide();},500));
	}
});

o.ajax = o.prototype.ajax = {};
o.extend(o.ajax, {
	xh:null,
	init:function() {
		var X = null;
		if (window.XMLHttpRequest) {
			X = new XMLHttpRequest();
			if (X.overrideMimeType) X.overrideMimeType('text/xml');
		} else if (window.ActiveXObject) {
			try {
				X = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
					X = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			}
		}
		this.xh = X;
	},
	get:function(U,F,OS) {
		var X = this.xh;
		if (X == null) return;
		OS = OS || true;
			
			
		if (U.indexOf('?') < 0) U += '?'; else U += '&';
		U += 'mr='+(new Date()).getTime();
		
		X.onreadystatechange = function() { o.ajax.PR(F); };
		X.open( "GET", U, OS );
		X.send( null );	
	},
	PR:function(F) {
		var X = this.xh;
		if (X.readyState == 4 && X.status == 200) {
			try {  var v = eval("("+X.responseText+")"); }
			catch (e) { v = false; }
			return F(v);
		}
	}
});
o.ajax.init();

})();

function br_show(an) {
	var dt = parseAnHref(an),
		sp = document.createElement('span');
	if (!dt.cd) return;
	sp.innerHTML = 'code: <b>'+dt.cd+'</b> ';
	an.parentNode.insertBefore(sp, an);
	an.onclick = null;
}