function addClass(eleObj,classVal,toggle){
		if(toggle==true){//if class is to be added
			if(!eleObj.className){//if the 'class' attribute does not exist
				eleObj.className = classVal;
			}else if(eleObj.className && eleObj.className.indexOf(classVal)== -1){//if the 'class' attribute does exist then add value to existing value
				eleObj.className+=' ' + classVal;
			}
		}else if(toggle==false){//if class is to be removed
			var newClassVal=eleObj.className.replace(classVal,'');//replace classVal with empty string and return the remaining class value
			eleObj.className=newClassVal;
		}
}
function getEleByClass(classVal,parentObj){
	if(parentObj){
		var eleArr = parentObj.getElementsByTagName('*');
	}else{
		var eleArr = document.getElementsByTagName('*');
	}
	
	//alert(matchedEles.length);
	var matchedEles = new Array();
	for(var i = 0; i < eleArr.length; i++){
		/*if(eleArr[i].className == classVal){*/
		if(eleArr[i].className.indexOf(classVal) != -1){
			matchedEles.push(eleArr[i]);	
		}
	}
	return matchedEles;
}
function ieEleHover(parentEle,childEle){
	if(!parentEle){
		return;
	}
	this.re_ie6 =/MSIE 6.0/;
	if(this.re_ie6.test(navigator.userAgent)){//test for IE6 browser
		
		var eleArr = parentEle.getElementsByTagName(childEle);
		for(var i in eleArr){
			eleArr[i].onmouseover = function(){
				addClass(this,'ieHover',true);
			}
			eleArr[i].onmouseout = function(){
				addClass(this,'ieHover',false);
			}
		}
	}
}
function curtain(){
	this.curtain = document.createElement('div');
	this.curtain.setAttribute("id","loadVeil");
	this.veilIsSet = false;

	this.setCurtain = function(){
		
		document.body.appendChild(this.curtain);
		this.veilIsSet = true;
		this.setPosition();
	}
	this.setPosition = function(){
		if(this.veilIsSet == true){

			this.curtain.style.height = Math.max(
	Math.max(document.body.scrollHeight, document.documentElement.scrollHeight),
	Math.max(document.body.offsetHeight, document.documentElement.offsetHeight),
	Math.max(document.body.clientHeight, document.documentElement.clientHeight)) + "px";
	this.curtain.style.width = Math.max(
	Math.max(document.body.scrollWidth, document.documentElement.scrollWidth),
	Math.max(document.body.offsetWidth, document.documentElement.offsetWidth),
	Math.max(document.body.clientWidth, document.documentElement.clientWidth)) + "px";
		}
	}
	this.removeCurtain=function(){
		document.body.removeChild(this.curtain);
		this.veilIsSet == false;
	}
}
function calendarHover(){
	currCell = null;
	currCellData = null;
	var calCells = getEleByClass(Array('active'),document.getElementById('calendar'));
	for(var i = 0; i < calCells.length; i++){
		if(document.getElementById('mainR')){
			calCells[i].onclick = function(){
				if(currCellData != null){
					currCell.appendChild(currCellData);
				}
				currCell = this;
				currCellData = getEleByClass(Array('cellData'),this)[0];
				document.getElementById('mainR').appendChild(currCellData);
				
			}
		}else{
			calCells[i].onmouseover = function(){
				
				var cellData = getEleByClass(Array('cellData'),this)[0];
					addClass(this,"showData",true);
					if(this.offsetLeft + (this.offsetWidth/2) < (cellData.offsetWidth/2)){
						cellData.style.left = 0;
					}else{
						cellData.style.left = -((cellData.offsetWidth/2) - (this.offsetWidth/2) ) + "px";	
					}
					cellData.style.top = -(cellData.offsetHeight) + "px";
			}
		}
		calCells[i].onmouseout = function(){

				addClass(this,"showData",false);

			
		}/**/
	}
}
function accordianNav(){
	var sideNav = document.getElementById('sideNav');
	navHdrs = getEleByClass(Array('topLevel'),sideNav);/* global */
	for(var i =0; i < navHdrs.length; i++){
		navHdrs[i].getElementsByTagName('a')[0].onclick = function(){
			//alert(this.firstChild);
			if(this.parentNode.className.indexOf('open') != -1){
				addClass(this.parentNode,"open",false);
			}else{
				addClass(this.parentNode,"open",true);
			}
			return false;
		}
	}
}
/* ##### Tickertape functions ##### */
function ticker(paramsArr){
	this.parentObj;
	this.classSib;
	this.tickTags;
	this.marginRight = 10;
	this.step = 5;
	this.currObj; /* current leading ticker obj */
	this.currIndex; /* leading ticker obj index */
	this.lastObj; /* current last ticker obj */
	this.startPos = 0; /* starting position of lead obj */
	this.tester;
	this.intervalId;
	for (var key in paramsArr) { this[key] = paramsArr[key]; };
	this.tickTags = this.parentObj.getElementsByTagName('li');
	for(i=0;i < this.tickTags.length; i++){
		this.tickTags[i].style.position = "absolute";
		this.tickTags[i].style.whiteSpace = "nowrap";
		if(i > 0){
			
			this.tickTags[i].style.left = this.tickTags[i - 1].offsetWidth + (this.tickTags[i - 1].offsetLeft + this.marginRight) + "px";
			if(i == (this.tickTags.length -1)){
				this.lastObj = this.tickTags[i];
			}
		}else{
			this.tickTags[i].style.left = this.startPos;
			this.currObj = this.tickTags[i];
			this.currIndex = i;
		}
	
		//this.tester += this.tickTags[i].offsetWidth+"<br />";
		this.tickTags[i].onmouseover = createMethodRef(this, "onMouseOver");
		this.tickTags[i].onmouseout = createMethodRef(this, "onMouseOut");

	}
	
	this.startTicker = function(){
		//for(var i in this.tickTags){
		for(var i = 0; i < this.tickTags.length; i++){
		//alert("i = " + i + " / " + this.tickTags[0].innerHTML);
			
			if((this.currObj.offsetLeft + this.currObj.offsetWidth)  <= 0){
				var tempAdjust = (i == 0)? 0 : 100;
				this.currObj.style.left = (this.lastObj.offsetLeft + this.lastObj.offsetWidth + this.marginRight) + "px";
				
				this.lastObj = this.currObj;
				//this.currIndex = (this.currIndex == this.tickTags[i].length)? 0 : ++this.currIndex;
				if(this.currIndex == this.tickTags.length - 1){
					this.currIndex = 0;
				}else{
					++this.currIndex;	
				}
				this.currObj = this.tickTags[this.currIndex];
				//document.getElementById('debug').innerHTML = "currobj = " + this.currObj.innerHTML + "lastObj = " + this.lastObj.innerHTML + "this.currIndex = " + this.currIndex + "this.tickTags[i].length = " + this.tickTags[i].length + "this.tickTags[0] = " + this.tickTags[0].offsetWidth + "this.tickTags[23] = " + this.tickTags[23].offsetWidth;
			}
			
			this.tickTags[i].style.left = (this.tickTags[i].offsetLeft - this.step) + "px";
		}
	}
	this.intervalId = setInterval (createMethodRef(this, 'startTicker'), 100);
}
ticker.prototype.onMouseOver = function(e){
	clearTimeout (this.intervalId);			
}
ticker.prototype.onMouseOut = function(e){
	this.intervalId = setInterval (createMethodRef(this, 'startTicker'), 100);			
}
function createMethodRef(object, methodName) {
    return function () {
        object[methodName].apply(object,arguments);
    };
}
/* ##### end tickertape functions ##### */
function switchPodcasts(){
	if(!document.getElementById('tabCasts')){
		return false;	
	}
	var tabs = document.getElementById('tabCasts').getElementsByTagName('a');
	for(var i = 0; i < tabs.length; i++){
		tabs[i].onclick = function(){
			var tabsLi = document.getElementById('tabCasts').getElementsByTagName('li');
			for(var i = 0; i < tabsLi.length; i++){
				if(tabsLi[i] == this.parentNode){
					addClass(tabsLi[i],'current',true);
				}else{
					addClass(tabsLi[i],'current',false);
				}
			}
			document.getElementById('vidIframe').src = "http://www.youtube.com/embed/" + this.href.substring(this.href.lastIndexOf('#') + 1) + "?wmode=transparent";
			return false;
		}
	}
}
function launchPlayer(vidFile,slideFile,vid_title,demo){
	var playerWrap = document.getElementById('playerWrap');
	var veil = new curtain();
	 veil.setCurtain();
	var playerHdr = document.getElementById('playerWrap').getElementsByTagName('h2')[0];
	playerHdr.innerHTML = vid_title;
	//var siteURL = "http://fiscalreps-wp.limitless.co.uk/wp-content/themes/fiscal_reps";
	var siteURL = "http://www.fiscalreps.com/wp-content/themes/fiscal_reps";
	if(demo == false){
		jwplayer('mediaPlayer').setup({
			'flashplayer': siteURL + '/jwplayer/player.swf',
			'file': 'live/fiscal_videos/' + vidFile,
			'streamer': 'rtmp://fiscalreps.cdn.limitless.co.uk/ondemand/mp4',
			'id': 'playerID',
			'controlbar': 'bottom',
			'width': '960',
			'height': '500',
			'image': siteURL + '/video_slides/training_vid1/Slide01.png',
			'plugins': {
			   'slidesync-1': {
				   'position': 'right',
				   'size': '500',
				   'xmlPath': siteURL + '/video_slides/' + slideFile
			   },
			   'slidescroller-1': {
				   'position': 'bottom',
				   'size': '150',
				   'highlightColor': '#eeee00',
				   'xmlPath': siteURL + '/video_slides/' + slideFile
			   }
			}
  		});
		/*jwplayer('mediaPlayer').setup({
		'flashplayer': 'http://www.cuden.co.uk/fiscal_wp/wordpress/wp-content/themes/fiscal_reps/js/jwplayer/player.swf',
		'file': 'http://www.cuden.co.uk/fiscal_wp/wordpress/wp-content/uploads/file_uploads/training/' + vidFile,
		'id': 'playerID',
		'width': '960',
		'height': '450',
		'controlbar': 'bottom',
		'image': 'http://www.cuden.co.uk/fiscal_wp/wordpress/wp-content/themes/fiscal_reps/images/bg_sidenav_hd.jpg',
		'plugins': {
		   'slidesync-1': {
			   'position': 'right',
			   'size': '350',
			   'xmlPath': 'http://www.cuden.co.uk/fiscal_wp/wordpress/wp-content/uploads/file_uploads/training/' + slideFile
		   },
		   'slidescroller-1': {
			   'position': 'bottom',
			   'size': '150',
			   'highlightColor': '#eeee00',
			   'xmlPath': 'http://www.cuden.co.uk/fiscal_wp/wordpress/wp-content/uploads/file_uploads/training/' + slideFile
		   }
		}
	  });*/
	
		
	}else{
		jwplayer('mediaPlayer').setup({
			'flashplayer': 'http://www.fiscalreps.com/wp-content/themes/fiscal_reps/jwplayer/player.swf',
			'file': 'live/fiscal_videos/' + vidFile,
			'streamer': 'rtmp://fiscalreps.cdn.limitless.co.uk/ondemand/mp4',
			'id': 'playerID',
			'width': '362',
			'height': '272',
			'controlbar': 'bottom',
			'image': 'http://www.fiscalreps.com/wp-content/themes/fiscal_reps/images/bg_sidenav_hd.jpg',
			
	  	});
		 
	}
	posPlayer = function(){
		//alert('onready k'+ typeof evt);
		//addClass(playerWrap,"showEle",true);
		playerWrap.style.left = (playerWrap.parentNode.offsetWidth/2) - (playerWrap.offsetWidth/2) + "px";
	}/**/
    jwplayer('mediaPlayer').onReady(posPlayer);
	addClass(playerWrap,"showEle",true);
	//playerWrap.style.left = (playerWrap.parentNode.offsetWidth/2) - (playerWrap.offsetWidth/2) + "px";
	window.scrollTo(0,playerWrap.offsetTop);
	 var btnClose = getEleByClass(Array('btnClose'),playerWrap)[0];
	 
	 btnClose.onclick = function(){
		addClass(document.getElementById("playerWrap"),'showEle',false);
		veil.removeCurtain();
		return false;
	}
	
	//return false;
}
/*function posPlayer(evt){
		alert('onready k'+ typeof evt);
		//addClass(playerWrap,"showEle",true);
		playerWrap.style.left = (playerWrap.parentNode.offsetWidth/2) - (playerWrap.offsetWidth/2) + "px";
	}*/
