var SITE_DOMAIN="http://www.caroucelle.com/"

function fInitSubmenu(){
	var sSubMenuHTML=""
	for(var x=1; x<arrCats.length; x++) sSubMenuHTML+="<a onfocus=\"blur();\" href=\"javascript:void(0);\" id=\"oCatMenuItem"+ x +"\" class=\"clsCatMenuItem"+ x +"\" onclick=\"fCatClick("+ x +");\" style=\"width:"+ arrCats[x][1] +"px;\">"+ arrCats[x][0] +"</a>";
	$("#oSubMenu").html(sSubMenuHTML)
	//$("#oSubMenu a").onfocus(function(){blur();})
	fChangeCat(1);
}

$("#oSubMenu").ready(function(){fInitSubmenu()});



/* PRELOADING FUNCS */


$(document).ready(function(){
	if(document.all) fPreloadThumbs()
});
	
function fPreloadThumbs(){
	var tmpCat,tmpThumb,tmpImage
	var arrPreload=[];
	
	for(tmpCat=1; tmpCat<arrWorks.length; tmpCat++){
		for(tmpThumb=0; tmpThumb<arrWorks[tmpCat].length; tmpThumb++){
			arrPreload.push(SITE_DOMAIN+'images/works/'+ arrCats[tmpCat][2] +'/thumbnails/'+ arrWorks[tmpCat][tmpThumb].sFolderName +'/1off.jpg');
			arrPreload.push(SITE_DOMAIN+'images/works/'+ arrCats[tmpCat][2] +'/thumbnails/'+ arrWorks[tmpCat][tmpThumb].sFolderName +'/1on.jpg');
		}
	}
	
	$.preloadImages.add(arrPreload);
	$.preloadImages.start('thumb')
}

function fPreloadingDone(sType){
	if(sType=='thumb') fPreloadCatImages(1);
}

function fPreloadCatImages(nCatID){
	var tmpThumb,tmpImage
	var arrPreload=[];
	 
	for(tmpThumb=0; tmpThumb<arrWorks[nCatID].length; tmpThumb++){
		for(tmpImage=1; tmpImage<=arrWorks[nCatID][tmpThumb].nImages; tmpImage++){
			arrPreload.push(SITE_DOMAIN+'images/works/'+ arrCats[nCatID][2] +'/designs/'+ arrWorks[nCatID][tmpThumb].sFolderName +'/'+ tmpImage +'.jpg');
		}
	}
	$.preloadImages.clear()
	$.preloadImages.add(arrPreload);
	$.preloadImages.start('cat')
}

								


var bFirstLoad=true, bWorkIsClosed=true, bCatLoadingOnProcess=false, bStopCatLoadingProcess=false;
var nSelectedCatID, nSelectedThumbID=0

function fChangeCat(nCatID){
	fClearWorkSpace(true);
	fSelectedThumb()  // clear previous selected thumb
	if(nCatID!=1) fPreloadCatImages(nCatID)
	
	if(nSelectedCatID){
		$("#oCatMenuItem"+ nSelectedCatID).removeClass("clsSelected");
		$("#oCatMenuItem"+ nSelectedCatID).html(arrCats[nSelectedCatID][0]);
		if(nSelectedCatID!=nCatID && bCatLoadingOnProcess) bStopCatLoadingProcess=true;
	}	  	

	$("#oPageCon").removeClass();
	$("#oPageCon").addClass("clsColorSet"+ nCatID);
	$("#oCatMenuItem"+ nCatID).addClass("clsSelected");
	$("#oCatMenuItem"+ nCatID).html("<img src=\""+ SITE_DOMAIN +"images/arrow_down.gif\" alt=\"\" />: : "+ arrCats[nCatID][0] +" : :");
	
	nSelectedCatID=nCatID;

	$("#oProjects").fadeOut(200,function(){$("#oProjects").html("");});
	$("#oProjects").fadeIn(10,function(){});
	setTimeout("fLoadCatThumbs("+nCatID+",0)",500)
}

