 

var ThumbNailCollection = Array();
var ThumbNails;
function getThumbs() {
	ThumbNails = gE("ThumbNails");
	if(!ThumbNails) { return; }
	//ThumbNails.style.display = "block";
	ThumbNailCollection = gET("A", ThumbNails);
	
	var fileNameWithExt = getFileName(location.href);
	var fileName = fileNameWithExt.substring(0, fileNameWithExt.indexOf("."));
	if(fileName == "get-inspired" || fileName == "project-ideas" || fileName == "color-by-architecture" || hasIndexOf(location.href, "color-by-architecture")) {
		for(var i = 0; i < ThumbNailCollection.length; i++) {
			ThumbNailCollection[i].NewURL = ThumbNailCollection[i].getAttribute("ajax");
			ThumbNailCollection[i].href="javascript: void(0);";
			if(fileName == "project-ideas" || fileName == "get-inspired") {
				ThumbNailCollection[i].onclick = ThumbOnClick;
			}
			if(fileName == "color-by-architecture" || hasIndexOf(location.href, "color-by-architecture")) {
				ThumbNailCollection[i].onclick = CoordinateColorsThumbOnClick;
			}
			//ThumbNailCollection[i].href = "javascript: void(0);"
		}
	} 

	var HighestNumOfImages = gE("HighestNumOfImages");
	if(!HighestNumOfImages) {return;}
	HighestNumOfImages.innerHTML = ThumbNailCollection.length;
}
var ThumbAjaxUrl;
function ThumbOnClick() { 
	ThumbAjaxUrl = this.NewURL;
	sendGetReq(this.NewURL, LandingPageThumbReturned);
	var LandingPageMainRoom = gE("LandingPageMainRoom");
	if(!LandingPageMainRoom) {return;}
	addLoaderGif(LandingPageMainRoom);
	for(var i = 0; i < ThumbNailCollection.length; i++) {
		ThumbNailCollection[i].onclick = null;
	}
	thumbsInited = false;
	return false;
}

function LandingPageThumbReturned(responseText) {
	var LandingPageMainRoom = gE("LandingPageMainRoom");
	if(!LandingPageMainRoom) {return;}
	try {
		LandingPageMainRoom.innerHTML = responseText;
	}catch(err){
		//alert(err);
		//LandingPageMainRoom.innerHTML = responseText;
		//getCss();
	}
	getCss();
	balloonInit();
	assignCreateWithImageLink();
	//calculateLoadTimeArray.push(new calculateLoadTime(LandingPageMainRoom, ajaxLoadComplete));
	//calculateLoadTime(LandingPageMainRoom, ajaxLoadComplete);
	
	myCalculateLoadTime = new calculateLoadTime(LandingPageMainRoom, "ajaxLoadComplete");
	//loadTimer = setTimeout("myCalculateLoadTime.checkLoads();", 30);
	
	for(var i = 0; i < ThumbNailCollection.length; i++) {
		ThumbNailCollection[i].onclick = ThumbOnClick;
	}
	SB_MainImage = null;
	
	// Omniture
	var urlComponents = ThumbAjaxUrl.split("/");
	if (urlComponents.length == 7) {
		s = s_gi(s_account);
		s.linkTrackVars = "prop4,prop5";
		var roomStyle = urlComponents[3];
		var roomCollection = urlComponents[4];
		var roomType = urlComponents[5];
		if (roomStyle != "-") {
			s.prop4 = roomStyle; 
		} else if (roomCollection != "-") {
			s.prop4 = roomCollection;
		} else {
			s.prop4 = "(none)";
		}
		if (roomType != "-") {
			s.prop5 = roomType;
		} else {
			s.prop5 = "(none)";
		}
		//alert("sprop4: " + s.prop4 + " sprop5: " + s.prop5);
		s.tl(this,'o', "Project Ideas Landing: "  + s.prop4 + ", " + s.prop5);
	}
	return false;
}

var CoordinateColorsThumbAjaxUrl;
function CoordinateColorsThumbOnClick() {
	CoordinateColorsThumbAjaxUrl= this.NewURL;
	sendGetReq(this.NewURL, CoordinateColorsThumbOnClickReturn);
	var CoordinateColorsNavContainer = gE("CoordinateColorsNavContainer");
	if(!CoordinateColorsNavContainer) {return;}
	addLoaderGif(CoordinateColorsNavContainer);
	for(var i = 0; i < ThumbNailCollection.length; i++) {
		ThumbNailCollection[i].onclick = null;
	}
	thumbsInited = false;
	return false;
}

function CoordinateColorsThumbOnClickReturn(responseText) {
	var CoordinateColorsNavContainer = gE("CoordinateColorsNavContainer");
	if(!CoordinateColorsNavContainer) {return;}
	try {
		CoordinateColorsNavContainer.innerHTML = responseText;
	}catch(err){
		//alert(err);
		//CoordinateColorsNavContainer.innerHTML = responseText;
		//getCss();
	}
	getCss();
	balloonInit();
	assignCreateWithImageLink();
	//calculateLoadTimeArray.push(new calculateLoadTime(CoordinateColorsNavContainer, ajaxLoadComplete));
	//calculateLoadTime(CoordinateColorsNavContainer, ajaxLoadComplete);
	myCalculateLoadTime = new calculateLoadTime(CoordinateColorsNavContainer, "ajaxLoadComplete");
	//loadTimer = setTimeout("myCalculateLoadTime.checkLoads();", 30);
	
	
	for(var i = 0; i < ThumbNailCollection.length; i++) {
		ThumbNailCollection[i].onclick = CoordinateColorsThumbOnClick;
	}
	assignCreateWithImageLink();
	SB_MainImage = null;

	// Omniture
	var urlComponents = CoordinateColorsThumbAjaxUrl.split("/");
	//alert("url: " + CoordinateColorsThumbAjaxUrl);
	//alert("urlComponents: " + urlComponents);
	//alert("length: " + urlComponents.length);
	if (urlComponents.length == 6) {
		var pageName = urlComponents[3];
		var imageName = urlComponents[4];
		s = s_gi(s_account);
		s.linkTrackVars = "prop9";
		s.prop9 = pageName + ": " + imageName;
		//alert("s.prop9: " + s.prop9);
		s.tl(this,'o', "Color By Architecture: " + s.prop9);
	}

	return false;
}

var lists;
var SortList;
var oldHTML;