function setCaseStudy(){
	var titleArr = getEleByClass(Array('casestudytitle'),document.getElementById("mainCol"));
	
	for(var i =0; i < titleArr.length; i++){
		var callTo = document.createElement('span');
		callTo.innerHTML = "view case study &gt;";
		titleArr[i].appendChild(callTo);
		titleArr[i].onclick = function(){
			var nextNode = this;
			do{
				nextNode = nextNode.nextSibling
			}while (nextNode && nextNode.nodeType != 1 );
			
		}
	}
}
function launchBigPic(){
	if(!document.getElementById("wrapBigPic")){
		return false;
	}
	bpSwfArr = Array('BP-GlobalComplianceEN.swf','BP-GlobalProgramsEN.swf','BP-GlobalTaxesEN.swf','BP-GlobalRegulationsEN.swf','BP-EUPremiumTaxEN.swf');
	bpTitleArr = Array("Global Compliance","Global Programs","Global Taxes","Global Regulations","EU Premium Taxes");
	bpLinkArr = getEleByClass(Array('linkBigPic'),document.getElementById("homePage"));
	
	var btnClose = getEleByClass(Array('btnClose'),document.getElementById("wrapBigPic"))[0];
	var veil = new curtain();
	btnClose.onclick = function(){
		addClass(document.getElementById("wrapBigPic"),'showEle',false);
		veil.removeCurtain();
		return false;
	}
	
	for(var i = 0; i < bpLinkArr.length; i++){
	
		bpLinkArr[i].onclick = function(){
			veil.setCurtain();
			for(var i = 0; i < bpLinkArr.length; i++){
				if(bpLinkArr[i] == this){
					//var sitePath = 'http://www.cuden.co.uk/fiscal_wp/wordpress/wp-content/themes/fiscal_reps/';
					//var sitePath = 'http://fiscalreps-wp.limitless.co.uk/wp-content/themes/fiscal_reps/';
					var sitePath = '/wp-content/themes/fiscal_reps/';
					var bpHdrEle = document.getElementById("wrapBigPic").getElementsByTagName('h2');
					swfSrc = bpSwfArr[i];
					//alert('array'+bpTitleArr[i]);
					bpHdrEle[0].innerHTML = bpTitleArr[i];
					document.getElementById("bpSwfObj").innerHTML = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="960" height="560" align="middle"><param name="movie" value="'+sitePath+swfSrc+'" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><param name="wmode" value="window" /><param name="scale" value="showall" /><param name="menu" value="true" /><param name="devicefont" value="false" /><param name="salign" value="" /><param name="allowScriptAccess" value="sameDomain" /><embed width="960" height="560" src="'+sitePath+swfSrc+'" quality="high" bgcolor="#ffffff" width="window" scale="showall"></object>';
					addClass(document.getElementById("wrapBigPic"),'showEle',true);
					window.scrollTo(0,document.getElementById("wrapBigPic").offsetTop);
					return false;
				}
				
			}
		}
	}
}
function emailLinks(){
	eLinksArr = getEleByClass(Array('eLink'));
	for(i = 0; i < eLinksArr.length; i++){
		var linkHref = eLinksArr[i].href 
		eLinksArr[i].href = "mailto:" + eLinksArr[i].href + "@fiscalreps.com"
	}
}

window.onload = function(){
	switchPodcasts();
	//setCaseStudy();
	ieEleHover(document.getElementById('mainNav'),'li');
	calendarHover();
	accordianNav();
	launchBigPic();
	if(document.getElementById("tickerBar")){
		var listTicker = document.getElementById("tickerBar");
		var tickerTape = new ticker({parentObj:listTicker,tickTags:"li"})
	}
	setQandASubmit();
	
}/**/
