function searchClear(searchBox){
	if (searchBox.value == "search and discover..."){
		searchBox.value = "";
		searchInit();
	};
};

function searchRestore(searchBox){
	if (searchBox.value == ""){
		searchBox.value = "search and discover...";
		searchInit();
	};
};

function searchInit(){
	if (dojo.byId("searchInput").value != "search and discover..."){
		dojo.addClass("searchInput", "go");
	}
	else{
		dojo.removeClass("searchInput", "go");
	};
};

function searchMirror(obj){
	/* Function to set input values equal depending on direction going.
	Specificly for the search input boxes.
	Use as such: searchMirror(this); //this needs to be sent as need obj.id to determin direction to set value.
	*/
	if(obj.id == "advQuery"){
		btmInputValue = dojo.byId("advQuery").value;
		if(btmInputValue == ""){
			dojo.byId("searchInput").value = "search and discover...";
		}else{
			dojo.byId("searchInput").value = btmInputValue;
		};
		searchInit();
	}
	else{
		topInputValue = dojo.byId("searchInput").value;
		if (topInputValue == "search and discover..."){
			dojo.byId("advQuery").value = "";
		}else{
			dojo.byId("advQuery").value = topInputValue;
		};
	};
};

function searchCatMirror(obj){
	/* Function to mirror option selections between adv and normal search
	Use as such: searchCatMirror(this); //this or obj.id identifies which direction to propogate changes.
	*/
	if(dojo.query("#advSearch")){
		if(obj.id == "searchActual"){
			if(dojo.byId("searchCategoryOne").checked){
				dojo.byId("advCategoryOne").checked = "checked";
			}else{
				dojo.byId("advCategoryTwo").checked = "checked";
			};
		}else{
			if(dojo.byId("advCategoryOne").checked){
				dojo.byId("searchCategoryOne").checked = "checked";
			}else{
				dojo.byId("searchCategoryTwo").checked = "checked";
			};
		};
		categoryYellow();
	};
};

function signInSwitch(signInInput){
	if(signInInput.value == ""){
		dojo.addClass(signInInput, "go");
	}
	else{
		dojo.removeClass(signInInput, "go");
	};
};

function openImagePane(){
        dojo.animateProperty({
                node: "imageContainer",
                properties: {
                        right: { end: 300, start: 10}
                }
        }).play();
};

function closeImagePane(){
	if(dojo.byId("searchPanel").style.visibility != "visible" || dojo.byId("accountPanel").style.visibility != "visible"){
        dojo.animateProperty({
                node: "imageContainer",
                properties: {
                        right: { end: 10, start: 300}
                }
        }).play();
	};
};

function openSearch(){
	if(dojo.byId("searchPanel").style.visibility != "visible"){
		openImagePane();
		dojo.byId("searchPanel").style.visibility = "visible";
		dojo.byId("searchPanel").style.overflow = "hidden";
		dojo.toggleClass(dojo.byId("searchControl"), "off");
		dojo.animateProperty({
				node: "searchPanel",
				properties: {
						width: { end: 287, start: 0}
				},
		onEnd: function(){
				dojo.byId("searchPanel").style.overflow = "auto";
		}
		}).play();
		
		if(dojo.byId("accountPanel").style.visibility == "visible"){
			closeAccount();
		};
	}else{
		closeSearch();
	};
};

function closeSearch(){
        closeImagePane();
        dojo.byId("searchPanel").style.overflow = "hidden";
		dojo.toggleClass(dojo.byId("searchControl"), "off");
        dojo.animateProperty({
                node: "searchPanel",
                properties: {
                        width: { end: 0, start: 287}
                },
		onEnd: function(){
        		dojo.byId("searchPanel").style.visibility = "hidden";
		}
        }).play();
	dojo.byId('searchActual').reset();
	dojo.byId('advSearch').reset();
	dojo.removeClass('searchInput', 'go');
	dojo.byId('searchCategoryOne').checked = "checked";
	categoryYellow();
	DropAllCl();
};

function openAccount(){
		if(dojo.byId("accountPanel").style.visibility != "visible"){
			openImagePane();
			dojo.byId("accountPanel").style.visibility = "visible";
			dojo.byId("accountPanel").style.overflow = "hidden";
			dojo.animateProperty({
					node: "accountPanel",
					properties: {
							width: { end: 287, start: 0}
					},
			onEnd: function(){
					dojo.byId("accountPanel").style.overflow = "auto";
			}
			}).play();
			if(dojo.byId("searchPanel").style.visibility == "visible"){
				closeSearch();
			};
		}else{
			closeAccount();
		};
};