function assignListOnClicks() {
	if(SortList) {
		if(!SortList.oldHTML) {
			//alert("Found it, value= " + SortList.innerHTML);
			SortList.oldHTML = SortList.innerHTML;
			oldHTML = SortList.innerHTML;
		}
	}else {
		SortList = gE("SortList");
		if(SortList) {
			SortList.oldHTML = SortList.innerHTML;
			oldHTML = SortList.innerHTML;	
		}
	}
	lists = gETAC("UL", "sortList", document);
	if(lists.length == 0) {return;}
	for(var i=0;i<lists.length;i++) {
		var links = gET("A", lists[i]);
		for(var j=0;j<links.length;j++) {
			if(!links[j].NewURL) {
				links[j].DropDownTitle = gET("SPAN", links[j].parentNode.parentNode.parentNode.parentNode)[0];
				links[j].NewURL = links[j].getAttribute("ajax");
				//links[j].getAttribute("ajax") = "javascript: void(0);"
				if(hasClass(links[j], "selected")) {
					links[j].DropDownTitle.innerHTML = links[j].innerHTML;
				}
			}
			if(links[j].getAttribute("ajax")) {
				links[j].onclick = ListItemOnClick;
				removeClass(links[j].parentNode.parentNode.parentNode.parentNode, "active");
			}
		}
	}
}
var ListItemOnClickAjaxUrl;
function ListItemOnClick() {
	ListItemOnClickAjaxUrl = this.NewURL;

	sendGetReq(this.NewURL, ListItemOnClickResponse);
	
	//alert(this.parentNode.parentNode.parentNode.parentNode);
	//deactivateDrops();
	//removeClass(this.parentNode.parentNode.parentNode.parentNode, "active");
	var ThumbNailScrollerView = gE("ThumbNailScrollerView");
	if(!ThumbNailScrollerView) {return;}
	addLoaderGif(ThumbNailScrollerView);
	this.DropDownTitle.innerHTML = this.innerHTML;
	if(SortList) {
		if(SortList != this.DropDownTitle) {
			SortList.innerHTML  = oldHTML;
		}
	}
	for(var i = 0; i < lists.length; i++) {
		var links = gET("A", lists[i]);
		for(var j=0;j<links.length;j++) {
			links[j].onclick = null;
		}
	}

	return false;
}
function ListItemOnClickResponse(response) {
	//FIND ME
	if(!document.all) {
		JSONResponse = eval('(' + response + ')');//JSON.parse(response);//response.parseJSON();
	}else {
		JSONResponse = response.parseJSON();
	}
	
	//ThumbNails.innerHTML = JSONResponse.theThumbNails;
	var innerhtml = "";
	var loopLength = JSONResponse.theThumbNails.length;
	if(document.all) {
		loopLength -= 1;
	}
	for(var i=0;i<loopLength;i++) {
		var theHref;
		if(!hasIndexOf(JSONResponse.theThumbNails[i][0], ".html")) {
			theHref = "href=\"#\" ajax=\"";
		}else {
			theHref = "href=\"";
		}
		innerhtml += "<li><a " + theHref + JSONResponse.theThumbNails[i][0] + "\"> <img src=\"" + JSONResponse.theThumbNails[i][1] + "\" width=\"" + JSONResponse.theThumbNails[i][2] + "\" height=\"" + JSONResponse.theThumbNails[i][3] + "\"/> </a></li>";
	}
	
	if(!ThumbNails) { ThumbNails = gE("ThumbNails"); }
	
	ThumbNails.innerHTML = innerhtml;
	if(!lists) {
		lists = gETAC("UL", "sortList", document);
	}
	
	var links = gET("A", lists[2]);
	for(var j=0;j<links.length;j++) {
		if(links[j].id != "") {
			addClass(links[j].parentNode, "hide");
		}
		if(hasIndexOf(links[j].id, "roomType_")) {
			for(var k = 0; k < JSONResponse.availableRoomType.length;k++) {
				//alert(JSONResponse.availableRoomType[k]);
				var id = links[j].id.substring(links[j].id.indexOf("_") + 1);
				
				if(id == JSONResponse.availableRoomType[k]) {
					removeClass(links[j].parentNode, "hide");
				}
			}
			if(JSONResponse.availableRoomType.length == 0) {
				removeClass(links[j].parentNode, "hide");
			}
		}		
	}
	
	getThumbs();
	
	myCalculateLoadTime = new calculateLoadTime(ThumbNails, "ajaxLoadComplete");
	
	if(scrollingObj) {
		scrollingObj.recalculate(ThumbNailCollection);
	}
	//assignListOnClicks();
	
	if(SortList) {
		if(!SortList.oldHTML) {
			//alert("Found it, value= " + SortList.innerHTML);
			SortList.oldHTML = SortList.innerHTML;
			oldHTML = SortList.innerHTML;
		}
	}else {
		SortList = gE("SortList");
		if(SortList) {
			SortList.oldHTML = SortList.innerHTML;
			oldHTML = SortList.innerHTML;	
		}
	}
	lists = gETAC("UL", "sortList", document);
	if(lists.length == 0) {return;}
	for(var i=0;i<lists.length;i++) {
		var links = gET("A", lists[i]);
		for(var j=0;j<links.length;j++) {
			if(!links[j].NewURL) {
				links[j].DropDownTitle = gET("SPAN", links[j].parentNode.parentNode.parentNode.parentNode)[0];
				links[j].NewURL = links[j].getAttribute("ajax");
				//links[j].getAttribute("ajax") = "javascript: void(0);"
				if(hasClass(links[j], "selected")) {
					links[j].DropDownTitle.innerHTML = links[j].innerHTML;
				}
			}
			if(links[j].getAttribute("ajax")) {
				links[j].onclick = ListItemOnClick;
			}
		}
	}

	// Omniture
	/* This code will track changes to the room collection/type/style dropdowns as opposed to clicking on a thumbnail
	var urlComponents = ListItemOnClickAjaxUrl.split("/");
	alert("url: " + ListItemOnClickAjaxUrl);
	alert("urlComponents: " + urlComponents);
	alert("length: " + urlComponents.length);
	if (urlComponents.length == 6) {
		s = s_gi(s_account);
		var varValue = urlComponents[5]
		alert("varValue: " + varValue);
		if ((urlComponents[2].indexOf("Style") != -1) ||
			(urlComponents[2].indexOf("Collection") != -1)) {
			s.linkTrackVars = "prop4";
			s.prop4 = varValue;
			alert("style/collection: prop4: " + s.prop4);
		} else if (urlComponents[2].indexOf("Type") != -1) {
			s.linkTrackVars = "prop5";
			s.prop5 = varValue;
			alert("type: prop5: " + s.prop5);
		}
		s.tl(this,'o', "Project Ideas: "  + s.prop4 + ", " + s.prop5);
	}
	*/	
}
var scrollingObj;
function leftArrowOnMouseDown() {
	scrollingObj.startScroll(1);
}
function leftArrowOnMouseUp() {
	scrollingObj.stopScroll();
}
function rightArrowOnMouseDown() {
	scrollingObj.startScroll(-1);
}
function rightArrowOnMouseUp() {
	scrollingObj.stopScroll();
}
function leftArrowOnClick() {
	scrollingObj.shiftByOne(1);
}
function rightArrowOnClick() {
	scrollingObj.shiftByOne(-1);
}
function buildThumbNailScroller() {
	var ThumbNailScrollerView = gE("ThumbNailScrollerView");
	if(!ThumbNailScrollerView) {return;}
	//alert(ThumbNailCollection.length);
	if(ThumbNailCollection.length == 0) {return;}
	var ItemToScroll = gET("img", ThumbNailCollection[0])[0];
	var SVO = new ScrollingVarsObj(ThumbNailScrollerView, ItemToScroll, 6);
	ThumbNails.style.position = "absolute";
	ThumbNails.style.left = "0px";
	scrollingObj = new ScrollingObj(ThumbNailCollection, SVO, ThumbNails);
	var leftArrow = gE("LeftArrow");
	if(!leftArrow) {return;}
	leftArrow.href = "javascript: void(0);";
	leftArrow.onmousedown = leftArrowOnMouseDown;
	leftArrow.onmouseup = leftArrow.onmouseout = leftArrowOnMouseUp;
	//leftArrow.onclick = leftArrowOnClick;
	var rightArrow = gE("RightArrow");
	if(!rightArrow) {return;}
	rightArrow.href = "javascript: void(0);";
	//rightArrow.onclick = rightArrowOnClick;
	rightArrow.onmousedown = rightArrowOnMouseDown;
	rightArrow.onmouseup = rightArrow.onmouseout= rightArrowOnMouseUp;
	scrollingObj.assignMovingArrows(leftArrow, rightArrow);
}

