var vscatDebug = false;


if (vscatDebug == true)
	alert("loading js...");

// CONFIG : vscatMode : set AdServing mode:
// Possible values: 
//    - "OAS"
//    - "VSCT"
// Any new ad serving mode suported have to :
//    - create a new vscatInitXXX(var vscAgenceJsonObj) function, configuring ad serving tag.
//    - edit vscAgenceTagInit() function by adding new entry in the switch/case
//    - edit OAS_AD() function by adding ad call related instructions.
var vscatMode = "VSCT";
isModeOAS = vscatMode;
/////////////////////

// VSCT tag specific object; 
// Instanciated in Init function
// Used for ad calls
var Vsca; 
/////////////////////

// Test purpose: please reuse this var by filling blanks
/*
var vscAgenceJsonObj = {
		config: {
			pageId : "",
			siteId : "monId", // should not be overriden
			zoneId : "promovols" //VSC-FRfr-AGENCE/promovols
			vsca_version : "1.3" // should not be overriden
			OP : "OP=airfrance"
		},
		configOAS: {
			listpos : "",
			sitepage : "",
			siteId : "monId", // should not be overriden
		},
		param: {
			fromCity : "",
			toCity : "",
			fromDate : "",
			toDate : "",
			fin : ""
		}
	};
*/

function vscatInitOAS(_vscAgenceJsonObj)
{
	if (!_vscAgenceJsonObj)
		return;
	//configuration
	OAS_url ='http://medias.voyages-sncf.com/RealMedia/ads/';
	OAS_listpos = "";
	if (_vscAgenceJsonObj.configOAS && _vscAgenceJsonObj.configOAS.listpos)
		OAS_listpos = _vscAgenceJsonObj.configOAS.listpos;

	OAS_query = '?';
	//OAS_query = '?Depart=O&Arrivee=DNYC&ddep=26/03/2009&ddar=29/03/2009&fin=1';
	if (_vscAgenceJsonObj.param)
	{
		if (_vscAgenceJsonObj.param.fromCity)
			OAS_query += "Depart=o" + _vscAgenceJsonObj.param.fromCity+"&";
		if (_vscAgenceJsonObj.param.toCity)
			OAS_query += "Arrivee=d" + _vscAgenceJsonObj.param.toCity+"&";	
		if (_vscAgenceJsonObj.param.fromDate)
			OAS_query += "ddep=" + _vscAgenceJsonObj.param.fromDate+"&";
		if (_vscAgenceJsonObj.param.toDate)
			OAS_query += "ddar=" + _vscAgenceJsonObj.param.toDate+"&";
		if (_vscAgenceJsonObj.param.fin)
			OAS_query += "fin=" + _vscAgenceJsonObj.param.fin;	
	}
	OAS_sitepage = "VSC-FRfr-AGENCE/";
	if (_vscAgenceJsonObj.configOAS && _vscAgenceJsonObj.configOAS.sitepage)
		OAS_sitepage += _vscAgenceJsonObj.configOAS.sitepage;
	//end of configuration

	if (vscatDebug == true)
		alert("DEBUG:\n"+ OAS_query + "\n" + OAS_sitepage + "\n" + OAS_listpos);
	
	OAS_version = 10;
	OAS_rn = '001234567890'; OAS_rns = '1234567890';
	OAS_rn = new String (Math.random()); OAS_rns = OAS_rn.substring (2, 11);
	/* //defined later in this file
	function OAS_NORMAL(pos) { 
		document.write('<A HREF="' + OAS_url + 'click_nx.ads/' + OAS_sitepage + '/1' + OAS_rns + '@' + OAS_listpos + '!' + pos + OAS_query + '" TARGET=_top>');
		document.write('<IMG SRC="' + OAS_url + 'adstream_nx.ads/' + OAS_sitepage + '/1' + OAS_rns + '@' + OAS_listpos + '!' + pos + OAS_query + '" BORDER=0 ALT="Click!"></A>');
	}*/
	
	OAS_version = 11;
	if (navigator.userAgent.indexOf('Mozilla/3') != -1)
		OAS_version = 10;
	if (OAS_version >= 11)
		document.write('<SC'+'RIPT LANGUAGE=JavaScript1.1 SRC="' + OAS_url + 'adstream_mjx.ads/' + OAS_sitepage + '/1' + OAS_rns + '@' + OAS_listpos + OAS_query + '"><\/SCRIPT>');
		
	document.write('');
	/* //defined at the end of this file
	function OAS_AD(pos) {
	if (OAS_version >= 11 && typeof(OAS_RICH)!='undefined')
		OAS_RICH(pos);
	else
		OAS_NORMAL(pos);
	}*/
}