function closeAccount(){
        closeImagePane();
        dojo.byId("accountPanel").style.overflow = "hidden";
        dojo.animateProperty({
                node: "accountPanel",
                properties: {
                        width: { end: 0, start: 287}
                },
		onEnd: function(){
        		dojo.byId("accountPanel").style.visibility = "hidden";
		}
        }).play();
};

function openRegister(){
	if(dojo.byId("register").style.visibility != "visible"){
		closeDedicatedExtra();
		dojo.byId("register").style.visibility = "visible";
		dojo.byId("register").style.overflow = "hidden";
		dojo.animateProperty({
			node: "register",
			properties: {
				width: { end: 287, start: 0}
			},
		onEnd: function(){
			dojo.byId("register").style.overflow = "auto";
		}
		}).play();
	}else{
		openDedicatedExtra();
		closeRegister();
	};
};

function closeRegister(){
	dojo.byId("register").style.overflow = "hidden";
	dojo.animateProperty({
		node: "register",
		properties: {
			width: { end: 0, start: 287}
		},
		onEnd: function(){
			dojo.byId("register").style.visibility = "hidden";
		}
	}).play();
};

function openDedicatedExtra(){
	if(dojo.byId("dedicatedExtra").style.visibility != "visible"){
		dojo.byId("dedicatedExtra").style.visibility = "visible";
		dojo.byId("dedicatedExtra").style.overflow = "hidden";
		dojo.animateProperty({
			node: "dedicatedExtra",
			properties: {
				width: { end: 287, start: 0}
			},
		onEnd: function(){
			dojo.byId("dedicatedExtra").style.overflow = "auto";
		}
		}).play();
	}else{
		closedeDicatedExtra();
	};
};

function closeDedicatedExtra(){
	dojo.byId("dedicatedExtra").style.overflow = "hidden";
	dojo.animateProperty({
		node: "dedicatedExtra",
		properties: {
			width: { end: 0, start: 287}
		},
		onEnd: function(){
			dojo.byId("dedicatedExtra").style.visibility = "hidden";
		}
	}).play();
	dojo.animateProperty({
		node: "imageContainer",
		properties: {
			left: { end: 15, start: 300},
			right: { end: 287, start: 15}
		},
		onEnd: function(){
			dojo.removeClass('imageContainer', 'toTheRight');
		}
	}).play();
};

