// JavaScript Document for Irish Times Page Sales

/*global $, Asset, Event, addEventFunc, browser, document, setTimeout, window */


var imgList = ['/images/v3/shop/page-sales/anniversary_bg.jpg', '/images/v3/shop/page-sales/company_fountations_bg.jpg', '/images/v3/shop/page-sales/birthday_bg.jpg', '/images/v3/shop/page-sales/retirements_bg.jpg', '/images/v3/shop/page-sales/christening_bg.jpg', '/images/v3/shop/page-sales/historic_bg.jpg'];
var navEls = [];
var loadedImages = [];
var busy = false;
var asset = new Asset.images(imgList, {
	onProgress: function(i){
		loadedImages[i] = this;
		loadedImages[i].setAttribute("loaded", 1);
	},
	onComplete: function(){
	}
});






function changeOpac(opacity, id){
	if(document.getElementById(id).style){
		var object = document.getElementById(id).style;
		if(browser.isIE){
			object.filter = "alpha(opacity=" + opacity + ")";
		} else {
			object.opacity = (opacity / 100); 
			object.MozOpacity = (opacity / 100); 
			object.KhtmlOpacity = (opacity / 100); 
			object.filter = "alpha(opacity=" + opacity + ")";
		}
	}
	
	if(opacity==100){ busy = false; }
}


function blendimage(millisec, i_num){
	if(document.getElementById("page-sales-img").parentNode){
		document.getElementById("page-sales-img").parentNode.style.backgroundImage = "url(" + document.getElementById("page-sales-img").src + ")";
	}
	
    changeOpac(0, "page-sales-img");
    setTimeout("doFadeIn('page-sales-img'," + millisec + ", " + i_num + ")", 500);
} 


function doFadeIn(imageid, millisec, num){
    var speed = Math.round(millisec / 100); 
    var timer = 0;

    //make new image 
    document.getElementById(imageid).src = imgList[num];

    //fade in image 
    for(var i=0; i<=100; i++){
		setTimeout("changeOpac(" + i + ",'page-sales-img')",(timer * speed)); 
      	timer++; 
    }
}


function pageSalesNav(e){
	if (!e){ e = window.event; }
	var tgt = e.target || e.srcElement;
	var curr, next = -1;
	var childLis;
	
	for(var i=0; i<navEls.length; i++){
		if(tgt == navEls[i]){
			next = i;
		}
	}

	if(next > -1 && loadedImages[next].getAttribute("loaded") == 1 && !busy){
		busy = true;
		if(tgt.parentNode.parentNode){
			tgt.parentNode.parentNode.id = "pgsales-nav";
			childLis = $("pgsales-nav").getChildren();
			for(i=0; i<childLis.length; i++){
				if(childLis[i].className.indexOf(" nav-on ") != -1){
					childLis[i].className = childLis[i].className.replace(/\snav\-on\s/,"");
				} else if(childLis[i].className.indexOf(" nav-on") != -1){
					childLis[i].className = childLis[i].className.replace(/\snav\-on/,"");
				} else if(childLis[i].className.indexOf("nav-on ") != -1){
					childLis[i].className = childLis[i].className.replace(/nav\-on\s/,"");
				} else { if(childLis[i].className.indexOf("first") == -1){ childLis[i].className = ""; } }
			}
			
			if(tgt.parentNode.className.length > 0){ 
				tgt.parentNode.className += " nav-on";
			} else {
				tgt.parentNode.className = "nav-on";
			}
		}
		
		blendimage(500, next);
	}

	e = new Event(e);
	e.stop();
}


function addPageSalesListeners(){
	var as = document.getElementsByTagName("a");
	for(var i=0; i<as.length; i++){
		if(as[i].parentNode.parentNode.parentNode){
			if(as[i].parentNode.parentNode.parentNode.className == "navicontainer"){
				as[i].hideFocus = true;
				addEventFunc(as[i], "click", pageSalesNav, false);
				navEls.push(as[i]);
			}
		}
	}
}


window.addEvent('domready', function() { addPageSalesListeners(); });