var ScrollingObj = function(ScrollingObjCollection, ScrollingVars, ObjToMove) {
	//this.totalAmountToScroll;
	this.ScrollingObjCollection = ScrollingObjCollection;
	
	this.isInitialized = false;
	this.ScrollingVars = ScrollingVars;
	this.leftArrow;
	this.rightArrow;
	this.isScrolling = false;
	this.canScroll = false;
	this.timer;
	this.ObjToMove= ObjToMove;
	this.totalWidth = 0;
	this.smallSize = 0;
	this.biggerSize = 0;
	this.hasBiggerSize = false;
	this.startingLeftPoint = 0;
	this.amountShiftedSoFar = 0;
	//alert(this.ScrollingObjCollection.length);
	for(var i=0;i<this.ScrollingObjCollection.length;i++) {
		if(this.smallSize == 0) {
			this.smallSize = getWidth(this.ScrollingObjCollection[i]) + this.ScrollingVars.anItemMarginOffset;
		}
		if(getWidth(this.ScrollingObjCollection[i]) + this.ScrollingVars.anItemMarginOffset > this.smallSize) {
			this.biggerSize = getWidth(this.ScrollingObjCollection[i]) + this.ScrollingVars.anItemMarginOffset;
			this.hasBiggerSize = true;
		}
		if((getWidth(this.ScrollingObjCollection[i]) + this.ScrollingVars.anItemMarginOffset) < this.smallSize) {
			this.biggerSize = this.smallSize;
			this.hasBiggerSize = true;
			this.smallSize = getWidth(this.ScrollingObjCollection[i]) + this.ScrollingVars.anItemMarginOffset;
		}
	}	
	if(this.hasBiggerSize) {
		this.totalWidth = ((this.ScrollingObjCollection.length -1) * this.smallSize) + this.biggerSize;
	}else {
		this.totalWidth = this.ScrollingObjCollection.length * this.smallSize;
	}
	
};
ScrollingObj.prototype = {
	"assignMovingArrows": function(leftArrow, rigthArrow) {
		this.leftArrow = leftArrow;
		if(parseInt(this.ObjToMove.style.left) == 0) {
			this.leftArrow.style.visibility = "hidden";
		}
		this.rightArrow = rigthArrow;
		this.rightArrow.style.visibility = "hidden";
		if(this.ScrollingObjCollection.length > this.ScrollingVars.NumberOfItemsThatCanShow) {
			this.rightArrow.style.visibility = "visible";
		}
	},
	"recalculate": function(ScrollingObjCollection) {
		this.ScrollingObjCollection = ScrollingObjCollection;
		this.totalWidth = 0;
		this.hasBiggerSize = false;
		for(var i=0;i<this.ScrollingObjCollection.length;i++) {
			//alert(getWidth(this.ScrollingObjCollection[i]) + this.ScrollingVars.anItemMarginOffset);
			if(this.smallSize == 0) {
				this.smallSize = getWidth(this.ScrollingObjCollection[i]) + this.ScrollingVars.anItemMarginOffset;
			}
			if(getWidth(this.ScrollingObjCollection[i]) + this.ScrollingVars.anItemMarginOffset > this.smallSize) {
				this.biggerSize = getWidth(this.ScrollingObjCollection[i]) + this.ScrollingVars.anItemMarginOffset;
				this.hasBiggerSize = true;
			}
			if((getWidth(this.ScrollingObjCollection[i]) + this.ScrollingVars.anItemMarginOffset) < this.smallSize) {
				this.biggerSize = this.smallSize;
				this.hasBiggerSize = true;
				this.smallSize = getWidth(this.ScrollingObjCollection[i]) + this.ScrollingVars.anItemMarginOffset;
			}
		}	
		if(this.hasBiggerSize) {
			this.totalWidth = ((this.ScrollingObjCollection.length -1) * this.smallSize) + this.biggerSize;
		}else {
			this.totalWidth = this.ScrollingObjCollection.length * this.smallSize;
		}
		this.rightArrow.style.visibility = "hidden";
		if(this.ScrollingObjCollection.length > this.ScrollingVars.NumberOfItemsThatCanShow) {
			this.rightArrow.style.visibility = "visible";
		}
		this.ObjToMove.style.left = "0px";
		this.leftArrow.style.visibility = "hidden";
	},
	"setMoveVars": function(direction, value, TimeCallBack) {
		//move a direction
		this.ScrollingVars.direction = direction;
		this.ScrollingVars.AmountToMove = value;
		this.ScrollingVars.timeToCallBack = TimeCallBack;
	},
	"scroll": function() {
		if(this.canScroll) {
			this.scrollLogic();
			__currentObj = this;
			this.timer=setTimeout("__currentObj.scroll();", this.ScrollingVars.timeToCallBack);
		}else {
			clearTimeout(this.timer);
		}
	},
	"scrollByOne": function() {
		if(this.canScroll) {
			this.scrollByOneLogic();
			__currentObj = this;
			this.timer=setTimeout("__currentObj.scrollByOne();", this.ScrollingVars.timeToCallBack);
		}else {
			clearTimeout(this.timer);
		}
	},
	"stopScroll": function() {
		this.isScrolling = false;
		this.canScroll = false;
	},
	"shiftByOne": function(direction) {
		if(!this.isScrolling) {
			//alert("Scroll item size: " + this.ScrollingVars.ScrollItemSize);
			//alert("Amount To Move: " + this.ScrollingVars.AmountToMove);
			this.startingLeftPoint = parseInt(this.ObjToMove.style.left);
			this.amountShiftedSoFar = 0;
			this.isScrolling = true;
			this.canScroll = true;
			this.ScrollingVars.direction = direction;
			this.scrollByOne();
		}
	},
	"startScroll": function(direction) {
		if(!this.isScrolling) {
			this.isScrolling = true;
			this.canScroll = true;
			this.ScrollingVars.direction = direction;
			this.scroll();
		}
	},
	"scrollLogic": function() {
		if(this.ScrollingVars.direction > 0) {
			var whereItWillMoveTo = (parseInt(this.ObjToMove.style.left) + (this.ScrollingVars.direction * this.ScrollingVars.AmountToMove));
			if(whereItWillMoveTo  <= 0) {
				this.move();
				if(this.ScrollingVars.ViewArea < this.totalWidth && this.rightArrow.style.visibility == "hidden") {
					this.rightArrow.style.visibility = "visible";
				}
			}else {
				this.leftArrow.style.visibility = "hidden";
				this.stopScroll();
			}
		}else if(this.ScrollingVars.direction < 0) {
			
			var whereItWillMoveTo = (parseInt(this.ObjToMove.style.left) + (this.ScrollingVars.direction * this.ScrollingVars.AmountToMove));
			if(whereItWillMoveTo >= (this.totalWidth - this.ScrollingVars.ViewArea) * -1) {
				this.move();
				this.leftArrow.style.visibility = "visible";
			}else {
				this.rightArrow.style.visibility = "hidden";
				this.stopScroll();
			}
		}
		
	},
	"scrollByOneLogic": function() {
		//implement this tomorrow
		//this.startingLeftPoint = 0;
		//this.amountShiftedSoFar = 0;
		//this.ScrollItemSize;
		//if(this.ScrollingVars.direction > 0) {
			
		if((this.ScrollingVars.ScrollItemSize - this.amountShiftedSoFar) < this.ScrollingVars.AmountToMove) {
			
			var smallerThenAmountToMove = (this.ScrollingVars.ScrollItemSize - this.amountShiftedSoFar);
			//alert("This means that it shouldnt shift a full move and has a remainder of: " + smallerThenAmountToMove);
			//var whereItWillMoveTo = (parseInt(this.ObjToMove.style.left) + (this.ScrollingVars.direction * this.ScrollingVars.AmountToMove));
			this.move(smallerThenAmountToMove);
			if(this.ScrollingVars.ViewArea < this.totalWidth && this.rightArrow.style.visibility == "hidden") {
				this.rightArrow.style.visibility = "visible";
			}
			this.amountShiftedSoFar += (this.ScrollingVars.ScrollItemSize - this.amountShiftedSoFar);
			this.stopScroll();
		}else if((this.amountShiftedSoFar + this.ScrollingVars.AmountToMove) <= this.ScrollingVars.ScrollItemSize) {
			//var whereItWillMoveTo = (parseInt(this.ObjToMove.style.left) + (this.ScrollingVars.direction * this.ScrollingVars.AmountToMove));
			//alert("This means that its going ok this.amountShiftedSoFar: " + this.amountShiftedSoFar);
			this.move();
			if(this.ScrollingVars.ViewArea < this.totalWidth && this.rightArrow.style.visibility == "hidden") {
				this.rightArrow.style.visibility = "visible";
			}
			this.amountShiftedSoFar += this.ScrollingVars.AmountToMove;
		}else {
			//this.leftArrow.style.visibility = "hidden";
			//alert("it should be stopping now");
			this.stopScroll();
		}
		if(parseInt(this.ObjToMove.style.left) >= (this.totalWidth - this.ScrollingVars.ViewArea) * -1) {
			this.leftArrow.style.visibility = "visible";
		}else {
			this.rightArrow.style.visibility = "hidden";
		}
		if(parseInt(this.ObjToMove.style.left) == 0) {
			this.leftArrow.style.visibility = "hidden";
		}
	},
	"move": function(smallerThenAmountToMove) {
		if(!smallerThenAmountToMove) {
			this.ObjToMove.style.left = parseInt(this.ObjToMove.style.left) + (this.ScrollingVars.direction * this.ScrollingVars.AmountToMove) + "px";
		}else {
			this.ObjToMove.style.left = parseInt(this.ObjToMove.style.left) + (this.ScrollingVars.direction * smallerThenAmountToMove) + "px";
		}
	}
	
};
function getCss() {

	var CssPaletteId = gE("CssPaletteId");
		if(!CssPaletteId) {return;}
	if(!document.all) {
		var CssSheet = gE("CssSheet");
		if(!CssSheet) {return;}
		
		CssSheet.setAttribute("href", CssPaletteId.innerHTML + ".css");
	}else {
		
		var headTag = gET("HEAD", document)[0];
		var linkElement = document.createElement("link");
		linkElement.setAttribute("href", CssPaletteId.innerHTML + ".css");
		//alert(CssPaletteId.innerHTML);
		linkElement.setAttribute("rel", "stylesheet");
		linkElement.setAttribute("type", "text/css");
		linkElement.setAttribute("media", "all");
		headTag.appendChild(linkElement);
		//headTag.innerHTML += "<style type=\"text/css\" id=\"CssSheet\">@import url('" + CssPaletteId.innerHTML + ".css');</style>";
		
	}
	return false;
	//alert(gE("CssSheet"));
	
}
var CoordinateColorsList; 
function assignCoordinateColorsThumbsOnClicks() {
	list = gE("CoordinateColorsChips");
	if(!list) {return;}
	CoordinateColorsList = gET("A", list);
	for(var j=0;j<CoordinateColorsList.length;j++) {
		if(!CoordinateColorsList[j].NewURL) {
			//alert(links[j].parentNode.parentNode.parentNode.parentNode);
			CoordinateColorsList[j].NewURL = CoordinateColorsList[j].getAttribute("ajax");
			CoordinateColorsList[j].href = "javascript: void(0);"
		}
		CoordinateColorsList[j].onclick = CoordinateColorsListItemOnClick;		
	}
}