function searchPanelPopulateIn(){
	/*function used on search_view to populate searchPanel to reflect get query */
	/*getQuery = window.location.search.substring(1);  not getting for the time being as main has them already */
	/*splitGetQuery = getQuery.split("&");  not getting for the time being as main has them already */
	var forSale = false;
	var forEmbed = false;
	if(splitGetQuery.length > 6){
		clearAllNull('searchPanel');
		deSelectAll('searchPanel');
		resetSelect('searchPanel');
	};
	for(i = 0; i < splitGetQuery.length; i++){
		singleQuery = splitGetQuery[i].split("=");
		if(singleQuery[0] == "query"){
			queryHolder = singleQuery[1];
			cleanQuery = unescape(queryHolder.replace(/\+/g, " "));
			dojo.byId("searchInput").value = cleanQuery;
			advQueryObj = dojo.query("#advQuery");
			if(advQueryObj[0]){
				advQueryObj[0].value = cleanQuery;
			};
		};
		if(singleQuery[0] == "category"){
			if(singleQuery[1] != ""){
				dojo.byId("searchCategoryTwo").value = singleQuery[1];
				dojo.byId("searchCategoryTwo").checked = "checked";
				advCatObj = dojo.query("#advCategoryTwo");
				if(advCatObj[0]){
					advCatObj[0].value = singleQuery[1];
					advCatObj[0].checked = "checked";
					dojo.byId("advCategoryLabel").innerHTML = dojo.byId("searchCategoryLabel").innerHTML;
				};
			};
		};
		if(singleQuery[0] == "forsale"){
			if(singleQuery[1] != "" && singleQuery[1] == "1"){
				forSale = true;
			};
		};
		if(singleQuery[0] == "forembed"){
			if(singleQuery[1] != "" && singleQuery[1] == "1"){
				forEmbed = true;
			};
		};
		if(splitGetQuery.length > 6 && dojo.query('#advSearch')[0]){
			if(singleQuery[0] == "collection_uid"){
				if(singleQuery[1] != ""){
					dojo.byId("collection_" + singleQuery[1]).checked = 1;
				};
			};
			if(singleQuery[0] == "contentsort"){
				if(singleQuery[1] != "" && singleQuery[1] == "editorial"){
					dojo.byId("searchEditorial").checked = 1;
				};
				if(singleQuery[1] != "" && singleQuery[1] == "creative"){
					dojo.byId("searchCreative").checked = 1;
				};
			};
			if(singleQuery[0] == "orientation"){
				if(singleQuery[1] != "" && singleQuery[1] == "landscape"){
					dojo.byId("searchLandscape").checked = 1;
				};
				if(singleQuery[1] != "" && singleQuery[1] == "portrait"){
					dojo.byId("searchPortrait").checked = 1;
				};
			};
			if(singleQuery[0] == "forsale"){
				if(singleQuery[1] != "" && singleQuery[1] == "1"){
					dojo.byId("procureBuy").checked = 1;
				};
			};
			if(singleQuery[0] == "forembed"){
				if(singleQuery[1] != "" && singleQuery[1] == "1"){
					dojo.byId("procureEmbed").checked = 1;
				};
			};
			if(singleQuery[0] == "procurePr"){
				if(singleQuery[1] != "" && singleQuery[1] == "1"){
					dojo.byId("procurePr").checked = 1;
				};
			};
			if(singleQuery[0] == "procureAll"){
				if(singleQuery[1] != "" && singleQuery[1] == "1"){
					dojo.byId("procureBuy").checked = 1;
					dojo.byId("procureEmbed").checked = 1;
					dojo.byId("procurePr").checked = 1;
					dojo.byId("procureAll").checked = 1;
				};
			};
			if(singleQuery[0] == "before_date"){
				dojo.byId("searchBeforeDate").value = unescape(singleQuery[1].replace(/\+/g, " "));
			};
			if(singleQuery[0] == "after_date"){
				dojo.byId("searchAfterDate").value = unescape(singleQuery[1].replace(/\+/g, " "));
			};
			if(singleQuery[0] == "city"){
				dojo.byId("searchCity").value = unescape(singleQuery[1].replace(/\+/g, " "));
			};
			if(singleQuery[0] == "state"){
				dojo.byId("searchState").value = unescape(singleQuery[1].replace(/\+/g, " "));
			};
			if(singleQuery[0] == "location"){
				dojo.byId("searchLocation").value = unescape(singleQuery[1].replace(/\+/g, " "));
			};
			if(singleQuery[0] == "photographer"){
				dojo.byId("searchByLine").value = unescape(singleQuery[1].replace(/\+/g, " "));
			};
		};
	};
	if(forSale && forEmbed == false){
		DropSale();
		dojo.toggleClass('searchDropWrap', 'open'); /*Gotta reclose the bugger because the function above has toggle.open in it too */
	} else if(forEmbed && forSale == false){
		DropEmbed();
		dojo.toggleClass('searchDropWrap', 'open'); /*Gotta reclose the bugger because the function above has toggle.open in it too */
	};
}

function searchPanelCheckbox(){
	/* function to control searchPanel procure checkboxes and reflect on 
	the all checkbox*/
	var buy = dojo.byId('procureBuy');
	var embed = dojo.byId('procureEmbed');
	var pr = dojo.byId('procurePr');
	var all  = dojo.byId('procureAll');
	if(buy.checked != "checked" || embed.checked != "checked" || pr.checked != "checked"){
		all.checked = "";
	};
	if(buy.checked != "" && embed.checked != "" && pr.checked != ""){
		all.checked = "checked";
		DropAllCl();
	};
	if(buy.checked == true && embed.checked == false && pr.checked == false){
		DropSaleCl();
	}else if(embed.checked == true && buy.checked == false && pr.checked == false){
		DropEmbedCl();
	};
}

function hoverNavs(){
	/*iterate all .dropKicks and make em hoverNav's. Remember, structure's really imporatnt
	bonus: use leftSide on the .container to get em to be on the left! */
	dojo.forEach(dojo.query('span.dropKick'),function(a){
		var hoverTitle = dojo.query('.hoverTitle', a)[0];
		var hoverContent = dojo.query('.hoverContent', a)[0];
		dojo.connect(a, 'onmouseenter', function(){
			dojo.addClass(hoverTitle, "on");
			dojo.style(hoverContent, 'display', 'block');
		});
		dojo.connect(a, 'onmouseleave', function(){
			dojo.removeClass(hoverTitle, "on");
			dojo.style(hoverContent, 'display', 'none');
		});
		dojo.connect(hoverContent, 'onmouseleave', function(){
			dojo.removeClass(hoverTitle, "on");
			dojo.style(hoverContent, 'display', 'none');
		});
	});
};

