var requiredFlashVersion = '9.0.115';

function detectRequiredFlash() {
	var playerVersion = deconcept.SWFObjectUtil.getPlayerVersion();
	var major = playerVersion.major;
	var rev = playerVersion.rev;
	
	if(major > 9)
		return true;
		
	if(major == 9)
		if(rev >= 115)
			return true;
	
	return false;
}

function getQueryVariable(variable) {
  var query = window.location.search.substring(1);
  var vars = query.split("&");
  for (var i=0;i<vars.length;i++) {
    var pair = vars[i].split("=");
    if (pair[0] == variable) {
      return pair[1];
    }
  }
}

function getQueryString() {
  var query = window.location.search.substring(1);
  return query;
}

/**
*  Cookie Functions
*/
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	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) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function checkCookiesEnabled() {

	var hasbroPreschoolTestCookie = 'HPCOOKIE';
	var cookiesEnabled = false;
	
	createCookie(hasbroPreschoolTestCookie, '123456');
	
	if( readCookie(hasbroPreschoolTestCookie) ) {
		eraseCookie(hasbroPreschoolTestCookie);
		cookiesEnabled = true;
	}
	
	return cookiesEnabled;
		
}

function isFirefoxOnPC() {
	var pc = false;
	var firefox = false;
	var returnValue = '0';
	
	if ( !checkIt('compatible') ) firefox = true;
	if ( checkIt('win') ) pc = true;
	
	if( firefox && pc )
		returnValue = '1';
	else
		returnValue = '0';
	
	return returnValue;
	
}

function checkIt(string) {
	var detect = navigator.userAgent.toLowerCase();
	place = detect.indexOf(string) + 1;
	return place;
}


/**
 * Display legacy content.
 */
var appHeight = 600;
var bottomPadding = 0;
var leftPadding = 4;
var iFrameHeight;

function growApp(h) {
	var app = document.getElementById('application');
	var newHeight = eval(h);
	if ( newHeight > appHeight) app.style.height = newHeight + 'px';
}

function shrinkApp() {
	var app = document.getElementById('application');
	app.style.height = appHeight + 'px';
}

function openOverlay(filename, parameters, x, y, w, h){
	var queryString = filename.replace(/^[^\?]+\??/,'');
	var loWrap = document.getElementById('legacy_overlay_wrapper');
	var ifrm = document.getElementById('legacy_iframe');
	var overlayTop = y + 1;
	var newHeight = eval(h + overlayTop);

	loWrap.style.display = 'block';
	loWrap.style.top = overlayTop + 'px';
	loWrap.style.left = eval(leftPadding + x) + 'px';
	
	ifrm.style.width = w + 'px';	
	iFrameHeight = h + 'px';
	ifrm.style.height = iFrameHeight;
	if(queryString == '')
		filename += '?' + parameters;
	else
		filename += '&' + parameters;

	ifrm.src = filename;
	
}

function refreshOverlay(){
	frames['legacy_iframe'].document.open();
	frames['legacy_iframe'].document.close();
	frames['legacy_iframe'].location.href = 'about:blank';
	var ifrm = document.getElementById('legacy_iframe');
	ifrm.src = ifrm.src;
}

function hideOverlay(){
	if( isFirefoxOnPC() == '1' )
		document.getElementById('legacy_iframe').style.height = "1px";
	else
		document.getElementById('legacy_iframe').style.height = "0px";
}

function showOverlay(){
	document.getElementById('legacy_iframe').style.height = iFrameHeight;
}

function closeOverlay(){
	var ifrm = document.getElementById('legacy_iframe');
	ifrm.src = ifrm.src;
	frames['legacy_iframe'].document.body.innerHTML = ""; 
	frames['legacy_iframe'].location.href = 'about:blank';
	frames['legacy_iframe'].document.open();
	frames['legacy_iframe'].document.close();
	document.getElementById('legacy_overlay_wrapper').style.display = 'none';
}

function testTrackAlert(trackObject) {
	if(console) {
		var properties = '';
		for(var property in trackObject)
			properties += '\n' + property + ': ' + trackObject[property];
		console.log("trackEvent.event\n" + properties);
	}
}

function getBasePath() {
	base = document.location.href;
	lastAnchorSolidusIndex = base.lastIndexOf('#/');
	lastSolidusIndex = base.lastIndexOf('/') + 1;
	base = lastAnchorSolidusIndex != -1 ? base.substring(0, lastAnchorSolidusIndex) : base.substring(0, lastSolidusIndex);
	return base;
}