function setOffsetAndSubmit(offset, form, offsetName) {
	var submitForm = "pagingForm";
	if ( form != null && form != undefined ) {
		submitForm = form;
	}
	var offsetFormName = "pagingOffset";
	if ( offsetName != null && offsetName != undefined ) {
		offsetFormName = offsetName;
	}
	document.forms[submitForm].elements[offsetFormName].value = offset;
	document.forms[submitForm].submit();
}

// Open the wizard
function wizard(locale) {
	var wizardWin = window.open("/test_wizard/index.jsp?locale="+locale,"wizardWin","height=710,width=760,scrollbars=1,resizable=1");  
	wizardWin.focus();
}

function submitSearch() {
	var mForm = ( document.forms['Search'] != undefined ) ? document.forms['Search'] : document.forms['AdvancedSearch'];
	if ( mForm != undefined ) {
		var elem = mForm.elements['search'];
		var elem2=  mForm.elements['preciseString'];
		if (elem != undefined && elem2 != undefined) {
			var elemValue = new String(elem.value);
			var elem2Value = new String(elem2.value);
			if (elemValue.length < 2 && elem2Value.length < 2) {
				//nothing to search
				return false;
			}
		}
		return true;
	}
}

var changeLanguage = function(aForm, from, to) {
	var actionUrl = window.location.href;
	actionUrl = actionUrl.replace("_" + from + ".", ".");
	// alert(actionUrl);
	aForm.action = actionUrl;
	aForm.submit();
}

var showFlash=function(id, userLocale) {
	userLocale = (userLocale != undefined) ? userLocale : "en";
	if (/teaser1/.test(id)) {
		openFlash(userLocale+'/ts1/index.html',880,710);
	} else if (/teaser2/.test(id)) {
		openFlash(userLocale+'/ts2/index.html',890,634);
	} else {
		log(id + " not found");
	}
};

var openFlash=function(url,width,height) {
	var wnd = window.open("http://webcast.ec.europa.eu/stat/media/"+url,"eutv","width="+width+",height="+height+",resizable=no,scrollbars=no");
	wnd.focus();
};

//*** caller methods
var changedClip = true;
var updateStreamInfos=function(cid, lang) {
	if (document.getElementById('basicPlayerInfo') && changedClip) {
		var url ="/eutv/portal/player/base/updater.html?id="+cid+"&language="+lang+"&dummy=" + new Date().getTime();
		var cAjax = new Ajax.Request(url, {method:'get', asynchronous: true, onComplete: updateMetaInfo,  onException: onError} );
	} else {
		changedClip = true;
		// if (window.console) window.console.log('no div container for stream info update available');
	}
	if (window.console) window.console.log('updateStreamInfos : cid ' + cid + ' lang ' + lang); 
};
var updateMetaInfo=function(theRequest) {
	var xmldoc = theRequest.responseXML;
	var jsVars = xmldoc.getElementsByTagName('var');
	var jsArr = new Array();
	for (var i=0; i< jsVars.length; i++) {
		var jsName = new String(jsVars[i].getAttribute("name"));
		var jsValue = null;
		if ( jsVars[i].getAttribute("value") != null ) {
			jsValue= new String(jsVars[i].getAttribute("value"));
		} else {
			jsValue= new String(jsVars[i].childNodes[0].nodeValue);
		}	
		jsArr[jsName] = (jsValue != null) ? jsValue : "";
	}
	var  basicPlayerTitle, basicPlayerDesc, basicPlayerInfo, basicPlayerDownloads, basicPlayerLocale, basicUserLocale; 
	basicPlayerTitle = basicPlayerDesc = basicPlayerInfo = basicPlayerDownloads = basicPlayerLocale = "";
	if (jsArr["directorate"] != undefined) {
		basicPlayerInfo = jsArr["directorate"];
	}
	if (jsArr["title"] != undefined) {
		basicPlayerTitle = jsArr["title"];
	}		
	if (jsArr["description"] != undefined) {
		basicPlayerDesc = jsArr["description"];
	}
	if (jsArr["resources"] != undefined) {
		basicPlayerDownloads = "<span class=\"bold\">Downloads</span><ul>";
		var resArr = jsArr["resources"].split("||");
		for (var i=0; i<resArr.length;i++) {
			var res = resArr[i].split("|");
			basicPlayerDownloads += "<li><a href=\"" + res[0] + "\" onclick=\"window.open(this.href);return false;\">"
								+ res[1] + "</a></li>";
		}
		basicPlayerDownloads += "</ul><p class=\"clearAll\">&#160;</p>";
	}
	if (jsArr["languageList"] != undefined) {
		basicPlayerLocale += "<select name=\"plLoc\" onchange=\"changePlayerLanguage(this.value);\">";
		var langArr = jsArr["languageList"].split(",");
		for (var i=0; i<langArr.length;i++) {
			var loc = langArr[i].split(":");
			var sel = ( jsArr["uLocale"] != undefined && loc[0] == jsArr["uLocale"]) ? "selected=\"selected\"" : "" ; 
			basicPlayerLocale += "<option value=\"" + loc[0] + "\" " + sel + ">" + loc[1] + "</option>";
		}
		basicPlayerLocale += "</select>";
	}
	if (jsArr["dlLocale"] != undefined && jsArr["dlLink"] != undefined) {
		var loc = jsArr["dlLocale"].split(":");
		basicPlayerDownloads += "<span class=\"bold\">Download video</span> ( "+ loc[1] + " ) ";
		basicPlayerDownloads += "<a href=" + jsArr["dlLink"] +"&amp;type=40&amp;loc="+loc[0] +">"
								+ "<img class=\"icon\" src=\"/stat/eutv/images/qt_icond.gif\" alt=\"mpeg4\" title=\"mpeg4\"/></a>";
	}
	
	document.getElementById("basicPlayerInfo").innerHTML = basicPlayerInfo;
	document.getElementById("basicPlayerTitle").innerHTML = basicPlayerTitle;
	document.getElementById("basicPlayerDesc").innerHTML = basicPlayerDesc;
	document.getElementById("basicPlayerDownloads").innerHTML = basicPlayerDownloads;
	document.getElementById("basicPlayerLocale").innerHTML = basicPlayerLocale;
};
	