function advSearch(e){
	if(dojo.query("#searchInput")[0].value == "search and discover..."){
		dojo.byId("searchInput").value = "";
	};
	//console.log(dojo.query("#searchInput")[0].value);
	if(dojo.query("#searchPanel")[0]){
		if(dojo.query("#searchPanel")[0].style.visibility == "visible"){
			dojo.byId("advQuery").value = dojo.byId("searchInput").value
			dojo.byId("advCategoryTwo").value = dojo.byId("searchCategoryTwo").value
			if(dojo.byId("searchCategoryTwo").checked){
				dojo.byId("advCategoryTwo").checked = "checked";
				};
			dojo.byId("advSearch").submit();
			if(e.preventDefault){
                                e.preventDefault();
                        }else{
                                event.returnValue = false;
                        };
		};
	};
};

function toggleCollect(target, selectContainerId){
	if(target.title=="Click to deselect all in this collection"){
		deSelectAll(selectContainerId);
		target.title = "Click to select all in this collection";
	}else{
		selectAll(selectContainerId);
		target.title = "Click to deselect all in this collection";
	};
};

function signUpSubmit(e){
	var dictOfFormNames = {"password_confirm": "confirm password", "job_title": "job title", "prov": "state/province", "code": "zip code", "tos": "license agreement", "realname": "your name", "username": "email", "location": "country"};
	dojo.byId("registerErrors").innerHTML = "";
	dojo.byId("registerSubmitActual").disabled = true;
	dojo.removeClass(dojo.byId("registerIndicator"), "hidden");
	dojo.xhrPost({
		form: dojo.byId("signUpActual"),
		url: "/users/signup?returns=json",
		handleAs: "json",
		load: function(data, ioArgs){
			if(data.response.success){
				dojo.byId("registerErrors").innerHTML += "<li class='bold'>Registration successful.</li>";
				dojo.byId("registerErrors").innerHTML += "<li style='margin-bottom: 10px;'>Be sure to check your spam folder if you do not see a confirmation email from us soon.</li>";
			}else{
				if(data.response.emailFail){
					dojo.byId("registerErrors").innerHTML += "<li>There was an error sending out the confirmation email.</li>";
					dojo.byId("registerErrors").innerHTML += "<li>Please wait a few minutes and try again.</li>";
				}else{
					dojo.byId("registerErrors").innerHTML += "<li class='bold'>Please correct the following errors</li>";
				};
				for(var i in data.response.result){
					if(i in dictOfFormNames){
						dojo.byId("registerErrors").innerHTML += "<li>" + dictOfFormNames[i] + " - " + data.response.result[i] + ".</li>";
					}else{
						dojo.byId("registerErrors").innerHTML += "<li>" + i + " - " + data.response.result[i] + ".</li>";
					};
				};
			};
			dojo.addClass(dojo.byId("registerIndicator"), "hidden");
			dojo.byId("registerSubmitActual").disabled = false;
		},
		error: function(err, ioArgs){
			dojo.byId("registerErrors").innerHTML += "<li class='bold'>We are sorry to report that an error has occurred.</li>";
			dojo.byId("registerErrors").innerHTML += "<li class='bold'>Please wait a few minutes and try again.</li>";
			dojo.byId("registerErrors").innerHTML += "<li>" + err + "</li>";
			dojo.addClass(dojo.byId("registerIndicator"), "hidden");
		}
	});
	return false;
};