var CoordinateColorsListAjaxUrl;
function CoordinateColorsListItemOnClick() {
	CoordinateColorsListAjaxUrl = this.NewURL;
	
	var indx = CoordinateColorsListAjaxUrl.lastIndexOf("/");
	if (indx >-1){
		indx = CoordinateColorsListAjaxUrl.substring(indx+1);
	}	
	
	//find-me
	sendGetReq(this.NewURL, CoordinateColorsListItemOnClickResponse);
	var CoordinateColorsNavContainer = gE("CoordinateColorsNavContainer");
	if(!CoordinateColorsNavContainer) {return;}
	addLoaderGif(CoordinateColorsNavContainer);
	for(var j=0;j<CoordinateColorsList.length;j++) {
		CoordinateColorsList[j].onclick = null;
		
		// adjust the bottom image and palette
		var imageAndPaletteDiv = gE("navImageRoom_" +j);
		if (j == indx){
			imageAndPaletteDiv.style.display ="";
		} else {
			imageAndPaletteDiv.style.display ="none";
		}
	}
	return false;
}

function CoordinateColorsListItemOnClickResponse(response) {
	var CoordinateColorsNavContainer = gE("CoordinateColorsNavContainer");
	if(!CoordinateColorsNavContainer) {return;}
	try {
		CoordinateColorsNavContainer.innerHTML = response;
	}catch(err){
		//alert(err);
		//CoordinateColorsNavContainer.innerHTML = response;
		//getCss();
	}
	getCss(); 
	//calculateLoadTimeArray.push(new calculateLoadTime(CoordinateColorsNavContainer, ajaxLoadComplete));
	//loadTimer = window.setTimeout("calculateLoadTime(" + CoordinateColorsNavContainer +", " + ajaxLoadComplete + ")", 30);
	//calculateLoadTime(CoordinateColorsNavContainer, ajaxLoadComplete);
	
	myCalculateLoadTime = new calculateLoadTime(CoordinateColorsNavContainer, "ajaxLoadComplete");
	//loadTimer = setTimeout("myCalculateLoadTime.checkLoads();", 30);
	
	assignCoordinateColorsThumbsOnClicks();
	balloonInit();
	assignCreateWithImageLink();
	
	// Omniture
	var urlComponents = CoordinateColorsListAjaxUrl.split("/");
//	alert("url: " + CoordinateColorsListAjaxUrl);
//	alert("urlComponents: " + urlComponents);
//	alert("length: " + urlComponents.length);
	if (urlComponents.length == 6) {
		s = s_gi(s_account);
		var pageName = urlComponents[3];
		var imageName = urlComponents[4];
		var varValue = pageName + ": " + imageName;
//		alert("varValue: " + varValue);
		var section;
		if (urlComponents[2].indexOf("Ambience") != -1) {
			s.linkTrackVars = "prop7";
			s.prop7 = varValue;
			section = "Color By Ambience";
//			alert("ambience: prop7: " + s.prop7);
		} else if (urlComponents[2].indexOf("Nature") != -1) {
			s.linkTrackVars = "prop8";
			s.prop8 = varValue;
			section = "Color By Nature";
//			alert("nature: prop8: " + s.prop8);
		}
		s.tl(this,'o', section + ": " + varValue);
	}
	
	return false;
}


function swapThumbImage(imageTagId, imageId) {
	if(document.all) {return;} 
	var SideThumbToSwap = gE(imageTagId);
	if(!SideThumbToSwap) {return;}
	var orginalSRC = SideThumbToSwap.src.substring(0, SideThumbToSwap.src.lastIndexOf("/") + 1);
	SideThumbToSwap.src = orginalSRC + imageId;
}
var CreateWithImageLink;
var popUpTimer;
var thumbsInited = false;
function assignCreateWithImageLink() {
	CreateWithImageLink = gE("CreateWithImageLink");
	if(!CreateWithImageLink) {return;}
	MainImage = gE("SB_MainImage");
	CreateWithImageLink.href = "javascript: void(0);";
	//CreateWithImageLink.onclick = function() {
	
	var CreateWithImageDropDown = gE("CreateWithImageDropDown");
	if(!CreateWithImageDropDown) {return;}
	
	var dropdownMouseOver = function() {	
		clearTimeout(popUpTimer);
		if(hasClass(CreateWithImageDropDown, "hide")) {
			removeClass(CreateWithImageDropDown, "hide");
			assignCreateWithImageActionLinks();
			//forseThumbsPLToRun();
			// Omniture
			//s = s_gi(s_account);
			//s.linkTrackVars = "event4";
			//s.event4 = "event4";
			//s.tl(this,'o', "Paint With This Image");
			//alert("event4 sent for create w/image");
		}else {
			//addClass(CreateWithImageDropDown, "hide");
		}
		
		return false;
	};
	CreateWithImageLink.onmouseover = dropdownMouseOver;
	MainImage.onmouseover = dropdownMouseOver;
	
	CreateWithImageDropDown.onmouseover = function() {
		removeClass(CreateWithImageDropDown, "hide");
		if( ! thumbsInited ) {
			forseThumbsPLToRun();
			thumbsInited = true;
		}
		clearTimeout(popUpTimer);
	}
	CreateWithImageDropDown.onmouseout = function() {
		popUpTimer = setTimeout("killPopUp()", 250);
		return false;
	};
	var dropdownMouseOut = function() {
		popUpTimer = setTimeout("killPopUp()", 250);
		return false;
	};
	CreateWithImageLink.onmouseout = dropdownMouseOut;
	MainImage.onmouseout = dropdownMouseOut;
}

