	function getPos(el,sProp) {
		var iPos = 0;
			if (el.offsetParent)
				while (el.offsetParent) {
					iPos+=el["offset" + sProp];
					el = el.offsetParent;
				}
			else{
				if ((sProp == "Left") && (el.x)){
					iPos += el.x;
				}
				else{
					iPos += el.y;
				}
			}
		return iPos;
	}

	function getAllSheets() {
	  if( !window.ScriptEngine && navigator.__ice_version ) { 
	  	return document.styleSheets; 
	  }
	  if( document.getElementsByTagName ) { 
	  	var Lt = document.getElementsByTagName('link'), St = document.getElementsByTagName('style');
	  } 
	  else if( document.styleSheets && document.all ) { 
	  	var Lt = document.all.tags('LINK'), St = document.all.tags('STYLE');
	  } 
	  else { 
	  	return []; 
	  } 
	  
	  for( var x = 0, os = []; Lt[x]; x++ ) {
	    var rel = Lt[x].rel ? Lt[x].rel : Lt[x].getAttribute ? Lt[x].getAttribute('rel') : '';
	    if( typeof( rel ) == 'string' && rel.toLowerCase().indexOf('style') + 1 ) { 
	    	os[os.length] = Lt[x]; 
	    }
	  } 
	  for( var x = 0; St[x]; x++ ) { 
	  	os[os.length] = St[x]; 
	  } 
	  return os;
	}

	
	
	function setActiveStyleSheet(title) {
	   var i, a, main;
	   for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
		 if(a.getAttribute("rel").indexOf("style") != -1
			&& a.getAttribute("title")) {
		   a.disabled = true;
		   if(a.getAttribute("title") == title) a.disabled = false;
		 }
	   }
	}
	
	/*function setActiveStyleSheet(title) {
		for( var x = 0, ss = getAllSheets(); ss[x]; x++ ) {
		    //for each stylesheet ...
		    if( ss[x].title ) {
		      //disable the stylesheet if it is switchable
		      ss[x].disabled = true;
		    }
		    for( var y = 0; y < arguments.length; y++ ) {
		      //check each title ...
		      if( ss[x].title == title ) {
			//and re-enable the stylesheet if it has a chosen title
			ss[x].disabled = false;
		      }
		    }
		  }
		  if( !ss.length ) { alert( 'Your browser cannot change stylesheets' ); }
	}*/
	

	function getActiveStyleSheet() {
		var i, a;
		 for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
		  if(a.getAttribute("rel").indexOf("style") != -1
		  && a.getAttribute("title")
		  && !a.disabled) return a.getAttribute("title");
		  }
		  return null;
	}
	
	
	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 
	  	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 findURL(url){
		c = url.lastIndexOf("/Welsh/");
		cc = url.lastIndexOf("/Cymraeg/");
		c_ind = url.lastIndexOf("dysguars4c");
		l = url.length;
		pos1 = url.lastIndexOf("/");
		str2 = url.substr(pos1+1);
		
		if ((c < 0) && (cc<0)){
			str1 = url.substr(0,pos1+1);
			if (c_ind<0){
				return (str1 + "Welsh/" + str2);
			}
			else{
				return (str1 + "Cymraeg/" + str2);
			}
			// return (c);
		}
		else{
			if (c>0){
				pos2 = url.indexOf("/Welsh/");
			}
			if(cc>0){
				pos2 = url.indexOf("/Cymraeg/");			
			}			
			str1 = url.substr(0, pos2+1);
			return (str1+str2);
		}
	}	
	
		function newwind(url)
	{
		newwindow=window.open(url,'','height=550,width=800,resizable=1, scrollbars=1');
		if (window.focus) {newwindow.focus()}
		return false;
	}

	function newwind2(url)
	{
		newwindow=window.open(url,'','height=550,width=800,resizable=1, scrollbars=0');
		if (window.focus) {newwindow.focus()}
		return false;
	}
	function init0() {
		t = new xReveal('xReveal');
		show0();
	}
	function popitup(url)
	{
		newwindow=window.open(url,'popup','height=500,width=550, scrollbars=1');
		setTimeout("newwindow.close()",120000);
		if (window.focus) {newwindow.focus()}
		return false;
	}
	//http://prototype.conio.net/
	Function.prototype.bindAsEventListener = function(object) {
		var __method = this;
		return function(event) {
			return __method.call(object, event || window.event);
		}
	}
	Function.prototype.bind = function(obj) {
		var method = this,
		temp = function() {
			return method.apply(obj, arguments);
		}; 
		return temp;
	}	

	function include_rpc(script_filename, onloadfn) {
	    var html_doc = document.getElementsByTagName('head').item(0);
	    var js = document.createElement('script');
	    js.setAttribute('language', 'javascript');
	    js.setAttribute('type', 'text/javascript');
	    js.setAttribute('src', script_filename);
	    js.onload = onloadfn;
	    js.onreadystatechange = onloadfn;	//IE

	    html_doc.appendChild(js);
	    return false;
	}
	function getChildNodesByTagName(elem, tagName) {
		var list = [];
		var elems = elem.getElementsByTagName(tagName);
		var len = elems.length;
		var i;
		for(i=0; i<len; i++) {
			if(elems[i].parentNode == elem) {
				list.push(elems[i]);
			}
		}
		return list;
	}
	function init() {
		if(document.getElementsByName('DVocabText')) {
				include_rpc('/js/DVocab.js', function(){
					try {DVocabInit()} catch(e){};	//surpress IE error
				});
		};
		if(document.getElementsByName('DReveal')) {
				include_rpc('/js/DReveal.js', function(){
					try {DRevealInit()} catch(e){};	//surpress IE error
				});
		}
		if(document.getElementsByName('FillGaps')) {
				include_rpc('/js/FillGaps.js', function(){
					try {FillGapsInit()} catch(e){};	//surpress IE error
				});
		}
		if(document.getElementsByName('DFillGaps')) {
				include_rpc('/js/DFillGaps.js', function(){
					try {DFillGapsInit()} catch(e){};	//surpress IE error
				});
		}
		if(document.getElementsByName('DImageRotate')) {
				include_rpc('/js/DImageRotate.js', function(){
					try {DImageRotateInit()} catch(e){};	//surpress IE error
				});
		}
		if(document.getElementsByName('LangTabs')) {
		include_rpc('/js/LangTabs.js', function(){
			try {LangTabsInit()} catch(e){};	//surpress IE error
		});
		}

	}


	window.onload = function(e) {
	  var cookie = readCookie("style");
	  var title = cookie ? cookie : "default";
	  setActiveStyleSheet(title);
	  
	  var url = document.location.href;
	  var var_pos = url.indexOf("?") ;
	  var l = url.length;
	  var main_url = url.substr(0, var_pos+1);
	  var var_pos2 = url.lastIndexOf('/');
	  var main_url2 = url.substr(var_pos2+1, l-1);
	  
  	  isprog = main_url.indexOf("prog_activity.php");
	  //ispop = main_url2.indexOf("try_popup.php");
	  
	  iswlan = main_url2.indexOf("welsh_language.php");
	  ishis = main_url2.indexOf("history_story.php");
	  
	  if (isprog > 0 ){
	  	setInterval(send_message, 60000);
	  }
	  if ((iswlan >= 0) || (ishis >= 0)){
	  	setInterval(fetch_timer, 60000);
	  }
	  //if ((isprog>= 0) || (ishis >= 0)){
	  	//setTimeout(open_popup, 6000);
	  //}
	  //ugly hack #523!
	  //if(document.doXReveal1) {
	  	//t = new xReveal('xReveal');
	  //}
	  init();
	}
	
	window.onunload = function(e) {
	  var title = "default";//getActiveStyleSheet();
	  createCookie("style", title, 365);
	}