function accountSubmit(e){
	var dictOfAccountNames = {"addressone": "address 1", "addresstwo": "address 2", "code": "zip code", "job_title": "job title", "prov": "state/province", "country": "country"};
	dojo.byId("stuffErrors").innerHTML = "";
	dojo.removeClass(dojo.byId("infoIndicator"), "hidden");
	dojo.byId("infoSubmitActual").disabled = true;
	dojo.xhrPost({
		form: dojo.byId("accountFormActual"),
		url: "/users/account/update/info?returns=json",
		handleAs: "json",
		load: function(data, ioArgs){
			if(data.response.success){
				dojo.byId("stuffErrors").innerHTML += "<li class='bold'>Your account details were successfully updated.</li>";
			}else{
				dojo.byId("stuffErrors").innerHTML += "<li class='bold'>Please correct the following errors</li>";
				for(var i in data.response.errors){
					if(i in dictOfAccountNames){
						dojo.byId("stuffErrors").innerHTML += "<li>" + dictOfAccountNames[i] + " - " + data.response.errors[i] + ".</li>";
					}else{
						dojo.byId("stuffErrors").innerHTML += "<li>" + i + " - " + data.response.errors[i] + ".</li>";
					};	
				};
			};
			dojo.addClass(dojo.byId("infoIndicator"), "hidden");
			dojo.byId("infoSubmitActual").disabled = false;
			accountInfo = storeAccountForm("accountFormActual");
		},
		error: function(err, ioArgs){
			dojo.byId("stuffErrors").innerHTML += "<li class='bold'>We are sorry to report that an error has occurred.</li>";
			dojo.byId("stuffErrors").innerHTML += "<li class='bold'>Please wait a few minutes and try again.</li>";
			dojo.byId("stuffErrors").innerHTML += "<li>" + err + "</li>";
			dojo.addClass(dojo.byId("infoIndicator"), "hidden");
		}
	});
	return false;
};

function ccSubmit(e){
	var dictOfCcNames = {"realname": "your name", "last_name": "lastname", "addr_num": "address number", "addr_str": "street name", "addr_zip": "zip code", "ccNumber": "credit card", "ccExpiresMonth": "expiration month", "ccExpiresYear": "expiration year", "tos": "license agreement"};
	dojo.byId("stuffErrors").innerHTML = "";
	dojo.removeClass(dojo.byId("ccIndicator"), "hidden");
	dojo.byId("ccSubmitActual").disabled = true;
	dojo.xhrPost({
		form: dojo.byId("ccFormActual"),
		url: "/users/account/update/cc?returns=json",
		handleAs: "json",
		load: function(data, ioArgs){
			if(data.response.success){
				dojo.byId("stuffErrors").innerHTML += "<li class='bold'>Your account details were successfully updated.</li>";
			}else{
				dojo.byId("stuffErrors").innerHTML += "<li class='bold'>Please correct the following errors</li>";
				for(var i in data.response.errors){
					if(i in dictOfCcNames){
						dojo.byId("stuffErrors").innerHTML += "<li>" + dictOfCcNames[i] + " - " + data.response.errors[i] + ".</li>";
					}else{
						dojo.byId("stuffErrors").innerHTML += "<li>" + i + " - " + data.response.errors[i] + ".</li>";
					};
				};
			};
			dojo.addClass(dojo.byId("ccIndicator"), "hidden");
			dojo.byId("ccSubmitActual").disabled = false;
			ccInfo = storeAccountForm('ccFormActual');
		},
		error: function(err, ioArgs){
			dojo.byId("stuffErrors").innerHTML += "<li class='bold'>We are sorry to report that an error has occurred.</li>";
			dojo.byId("stuffErrors").innerHTML += "<li class='bold'>Please wait a few minutes and try again.</li>";
			dojo.byId("stuffErrors").innerHTML += "<li>" + err + "</li>";
			dojo.addClass(dojo.byId("ccIndicator"), "hidden");
		}
	});
	return false;
};

function loginSubmit(e){
	var dictOfLoginNames = {"password_confirm": "confirm change", "password": "edit password"}
	dojo.byId("stuffErrors").innerHTML = "";
	dojo.byId("loginSubmitActual").disabled = true;
	dojo.removeClass(dojo.byId("loginIndicator"), "hidden");
	dojo.xhrPost({
		form: dojo.byId("loginFormActual"),
		url: "/users/account/update/login?returns=json",
		handleAs: "json",
		load: function(data, ioArgs){
			if(data.response.success){
				dojo.byId("stuffErrors").innerHTML += "<li class='bold'>Your account details were successfully updated.</li>";
			}else{
				dojo.byId("stuffErrors").innerHTML += "<li class='bold'>Please correct the following errors</li>";
				for(var i in data.response.result){
					if(i in dictOfLoginNames){
						dojo.byId("stuffErrors").innerHTML += "<li>" + dictOfLoginNames[i] + " - " + data.response.result[i] + ".</li>";
					}else{
						dojo.byId("stuffErrors").innerHTML += "<li>" + i + " - " + data.response.result[i] + ".</li>";
					};
				};
			};
			dojo.addClass(dojo.byId("loginIndicator"), "hidden");
			dojo.byId("loginSubmitActual").disabled = false;
			dojo.byId("loginFormActual").reset();
		},
		error: function(err, ioArgs){
			dojo.byId("stuffErrors").innerHTML += "<li class='bold'>We are sorry to report that an error has occurred.</li>";
			dojo.byId("stuffErrors").innerHTML += "<li class='bold'>Please wait a few minutes and try again.</li>";
			dojo.byId("stuffErrors").innerHTML += "<li>" + err + "</li>";
			dojo.addClass(dojo.byId("loginIndicator"), "hidden");
		}
	});
	return false;
};

