    
// script : swapimage 20/4/2009
// author: Hussen Refaa 
// Copyright (c) 2009 Hussen refaa (onyxar team �)


// version 1.0 swapImage, 20/4/2009
// version 1.1 (slider feature like next, prev, first, last ) 21/4/2009
// version 1.2 auto play slider avalible 22/4/2009
// version 1.3 add Blend Trans Filter(effect) applayBlendTransFilter 3/5/2009


// timer setting
var alertTimerId = 0;
var g_fPlayMode = 0;
var g_iimg = 0;
//g_imax = 0;
var g_imax = 4;
var linkNumer = -1;

var g_ImageTable = new Array();
var g_ImageFlowTable = new Array();
//extend the above list as desired
var g_dwTimeOutSec=2
var lastImg =0;

var timerRunning = false
	
function swapImage(image,newsViewUrl,description) {
  
    var thedescription = document.getElementById("description");
    var descFont = document.getElementById("descFont");    


 	 if (document.getElementById("descFont")){
				if (document.all)
				{
					document.getElementById('largeimg').onclick = function(){document.location=newsViewUrl;};						 
					document.getElementById('description').onclick = function(){document.location=newsViewUrl;};						 		 
					document.getElementById('more').onclick = function(){document.location=newsViewUrl;};						 		 		
				}
				else{
					document.getElementById('largeimg').setAttribute("onclick", "document.location="+"'"+newsViewUrl+"'");				
					document.getElementById('description').setAttribute("onclick", "document.location="+"'"+newsViewUrl+"'");
					document.getElementById('more').setAttribute("onclick", "document.location="+"'"+newsViewUrl+"'");		
			   }
			
			
				if (document.all){
						descFont.innerHTML =  description; 
				} 
				else{
						descFont.innerHTML =  description; 		
			//    	    descFont.firstChild.nodeValue = description;
				} 
				
				var iamgepath = image
				var obj = document.getElementById('largeimg');
				
				if (document.all){
					applayBlendTransFilter(iamgepath,obj);
				}
				else{
					document.getElementById('largeimg').style.filter = 'alpha(opacity=0)'
					document.getElementById('largeimg').src = iamgepath;				
					shiftOpacity('largeimg', 1500);	
				
				}	
	
  	}
	
}

function applayBlendTransFilter(iamgepath,obj)
{
	
	obj.style.filter="blendTrans(duration=2)";
	obj.style.filter="blendTrans(duration=crossFadeDuration)";
	obj.filters.blendTrans.apply() ;
	obj.src=iamgepath ;
	obj.filters.blendTrans.play(); 
}

function ChangeImage(fFwd)
{
	Update();
	if (fFwd){
		if (++g_iimg==g_imax){
			g_iimg=0;
		}
	}
	else{
		if (--g_iimg==-1){
			g_iimg=g_imax;
		}
	}
}

function Update(){

//	swapImage(g_ImageTable[g_iimg][0],'title',g_ImageTable[g_iimg][1]);
   // alert(g_ImageTable[2])
	swapImage(g_ImageTable[g_iimg].bigImageSrc,g_ImageTable[g_iimg].newsUrl,g_ImageTable[g_iimg].summary);
	
	        if (document.getElementById('coverImg0')){
				changeOpac(60, 'coverImg'+g_iimg);	
				changeOpac(100, 'coverImg'+lastImg);	
				lastImg = g_iimg;
			}

}

function Play()
{
g_fPlayMode = !g_fPlayMode;
if (g_fPlayMode)
{
//btnPrev.disabled = btnNext.disabled = true;
Next();
}
else
{
//btnPrev.disabled = btnNext.disabled = false;
 dd = ''

}
}
function OnImgLoad()
{
if (g_fPlayMode)
window.setTimeout("Tick()", g_dwTimeOutSec*1000);
}
function Tick()
{
if (g_fPlayMode)
Next();
}
function Prev()
{
ChangeImage(false);
}
function Next()
{
ChangeImage(true);
}
function main()
{

Update();
}

////configure below variables/////////////////////////////
////End configuration/////////////////////////////

