function Ticker() {
 this.Stories = [];
 this.crntTicker = -1;
 this.tickerLen = 0;
 this.Count =5;
 this.AnchorID = "tickerAnchor";
 this.Padding1 = "_";
 this.Padding2 = "-";
 this.Padding0 = "";
 this.CharacterTimeout = 50;
 this.NewsTimeout = 4000;
 this.NewsBaseURL = "";
 this.AnchorObject = document.getElementById(this.AnchorID);
}

Ticker.prototype = {
	run: function() {
		this.AnchorObject = document.getElementById(this.AnchorID);
		var myTimeout;  
		// Go for the next story data block
		if(this.tickerLen == 0) {
			this.crntTicker++;
			if (this.crntTicker>=this.Stories.length)  this.crntTicker=0;
			this.crntTicker		= this.crntTicker % this.Count;
			this.StorySummary= this.Stories[this.crntTicker].Title.replace(/&quot;/g,'"');
			if(this.Stories[this.crntTicker].ID) this.AnchorObject.href= this.NewsBaseURL + this.Stories[this.crntTicker].ID;
		}
		this.AnchorObject.innerHTML = this.StorySummary.substring(0,this.tickerLen) + this.Padding();
		if(this.tickerLen != this.StorySummary.length) {
			this.tickerLen++;
			myTimeout = this.CharacterTimeout;
		}
		else {
			this.tickerLen = 0;
			myTimeout = this.NewsTimeout;
		}
		// Call up the next cycle of the ticker
		var self = this;
		setTimeout( function(){ self.run() }, myTimeout);
	},
	// Widget generator
	Padding: function() {
		if(this.tickerLen == this.StorySummary.length) return this.Padding0;
		if((this.tickerLen % 2) == 1) return this.Padding1;
		else return this.Padding2;
	}
}	
//////////////////////////////////////////////////////////////////////////

//////////////////////////////////// XHConn /////////////////////////////
function XHConn()
{
	var xmlhttp, bComplete = false;
	try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
	catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
	catch (e) { try { xmlhttp = new XMLHttpRequest(); }
	catch (e) { xmlhttp = false; }}}
	if (!xmlhttp) return null;

	this.connect = function(sURL, sMethod, sVars, fnDone) {
		if (!xmlhttp) return false;
		bComplete = false;
		sMethod = sMethod.toUpperCase();
		try {
			if (sMethod == "GET") {
				xmlhttp.open(sMethod, sURL+"?"+sVars, true);
				sVars = "";
			}
			else {
				xmlhttp.open(sMethod, sURL, true);
				xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");
				xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
			}
			xmlhttp.onreadystatechange = function() {
				if (xmlhttp.readyState == 4 && !bComplete) {
		  			bComplete = true;
		  			fnDone(xmlhttp);
				}
			};
			xmlhttp.send(sVars);
		}
		catch(z) { return false; }
		return true;
	};
	return this;
}

function mediaPlayer(params,ret) {
	if (params.showControls==null || params.showControls=='undefined') params.showControls =1;
	if (params.autoStart==null || params.autoStart=='undefined') params.autoStart =0;
	var str='<object width="'+params.width+'" height="'+params.height+'" classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6" type="application/x-oleobject">'+
			'<param name="URL" value="'+params.url+'">'+
			'<param name="enabled" value="true">'+
			'<param name="autoStart" value="'+params.autoStart+'">'+
			'<param name="showControls" value="'+params.showControls+'">'+
			'<EMBED SRC="'+params.url+'" ShowControls="'+params.showControls+'" autostart="'+ params.autoStart+'"  width="'+params.width+'" height="'+params.height+'" TYPE="application/x-mplayer2" pluginspage="http://www.microsoft.com/Windows/MediaPlayer/"></EMBED>'+
			'</object>';
	if(ret) return str;
	else document.write(str);
}

function flashPlayer1(params,ret) {
	if(params.thumb==null || params.thumb=='undefined') params.thumb='';
	if(params.autoStart==null || params.autoStart=='undefined') params.autoStart=0;
	params.autoStart=0;
	
	var str='<object width="'+params.width+'" height="'+params.height+'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0">'+
			'<param name="movie" value="'+params.playerUrl+'">'+
			'<param name="quality" value="high">'+
			'<param name="wmode" value="transparent">'+
			'<param name="FlashVars" value="bgcolor=333333&amp;autoload=1&amp;showstop=1&amp;showvolume=1&amp;showtime=1&amp;startimage='+params.thumb+'&amp;flv='+params.url+'&amp;width='+params.width+'&amp;height='+params.height+'&amp;autoplay='+params.autoStart+'">'+
			'<embed src="'+params.playerUrl+'" width="'+params.width+'" height="'+params.height+'" flashvars="bgcolor=333333&amp;autoload=1&amp;showstop=1&amp;showvolume=1&amp;showtime=1&amp;startimage='+params.thumb+'&amp;flv='+params.url+'&amp;width='+params.width+'&amp;height='+params.height+'&amp;autoplay='+params.autoStart+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash">'+
			'</object>';
	
	if(ret) return str;
	else document.write(str);
}