function forgotSubmit(e){
	var dictOfForgotNames = {"realname": "your name", "username": "email address"};
	dojo.byId("forgotError").innerHTML = "";
	dojo.removeClass(dojo.byId("forgotIndicator"), "hidden");
	dojo.byId("forgotSubmitActual").disabled = true;
	dojo.xhrPost({
		form: dojo.byId("forgotFormActual"),
		url: "/users/account/forgot?returns=json",
		handleAs: "json",
		load: function(data, ioArgs){
			if(data.success){
				dojo.byId("forgotError").innerHTML += "<li class='bold group'>Password Reset: E-mail Sent</li>";
				dojo.byId("forgotError").innerHTML += "<li>You're almost there!</li>";
				dojo.byId("forgotError").innerHTML += "<li>An email has been sent to the email address you provided.</li>";
				dojo.byId("forgotError").innerHTML += "<li>The email sent to you contains a link. Open the email and click on that link to continue the password reset process.</li>";
				dojo.byId("forgotError").innerHTML += "<li>Remember to check your JUNK or SPAM email folder for the password reset email, in case the email is accidentally routed there by your email provider.</li>";
			}else{
				//console.log(data.errors[""]);
				//console.log(data.errors);
				if(data.errors[""] != undefined){
					dojo.byId("forgotError").innerHTML += "<li class='bold group'>" + data.errors[""] + ".</li>";
				}else{
					dojo.byId("forgotError").innerHTML += "<li class='bold group'>Please correct the following errors</li>";
					for(var i in data.errors){
						if(i in dictOfForgotNames){
							dojo.byId("forgotError").innerHTML += "<li>" + dictOfForgotNames[i] + " - " + data.errors[i] + ".</li>";
						}else{
							dojo.byId("forgotError").innerHTML += "<li>" + i + " - " + data.errors[i] + ".</li>";
						};
					};
				};
			};
			dojo.addClass(dojo.byId("forgotIndicator"), "hidden");
			dojo.byId("forgotSubmitActual").disabled = false;
		},
		error: function(err, ioArgs){
			dojo.byId("forgotError").innerHTML += "<li class='group'>Password reset has failed. Please contact us at support@fotoglif.com for further assistance.</li>";
			dojo.byId("forgotError").innerHTML += "<li>" + err + "</li>";
			dojo.addClass(dojo.byId("forgotIndicator"), "hidden");
		}
	});
	return false;
};

function twiddlyCakes(){
	/* Cute little function to search doc for all "input.twiddleCakes"
	and assign mouseout, mouseover so they appear to hover */
	dojo.forEach(dojo.query('input.twiddleCakes'),function(a){
		dojo.connect(a, 'onmouseover', function(){
			var timo = a.src.slice(a.src.length - 4, a.src.length);
			a.src = a.src.slice(0, -4) + "-over" + timo;
		});
		dojo.connect(a, 'onmouseout', function(){
			var timo = a.src.slice(a.src.length - 4, a.src.length);
			a.src = a.src.slice(0, -9)  + timo;
		});
	});
};

function showRegister(){
	dojo.addClass(dojo.byId('imageContainer'), 'open');
	dojo.removeClass(dojo.byId('register'), 'hidden');
};

function htmlDecode(htmlEncodedString){
	decodedString = htmlEncodedString;
	decodedString = decodedString.replace(/&amp;/g, '&'); 
	decodedString = decodedString.replace(/&quot;/g, '"'); 
	decodedString = decodedString.replace(/&lt;/g, '<'); 
	decodedString = decodedString.replace(/&gt;/g, '>'); 
	return decodedString;
};