function killPopUp() {
	clearTimeout(popUpTimer);
	var CreateWithImageDropDown = gE("CreateWithImageDropDown");
	if(!CreateWithImageDropDown) {return;}
	addClass(CreateWithImageDropDown, "hide");
	return false;
}
//FIND ME
function popOpenPainterLight() {
	if(hasIndexOf(location.href, "open-painter")) {
		if(CreateWithImageLink) {
			CreateWithImageLink.onclick();
			ThePainterLightLink.onclick();
		}
	}
}
var actionLinks;
var ThePainterLightLink;
function assignCreateWithImageActionLinks() {
	var CreateWithImageActionLinks = gE("CreateWithImageActionLinks");
	if(!CreateWithImageActionLinks) {return;}
	actionLinks = gET("A", CreateWithImageActionLinks);
	if(actionLinks.length <= 0) {return;}
	for(var i=0;i<actionLinks.length;i++) {
		if(!hasClass(actionLinks[i], "noAjax")) {
			if(!actionLinks[i].NewURL) {
				//alert(links[j].parentNode.parentNode.parentNode.parentNode);
				actionLinks[i].NewURL = actionLinks[i].getAttribute("ajax");
				//actionLinks[i].href = "javascript: void(0);"
			}
			if(actionLinks[i].id != "ThePainterLightLink") {
				actionLinks[i].onclick = CreateWithImageActionLinksOnClick;
			}else {
				actionLinks[i].onclick = ThePainterLightLinkOnClick;
				ThePainterLightLink = actionLinks[i];
			}
		}
	}
}
var activeActionLink;
function CreateWithImageActionLinksOnClick() {
	sendGetReq(this.NewURL, CreateWithImageActionLinksOnClickResponse);
	activeActionLink = this;
	if(actionLinks) {
		for(var i=0;i<actionLinks.length;i++) {
			actionLinks[i].onclick = null;
		}
	}
	return false;
}
//CROB
function CreateWithImageActionLinksOnClickResponse(responseText) {
	activeActionLink.href="/my-idea-notebook.html";
	activeActionLink.onclick = function(){};
	addClass(activeActionLink, "noAjax" );
	/*function() {
		location.href = "/my-idea-notebook.html";
		return true;
	}
	*/
	var innerSpan = gET("SPAN", activeActionLink)[0];
	if(innerSpan) {
		innerSpan.innerHTML = responseText;
	}
	assignCreateWithImageActionLinks();

	//alert("CreateWithImageActionLinksOnClickResponse");
	s = s_gi(s_account);
	s.linkTrackVars = "events";
	s.linkTrackEvents = "event4, event14";
	s.events = "event4, event14";
	s.tl(this,'o', "Paint With This Image");
	sendDynamicSpotlightTag("tools", "pntimage");
}
function ThePainterLightLinkOnClick() {
	sendGetReq(this.NewURL, ThePainterLightLinkOnClickResponse);
	var CreateWithImageActionLinks = gE("CreateWithImageActionLinks");
	if(!CreateWithImageActionLinks) {return;}
	addLoaderGif(CreateWithImageActionLinks);
	this.onclick = null;
	return false;
}
var TryOtherPalettes;
var getRecommendedPalettes;
var getUserPalettes;
var loadTimer;
function forseThumbsPLToRun() {
	getThumbsPL();
}
//FINDTHIS
function ThePainterLightLinkOnClickResponse(responseText) {
	TryOtherPalettes = gE("TryOtherPalettes");
	if(!TryOtherPalettes) {return;}
	TryOtherPalettes.innerHTML = responseText;
	//alert(responseText);
	removeClass(TryOtherPalettes, "hide");
	getThumbsPL();
	var ClosePainterLight = gE("ClosePainterLight");
	if(!ClosePainterLight) {return;}
	ClosePainterLight.href = "javascript: void(0);";
	ClosePainterLight.onclick = function() {
		addClass(TryOtherPalettes, "hide");
		var CreateWithImageDropDown = gE("CreateWithImageDropDown");
		if(!CreateWithImageDropDown) {return;}
		addClass(CreateWithImageDropDown, "hide");
		assignCreateWithImageActionLinks();
	};
	var SaveToMyProjectsLink = gE("SaveToMyProjectsLink", TryOtherPalettes);
	if(!SaveToMyProjectsLink) {return;}
	SaveToMyProjectsLink.NewURL = SaveToMyProjectsLink.getAttribute("ajax");
	//SaveToMyProjectsLink.href = "javascript: void(0);";
	SaveToMyProjectsLink.onclick = SaveToMyProjectsLinkOnClick;
	
	getRecommendedPalettes = gE("getRecommendedPalettes");
	if(getRecommendedPalettes) {
		getRecommendedPalettes.NewURL =  getRecommendedPalettes.getAttribute("ajax");
		//getRecommendedPalettes.href = "javascript: void(0);";
	}
	getUserPalettes = gE("getUserPalettes");
	if(getUserPalettes) {
		getUserPalettes.NewURL =  getUserPalettes.getAttribute("ajax");
		//getUserPalettes.href = "javascript: void(0);";
		getUserPalettes.onclick = getUserPalettesOnClick;
	}
	//window["test"]();
	//calculateLoadTimeArray.push(new calculateLoadTime(TryOtherPalettes, ajaxLoadComplete));
	myCalculateLoadTime = new calculateLoadTime(TryOtherPalettes, "ajaxLoadComplete");
	//loadTimer = setTimeout("myCalculateLoadTime.checkLoads();", 30);
}
function test() {
	alert("called");
}
function getUserPalettesOnClick() {
	sendGetReq(this.NewURL, getUserPalettesOnClickResponse);
	//ThumbNailsPL
	this.onclick = null;
	removeClass(getRecommendedPalettes.parentNode, "selected");
	addClass(this.parentNode, "selected");
	addLoaderGif(gE("ThumbNailScrollerViewPL").parentNode);
	return false;
}
function getUserPalettesOnClickResponse(responseText) {
	var Thumbs = gE("ThumbNailsPL");
	if(!Thumbs) {return;}
	Thumbs.innerHTML = responseText;
	
	//calculateLoadTimeArray.push(new calculateLoadTime(Thumbs, ajaxLoadComplete));
	//calculateLoadTime(Thumbs, ajaxLoadComplete);
	
	myCalculateLoadTime = new calculateLoadTime(Thumbs, "ajaxLoadComplete");
	//loadTimer = setTimeout("myCalculateLoadTime.checkLoads();", 30);
	
	getRecommendedPalettes.onclick = getRecommendedPalettesOnClick;
	getThumbsPL();
	scrollingObjPL.recalculate(ThumbNailPLCollection);
	//var timer = setTimeout("ajaxLoadComplete();", 1500);
}
function getRecommendedPalettesOnClick() {
	sendGetReq(this.NewURL, getRecommendedPalettesOnClickResponse);
	//ThumbNailsPL
	addLoaderGif(gE("ThumbNailScrollerViewPL").parentNode);
	this.onclick = null;
	removeClass(getUserPalettes.parentNode, "selected");
	addClass(this.parentNode, "selected");
	return false;
}
function getRecommendedPalettesOnClickResponse(responseText) {
	var Thumbs = gE("ThumbNailsPL");
	if(!Thumbs) {return;}
	Thumbs.innerHTML = responseText;
	//FIND
	//var timer = setTimeout("ajaxLoadComplete();", 1500);
	//calculateLoadTimeArray.push(new calculateLoadTime(Thumbs, ajaxLoadComplete)); 
	//calculateLoadTime(Thumbs, ajaxLoadComplete);
	myCalculateLoadTime = new calculateLoadTime(Thumbs, "ajaxLoadComplete");
	//loadTimer = setTimeout("myCalculateLoadTime.checkLoads();", 30);
	
	getUserPalettes.onclick = getUserPalettesOnClick;
	getThumbsPL();
	scrollingObjPL.recalculate(ThumbNailPLCollection);
}