function playNews ( )
{

   timerRunning = true;	
	alertTimerId = setInterval ( "moveImage()", 6000 );
   //	$('play').setAttribute('background-image','images/play_green.jpg');
    document.getElementById('play').style.backgroundImage = 'url(images/play_red.jpg)';
    
    
}

function stopNews ( )
{

	// reset the timer
     document.getElementById('play').style.backgroundImage = 'url(images/play_green.jpg)';	
	// clearTimeout(alertTimerId);
	
	
	if(timerRunning){
        timerRunning = false;	
        clearTimeout(alertTimerId)
    }
	
}


function moveImage()
{
	  Next()
	   
}

function sendImageArrayRequest(actionName){
	new Ajax.Request('./imageArray?actionName='+actionName, {
		  onSuccess: function(response){
		fillImageArray(response);
		playNews();		
	}
	});
}

function fillImageArray(response){
	var newsGallerayInfo = response.responseXML.getElementsByTagName('newsGallerayInfo');
//	var imageFlowGallerayInfo = response.responseXML.getElementsByTagName('imageFlowGallerayInfo');	
	    
	for (var i=0;i<newsGallerayInfo.length;i++)
	{
        g_ImageTable[i] = new Object();
		g_ImageTable[i]['bigImageSrc'] = newsGallerayInfo[i].getAttribute('bigImageSrc');
		g_ImageTable[i]['summary'] = newsGallerayInfo[i].getAttribute('summary');				
		g_ImageTable[i]['newsUrl'] = newsGallerayInfo[i].getAttribute('newsUrl');				
	}


/*	for (var i=0;i<imageFlowGallerayInfo.length;i++)
	{
        g_ImageFlowTable[i] = new Object();
		g_ImageFlowTable[i]['hrefImage'] = imageFlowGallerayInfo[i].getAttribute('hrefImage');
		g_ImageFlowTable[i]['title']    = imageFlowGallerayInfo[i].getAttribute('title');						
		g_ImageFlowTable[i]['imageUrl']  = imageFlowGallerayInfo[i].getAttribute('imageUrl');				
	}
	*/
	
}

function shiftOpacity(id, millisec) {
    //if an element is invisible, make it visible, else make it ivisible
    if(document.getElementById(id).style.opacity == 0) {
        opacity(id, 0, 100, millisec);
    } else {
        opacity(id, 40, 100, millisec);
    }
} 

function opacity(id, opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
}


//change the opacity for different browsers
function changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
} 




function goToNewPage(pageName){
		  window.open(pageName);
}

function goToPage(pageName){
		
		document.location.href=pageName;
}

function openInNewWindow(pageName) { 
// Change "_blank" to something like "newWindow" to load all links in the same new window 
var newWindow = window.open(this.getAttribute(pageName), '_blank'); 
newWindow.focus(); 
return false; 
} 

/*function showLink(linkId)
{
        // linkNumer var is set in the image_flow.js file
	//	window.location.href  = g_ImageFlowTable[linkNumer].imageUrl;
		window.location.href  = linkId;		
}
*/

function setGalleryInfo(cmt, imgPath) {   
		var m = cmt;
	    var n = document.createElement('a');
			n.setAttribute('href', imgPath);
			var style  = 'border: 2px solid #ffffff;'
			n.setAttribute('style', style);			
		n.appendChild(document.createTextNode(m));
		document.getElementById('bank').appendChild(n); 
} 


function addElementProtytype(){
					var attrs = {
						href   : 'images/c_b.jpg'
					};
		 
					var link = new Element('a', attrs);
		 
					link.update('Visit this web site');
		 
					$('bank').insert(link);
}

function loadGalleryInfo(){

	   addElement();
}

function loadAllInfo ()
{
		sendImageArrayRequest('getNewsGallaryInfo');
}

window.onload=loadAllInfo();

function addElement(){
	
	for (var i=0;i<g_ImageFlowTable.length;i++){
		     setGalleryInfo(g_ImageFlowTable[i].title,g_ImageFlowTable[i].hrefImage);
		}
}



