var strUrlHeaderNormalSwf='/crsc/images/sifr_gillsanslight.swf';
var strUrlHeaderSpecial1Swf='/imgs/syst/sifr/sifr_gillsans_std.swf';


function executeDefaultSifrReplacements(){
	var arrElements;
	var objArguments;

	arrElements=$$('h2.far-title')
	objArguments={
		src: strUrlHeaderNormalSwf,
		color: '#005AFF'
	}
	mooSifr(arrElements, objArguments);

	arrElements=$$('h3.far-title')
	objArguments={
		src: strUrlHeaderSpecial1Swf,
		css: 'color:#005AFF;letter-spacing:0.5'
	}
	mooSifr(arrElements, objArguments);

	return true;
}

function executeDefaultSifrReplacements2008(){
	var arrElements;
	var objArguments;
	var strColorHex=arrFarColors[strColorGroupCurrent+'_base'];
	var strCss='color:'+strColorHex+';'

	//to be improved by using the page elements
	arrElements=$$('.far-content h1')
	objArguments={
		src: strUrlHeaderNormalSwf,
		paddingtop: '-5px',
		css: strCss
	}
	mooSifr(arrElements, objArguments);
/*
	arrElements=$$('h3.far-title')
	objArguments={
		src: strUrlHeaderSpecial1Swf,
		css: 'color:#005AFF;letter-spacing:0.5'
	}
	mooSifr(arrElements, objArguments);
*/
	return true;
}

function executeSifrReplacements(arrSifr){

}

function executeAdditionalSifrReplacements(){
	/* philips sector / 10 year overview only */
	var arrElements;
	var objArguments;

	arrElements=$$('h3.far-sector-title')
	objArguments={
		src: strUrlHeaderNormalSwf,
		color: '#666666'
	}
	mooSifr(arrElements, objArguments);

	arrElements=$$('h3.far-ten-year-overview-title, h6')
	objArguments={
		src: strUrlHeaderNormalSwf,
		color: '#005AFF'
	}
	mooSifr(arrElements, objArguments);

	return true;
}

function mooSifr(arrElements, objArguments){
	/*
	Sifr like replacements using mootools - a bit less fancy but soo much more simplified
	-- requires sifr 3.0 like swf files --
	*/
	var strCss=($defined(objArguments.css))?objArguments.css:'';	
	var strColor=($defined(objArguments.color))?objArguments.color:'';
	var strUrlSwf=($defined(objArguments.src))?objArguments.src:'';

	arrElements.each(function(el){
		var strContent = el.get('html');
		var dimension = el.getSize();
		var styles = el.getStyles('text-align',
														 'padding-top',
														 'padding-bottom',
														 'padding-left',
														 'padding-right',
														 'font-size',
														 'color',
														 'padding-left',
														 'line-height');
		/*
		var intWidth = dimension['x'].toInt() - ( styles['padding-left'].toInt() + styles['padding-right'].toInt() );
		var intHeight = dimension['y'].toInt() - ( styles['padding-top'].toInt() + styles['padding-bottom'].toInt() );
		*/

		var intWidth = dimension['x'].toInt();
		var intHeight = dimension['y'].toInt();
		var strPaddingLeft=($defined(objArguments.paddingleft))?objArguments.paddingleft:styles['padding-left'];
		var strPaddingTop=($defined(objArguments.paddingtop))?objArguments.paddingtop:styles['padding-top'];
		var strFontSize=styles['font-size'];
		//strPaddingLeft='';
		//strPaddingTop='';

		var objFlashProperties={
			content: strContent,
			src: strUrlSwf,
			width: intWidth,
			height: intHeight,
			color: strColor,
			paddingleft: strPaddingLeft,
			paddingtop: strPaddingTop,
			fontsize: strFontSize
		}
		if($defined(objArguments.css)){
			objFlashProperties={
				content: strContent,
				src: strUrlSwf,
				width: intWidth,
				height: intHeight,
				css: strCss,
				paddingleft: strPaddingLeft,
				paddingtop: strPaddingTop,
				fontsize: strFontSize
			}			
		}		
		
		var bolTemp=injectSifrElement(el, objFlashProperties)


	})
}

function injectSifrElement(elTarget, objFlashProperties){
	/*
	Injects a sifr-type flash object into an element
	*/
	var objArguments=generateSifrFlashArgumentObject(objFlashProperties);
	objArguments.container=elTarget;
	insertFlashHtml(elTarget, objArguments);
	//var obj = new Swiff(strUrlSwf, objArguments);
	return true;
}

function writeSifrElement(objFlashProperties){
	/*
	Creates a sifr-type flash object by writing it to the output stream
	*/
	var objArguments=generateSifrFlashArgumentObject(objFlashProperties);
	writeFlashHtml(objArguments);
}

function retrieveSifrElementHtml(objFlashProperties){
	/*
	Creates a sifr-type flash object and returns the html
	*/
	var objArguments=generateSifrFlashArgumentObject(objFlashProperties);
	return createFlashHtml(objArguments);
}

function generateSifrFlashArgumentObject(objFlashProperties){
	var strContent=($defined(objFlashProperties.content))?objFlashProperties.content:'';
	var strCss=($defined(objFlashProperties.css))?'.sIFR-root {'+objFlashProperties.css+'}':'';
	if($defined(objFlashProperties.color)){
		strCss='.sIFR-root {color:'+objFlashProperties.color+'; display:block;}';
	}
	var strUrlSwf=($defined(objFlashProperties.src))?objFlashProperties.src:'';
	var intWidth=($defined(objFlashProperties.width))?objFlashProperties.width:'';
	var intHeight=($defined(objFlashProperties.height))?objFlashProperties.height:'';
	var strPaddingLeft=($defined(objFlashProperties.paddingleft))?objFlashProperties.paddingleft:'';
	var strPaddingTop=($defined(objFlashProperties.paddingtop))?objFlashProperties.paddingtop:'';
	var strFontSize=($defined(objFlashProperties.fontsize))?objFlashProperties.fontsize:'';
	var intThickness=($defined(objFlashProperties.thickness))?objFlashProperties.thickness:'';
	var intSharpness=($defined(objFlashProperties.sharpness))?objFlashProperties.sharpness:'';
	var intKerning=($defined(objFlashProperties.kerning))?objFlashProperties.kerning:'';

	var objArguments={
		src: strUrlSwf,
		width: intWidth,
		height: intHeight,
		params: {
			wmode: 'transparent'
		},
		vars: {
			content:strContent,
			width:intWidth,
			height:intHeight,
			css:strCss,
			fitexactly:'',
			tunewidth:'',
			tuneheight:0,
			offsetleft:strPaddingLeft,
			offsettop:strPaddingTop,
			thickness:intThickness,
			sharpness:intSharpness,
			kerning:intKerning,
			gridfittype:'pixel',
			zoomsupport:false,
			flashfilters:'',
			opacity:100,
			blendmode:'',
			size:strFontSize,
			zoom:100,
			selectable:true,
			lines:1,
			fixhover:true,
			antialiastype:'',
			preventwrap:false,
			link:'',
			target:''
		}	
	}
	
	return objArguments;
}