function popEmbedCode(){
	if(rawEmbed == ""){
		dojo.xhrGet({
			url: "/images/embed/" + dojo.byId("embedHash").value,
			handleAs: "json",
			load: function(data){
				rawEmbed = htmlDecode(data.response.embed_code);
				manipulateEmbed();
			}
		});
	}else{
		manipulateEmbed();
	};
};

function manipulateEmbed(){
	var newEmbed = rawEmbed;
	if(dojo.byId("size468").checked == 1){
		var size = 468;
		var otherSize = 398;
	}else{
		newEmbed = newEmbed.replace(/468/g, '234');
		newEmbed = newEmbed.replace(/398/g, '199');
	};
	if(dojo.byId("alignLeft").checked == 1){
		newEmbed = newEmbed.replace(/center/g, 'left');
	}else if(dojo.byId("alignRight").checked == 1){
		newEmbed = newEmbed.replace(/center/g, 'right');
	};
	dojo.byId("embedCodeText").value = newEmbed;
};

function checkAllProcure(){
	if(dojo.byId('procureAll').checked == 1){
		dojo.byId("procureBuy").checked = 1;
		dojo.byId("procureEmbed").checked = 1;
		dojo.byId("procurePr").checked = 1;
		DropAllCl();
	}else{
		dojo.byId("procureBuy").checked = "";
		dojo.byId("procureEmbed").checked = "";
		dojo.byId("procurePr").checked = "";
	};
};

function deSelectAll(checkBoxContainer){
	/*function used to deselect all checkboxes in specified id*/
	var root = dojo.query('#' + checkBoxContainer)[0];
	dojo.forEach(dojo.query('input.checkbox', root), function(a){
		a.checked = "";
	});
};

function selectAll(checkBoxContainer){
	/*function used to select all checkboxes in specified id*/
	var root = dojo.query('#' + checkBoxContainer)[0];
	dojo.forEach(dojo.query('input.checkbox', root), function(a){
		a.checked = "checked";
	});
};

function clearAllNull(inputContainer){
	/*function used to set all input.text to null in specified id*/
	var root = dojo.query('#' + inputContainer)[0];
	dojo.forEach(dojo.query('input.text', root), function(a){
		a.value = "";
	});
};

function resetSelect(inputContainer){
	/*function used to reset all select to option[0] in specified id*/
	var root = dojo.query('#' + inputContainer)[0];
	dojo.forEach(dojo.query('select', root), function(a){
		a.selectedIndex = 0;
	});
};

function closeSearchDrop(e){
	safeItems = dojo.query('*', dojo.byId('searchDropWrap'));
	var descision = "false";
	dojo.forEach(safeItems, function(single){
		if(single.id != "" && e.target.id == single.id){
			descision = "true";
		};
	});
	if(descision != "true"){
		dojo.removeClass('searchDropWrap', 'open');
	};
};

function closeSignIn(e){
	safeItems = dojo.query('*', dojo.byId('signInWrap'));
	var descision = "false";
	dojo.forEach(safeItems, function(single){
		if(single.id != "" && e.target.id == single.id){
			descision = "true";
		};
	});
	if(descision != "true"){
		dojo.removeClass('signInWrap', 'open');
	};
};

function closeTools(e){
	safeItems = dojo.query('*', dojo.byId('toolsWrap'));
	var descision = "false";
	dojo.forEach(safeItems, function(single){
		if(single.id != "" && e.target.id == single.id){
			descision = "true";
		};
	});
	if(descision != "true"){
		dojo.removeClass('toolsWrap', 'open');
	};
};

function suggestionPosition(){
	/* to be connected to overflow onscroll so position suggestions
	 appropriately. */
	anchor = dojo.byId('suggestionAnchor');
	relativeTo = dojo.byId('registerRealNameGroup');
	positionOffset = dojo.position(relativeTo, false).y - dojo.position(anchor, false).y - 21; 
	thingToOffset = dojo.byId('suggestionWrap');
	b = dojo.style('suggestionWrap', 'top', positionOffset + 'px');
};

function storeAccountForm(target){
	/* function to return key, value of account info,
	 used later to repop account info */
	var stored = new Array();
	accountInfoForm = dojo.byId(target);
	counter = 0
	dojo.forEach(dojo.query('input', accountInfoForm), function(a){
		b = {}
		b["id"] = a.id;
		b["value"] = a.value;
		stored[counter] = b;	
		counter += 1;
	});
	dojo.forEach(dojo.query('select', accountInfoForm), function(a){
		b = {}
		b["id"] = a.id;
		b["value"] = a.value;
		stored[counter] = b;	
		counter += 1;
	});
	return stored;	
};