function SaveToMyProjectsLinkOnClick() {
	sendGetReq(this.NewURL.replace("-", ""), SaveToMyProjectsLinkOnClickResponse);
	var CreateWithImageActionLinks = gE("CreateWithImageActionLinks");
	if(!CreateWithImageActionLinks) {return;}
	//addLoaderGif(CreateWithImageActionLinks);
	this.onclick = null;
	return false;
}
function SaveToMyProjectsLinkOnClickResponse(responseText) {
	var SaveToMyProjects = gE("SaveToMyProjects", TryOtherPalettes);
	if(!SaveToMyProjects) {return;}
	SaveToMyProjects.innerHTML = responseText;
	removeClass(SaveToMyProjects, "hide");
	//calculateLoadTimeArray.push(new calculateLoadTime(SaveToMyProjects, ajaxLoadComplete));
	//calculateLoadTime(SaveToMyProjects, ajaxLoadComplete);
	
	//myCalculateLoadTime = new calculateLoadTime(SaveToMyProjects, "ajaxLoadComplete");
	//loadTimer = setTimeout("myCalculateLoadTime.checkLoads();", 30);
	
	
	//FIND ME2 GetShoppingListFromPainter GetShoppingListFromPainterOnFirstTab
	if(GetShoppingListFromPainter) {
		var GetShoppingListFromSave = gE("GetShoppingListFromSave");
		if(GetShoppingListFromSave) {
			GetShoppingListFromSave.href = GetShoppingListFromPainter.href;
		}
	}
	if(CustomizePaletteLink) {
		var CustomizePaletteLinkFromSave = gE("CustomizePaletteLinkFromSave");
		if(CustomizePaletteLinkFromSave) {
			CustomizePaletteLinkFromSave.href = CustomizePaletteLink.href;
		}
	}
	
	var ClosePainterLightFromSave = gE("ClosePainterLightFromSave");
	if(!ClosePainterLightFromSave) {return;}
	ClosePainterLightFromSave.href= "javascript: void(0);";
	ClosePainterLightFromSave.onclick = ClosePainterLightFromSaveOnClick;
}
function ClosePainterLightFromSaveOnClick() {
	var SaveToMyProjects = gE("SaveToMyProjects");
	if(!SaveToMyProjects) {return;}
	addClass(SaveToMyProjects, "hide");
	var ClosePainterLight = gE("ClosePainterLight");
	if(!ClosePainterLight) {return;}
	ClosePainterLight.onclick();
}
/** This is the Javascript for the Painter Light Scroller */
var ThumbNailPLCollection = Array();
var ThumbNailsPL;
function getThumbsPL() {
	ThumbNailsPL = gE("ThumbNailsPL");
	if(!ThumbNailsPL) { return; }
	ThumbNailPLCollection = gET("A", ThumbNailsPL);
	
	for(var i = 0; i < ThumbNailPLCollection.length; i++) {
		if(!ThumbNailPLCollection[i].NewURL) {
			ThumbNailPLCollection[i].NewURL = ThumbNailPLCollection[i].getAttribute("ajax");
			//ThumbNailPLCollection[i].href = "javascript: void(0);"
		}
		ThumbNailPLCollection[i].onclick = ThumbPLOnClick;
	}
	buildThumbNailPLScroller();
}
var SB_MainImage;
var CustomizePaletteLink;
var GetShoppingListFromPainter;
function ThumbPLOnClick() {
	//alert("ThumbPLOnClick");
	//sendGetReq(this.NewURL, LandingPageThumbReturned);
	var ImageREL = this.getAttribute("rel");
	if(ImageREL == "DefaultPalette") {
		//alert("is default palette");
		isDefaultPalette = true;
	}else {
		isDefaultPalette = false;
	}
	if(!SB_MainImage) {
		//alert("SB_MainImage assigned");
		SB_MainImage = gE("SB_MainImage");
		//var newImage = new Image();
		SB_MainImage.originalSRC = SB_MainImage.src;
		if(!isDefaultPalette) {
			var addGif = true;
			if(hasIndexOf(SB_MainImage.src, "sbimage")) {
				var oldSrc = SB_MainImage.src.substring(0, SB_MainImage.src.lastIndexOf("/"));
				var rootOldSrc = oldSrc.substring(0, oldSrc.lastIndexOf("/") + 1);
				var newSrc = rootOldSrc + getPaletteId(this.NewURL);
				if(SB_MainImage.src != newSrc) {
					SB_MainImage.src = newSrc;
				}else {
					//alert("src's are the same dont loader gif this");
					addGif = false;
				}
			}else {
				SB_MainImage.src = convertToSBImageTag(SB_MainImage.src) + "/" + getPaletteId(this.NewURL);
			}
			//SB_MainImage = newImage;
			if(addGif){	
				addLoaderGif(SB_MainImage);
				
				SB_MainImage.onload = function() {
					ajaxLoadComplete(); 
				}
			}
			//SB_MainImage.complete = false;
			//myCalculateLoadTime = new calculateLoadTime(SB_MainImage.parentNode, "ajaxLoadComplete");
		}
	}else {
		var addGif = true;
		if(!isDefaultPalette) {
			if(hasIndexOf(SB_MainImage.src, "sbimage")) {
				var oldSrc = SB_MainImage.src.substring(0, SB_MainImage.src.lastIndexOf("/"));
				var rootOldSrc = oldSrc.substring(0, oldSrc.lastIndexOf("/") + 1);
				var newSrc = rootOldSrc + getPaletteId(this.NewURL);
				if(SB_MainImage.src != newSrc) {
					SB_MainImage.src = newSrc;
				}else {
					addGif = false;
				}
			}else {
				SB_MainImage.src = convertToSBImageTag(SB_MainImage.src) + "/" + getPaletteId(this.NewURL);
			}
			if(addGif){	
				addLoaderGif(SB_MainImage);
				SB_MainImage.onload = function() {
					ajaxLoadComplete();
				}
			}
		}else {
			if(SB_MainImage.src != SB_MainImage.originalSRC) {
				SB_MainImage.src = SB_MainImage.originalSRC;
				
			}
		}
		if(!SB_MainImage.complete) {
			addLoaderGif(SB_MainImage);
			SB_MainImage.onload = function() {
				ajaxLoadComplete();
			}
		}
			
	}
	if(!hasIndexOf(location.href, "share-room-idea")) {
		var theLargeString = "virtualPainterPaletteImageLarge";
		var theSmallString = "virtualPainterPaletteImageSmall";
		for(var i = 0; i < ThumbNailPLCollection.length; i++) {
			if(hasClass(ThumbNailPLCollection[i].parentNode, "selected")) {
				theImg = gET("IMG", ThumbNailPLCollection[i])[0];
				theImg.src = theImg.src.replace(theLargeString, theSmallString);
				ThumbNailPLCollection[i].innerHTML = "<img src=\"" + theImg.src + "\" alt=\"\"/>";
				//convertPaletteImage(ThumbNailPLCollection[i]);
			}
			removeClass(ThumbNailPLCollection[i].parentNode, "selected");
			if(ThumbNailPLCollection[i] == this) {
				//alert(.src);
				theImg = gET("IMG", this)[0];
				theImg.src = theImg.src.replace(theSmallString, theLargeString);
				this.innerHTML = "<img src=\"" + theImg.src + "\" alt=\"\"/>";
				addClass(this.parentNode, "selected");
			}
		}
	}
	var SaveToMyProjectsLink = gE("SaveToMyProjectsLink", TryOtherPalettes);
	if(SaveToMyProjectsLink) {
		var oldPaletteId = SaveToMyProjectsLink.NewURL.substring(SaveToMyProjectsLink.NewURL.indexOf("-") + 1);
		var newPaletteId = this.NewURL.substring(this.NewURL.indexOf("-") + 1, this.NewURL.indexOf("/"));
		SaveToMyProjectsLink.NewURL = SaveToMyProjectsLink.NewURL.replace(oldPaletteId, newPaletteId);
	}
	
	CustomizePaletteLink = gE("CustomizePaletteLink", TryOtherPalettes);
	if(CustomizePaletteLink) {
		sendGetReq("/Ajax/getColors/" + getPaletteId(this.NewURL), CustomizePaletteLinkOnClickResponse);
	}

	var retrievedAddPaletteLink = gE("addPaletteLink");
	
	if(retrievedAddPaletteLink) {
		swapThePaletteIds(retrievedAddPaletteLink, this);
	}

	//FIND ME  GetShoppingListFromPainterOnFirstTab
	var GetShoppingListFromPainterOnFirstTab = gE("GetShoppingListFromPainterOnFirstTab");
//	GetShoppingListFromPainter = gE("GetShoppingListFromPainter");
	
	if(GetShoppingListFromPainterOnFirstTab) {
		swapThePaletteIds(GetShoppingListFromPainterOnFirstTab, this);
	}
	//myCalculateLoadTime = new calculateLoadTime(SB_MainImage.parentNode, "ajaxLoadComplete");
	s = s_gi(s_account);
	s.linkTrackVars = "events";
	s.linkTrackEvents = "event4, event14";
	s.events = "event4, event14";
	s.tl(this,'o', "Paint With This Image");
	sendDynamicSpotlightTag("tools", "pntimage");

	return false;
}
function swapThePaletteIds(whichLink, thumbnail) {
	if (whichLink.id == "addPaletteLink") {
		var paletteId = getPaletteId(thumbnail.NewURL);
		// Rip off the "/palette" since we only need the number
		paletteId = paletteId.substring(0, paletteId.indexOf("/"));
		var newUrl = "/Ajax/SavePaletteToNoteBook/" + paletteId;
		whichLink.ajax = newUrl;
		whichLink.NewURL = newUrl;
	} 
	
	if (whichLink.id == "GetShoppingListFromPainterOnFirstTab") {
		var end = whichLink.href.substring(whichLink.href.indexOf("shopping-list/") + 14);
		var roomId = end.substring(0, end.indexOf("/"));
		end = end.substring(end.indexOf(".html"));
		var begin = whichLink.href.substring(0, whichLink.href.indexOf("shopping-list/") + 14);
		var newUrl = begin + roomId + "/" + ((isDefaultPalette) ? "DefaultPalette/palette" : getPaletteId(thumbnail.NewURL)) + end;
		whichLink.href = newUrl;
	}
} 
function CustomizePaletteLinkOnClickResponse(responseText) {
	if(CustomizePaletteLink) {
		var oldHref = CustomizePaletteLink.href.substring(0, CustomizePaletteLink.href.indexOf("&"));
		CustomizePaletteLink.href = oldHref + responseText.replace(/^\s*|\s*$/g,"");
	}
}
function convertToSBImageTag(imgSrc) {
	imgSrc = imgSrc.replace(".jpeg", "");
	var begin = imgSrc.substring(0, imgSrc.indexOf("/image/") + 1);
	var end = imgSrc.substring(imgSrc.indexOf("/image/") + 1);
	return begin + "sb" + end;
}

 
function getPaletteId(theUrl) {
	return theUrl.substring(theUrl.indexOf("-") + 1);
}
var scrollingObjPL;
function leftArrowPLOnMouseDown() {
	scrollingObjPL.startScroll(1);
}
function leftArrowPLOnMouseUp() {
	scrollingObjPL.stopScroll();
}
function rightArrowPLOnMouseDown() {
	scrollingObjPL.startScroll(-1);
}
function rightArrowPLOnMouseUp() {
	scrollingObjPL.stopScroll();
}
function buildThumbNailPLScroller() {
	var ThumbNailScrollerView = gE("ThumbNailScrollerViewPL");
	if(!ThumbNailScrollerView) {return;}
	
	var SVO = new ScrollingVarsObj(ThumbNailScrollerView, ThumbNailPLCollection[0], 2);
	ThumbNailsPL.style.position = "absolute";
	ThumbNailsPL.style.left = "0px";
	scrollingObjPL = new ScrollingObj(ThumbNailPLCollection, SVO, ThumbNailsPL);
	var leftArrow = gE("LeftArrowPL");
	if(!leftArrow) {return;}
	leftArrow.href = "javascript: void(0);";
	leftArrow.onmousedown = leftArrowPLOnMouseDown;
	leftArrow.onmouseup = leftArrow.onmouseout = leftArrowPLOnMouseUp;
	var rightArrow = gE("RightArrowPL");
	if(!rightArrow) {return;}
	rightArrow.href = "javascript: void(0);";
	rightArrow.onmousedown = rightArrowPLOnMouseDown;
	rightArrow.onmouseup = rightArrow.onmouseout= rightArrowPLOnMouseUp;
	scrollingObjPL.assignMovingArrows(leftArrow, rightArrow);
}

