/* search box functions */
function searchKeyword(){
	window.location="/search-results.aspx?keywords="+document.getElementById("posterSearch_searchterm").value;
}
function searchAdvanced(){
	var querystringValue="keywords="+document.getElementById("searchTermAdvanced").value;
	if(document.getElementById("roomDrop").value!=""){
		querystringValue+="&room="+document.getElementById("roomDrop").value;
	}
	if(document.getElementById("subjectDrop").value!=""){
		var originalValue=document.getElementById("subjectDrop").value;
		var newValue=originalValue.split("^");
		if(newValue.length>1){
			querystringValue+="&subject="+newValue[0]+"&country="+newValue[1];
		} else {
			querystringValue+="&subject="+document.getElementById("subjectDrop").value;
		}
	}
	if(document.getElementById("countryDrop").value!=""){
		querystringValue+="&country="+document.getElementById("countryDrop").value;
	}
	if(document.getElementById("stylesDrop").value!=""){
		querystringValue+="&style="+document.getElementById("stylesDrop").value;
	}
	if(document.getElementById("artistsDrop").value!=""){
		querystringValue+="&artists="+document.getElementById("artistsDrop").value;
	}
	if(document.getElementById("sizeDrop").value!=""){
		querystringValue+="&size="+document.getElementById("sizeDrop").value;
	}
	if(document.getElementById("minheight").value!=""){
		querystringValue+="&minHeight="+document.getElementById("minheight").value;
	}
	if(document.getElementById("maxheight").value!=""){
		querystringValue+="&maxHeight="+document.getElementById("maxheight").value;
	}
	if(document.getElementById("minwidth").value!=""){
		querystringValue+="&minWidth="+document.getElementById("minwidth").value;
	}
	if(document.getElementById("maxwidth").value!=""){
		querystringValue+="&maxWidth="+document.getElementById("maxwidth").value;
	}
	if(document.getElementById("priceRange").value!=""){
		querystringValue+="&price="+document.getElementById("priceRange").value;
	} 
		
	if(document.getElementById("centimeters").checked){
		querystringValue+="&measurementType=centimeters";
	} else {
		querystringValue+="&measurementType=inches";
	}
	
	
	document.getElementById("searchTermAdvanced").value="";
	document.getElementById("posterSearch_searchterm").value="";
	window.location="/search-results.aspx?defaultview=advanced&"+querystringValue;
}
//need a custom clear button
function clearFields(){
	document.getElementById("posterSearch_searchterm").value="";
}
//need a custom clear button
function clearAdvancedFields(){
	document.getElementById("searchTermAdvanced").value="";
	document.getElementById("subjectDrop").value="";
	document.getElementById("countryDrop").value="";
	document.getElementById("stylesDrop").value="";
	document.getElementById("artistsDrop").value="";
	document.getElementById("sizeDrop").value="";
	document.getElementById("roomDrop").value="";
	document.getElementById("priceRange").value="";
	document.getElementById("minheight").value="min";
	document.getElementById("maxheight").value="max";
	document.getElementById("minwidth").value="min";
	document.getElementById("maxwidth").value="max";
}


function findKeywords(){
	document.ctl00.submit();
}

//syncs up the two keyword boxes for basic and advanced searches
function keywordsSync(keyword,boxId){
	//document.getElementById(boxId).value=keyword;
}

function newsletterSignup(){
	document.ccoptin.submit();
}