function repopAccountInfo(stored){
	/* function used to repop fields in accountFormActual. Works with 
	storeAccountInfo and needs to be passed the returned var from above. */
	counter = 0;
	dojo.forEach(stored, function(storedObj){
		dojo.byId(storedObj.id).value = storedObj.value;
	});
}

function damnCommas(dirtyTarget, cleanTarget){
	/* function used to strip commas from targetId.value and repop to
	 targetId */
	var dirtyTargetObject = dojo.byId(dirtyTarget);
	var cleanTargetObject = dojo.byId(cleanTarget);
	var valueToManipulate = dirtyTargetObject.value;
	var cleanValue = valueToManipulate.replace(/,/g, "");
	cleanTargetObject.value = cleanValue;
}

function damnSpaces(dirtyTarget, cleanTarget){
	/* function used to strip spaces from targetId.value and repop to
	 targetId */
	var dirtyTargetObject = dojo.byId(dirtyTarget);
	var cleanTargetObject = dojo.byId(cleanTarget);
	var valueToManipulate = dirtyTargetObject.value;
	var cleanValue = valueToManipulate.replace(/ /g, "");
	cleanTargetObject.value = cleanValue;
}

function categoryYellow(){
	/* function to append colour class newYellow to label in question
	depending on if radio searchCategoryTwo is active.
	To be bound to a onchange somewhere */
	if(dojo.byId("searchCategoryTwo").checked){
                dojo.removeClass("searchRadioGroupOne", "newYellow");
                dojo.addClass("searchRadioGroupTwo", "newYellow");
        }else{
                dojo.addClass("searchRadioGroupOne", "newYellow");
                dojo.removeClass("searchRadioGroupTwo", "newYellow");
        };

};

function DropAllCl(){
	/* Them function to do the checking/unchecking of the search 
	drop down-ish thing. Broken out so can use on closeSearch()*/
	/*Ideally would call this searchDropAll but ie doesn't work if 
	this is the case */
	dojo.byId('searchDropSale').checked = "";
	dojo.byId('searchDropEmbed').checked = "";
	dojo.byId('searchDropActual').innerHTML = "all";
	if(dojo.query('#procurePr')[0]){dojo.byId('procurePr').checked = 1;};
	if(dojo.query('#procureAll')[0]){dojo.byId('procureAll').checked = 1;};
	if(dojo.query('#procureBuy')[0]){dojo.byId('procureBuy').checked = 1;};
	if(dojo.query('#procureEmbed')[0]){dojo.byId('procureEmbed').checked = 1;};
};


function DropSaleCl(){
	/* See note about DropAllCl() */
	dojo.byId('searchDropSale').checked = 1;
	dojo.byId('searchDropEmbed').checked = "";
	dojo.byId('searchDropActual').innerHTML = "for sale only";
	if(dojo.query('#procurePr')[0]){dojo.byId('procurePr').checked = 0;};
	if(dojo.query('#procureAll')[0]){dojo.byId('procureAll').checked = 0;};
	if(dojo.query('#procureBuy')[0]){dojo.byId('procureBuy').checked = 1;};
	if(dojo.query('#procureEmbed')[0]){dojo.byId('procureEmbed').checked = 0;};
};

function DropEmbedCl(){
	/* See note about DropAllCl() */
	dojo.byId('searchDropSale').checked = "";
	dojo.byId('searchDropEmbed').checked = 1;
	dojo.byId('searchDropActual').innerHTML = "embed only";
	if(dojo.query('#procurePr')[0]){dojo.byId('procurePr').checked = 0;};
	if(dojo.query('#procureAll')[0]){dojo.byId('procureAll').checked = 0;};
	if(dojo.query('#procureBuy')[0]){dojo.byId('procureBuy').checked = 0;};
	if(dojo.query('#procureEmbed')[0]){dojo.byId('procureEmbed').checked = 1;};
};

function DropAll(){
	/*Convienience wrapper used by main page to control searchDrop
	clicks and reflect accordingly. */
	dojo.toggleClass('searchDropWrap', 'open');
	DropAllCl();
};

function DropSale(){
	/*See note from DropAll()*/
	dojo.toggleClass('searchDropWrap', 'open');
	DropSaleCl();
};


function DropEmbed(){
	/*See note from DropAll()*/
	dojo.toggleClass('searchDropWrap', 'open');
	DropEmbedCl();
};