function ajaxLoadComplete() {
	
	removeLoaderGif();
}
function addLoaderGif(elementToAddTo) {
	/*
		linkElement.setAttribute("href", CssPaletteId.innerHTML);
		linkElement.setAttribute("rel", "stylesheet");
		linkElement.setAttribute("type", "text/css");
		linkElement.setAttribute("media", "all");
		headTag.appendChild(linkElement);
	*/
	var gifContainerEle = gE("gifContainer");
	if(!gifContainerEle) {
		var gifContainer = document.createElement("div");
		gifContainer.setAttribute("id", "gifContainer");
		var loaderGif = document.createElement("img");
		addStyle(loaderGif, "display", "block");
		
		loaderGif.setAttribute("src", "/version/5560/img/loader2.gif");
		gifContainer.appendChild(loaderGif);
		var width = getWidth(elementToAddTo);
		var height = getHeight(elementToAddTo);
		var paddingTop = (Math.floor(getHeight(elementToAddTo) / 2)) - 3;
		
		var paddingLeft = (Math.floor(getWidth(elementToAddTo) / 2)) - 13;
		if(document.all) {
			paddingLeft = (Math.floor(paddingLeft / 4) -27 ) ;
			//alert(paddingLeft);
		}
		//addStyle(loaderGif, "paddingTop", paddingTop, "px");
		//addStyle(loaderGif, "paddingLeft", paddingLeft, "px");
		loaderGif.style.paddingTop = paddingTop + "px";
		
		if(!document.all) {
			loaderGif.style.paddingLeft = paddingLeft + "px";
		}
		var top = getYPos(elementToAddTo);
		var left= getXPos(elementToAddTo);
		//var styleAttb = "padding-top: "+ paddingTop +"px;width: "+width+"px; height: "+height+"px;top: "+top+"px;left: "+left+"px;";
		
		/*
		addStyle(gifContainer, "width", width, "px");
		addStyle(gifContainer, "height", height, "px");
		addStyle(gifContainer, "top", top, "px");
		addStyle(gifContainer, "left", left, "px");
		*/
		gifContainer.style.width = width + "px";
		gifContainer.style.height = height + "px";
		gifContainer.style.top = top + "px";
		gifContainer.style.left = left + "px";
		//gifContainer.setAttribute("style", styleAttb);
		gifContainer.className = "loaderGif";
		//var body = gET("BODY", document)[0];
		document.body.appendChild(gifContainer);
	}else {
		return;
	}
}
function addStyle(item, prop, value, extra) {
	if(extra) {
		value += extra;
	}
	//if(item.style[prop]) {
		item.style[prop] = value;
	//}
}
function removeLoaderGif() {
	var gifContainerEle = gE("gifContainer");
	if(!gifContainerEle) {return;}
	//var body = gET("BODY", document)[0];
	document.body.removeChild(gifContainerEle);
}
function assignFamilyBrandsRolloversWithParentAnchorOnclicks() {
	var familyBrands = gE("familyBrands");
	if(!familyBrands) {return;}
	var imgs = gET("IMG", familyBrands);
	//alert(imgs.length);
	for(var i=0;i<imgs.length;i++) {
		if(imgs[i].parentNode.tagName=="A") {
			var anch = imgs[i].parentNode;
			anch.onclick = function() {
				s=s_gi(s_account);
				s.linkTrackVars="prop11";
				s.prop11 = this.getElementsByTagName("IMG")[0].getAttribute("alt");
				s.tl(this, 'o', 'Footer Exit Link - ' +  this.getElementsByTagName("IMG")[0].getAttribute("alt"));
			};
		}		
	
		imgs[i].onmouseover = function() {
			var tempSrcBegin = this.src.substring(0, this.src.indexOf("/image1/") + 1);
			var tempSrcEnd = this.src.substring(this.src.indexOf("/image1/") + 7);
			this.src = tempSrcBegin + "image2" + tempSrcEnd;
			return false;
		};
		imgs[i].onmouseout = function() {
			var tempSrcBegin = this.src.substring(0, this.src.indexOf("/image2/") + 1);
			var tempSrcEnd = this.src.substring(this.src.indexOf("/image2/") + 7);
			this.src = tempSrcBegin + "image1" + tempSrcEnd;
			return false;
		};
	}
}


function addPaletteLink() {
	var addPaletteLink =  gE("addPaletteLink");
	if(!addPaletteLink) {return;}
	addPaletteLink.NewURL = addPaletteLink.getAttribute("ajax");
	//addPaletteLink.href = "javascript: void(0);"
	addPaletteLink.onclick = CreateWithImageActionLinksOnClick;
}
function addPaletteLink2() {
	var addPaletteLink =  gE("addPaletteLink2");
	if(!addPaletteLink) {return;}
	addPaletteLink.NewURL = addPaletteLink.getAttribute("ajax");
	//addPaletteLink.href = "javascript: void(0);"
	addPaletteLink.onclick = CreateWithImageActionLinksOnClick;
}
//CROB2
var PaletteComboLinks = new Array();
function assignPaletteCombo() {
	var paletteCombo = gE("paletteCombo");
	if(!paletteCombo) {return;}
	PaletteComboLinks = gETAC("A", "savePaletteLink", paletteCombo);
	var links = PaletteComboLinks;
	for(var i=0;i<links.length;i++) {
		if(!hasClass(links[i], "noAjax")) {
			links[i].NewURL = links[i].getAttribute("ajax");
			links[i].onclick = assignPaletteComboOnClick;
		}
	}
}
var PaletteComboActiveActionLink;
function assignPaletteComboOnClick() {
	sendGetReq(this.NewURL, assignPaletteComboOnClickResponse);
	PaletteComboActiveActionLink = this;
	var links = PaletteComboLinks;
	for(var i=0;i<links.length;i++) {
		links[i].onclick = null;
	}
	return false;
}
function assignPaletteComboOnClickResponse(responseText) {
	PaletteComboActiveActionLink.href="/my-idea-notebook.html";
	PaletteComboActiveActionLink.onclick = function(){};
	addClass(PaletteComboActiveActionLink, "noAjax" );
	
	PaletteComboActiveActionLink.innerHTML = responseText;
	assignPaletteCombo();
}

function saveTheProject(formName) {
	//roomId
	var  f = document[formName];
	if(f.projectName.value != "") {
		//alert(f.roomId.value);
		//alert(f.paletteId.value);
		//alert(f.projectName.value);
		var theURL = "/Ajax/saveTheProject/" + f.roomId.value + "/" + f.paletteId.value + "/" + f.projectName.value;
		sendGetReq(theURL, saveTheProjectResponse);
	}else {
		alert("please provide a name for your project");
	}
	return false;
}
function saveTheProjectResponse(responseText) {
	var savedProjectResponse = gE("savedProjectResponse");
	if(!savedProjectResponse) {return;}
	savedProjectResponse.innerHTML = responseText;
}


function leftArrowForNotebookImagesOnMouseDown() {
	scrollingObjForNotebookImages.startScroll(1);
}
function leftArrowForNotebookImagesOnMouseUp() {
	scrollingObjForNotebookImages.stopScroll();
}
function rightArrowForNotebookImagesOnMouseDown() {
	scrollingObjForNotebookImages.startScroll(-1);
}
function rightArrowForNotebookImagesOnMouseUp() {
	scrollingObjForNotebookImages.stopScroll();
}