var bThumbBlink=false, nThumbBlink=0
function fLoadCatThumbs(nCatID, nThumbID){
	if(arrWorks[nCatID].length==0) return;
	if(!nThumbID) nThumbID=0;
	var i=0;

	
	if(arrWorks[nCatID].length>[nThumbID]){
		
		bCatLoadingOnProcess=true
		var sThumbURL=SITE_DOMAIN +"images/works/"+ arrCats[nCatID][2] +"/thumbnails/"+ arrWorks[nCatID][nThumbID].sFolderName

		var str=""
		str+="<div class=\"clsProjectThumb\" id=\"oProjectThumb"+ nThumbID +"\" onclick=\"fThumbClick("+ nCatID +", "+ nThumbID +");\"><h2>"+ arrWorks[nCatID][nThumbID].sFullName +" : :</h2>"
		//str+="<div onmouseover=\"fProjectThumbStart("+ nThumbID +");\" onmouseout=\"fProjectThumbStop("+ nThumbID +");\" class=\"clsProjectThumb\" id=\"oProjectThumb"+ nThumbID +"\" onclick=\"fThumbClick("+ nCatID +", "+ nThumbID +");\"><h2>"+ arrWorks[nCatID][nThumbID].sFullName +" : :</h2>"
		str+="<img id=\"oProjectThumbColor"+ nThumbID +"\" class=\"clsProjectThumbColor\" src=\""+ sThumbURL +"/1on.jpg\" alt=\"\" />"
		str+="<img class=\"clsProjectThumbGrayscale\" src=\""+ sThumbURL +"/1off.jpg\" alt=\"\" />"
		str+="</div>"
		$("#oProjects").append(str);
		
		fBindBlinkEvents(nThumbID)
		
		if(!bStopCatLoadingProcess){
			$("#oProjectThumb"+ nThumbID).fadeIn(50,function(){
				fLoadCatThumbs(nCatID, (++nThumbID))
			});
		}
		bStopCatLoadingProcess=false
	}
	else{
		if(bFirstLoad) setTimeout("fLoadWork("+nCatID+",0)",500)
		bFirstLoad=false
		bCatLoadingOnProcess=false
	}
}


function fBindBlinkEvents(nThumbID){
	$("#oProjectThumb"+ nThumbID).bind("mouseenter",function(){
		if(nThumbID!=nSelectedThumbID){
			nThumbBlink=nThumbID
			bThumbBlink=true
			fProjectThumbBlinkLoop()
		}
	}).bind("mouseleave",function(){
		if(nThumbID!=nSelectedThumbID){
			bThumbBlink=false;
			fProjectThumbBlinkStop()
		}
	});
}

function fUnbindBlinkEvents(nThumbID){
	//$("#oProjectThumb"+ nThumbID).unbind("mouseenter").unbind("mouseleave");
}

function fProjectThumbBlinkLoop(sWay){
	sWay=(sWay?sWay:"in");
	
	if(nThumbBlink==nSelectedThumbID){
		$("#oProjectThumb"+ (nThumbBlink) +" .clsProjectThumbColor").fadeIn(1)
		bThumbBlink=false
	}
	
	if(bThumbBlink){
		if(sWay=="in")
			$("#oProjectThumb"+ (nThumbBlink) +" .clsProjectThumbColor").fadeIn(500,function(){fProjectThumbBlinkLoop('out')})
		else
			$("#oProjectThumb"+ (nThumbBlink) +" .clsProjectThumbColor").fadeOut(500,function(){fProjectThumbBlinkLoop('in')});
	}
}

function fProjectThumbBlinkStop(){
	if(nThumbBlink==nSelectedThumbID){
		$("#oProjectThumb"+ (nThumbBlink) +" .clsProjectThumbColor").fadeIn(1)
		bThumbBlink=false
	}
	else
		$("#oProjectThumb"+ (nThumbBlink) +" .clsProjectThumbColor").fadeOut(200);
}