// specific OAS function : should not be used directly !
function OAS_NORMAL(pos) 
{ 
if (vscatDebug == true)
	alert("DEBUG: calling OAS on " + pos);
	
	document.write('<A HREF="' + OAS_url + 'click_nx.ads/' + OAS_sitepage + '/1' + OAS_rns + '@' + OAS_listpos + '!' + pos + OAS_query + '" TARGET=_top>');
	document.write('<IMG SRC="' + OAS_url + 'adstream_nx.ads/' + OAS_sitepage + '/1' + OAS_rns + '@' + OAS_listpos + '!' + pos + OAS_query + '" BORDER=0 ALT="Click!"></A>');
}
var vsca_pageTag = null;
function vscatInitVSCT(_vscAgenceJsonObj)
{
	if (!_vscAgenceJsonObj)
		return;
		
	var vsc_siteID = "agence";
	var vsc_version = "1.3";
	if (_vscAgenceJsonObj.config && _vscAgenceJsonObj.config.siteId)
		vsc_siteID = _vscAgenceJsonObj.config.siteId;
	if (_vscAgenceJsonObj.config && _vscAgenceJsonObj.config.vsca_version)
		vsc_version = _vscAgenceJsonObj.config.vsca_version;
		
	vsca_pageTag = {
		config: {
			pageId : (_vscAgenceJsonObj.config && _vscAgenceJsonObj.config.pageId) ? _vscAgenceJsonObj.config.pageId : '',
			siteId : vsc_siteID,
			vsca_version : vsc_version,
			zoneId : (_vscAgenceJsonObj.config && _vscAgenceJsonObj.config.zoneId) ? _vscAgenceJsonObj.config.zoneId : '',
			OP : (_vscAgenceJsonObj.config && _vscAgenceJsonObj.config.OP) ? _vscAgenceJsonObj.config.OP : '',
			contexte: {
				produits :{
					agence :
					[{
						origine :{
							code_aeroport: (_vscAgenceJsonObj.param && _vscAgenceJsonObj.param.fromCity) ? _vscAgenceJsonObj.param.fromCity : ''
						}, 
						destination :{
							code_aeroport: (_vscAgenceJsonObj.param && _vscAgenceJsonObj.param.toCity) ? _vscAgenceJsonObj.param.toCity : ''
						},
						datedep : (_vscAgenceJsonObj.param && _vscAgenceJsonObj.param.fromDate) ? _vscAgenceJsonObj.param.fromDate : '',
						dateret : (_vscAgenceJsonObj.param && _vscAgenceJsonObj.param.toDate) ? _vscAgenceJsonObj.param.toDate : ''
					}]			
				}
			}
		}
	};
	if (vscatDebug == true)
		alert ("DEBUG: pageID :" + vsca_pageTag.config.pageId + "\nsiteID : " + vsca_pageTag.config.siteId+ "\nvsca_version: " + vsca_pageTag.config.vsca_version);
	document.write(unescape("%3Cscript id='vscascript' src='"+(("https:"==document.location.protocol)?"https://a248.e.akamai.net/f/1848/17512/99d/voyagessncf.download.akamai.com/17512/analytics/"+vsca_pageTag.config.vsca_version+"/":"http://analytics.voyages-sncf.com/"+vsca_pageTag.config.vsca_version+"/")+"min/"+vsca_pageTag.config.siteId+"/vsca.js' type='text/javascript'%3E%3C/script%3E"));
	
}

function vscatLoadVSCT()
{
	if (vscatDebug == true) {
		if (vsca_pageTag == null)
			alert("null");
		else
			alert("loading vscapagetag");
	}
	Vsca = new Vsca(vsca_pageTag);
}

function vscAgenceTagLoad()
{
	switch (vscatMode.toUpperCase()) {
		case "OAS":
			// nothing;
			break;
		case "VSCT":
		default:
			vscatLoadVSCT();
			break;
	}
}


function vscAgenceTagInit(_vscAgenceJsonObj)
{
	switch (vscatMode.toUpperCase()) {
		case "OAS":
			vscatInitOAS(_vscAgenceJsonObj);
			break;
		case "VSCT":
		default:
			vscatInitVSCT(_vscAgenceJsonObj);
			break;
	}
}

function OAS_AD(pos)
{
	switch (pos.toUpperCase())
	{
		case "DCOL1":
			pos = "Frame1"; break;
		case "DCOL2":
			pos = "Frame2"; break;
		case "DCOL3":
			pos = "Position2"; break;
		case "DCOL4":
			pos = "Position3"; break;
		case "BCOL1":
			pos = "TopRight"; break;
		case "ACOL1":
			if (url.indexOf("Map") >= 0) 
				{ return false; } 
			else
				{ pos = "Position2"; }
			break;
	}
	
	switch (vscatMode) {
		case "OAS":
			if (OAS_version >= 11 && typeof(OAS_RICH)!='undefined')
				OAS_RICH(pos);
			else
				OAS_NORMAL(pos);	
			break;
		case "VSCT":
		default:
			/*if (!Vsca)
				if (vsca_pageTag != null)
					Vsca = new Vsca(vsca_pageTag);*/
			if (Vsca)
			{
				if (vscatDebug == true)
					alert("DEBUG: calling VSCT ad...");
				if (typeof Vsca.ad.printad == 'function') { Vsca.ad.printad(); }
			}
			break;
	}
}