// QVC Layer Invocation Logic, Ver. 0.2
// 
// Tested OS'/browsers:
// 	Windows XP, IE 6
// 	Windows XP, IE 7
// 	Windows XP, FF 2.0.0.12
// 	Windows XP, Opera 9.25
//	OS X Tiger, FF 2.0.0.12
//	OS X Tiger, Safari 3.0.4 


function qvc_checkJsIsLoaded()
{
	return true;
}

function qvc_layerInit()
{
	if(!qvc_li_enabled) return false;
	if(!qvc_checkCookiesEnabled()) return false;
	if(qvc_li_layerContentUri=="") return false;
	if(!qvc_checkTimePeriod()) return false;
	if(qvc_cookieCheckActionDone()) return false;
	qvc_checkFrequencyCapCookieTimedOut();
	if(qvc_li_layerOnloadToDom || (qvc_li_displayTimeout<1)) qvc_loadLayer();
	else setTimeout('qvc_loadLayer()', qvc_li_displayTimeout*1000);
	if(qvc_li_displayTimeout>0) setTimeout('qvc_displayLayer()', qvc_li_displayTimeout*1000);
	else qvc_displayLayer();
}

function qvc_checkTimePeriod()
{
	var dateObj = new Date();
	var currentTimeMs = dateObj.getTime();
	if(qvc_li_dateStart && qvc_li_dateStart>0) {
		if(currentTimeMs<qvc_li_dateStart) {
			return false;
		}
	}
	if(qvc_li_dateEnd && qvc_li_dateEnd>0) {
		if(currentTimeMs>qvc_li_dateEnd) {
			return false;
		}
	}
	return true;
}

function qvc_loadLayer()
{
	if(qvc_li_LayerHtmlSnippet && (qvc_li_LayerHtmlSnippet!=""))
		document.write(qvc_li_LayerHtmlSnippet);
}

function qvc_displayLayer()
{
	var layersSeen = qvc_readCookie(qvc_li_cookieNameFcCount);
	if((qvc_li_frequencyCap>0) && layersSeen && (layersSeen>=qvc_li_frequencyCap)) return false;
	if(document.getElementById('li_'+qvc_li_noCachePrefix+'_layer')) {
		document.getElementById('li_'+qvc_li_noCachePrefix+'_layer').style.display='inline';
		qvc_setFrequencyCapCookie();
	}
}

function qvc_layerClose()
{
	if(document.getElementById('li_'+qvc_li_noCachePrefix+'_layer')) 
		document.getElementById('li_'+qvc_li_noCachePrefix+'_layer').style.display='none';
}

function qvc_setFrequencyCapCookie()
{
	if(!qvc_cookieAlreadySet(qvc_li_cookieNameFcEndtime)) {
		var dateObj = new Date();
		qvc_setCookieValue(qvc_li_cookieNameFcEndtime, dateObj.getTime()+(qvc_li_frequencyCapInterval*1000));
	}
	var currentFcCookieValue 	= qvc_readCookie(qvc_li_cookieNameFcCount);
	var newFcCookieValue 		= (!currentFcCookieValue || (currentFcCookieValue==0)) ? 1 : parseInt(currentFcCookieValue)+1;
	qvc_setCookieValue(qvc_li_cookieNameFcCount, newFcCookieValue);
}

function qvc_checkFrequencyCapCookieTimedOut()
{
	var currentFcCookieEndtime = qvc_readCookie(qvc_li_cookieNameFcEndtime);
	var dateObj = new Date();
	if((currentFcCookieEndtime!=0) && dateObj.getTime()>currentFcCookieEndtime) {
		qvc_setCookieValue(qvc_li_cookieNameFcEndtime, dateObj.getTime()+(qvc_li_frequencyCapInterval*1000));
		qvc_setCookieValue(qvc_li_cookieNameFcCount, 0);
	}
}

function qvc_cookieCheckActionDone()
{
	var cookieActionValue = qvc_readCookie(qvc_li_cookieNameActionDone);
	if(cookieActionValue==1) {
		return true;
	} else {
		return false;
	}
}

function qvc_setCookieValue(cookieName, value)
{
	var a = new Date();
	a = new Date(a.getTime() +1000*3600*24*365);
	document.cookie = cookieName+'='+value+';domain='+qvc_li_cookieDomain+'; expires='+a.toGMTString()+';'; 
}

function qvc_readCookie(cookieName)
{
	if(!qvc_cookieAlreadySet(cookieName)) return false;
	return qvc_getCookieValue(cookieName);
}

function qvc_getCookieValue(cookieName)
{
	var results = document.cookie.match('(^|;) ?'+cookieName+'=([^;]*)(;|$)');
	if(results) {
		return unescape(results[2]);
	} else {
		return null;
	}
}

function qvc_cookieAlreadySet(cookieName)
{
	var cookie = document.cookie;
	if(!cookie || cookie=="") return false;
	if(document.cookie.indexOf(cookieName)!=-1) return true;
	else return false;
}

function qvc_checkCookiesEnabled()
{
	if(navigator.cookieEnabled==true)
		return true;
	else
		return false;
}