var arrWorkImages=[], nT=1;
function fLoadWork(nCatID, nThumbID, sEffect){
	nSelectedThumbID=nThumbID
 	fClearWorkSpace()

	var i=0, str
	
	// flash qubes
	var sFlashQubes=""
	for(var i=1; i<=arrWorks[nCatID][nThumbID].nFlashes; i++) sFlashQubes+="<img id=\"oWorkMovieQub"+ i +"\" src=\""+ SITE_DOMAIN +"images/qub.gif\" alt=\"\" onclick=\"fFileQubeClick("+ nCatID+" , "+ nThumbID +", "+ i +", 'swf', 'click');\" />"
	if(sFlashQubes) $("#oWorkNav").append("<div>Play Movie : : "+ sFlashQubes +"</div>")
	
	// images qubes
	var sImagesQubes=""
	for(i=1; i<=arrWorks[nCatID][nThumbID].nImages; i++) sImagesQubes+="<img id=\"oWorkImageQub"+ i +"\" src=\""+ SITE_DOMAIN +"images/qub.gif\" alt=\"\" onclick=\"fFileQubeClick("+ nCatID +" , "+ nThumbID +", "+ i +", 'jpg', 'click');\" />"
	if(sImagesQubes) $("#oWorkNav").append("<div>Images : : "+ sImagesQubes +"</div>")

	$("#oWorkDesc").html("<h1>"+ arrWorks[nCatID][nThumbID].sFullName +"&nbsp;:&nbsp;:</h1>&nbsp;"+ arrWorks[nCatID][nThumbID].sDesc)
		
	fPlayWorkFile(nCatID, nThumbID, 1, "jpg");

	if(bWorkIsClosed)
		$(".clsWork").slideDown(500,function(){})
	else
		$(".clsWork").fadeIn("fast",function(){});
	bWorkIsClosed=false;
	
	
 	fSelectedThumb(nThumbID)
}

function fClearWorkSpace(bTotally){
 	$("#oWorkDisplay").html("");
	$("#oWorkNav").html("");
	$("#oWorkDesc").html("");
	if(bTotally){
		nSelectedThumbID=null;
		bFirstFile=true;
		bWorkIsClosed=true;
	}
}

function fSelectedThumb(nThumbID){
//	alert(nThumbID)
	fProjectThumbBlinkStop()
	$(".clsProjectThumbON").removeClass("clsProjectThumbON");
 	$(".clsProjectThumbColor").hide()
 	if(nThumbID || nThumbID==0){
 		$("#oProjectThumb"+ nThumbID).addClass("clsProjectThumbON");
		$("#oProjectThumb"+ nThumbID +" .clsProjectThumbColor").show()
	}
}



var bFirstFile=true
function fPlayWorkFile(nCatID, nThumbID, nImgID, sFileType, sCallSource){
	$(".clsWorkSelectedQub").removeClass("clsWorkSelectedQub");
	$("#oWorkDisplay").html("");
	var str=""
	
	switch(sFileType){
		case "swf":
			str=fFlashMovie(arrCats[nCatID][2] +"/movies/"+ arrWorks[nCatID][nThumbID].sFolderName +"/"+ nImgID +".flv");
			$("#oWorkMovieQub"+ nImgID).addClass("clsWorkSelectedQub");
			break;
		case "jpg":
			str="<img src=\""+ SITE_DOMAIN +"images/works/"+ arrCats[nCatID][2] +"/designs/"+ arrWorks[nCatID][nThumbID].sFolderName +"/"+ nImgID +".jpg\" alt=\"\" />"
			$("#oWorkImageQub"+ nImgID).addClass("clsWorkSelectedQub");
			break;
		default:
			str="wrong file type"
			break;
	}
	
	$("#oWorkDisplay").html(str);
	if(sCallSource=="click") $("#oWorkDisplay").fadeIn("fast",function(){})
}
	
function fCatClick(nCatID){
	if(nSelectedCatID && nSelectedCatID==nCatID)
		$(".clsWork").slideUp(500,function(){fClearWorkSpace()})
	else
		$(".clsWork").slideUp(500,function(){fChangeCat(nCatID)});
	
	bFirstFile=true;
	bWorkIsClosed=true;
}

function fThumbClick(nCatID, nThumbID){
	if(!bFirstFile || !bWorkIsClosed){
		window.location.hash="#t"+nT;
		nT=(nT==1?2:1)   // firefox anchor fix
	}
	
	if(nSelectedThumbID && nSelectedThumbID==nThumbID ||(nSelectedThumbID==0 && nThumbID==0))
		return false
	else
		$(".clsWork").fadeOut("fast",function(){fLoadWork(nCatID, nThumbID, "fade")})
}
   
function fFileQubeClick(nCatID, nThumbID, nImgID, sFileType){
	$("#oWorkDisplay").fadeOut("fast",function(){fPlayWorkFile(nCatID, nThumbID, nImgID, sFileType, 'click')});
}