var onError=function(obj, e) {
	if (window.console)  window.console.log("ajax error: "+ e.name + " : " +  e.message + " ; " + e.description );
};

var updateLiveInfos=function() {
	var url ="/eutv/portal/player/base/liveInfo.html?dummy=" + new Date().getTime();
	var cAjax = new Ajax.Request(url, {method:'get', asynchronous: true, onComplete: updatePage,  onException: onError} );
};

var updatePage=function(theRequest) {
	var xmldoc = theRequest.responseXML;
	var jsVars = xmldoc.getElementsByTagName('var');
	var jsArr = new Array();
	for (var i=0; i< jsVars.length; i++) {
		var jsName = new String(jsVars[i].getAttribute("name"));
		var jsValue= new String(jsVars[i].getAttribute("value"));			
		jsArr[jsName] = jsValue;
	}
	if (jsArr["live"] != undefined && jsArr["live"].length > 0 && !basicLiveStream) {
		window.location.reload();
	} else if (jsArr["live"] == undefined && basicLiveStream) {
		window.location.reload();
	}
};

var updateLanguages = function(lang) {
	var langSelect = document.getElementById('basicPlayerLocale');
	if (langSelect != undefined) {
		var sOptions = langSelect.options;
		if (sOptions != undefined) {
			for (var i=0;i<sOptions.length;i++) {
				if(lang == sOptions[i].value) {
					langSelect.selectedIndex = i;
					break;
				}
			}
		}
	}
};

// callbacks
var changePlayerLanguage = function(lang) {
	// loadPlaylistForLanguage
	var movie = getFlashMovieObject("showIt");
	if (movie != undefined && movie != null) {
		try{
			changedClip = false;
			movie.loadPlaylistForLanguageByCallback(lang);
		}
		catch(e){
			if (window.console) window.console.log("changePlayerLanguage: " + e);
		}
	}
};

var getFlashMovieObject = function(name) {
	if (window.document[name]){
		return window.document[name];
	} else if (document.getElementById && document.getElementById(name)) {
      	return document.getElementById(name);
	} else if (document.all && document.all[name]) {
     	return document.all[name];
	} else {
	 return null;
	}
};