//hijack the return key to make it search when entered
function checkCR(evt) {
	var evt  = (evt) ? evt : ((event) ? event : null);
	var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
	if ((evt.keyCode == 13) && (node.type=="text")) {
		if(document.getElementById("search1").className == "active"){
			searchKeyword();
		} else {
			searchAdvanced();	
		}
		return false;
	}
}
document.onkeypress = checkCR;
//sets the default values on page load
function setAdvancedSearchValues(){
	var querystring = new Querystring();
	if(querystring.get("defaultview", "")!="browse"){
		var keywords = querystring.get("keywords", "");
		var subject = querystring.get("subject", "");
		var country = querystring.get("country", "");
		var style = querystring.get("style", "");
		var artists = querystring.get("artists", "");
		var size = querystring.get("size", "");
		var minHeight = querystring.get("minHeight", "");
		var maxHeight = querystring.get("maxHeight", "");
		var minWidth = querystring.get("minWidth", "");
		var maxWidth = querystring.get("maxWidth", "");
		var price = querystring.get("price", "");
		var room = querystring.get("room", "");
		
		document.getElementById("roomDrop").value=room;
		document.getElementById("subjectDrop").value=subject;
		document.getElementById("priceRange").value=price;
		document.getElementById("countryDrop").value=country;
		document.getElementById("stylesDrop").value=style;
		document.getElementById("artistsDrop").value=artists;
		document.getElementById("sizeDrop").value=size;
		
		if(minHeight=="" || minHeight==null){
			document.getElementById("minheight").value="min";
		} else {
			document.getElementById("minheight").value=minHeight;	
		}
		if(minWidth=="" || minWidth==null){
			document.getElementById("minwidth").value="min";
		} else {
			document.getElementById("minwidth").value=minWidth;	
		}
		
		if(maxHeight=="" || maxHeight==null){
			document.getElementById("maxheight").value="max";
		} else {
			document.getElementById("maxheight").value=maxHeight;	
		}
		if(maxWidth=="" || maxWidth==null){
			document.getElementById("maxwidth").value="max";
		} else {
			document.getElementById("maxwidth").value=maxWidth;	
		}
		
		
		if(querystring.get("measurementType", "")=="centimeters"){
			document.getElementById("centimeters").checked=true;
		} else {
			document.getElementById("inches").checked=true;
		}
		document.getElementById("searchTermAdvanced").value=keywords;
		document.getElementById("posterSearch_searchterm").value=keywords;
	} else {
		clearAdvancedFields();	
	}
}

//sets the default values on page load
function setSearchValues(){
	var querystring = new Querystring();
    var keywords = querystring.get("keywords", "");	
    if(querystring.get("defaultview", "")!="browse"){
		document.getElementById("posterSearch_searchterm").value=keywords;
	} else {
		clearFields();	
	}
}



/* expands and collapses preview image on search */
function expandPreview(imagePath){
    document.getElementById("previewDiv").innerHTML="<img src='"+imagePath+"' />";
    document.getElementById("previewDiv").style.display="block";
    
}
function collapsePreview(imagePath){
    document.getElementById("previewDiv").style.display="none";
    document.getElementById("previewDiv").innerHTML="";
}
// Simple follow the mouse script

var divName = "previewDiv"; // div that is to follow the mouse
                       // (must be position:absolute)
var offX = 12;          // X offset from mouse position
var offY = -125;          // Y offset from mouse position

function mouseX(evt) {if (!evt) evt = window.event; if (evt.pageX) return evt.pageX; else if (evt.clientX)return evt.clientX + (document.documentElement.scrollLeft ?  document.documentElement.scrollLeft : document.body.scrollLeft); else return 0;}
function mouseY(evt) {if (!evt) evt = window.event; if (evt.pageY) return evt.pageY; else if (evt.clientY)return evt.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop); else return 0;}

function follow(evt) {if (document.getElementById) {var obj = document.getElementById(divName).style; obj.visibility = 'visible';
obj.left = (parseInt(mouseX(evt))+offX) + 'px';
obj.top = (parseInt(mouseY(evt))+offY) + 'px';}}
 
                    
                
function defaultSearchBox(view){
    var querystring = new Querystring();
	if(querystring.get("defaultview", "") == "browse"){
	    viewBrowse();
        //setTimeout('viewBrowse()', 500);
    } else if(querystring.get("defaultview", "") == "advanced"){
	    viewAdvanced();
        //setTimeout('viewAdvanced()', 500);
    } else {
        viewSearch();
    }
    setSearchValues();

	/*if(view=="advanced"){
		viewAdvanced();
	} else if(view=="browse"){
		viewBrowse();
	} else {
		viewSearch();
	}*/
	
}