function flashPlayer2(params,ret) {
	if(params.thumb==null || params.thumb=='undefined') params.thumb='';
	
	var str='<object width="'+params.width+'" height="'+params.height+'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0">'+
			'<param name="movie" value="'+params.playerUrl+'">'+
			'<param name="quality" value="high">'+
			'<param name="FlashVars" value="playerBackgroundColor=black&amp;fpPreviewImageURL='+params.thumb+'&amp;fpPreviewImageSize=fit&amp;fpFileURL='+params.url+'&amp;playerSize='+params.width+'x'+params.height+'">'+
			'<embed src="'+params.playerUrl+'" width="'+params.width+'" height="'+params.height+'" flashvars="playerBackgroundColor=black&amp;fpPreviewImageURL='+params.thumb+'&amp;fpPreviewImageSize=fit&amp;fpFileURL='+params.url+'&amp;playerSize='+params.width+'x'+params.height+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash">'+
			'</object>';
	
	
	if(ret) return str;
	else document.write(str);
}


function flashPlayer(params,ret) {
	if(params.id==null || params.id=='undefined') params.id='';
	if(params.thumb==null || params.thumb=='undefined') params.thumb='';
	if(params.autoStart==null || params.autoStart=='undefined') params.autoStart=false;
	if(params.autoStart==0) params.autoStart=false;
	else params.autoStart=true;
	//params.autoStart=false;
	
	var str='<object id="'+params.id+'" name="'+params.id+'" width="'+params.width+'" height="'+params.height+'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0">'+
			'<param name="allowscriptaccess" value="always">'+
			'<param name="movie" value="'+params.playerUrl+'">'+
			'<param name="quality" value="high">'+
			'<param name="wmode" value="transparent">'+
			'<param name="FlashVars" value="backcolor=0x333333&frontcolor=0xFFFFFF&lightcolor=0xAAAAAA'+
									(params.id? '&enablejs=true&javascriptid='+ params.id : '') +
									'&overstretch=true'+
									'&usefullscreen=false'+
									'&image='+params.thumb+
									'&file='+params.url+
									'&width='+params.width+
									'&height='+params.height+
									'&displayheight='+params.height+
									'&autostart='+params.autoStart+'">'+
			'<embed id="'+params.id+'" name="'+params.id+'" allowscriptaccess="always"  src="'+params.playerUrl+'" width="'+params.width+'" height="'+params.height+'" '+
						'flashvars="backcolor=0x333333&frontcolor=0xFFFFFF&lightcolor=0xAAAAAA'+
									(params.id? '&enablejs=true&javascriptid='+ params.id : '')+
									'&overstretch=true'+
									'&usefullscreen=false'+
									'&image='+params.thumb+
									'&file='+params.url+
									'&width='+params.width+
									'&height='+params.height+
									'&displayheight='+params.height+
									'&autostart='+params.autoStart+'"'+
						' quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash">'+
			'</object>';
	if(ret) return str;
	else document.write(str);
}


function videoPlayer(params,ret) {
	var ext='';
	if (params.url.lastIndexOf(".") != -1) ext= params.url.slice( params.url.lastIndexOf(".") );
	if (ext.toLowerCase() == '.flv') return flashPlayer(params,ret);
	else return mediaPlayer(params,ret);
}