function leftArrowForNotebookPalettesOnMouseDown() {
	scrollingObjForNotebookPalettes.startScroll(1);
}
function leftArrowForNotebookPalettesOnMouseUp() {
	scrollingObjForNotebookPalettes.stopScroll();
}
function rightArrowForNotebookPalettesOnMouseDown() {
	scrollingObjForNotebookPalettes.startScroll(-1);
}
function rightArrowForNotebookPalettesOnMouseUp() {
	scrollingObjForNotebookPalettes.stopScroll();
}
function leftArrowForNotebookProjectsOnMouseDown() {
	scrollingObjForNotebookProjects.startScroll(1);
}
function leftArrowForNotebookProjectsOnMouseUp() {
	scrollingObjForNotebookProjects.stopScroll();
}
function rightArrowForNotebookProjectsOnMouseDown() {
	scrollingObjForNotebookProjects.startScroll(-1);
}
function rightArrowForNotebookProjectsOnMouseUp() {
	scrollingObjForNotebookProjects.stopScroll();
}

var ThumbNailCollectionForNotebookImages = Array();
var ThumbNailsForNotebookImages;
var scrollingObjForNotebookImages; 
 
var ThumbNailCollectionForNotebookPalettes = Array();
var ThumbNailsForNotebookPalettes;
var scrollingObjForNotebookPalettes;

var ThumbNailCollectionForNotebookProjects = Array();
var ThumbNailsForNotebookProjects;
var scrollingObjForNotebookProjects;
function assignScrollersForNotebook() {
	var ThumbNailsForImages = gE("ThumbNailsForImages");
	if(ThumbNailsForImages) {
		ThumbNailCollectionForNotebookImages = gET("A", ThumbNailsForImages);
	}
	var ThumbNailScrollerViewForImages = gE("ThumbNailScrollerViewForImages");
	if(ThumbNailScrollerViewForImages) {
		var SVO = new ScrollingVarsObj(ThumbNailScrollerViewForImages, ThumbNailCollectionForNotebookImages[0], 4);
		ThumbNailsForImages.style.position = "absolute";
		ThumbNailsForImages.style.left = "0px";
		scrollingObjForNotebookImages = new ScrollingObj(ThumbNailCollectionForNotebookImages, SVO, ThumbNailsForImages);
		var leftArrow = gE("LeftArrowForImages");
		if(!leftArrow) {return;}
		leftArrow.href = "javascript: void(0);";
		leftArrow.onmousedown = leftArrowForNotebookImagesOnMouseDown;
		leftArrow.onmouseup = leftArrow.onmouseout = leftArrowForNotebookImagesOnMouseUp;
		var rightArrow = gE("RightArrowForImages");
		if(!rightArrow) {return;}
		rightArrow.href = "javascript: void(0);";
		rightArrow.onmousedown = rightArrowForNotebookImagesOnMouseDown;
		rightArrow.onmouseup = rightArrow.onmouseout= rightArrowForNotebookImagesOnMouseUp;
		scrollingObjForNotebookImages.assignMovingArrows(leftArrow, rightArrow);
	}
	var ThumbNailsForPalettes = gE("ThumbNailsForPalettes");
	if(ThumbNailsForPalettes) {
		ThumbNailCollectionForNotebookPalettes = gET("A", ThumbNailsForPalettes);
	}
	var ThumbNailScrollerViewForPalettes = gE("ThumbNailScrollerViewForPalettes");
	if(ThumbNailScrollerViewForPalettes) {
		var SVO = new ScrollingVarsObj(ThumbNailScrollerViewForPalettes, ThumbNailCollectionForNotebookPalettes[0], 4);
		ThumbNailsForPalettes.style.position = "absolute";
		ThumbNailsForPalettes.style.left = "0px";
		scrollingObjForNotebookPalettes = new ScrollingObj(ThumbNailCollectionForNotebookPalettes, SVO, ThumbNailsForPalettes);
		var leftArrow = gE("LeftArrowForPalettes");
		if(!leftArrow) {return;}
		leftArrow.href = "javascript: void(0);";
		leftArrow.onmousedown = leftArrowForNotebookPalettesOnMouseDown;
		leftArrow.onmouseup = leftArrow.onmouseout = leftArrowForNotebookPalettesOnMouseUp;
		var rightArrow = gE("RightArrowForPalettes");
		if(!rightArrow) {return;}
		rightArrow.href = "javascript: void(0);";
		rightArrow.onmousedown = rightArrowForNotebookPalettesOnMouseDown;
		rightArrow.onmouseup = rightArrow.onmouseout= rightArrowForNotebookPalettesOnMouseUp;
		scrollingObjForNotebookPalettes.assignMovingArrows(leftArrow, rightArrow);
	}
	
	var ThumbNailsForProjects = gE("ThumbNailsForProjects");
	if(ThumbNailsForProjects) {
		ThumbNailCollectionForNotebookProjects = gET("A", ThumbNailsForProjects);
	}
	var ThumbNailScrollerViewForProjects = gE("ThumbNailScrollerViewForProjects");
	if(ThumbNailScrollerViewForProjects) {
		var SVO = new ScrollingVarsObj(ThumbNailScrollerViewForProjects, ThumbNailCollectionForNotebookProjects[0], 4);
		ThumbNailsForProjects.style.position = "absolute";
		ThumbNailsForProjects.style.left = "0px";
		scrollingObjForNotebookProjects = new ScrollingObj(ThumbNailCollectionForNotebookProjects, SVO, ThumbNailsForProjects);
		var leftArrow = gE("LeftArrowForProjects");
		if(!leftArrow) {return;}
		leftArrow.href = "javascript: void(0);";
		leftArrow.onmousedown = leftArrowForNotebookProjectsOnMouseDown;
		leftArrow.onmouseup = leftArrow.onmouseout = leftArrowForNotebookProjectsOnMouseUp;
		var rightArrow = gE("RightArrowForProjects");
		if(!rightArrow) {return;}
		rightArrow.href = "javascript: void(0);";
		rightArrow.onmousedown = rightArrowForNotebookProjectsOnMouseDown;
		rightArrow.onmouseup = rightArrow.onmouseout= rightArrowForNotebookProjectsOnMouseUp;
		scrollingObjForNotebookProjects.assignMovingArrows(leftArrow, rightArrow);
	}
}
var getForgotPasswordForm;
var getChangePasswordForm;
var getLoginForm;
function assignGetForgotPasswordForm() {
	getForgotPasswordForm = gE("getForgotPasswordForm");
	if(getForgotPasswordForm) {
		//if(!getForgotPasswordForm.NewURL) {
			getForgotPasswordForm.NewURL = getForgotPasswordForm.getAttribute("ajax");
		//}
		getForgotPasswordForm.onclick = getForgotPasswordFormOnClick;
	}
	getChangePasswordForm = gE("getChangePasswordForm");
	if(getChangePasswordForm) {
		//if(!getChangePasswordForm.NewURL) {
			getChangePasswordForm.NewURL = getChangePasswordForm.getAttribute("ajax");
		//}
		getChangePasswordForm.onclick = getForgotPasswordFormOnClick;
	}
	getLoginForm = gE("getLoginForm");
	if(getLoginForm) {
		//if(!getLoginForm.NewURL) {
			getLoginForm.NewURL = getLoginForm.getAttribute("ajax");
		//}
		getLoginForm.onclick = getForgotPasswordFormOnClick
	}
}
//var calculateLoadTimeArray = new Array();
function getForgotPasswordFormOnClick() {
	sendGetReq(this.NewURL, getForgotPasswordFormOnClickResponse);
	if(getLoginForm) {
		getLoginForm.onclick = null
	}
	if(getForgotPasswordForm) {
		getForgotPasswordForm.onclick = null
	}
	if(getChangePasswordForm) {
		getChangePasswordForm.onclick = null
	}
	return false;
}
function getForgotPasswordFormOnClickResponse(responseText) {
	var swapForm = gE("swapForm");
	if(!swapForm) {return;}
	swapForm.innerHTML = responseText;
	assignGetForgotPasswordForm()
}

function useDebugger() {
	//museDebugger.log( "TEST2" );
}
//getThumbs, buildThumbNailScroller, 
windowObject.addLoadFunction(getThumbs, buildThumbNailScroller, assignListOnClicks, assignCoordinateColorsThumbsOnClicks, 
							assignCreateWithImageLink,assignFamilyBrandsRolloversWithParentAnchorOnclicks,
							addPaletteLink,assignPaletteCombo, addPaletteLink2, popOpenPainterLight
							//,startDebugger
							);
							
//windowObject.addLoadFunction(  );