/* Search tab navigation script */
function viewSearch() {
    showSearch();
    tabView.set('activeIndex', 0);
}
function showSearch() {
	document.getElementById("search1").className = "active";
	document.getElementById("search2").className = "inactive";
	document.getElementById("search3").className = "inactive";
	
	document.getElementById("search1").style.backgroundImage = "url(/images/search_search_white.gif)";
	document.getElementById("search2").style.backgroundImage = "url(/images/search_browse_dark.gif)";
	document.getElementById("search3").style.backgroundImage = "url(/images/search_advanced_dark.gif)";
}

function viewBrowse() {
    showBrowse();
    tabView.set('activeIndex', 1);
}
function showBrowse() {
	document.getElementById("search1").className = "inactive";
	document.getElementById("search2").className = "active";
	document.getElementById("search3").className = "inactive";
	
	document.getElementById("search1").style.backgroundImage = "url(/images/search_search_dark.gif)";
	document.getElementById("search2").style.backgroundImage = "url(/images/search_browse_white.gif)";
	document.getElementById("search3").style.backgroundImage = "url(/images/search_advanced_dark.gif)";

}

function viewAdvanced() {
    showAdvanced();
    tabView.set('activeIndex', 2);
}
function showAdvanced() {
	document.getElementById("search1").className = "inactive";
	document.getElementById("search2").className = "inactive"; 
	document.getElementById("search3").className = "active";
	
	document.getElementById("search1").style.backgroundImage = "url(/images/search_search_dark.gif)";
	document.getElementById("search2").style.backgroundImage = "url(/images/search_browse_dark.gif)";
	document.getElementById("search3").style.backgroundImage = "url(/images/search_advanced_white.gif)";
}

function displayOn(id) {
	document.getElementById(id).style.display = "block";
}
function displayOff(id) {
	document.getElementById(id).style.display = "none";
}

function toggleDiv(divId){
	var currentState=document.getElementById(divId).style.display;
	if(currentState=="none"){
		displayOn(divId);
	} else {
		displayOff(divId);
	}
}


function toggleExpand(imgID){
	var source=document.getElementById(imgID).src;
	var name=document.getElementById(imgID).name;
	if(name=="expand"){
		source="/images/search/collapse.gif";
		name="collapse";
	} else {
		source="/images/search/expand.gif";
		name="expand";
	}
}

function pmtoggle(div) {
	var option=['wine1','beer1','whisky1'];
	var c=0;
	for(var i=0; i<option.length; i++) {
		var obj=document.getElementById(option[i]);
		obj.style.display=(option[i]==div) && !(obj.style.display=="block")? "block" : "none";
		if (obj.style.display=="none"){c++;}
		if (c==3){document.images['plusminus'].src="plus.gif";}
		else {document.images['plusminus'].src="minus.gif";}
	}
}

function imgSwitch(id1, id2){
	if(document.getElementById(id1).style.display == "none"){
		displayOff(id2);
		displayOn(id1);
	} else {
		displayOff(id1);
		displayOn(id2);
	}
}
	






/* Client-side access to querystring name=value pairs
	Version 1.2.3
	22 Jun 2005
	Adam Vandenberg
*/
function Querystring(qs) { // optionally pass a querystring to parse
	this.params = new Object()
	this.get=Querystring_get
	
	if (qs == null)
		qs=location.search.substring(1,location.search.length)

	if (qs.length == 0) return

// Turn <plus> back to <space>
// See: http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.4.1
	qs = qs.replace(/\+/g, ' ')
	var args = qs.split('&') // parse out name/value pairs separated via &
	
// split out each name=value pair
	for (var i=0;i<args.length;i++) {
		var value;
		var pair = args[i].split('=')
		var name = unescape(pair[0])

		if (pair.length == 2)
			value = unescape(pair[1])
		else
			value = name
		
		this.params[name] = value
	}
}

function Querystring_get(key, default_) {
	// This silly looking line changes UNDEFINED to NULL
	if (default_ == null) default_ = null;
	
	var value=this.params[key]
	if (value==null) value=default_;
	
	return value
}


function showForm() {
	var exist = document.getElementById("resultsPanel_sortBy");
	if(exist) {
		exist.style.display = "inline";
	}
}
function hideForm() {
	var exist = document.getElementById("resultsPanel_sortBy");
	if(exist) {
		exist.style.display = "none";
	}
}