//////////////////////////////////////////////////////////////////////////
function NewsGallery() {
 this.titleID = "TopGalleryTitle";
 this.descID = "TopGalleryDesc";
 this.viewID = "TopGalleryView";
 this.thumbDir = '/images/News/Medium/';
 this.videoDir = '/images/News/Video/';
 this.playerUrl = '/images/news/player.swf';
 this.thumbWidth = 320;
 this.thumbHeight = 240;
 this.imageTy = 1;
 this.moreTitle = "more";
 this.cellIDPrefix = "TopLink";
 this.overClass = "TopGalleryLink1";
 this.outClass = "TopGalleryLink";
}
NewsGallery.prototype = {
	show: function(Me,ThisI,autoStart) {
		if (autoStart=='undefined' || autoStart==null) autoStart=1;
		var title = document.getElementById(this.titleID);
		var desc = document.getElementById(this.descID);
		var view = document.getElementById(this.viewID);
		
		var ifr= new IFrame(view,'playIFR',this.thumbWidth,this.thumbHeight);
		
		if(view) {
			if ( parseInt(Me.getAttribute("type")) ==this.imageTy) {
				//view.innerHTML = '<a href="'+Me.href+'"><img src="'+ this.thumbDir + Me.getAttribute("media") +'" border=0></a>';
				ifr.doc.body.innerHTML = '<a href="'+Me.href+'" target=_parent><img src="'+ this.thumbDir + Me.getAttribute("media") +'" border=0></a>';
			}
			else {
				var ThumbPath = '';
				if (Me.getAttribute("thumb")) ThumbPath = this.thumbDir + Me.getAttribute("thumb");
				
				ifr.doc.body.innerHTML = videoPlayer( {'width': this.thumbWidth ,'height':this.thumbHeight, 'playerUrl':this.playerUrl, 'url':this.videoDir+Me.getAttribute("media") ,'thumb':ThumbPath ,'autoStart':autoStart} ,true);
				//view.innerHTML = videoPlayer( {'id':'Vplayer','width': this.thumbWidth ,'height':this.thumbHeight, 'playerUrl':this.playerUrl, 'url':this.videoDir+Me.getAttribute("media") ,'thumb':ThumbPath ,'autoStart':autoStart} ,true);
			}
		}	
		desc.innerHTML= Me.getAttribute("description") + ' <a href="'+Me.href+'">..'+ this.moreTitle+'</a>';
		title.innerHTML= '<a href="'+Me.href+'">'+ Me.getAttribute("title") +'</a>';
		
		for (var i=1; i<=5; i++) {
			var link = document.getElementById(this.cellIDPrefix +i);
			if (link) {
				if (i==ThisI) link.className = this.overClass;
				else link.className = this.outClass;
			}	
		}
		return false;
	} 
}	
//////////////////////////////////////////////////////////////////////////
function MediaGallery() {
 this.titleID = "viewTitle";
 this.descID = "viewDesc";
 this.viewID = "viewMedia";
 this.mediumDir = '/images/News/medium/';
 this.bigDir = '/images/News/big/';
 this.videoDir = '/images/News/video/';
 this.playerUrl = '/images/news/player.swf';
 this.imageTy = 1;
 this.videoWidth = 400;
 this.videoHeight = 300;
 this.videoWidthI = 320;
 this.videoHeightI = 240;
 this.isInner = false;
}
MediaGallery.prototype = {
	show: function(Me,autoStart) {
		var title = document.getElementById(this.titleID);
		var desc = document.getElementById(this.descID);
		var view = document.getElementById(this.viewID);
		if (autoStart=='undefined' || autoStart==null) autoStart=1;
		
		if(view) {
			if ( parseInt(Me.getAttribute("type")) ==this.imageTy) {
				if(this.isInner) view.innerHTML = '<img src="'+ this.mediumDir + Me.getAttribute("media") +'">';
				else view.innerHTML = '<img src="'+ this.bigDir + Me.getAttribute("media") +'">';
			}
			else {
				if(this.isInner) view.innerHTML = videoPlayer({ 'width':this.videoWidthI ,'height':this.videoHeightI ,'playerUrl':this.playerUrl ,'url':this.videoDir+ Me.getAttribute("media") ,'autoStart':autoStart } , true);
				else view.innerHTML = videoPlayer({ 'width':this.videoWidth ,'height':this.videoHeight, 'playerUrl':this.playerUrl, 'url':this.videoDir+ Me.getAttribute("media") ,'autoStart':autoStart } , true );
			}
		}	
		title.innerHTML= Me.getAttribute("title");
		desc.innerHTML= Me.getAttribute("description");
		return false;
	} 
}	

function IFrame(parentElement,id,width,height) {
	var newIF = false;
	var iframe = document.getElementById(id);
	if (iframe==null) {
		newIF = true;
	   	iframe = document.createElement("iframe");
	   	iframe.id = id;
	   	iframe.src="javascript:void(0)";
	    iframe.width= width;
		iframe.height= height;
	   	iframe.frameborder='0';
		iframe.marginheight='0';
		iframe.marginwidth='0';
		iframe.scrolling='no';
		iframe.border='0';
		iframe.style.borderWidth= '0px';
		iframe.style.border= 'none';
		iframe.allowTransparency="true";

	   	if(parentElement == null) parentElement = document.body;
	   	parentElement.appendChild(iframe);
	   	
	   	iframe.doc = null;
	}
   	if(iframe.contentDocument) iframe.doc = iframe.contentDocument;   
   	else if(iframe.contentWindow) iframe.doc = iframe.contentWindow.document;   
   	else if(iframe.document) iframe.doc = iframe.document;   
   	if(iframe.doc == null) throw "Document not found, append the parent element to the DOM before creating the IFrame";   
	
   	iframe.doc.open(); 
   	iframe.doc.write('<html><BODY style="padding:0;margin:0;background-color:transparent;"></Body></html>');
   	iframe.doc.close();   
	
   	return iframe;   
}  