var kROTATE_TIME_IN_MS	= 8000;
var kNUMBER_HERO_IMAGES	= 18;

document.onload = chainHandlers( document.onload, updateHeroImage );
document.onload = chainHandlers( document.onload, preload );

var home_roll_planner, home_roll_getaways, home_roll_map, home_roll_trans, a, b, c, d, e, f, g, h, m, j, k, l;
function preload() {
	
	home_roll_planner				      = new Image();
	home_roll_planner.src			              = 'image/1.jpg';
	
	home_roll_getaways				      = new Image();
	home_roll_getaways.src			              = 'image/2.jpg';
	
	home_roll_map					      = new Image();
	home_roll_map.src				       = 'image/3.jpg';
	
	
	home_roll_trans					       = new Image();
	home_roll_trans.src				        = 'image/6.jpg';

	a								= new Image();
	a.src							= 'image/7.jpg';
	
	b								= new Image();
	b.src							= 'image/8.jpg';

	c								= new Image();
	c.src							= 'image/9.jpg';

	d								= new Image();
	d.src							= 'image/10.jpg';

	e								= new Image();
	e.src							= 'image/11.jpg';

	f								= new Image();
	f.src							= 'image/12.jpg';

	g								= new Image();
	g.src							= 'image/13.jpg';

	h								= new Image();
	h.src							= 'image/14.jpg';

	m								= new Image();
	m.src							= 'image/15.jpg';

	j								= new Image();
	j.src							= 'image/16.jpg';

	k								= new Image();
	k.src							= 'image/17.jpg';

	l								= new Image();
	l.src							= 'image/18.jpg';
	
}

var uhThread = 1;
function updateHeroImage( ) {
	if( uhThread > 1 ) {
		uhThread--;
		return;
	}

	var i = getObj( 'uvHero' );
	if( i ) {
		if( i._hold ) {
			--uhThread;
			return;
		}
		else {
			if( !i._n ) {
				i._n = 1;
			}
			else {
				i._n = (i._n % kNUMBER_HERO_IMAGES) + 1;
			}
			

			
			i.src = 'image/hero_' + i._n + '.jpg';
		}
	}

	if( --uhThread == 0 ) {
		++uhThread;
		setTimeout(
			updateHeroImage,
			kROTATE_TIME_IN_MS
			);
		}
	}
	
function heroPause( ) {
	var i = getObj( 'uvHero' );
	if( i ) {
		i._hold = true;
	}
}

function heroResume( ) {
	var i = getObj( 'uvHero' );
	if( i ) {
		i._hold = false;
		uhThread++;
		setTimeout(
			updateHeroImage,
			kROTATE_TIME_IN_MS
		);
	}
}

var current_hero;
function toggleHero( p_src ) {
	if( p_src ) {
		heroPause();
		current_hero = getObj( 'uvHero' ).src;
	} else {
		heroResume();
		p_src = current_hero;
	}
	
	applyProperty( 'uvHero', 'src', p_src );
}


function applyStyle( p_id, p_style, p_value ) {
	eval( 'getObj(p_id).style.' + p_style + ' = "' + p_value + '"');
}

function applyProperty( p_id, p_property, p_value ) {
	eval( 'getObj(p_id).' + p_property + ' = "' + p_value + '"');
}


// http://www.brainerror.net/scripts_js_blendtrans.php
function blendimage(divid, imageid, imagefile, millisec) { 
    var speed = Math.round(millisec / 100); 
    var timer = 0; 
     
    //set the current image as background 
    document.getElementById(divid).style.backgroundImage = "url(" + document.getElementById(imageid).src + ")"; 
     
    //make image transparent 
    changeOpac(0, imageid); 
     
    //make new image 
    document.getElementById(imageid).src = imagefile; 

    //fade in image 
    for(i = 0; i <= 100; i++) { 
        setTimeout("changeOpac(" + i + ",'" + imageid + "')",(timer * speed)); 
        timer++; 
    } 
}

function opacity(id, opacStart, opacEnd, millisec) { 
    //speed for each frame 
    var speed = Math.round(millisec / 200); 
    var timer = 1; 

  
    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 + ")"; 
}
