var SearchFiltersAndOptionsAjax = Class.create();

SearchFiltersAndOptionsAjax.prototype = {
	searchFiltersAndOptionsInitialized: false,

	initialize: function(context){
		
		
		this.context = context;
	},

	initializeAdvanced: function() {
		if(this.searchFiltersAndOptionsInitialized){
			return true;
		}
		
		this.params = '';
		var url = "ajax_class_creator.html";
		var params = "ajax_action=Init&ajax_class=searchfiltersandoptions&context="+this.context;
		var myAjax = new Ajax.Request
			(
				url, 
				{ 
					asynchronous: false,
					method: "get", 
					parameters: params,
					onComplete: this.initCompleted.bind(this),
					onFailure: this.failed.bind(this)
				}
			);
	},
	
	initCompleted: function(req) {
		var data=AjaxUtil.receiveArray(req.responseText);
		this.buildSelectOptions(eval('(' + data.selectOptions + ')'));
		this.params=eval('(' + data.params + ')');
		this.loadEvents();
		this.loadParams();
		this.searchFiltersAndOptionsInitialized = true;
	}, 

	reset: function() {
		this.disableAllButtons();
		var url = "ajax_class_creator.html";
		var params = "ajax_action=Reset&ajax_class=searchfiltersandoptions&context="+this.context;
		var myAjax = new Ajax.Request
			(
				url, 
				{ 
					asynchronous: true,
					method: "get", 
					parameters: params,
					onComplete: this.loadCompleted.bind(this),
					onFailure: this.failed.bind(this)
				}
			);
	},
	
	load: function() {
		this.disableAllButtons();
		var url = "ajax_class_creator.html";
		var params = "ajax_action=Load&ajax_class=searchfiltersandoptions&context="+this.context;
		var myAjax = new Ajax.Request
			(
				url, 
				{ 
					asynchronous: true,
					method: "get", 
					parameters: params,
					onComplete: this.loadCompleted.bind(this),
					onFailure: this.failed.bind(this)
				}
			);
	},
	
	loadCompleted: function(req) {
		this.enableAllButtons();
		var data=AjaxUtil.receiveArray(req.responseText);
		this.params=eval('(' + data.params + ')');
		this.loadParams(); 
		var searchBarParams=eval('('+ data.searchBarParams + ')');
		this.updateSearchBar(searchBarParams);
		this.updateSearchBarHiddenFields();
	},
	
	save: function() {
		this.disableAllButtons();
		this.setParams();
		var url = "ajax_class_creator.html";
		var params = "ajax_action=Save&ajax_class=searchfiltersandoptions&context="+this.context+"&params="+encodeURIComponent(Object.toJSON(this.params));
		var myAjax = new Ajax.Request
			(
				url, 
				{ 
					asynchronous: true,
					method: "post", 
					parameters: params,
					onComplete: this.saveCompleted.bind(this),
					onFailure: this.failed.bind(this)
				}
			);
	},
	
	saveCompleted: function(req) {
		this.enableAllButtons();
		var data=AjaxUtil.receiveArray(req.responseText);
		var searchBarParams=eval('('+ data.searchBarParams + ')');
		this.updateSearchBar(searchBarParams);
		this.updateSearchBarHiddenFields();
	},
		
	updateSearchBar: function(params) {
		this.updateFileTypeRadio(params.FO_Image.fileType, params.FO_Image.checkedRadio);
		$("SearchBarFileType"+params.FO_Image.fileType).src=params.FO_Image.src;
		
		this.updateFileTypeRadio(params.FO_Illustration.fileType, params.FO_Illustration.checkedRadio);
		$("SearchBarFileType"+params.FO_Illustration.fileType).src=params.FO_Illustration.src;
		
		this.updateFileTypeRadio(params.FO_Flash.fileType, params.FO_Flash.checkedRadio);
		$("SearchBarFileType"+params.FO_Flash.fileType).src=params.FO_Flash.src;
			
		this.updateFileTypeRadio(params.FO_Video4_3.fileType, params.FO_Video4_3.checkedRadio);
		this.updateFileTypeRadio(params.FO_Video16_9.fileType, params.FO_Video16_9.checkedRadio);
		$("SearchBarFileType8").src=params.FO_Video4_3.src;
		
		$('SearchBarSortBy').value = params.FO_Sort.value;
	},
	
	updateSearchBarHiddenFields: function() {
		
		if(typeof this.params != "undefined") {
			this.setParams();
			$('TopSearchFileTypeSizePrice').value = this.buildFileTypeSizeString();
				
			$('TopSearchOrientation').value = this.params.FO_Shape.value.join(',');
			$('TopSearchMinWidth').value = this.params.FO_MinWidth.value;
			$('TopSearchMinHeight').value = this.params.FO_MinHeight.value;
			$('TopSearchShowPeople').value = this.params.FO_People.value;
			$('TopSearchPrintAvailable').value = this.params.FO_PrintAvailable.value;
			$('TopSearchExclusiveArtists').value = this.params.FO_ExclusiveArtists.value;
			$('TopSearchExtendedLicense').value = this.params.FO_ExtendedLicense.value;
			$('TopSearchIllustrationLimit').value = this.params.FO_IllustrationLimit.value;
			$('TopSearchFlashLimit').value = this.params.FO_FlashLimit.value;
			$('TopSearchPerPage').value = this.params.FO_PerPage.value;
			$('TopSearchShowTitle').value = this.params.FO_Titles.value;
			$('TopSearchShowContributor').value = this.params.FO_Contributor.value;
			$('TopSearchShowFileNumber').value = this.params.FO_FileNumbers.value;
			$('TopSearchShowDownload').value = this.params.FO_Downloads.value;
			$('TopSearchEnableLoupe').value = this.params.FO_Loupe.value;
			//$('TopSearchFilterContent').value = this.params.FO_AdultContentFilter.value;
			
		}
	},
	
	buildFileTypeSizeString: function() {
		var f = this.params['FO_FileType'].value;
		var jsonString = ''; 
		var jsonString="[{'type':'"+f.FO_Image.name+"','size':'"+f.FO_Image.value+"','priceOption':'1'},{'type':'"+f.FO_Illustration.name+"','size':'Vector Image','priceOption':'"+f.FO_Illustration.value+"'},{'type':'"+f.FO_Flash.name+"','size':'Flash Document','priceOption':'"+f.FO_Flash.value+"'},{'type':'"+f.FO_Video4_3.name+"','size':'"+f.FO_Video4_3.value+"','priceOption':'1'},{'type':'"+f.FO_Video16_9.name+"','size':'"+f.FO_Video16_9.value+"','priceOption':'1'}]";
		return jsonString;
	},
	
	updateFileTypeRadio:function(fileType, checkedRadioID) {
		var form = $("SearchBarFileTypeOptionsForm"+fileType);
		var checkedRadio=$(checkedRadioID);
		var radios = form.elements[checkedRadio.name];
		for(var i=0; i<radios.length; i++){
			radios[i].checked=(radios[i].id == checkedRadio.id ? true:false);
			$(radios[i].id+"_Label").className=(radios[i].checked? 'radioon' :'radiooff');
		}
	},
	
	failed: function(req) {
		this.enableAllButtons();
	},
	
	setParams: function() {
		this.params['FO_FileType'].value["FO_Image"].value=$('FO_Image').value;
		this.params['FO_FileType'].value["FO_Illustration"].value=$('FO_Illustration').value;
		this.params['FO_FileType'].value["FO_Flash"].value=$('FO_Flash').value;
		this.params['FO_FileType'].value["FO_Video4_3"].value=$('FO_Video4_3').value;	
		this.params['FO_FileType'].value["FO_Video16_9"].value=$('FO_Video16_9').value;	
		this.params['FO_PerPage'].value=$('FO_PerPage').value;
		this.params['FO_Sort'].value=$('FO_Sort').innerHTML;
		
		this.params["FO_Shape"].value=[];
		if($("FO_Shape").checked) {
			var shapes = $("FO_ShapeSelect").immediateDescendants();
			for(var i=0; i< shapes.length; i++) {
				var orientation=shapes[i].id.substr(8);
				if(shapes[i].className=="ShapeSelected"+orientation) {
					this.params["FO_Shape"].value.push( shapes[i].title);
				}
			}
		}
		if($("FO_Size").checked) {
			this.params["FO_MinWidth"].value=$("FO_MinWidth").value;
			this.params["FO_MinHeight"].value=$("FO_MinHeight").value;
		} else {
			this.params["FO_MinWidth"].value=0;
			this.params["FO_MinHeight"].value=0;
		}
				
		this.params["FO_IllustrationLimit"].value=($("FO_IllustrationLimitExactly").checked ? 'Exactly' : 'Max');
		this.params["FO_FlashLimit"].value=($("FO_FlashLimitExactly").checked ? 'Exactly' : 'Max');
		
		this.params["FO_Titles"].value = ($("FO_Titles").src.indexOf("off_square.gif")!=-1 ? 0 : 1);
		this.params["FO_Contributor"].value = ($("FO_Contributor").src.indexOf("off_square.gif")!=-1 ? 0 : 1);
		this.params["FO_FileNumbers"].value = ($("FO_FileNumbers").src.indexOf("off_square.gif")!=-1 ? 0 : 1);
		this.params["FO_Downloads"].value = ($("FO_Downloads").src.indexOf("off_square.gif")!=-1 ? 0 : 1);
		this.params["FO_Loupe"].value = ($("FO_Loupe").src.indexOf("off_square.gif")!=-1 ? 0 : 1);
		this.params["FO_People"].value = ($("FO_People").src.indexOf("off_square.gif")!=-1 ? 0 : 1);
		this.params["FO_PrintAvailable"].value = ($("FO_PrintAvailable").src.indexOf("off_square.gif")!=-1 ? 0 : 1);
		this.params["FO_ExclusiveArtists"].value = ($("FO_ExclusiveArtists").src.indexOf("off_square.gif")!=-1 ? 0 : 1);
		this.params["FO_ExtendedLicense"].value = ($("FO_ExtendedLicense").src.indexOf("off_square.gif")!=-1 ? 0 : 1);
				
		if ($('FO_AdultContentFilterON')) {

			if ($('FO_AdultContentFilterON').style.display == 'inline') {
				this.params['FO_AdultContentFilter'].value=1;
			} else {
				this.params['FO_AdultContentFilter'].value=0;
			}

		} else {
			
			this.params["FO_AdultContentFilter"].value = ($("FO_AdultContentFilter").src.indexOf("off_square.gif")!=-1 ? 0 : 1);
			
		}
		
		
		
	},

	buildSelectOptions: function(filters) {
		var photo = $("FO_Image");
		var p = filters["FO_Image"];
		for(var i=0; i<p.labels.length; i++){
			var option = document.createElement('option');
			option.value=p.values[i];
			option.innerHTML = fixSafariEncode(p.labels[i])+"&nbsp;&nbsp;"; 
			photo.appendChild(option);
		}
		
		var illustration = $("FO_Illustration");
		var v = filters["FO_Illustration"];
		for(var i=0; i<v.labels.length; i++){
			var option = document.createElement('option');
			option.value=v.values[i];
			option.innerHTML=fixSafariEncode(v.labels[i])+"&nbsp;&nbsp;";
			illustration.appendChild(option);
		}
		
		var flash = $("FO_Flash");
		var f = filters["FO_Flash"]
		for(var i=0; i<f.labels.length; i++){
			var option = document.createElement('option');
			option.value=f.values[i];
			option.innerHTML=fixSafariEncode(f.labels[i])+"&nbsp;&nbsp;";
			flash.appendChild(option);
		}
		
		var video43 = $("FO_Video4_3");
		var v43 = filters["FO_Video4_3"];
		for(var i=0; i<v43.labels.length; i++){
			var option = document.createElement('option');
			option.value=v43.values[i];
			option.innerHTML=fixSafariEncode(v43.labels[i])+"&nbsp;&nbsp;";
			video43.appendChild(option);
		}
		
		var video169 = $("FO_Video16_9");
		var v169 = filters["FO_Video16_9"];
		for(var i=0; i<v169.labels.length; i++){
			var option = document.createElement('option');
			option.value=v169.values[i];
			option.innerHTML=fixSafariEncode(v169.labels[i])+"&nbsp;&nbsp;";
			video169.appendChild(option);
		}
				
		var p=filters["FO_PerPage"];
		var perPage = $("FO_PerPage");
		for(var i=0; i<p.labels.length; i++){
			var option = document.createElement('option');
			option.value=p.values[i];
			option.innerHTML=fixSafariEncode(p.labels[i])+"&nbsp;&nbsp;";
			perPage.appendChild(option);
		}
	},
	
	loadParams: function() {
		var fileTypeSize=this.params['FO_FileType'].value;
		var options = $("FO_Image").options;
		for(var i=0; i<options.length; i++) {
			if(options[i].value == fileTypeSize['FO_Image'].value) {
				options[i].selected = true;
				if(fileTypeSize['FO_Image'].value =='All' || fileTypeSize['FO_Image'].value == 'None') {
					$("FO_ImageWarning").style.display='none';
				} else {
					$("FO_ImageWarning").style.display='inline';
				}
				break;
			}
		}
		var options = $("FO_Illustration").options;
		for(var i=0; i<options.length; i++) {
			if(options[i].value == fileTypeSize['FO_Illustration'].value) {
				options[i].selected = true;
				if(fileTypeSize['FO_Illustration'].value =='All' || fileTypeSize['FO_Illustration'].value == 'None') {
					$("FO_IllustrationWarning").style.display='none';
				} else {
					$("FO_IllustrationWarning").style.display='inline';
				}
				break;
			}
		}
		$("FO_Illustration").onchange();
		var options = $("FO_Flash").options;
		for(var i=0; i<options.length; i++) {
			if(options[i].value == fileTypeSize['FO_Flash'].value) {
				options[i].selected = true;
				if(fileTypeSize['FO_Flash'].value =='All' || fileTypeSize['FO_Flash'].value == 'None') {
					$("FO_FlashWarning").style.display='none';
				} else {
					$("FO_FlashWarning").style.display='inline';
				}
				break;
			}
		}
		$("FO_Flash").onchange();
		var options = $("FO_Video4_3").options;
		for(var i=0; i<options.length; i++) {
			if(options[i].value == fileTypeSize['FO_Video4_3'].value) {
				options[i].selected = true;
				if(fileTypeSize['FO_Video4_3'].value =='All' || fileTypeSize['FO_Video4_3'].value == 'None') {
					$("FO_Video4_3Warning").style.display='none';
				} else {
					$("FO_Video4_3Warning").style.display='inline';
				}
				break;
			}
		}
		var options = $("FO_Video16_9").options;
		for(var i=0; i<options.length; i++) {
			if(options[i].value == fileTypeSize['FO_Video16_9'].value) {
				options[i].selected = true;
				if(fileTypeSize['FO_Video16_9'].value =='All' || fileTypeSize['FO_Video16_9'].value == 'None') {
					$("FO_Video16_9Warning").style.display='none';
				} else {
					$("FO_Video16_9Warning").style.display='inline';
				}
				break;
			}
		}
		var options = $("FO_PerPage").options;
		for(var i=0; i<options.length; i++) {
			if(options[i].value == this.params['FO_PerPage'].value) {
				options[i].selected = true;
				break;
			}
		}
		
		$("FO_Sort").innerHTML=this.params['FO_Sort'].value;
				
		$("FO_Size").checked=(this.params["FO_MinWidth"].value > 0 || this.params["FO_MinHeight"].value >0 ? true: false);
		$("FO_MinWidth").value=(this.params["FO_MinWidth"].value > 0 ? this.params["FO_MinWidth"].value : "");
		$("FO_MinHeight").value=(this.params["FO_MinHeight"].value > 0 ? this.params["FO_MinHeight"].value : "");
		
		
		var shape = $("FO_ShapeSelect");
		shape.checked = ($("FO_Size").checked == true ? false : true);
		
		if(shape.checked) {
			var shapes = shape.immediateDescendants();
			for(var i=0; i< shapes.length; i++) {
				var orientation=shapes[i].id.substr(8);
				shapes[i].className="ShapeNormal"+orientation;
			}
			var shapeList = this.params["FO_Shape"].value;
			for(var i=0; i<shapeList.length; i++) {
				this.changeShape(shapeList[i]);
			}
		} else {
			var shapes = shape.immediateDescendants();
			for(var i=0; i< shapes.length; i++) {
				var orientation=shapes[i].id.substr(8);
				shapes[i].className="ShapeSelected"+orientation;
			}
		}
	
		
		$("FO_IllustrationLimit"+this.params["FO_IllustrationLimit"].value).checked=true;
		$("FO_FlashLimit"+this.params["FO_FlashLimit"].value).checked=true;
		
		this.resetCheckboxes();
		if(this.params["FO_Titles"].value==1) { $("FO_Titles").onclick(); }
		if(this.params["FO_Contributor"].value==1) { $("FO_Contributor").onclick(); }
		if(this.params["FO_FileNumbers"].value==1) { $("FO_FileNumbers").onclick(); }
		if(this.params["FO_Downloads"].value==1) { $("FO_Downloads").onclick(); }
		if(this.params["FO_Loupe"].value==1) { $("FO_Loupe").onclick(); }
		if(this.params["FO_People"].value==1) { $("FO_People").onclick(); }
		if(this.params["FO_PrintAvailable"].value==1) { $("FO_PrintAvailable").onclick(); }
		if(this.params["FO_ExclusiveArtists"].value==1) { $("FO_ExclusiveArtists").onclick(); }
		if(this.params["FO_ExtendedLicense"].value==1) { $("FO_ExtendedLicense").onclick(); }
		

		if ($("FO_AdultContentFilterON")) {
			
			if (this.params['FO_AdultContentFilter'].value==1) {
				$("FO_AdultContentFilterON").style.display='inline';
				$("FO_AdultContentFilterOFF").style.display='none';
			} else {
				$("FO_AdultContentFilterON").style.display='none';
				$("FO_AdultContentFilterOFF").style.display='inline';
			}
		} else {
			if(this.params["FO_AdultContentFilter"].value==1) { $("FO_AdultContentFilter").onclick(); }
		}
	},
	
	resetCheckboxes: function() {
		this.changeCheckbox("FO_Titles", true);
		this.changeCheckbox("FO_Contributor", true);
		this.changeCheckbox("FO_FileNumbers", true);
		this.changeCheckbox("FO_Downloads", true);
		this.changeCheckbox("FO_Loupe", true);
		this.changeCheckbox("FO_People", true, true);
		this.changeCheckbox("FO_PrintAvailable", true, true);
		this.changeCheckbox("FO_ExclusiveArtists", true, true);
		this.changeCheckbox("FO_ExtendedLicense", true, true);
		
		if ($("FO_AdultContentFilter")) {
			this.changeCheckbox("FO_AdultContentFilter", true);
		}
	},
	
	loadEvents: function() {
		$("FO_Reset").onclick=this.reset.bind(this);
		$("FO_Load").onclick=this.load.bind(this);
		$("FO_Save").onclick=this.save.bind(this);
				
		$("FO_ShapeVertical").onclick=function(){	this.changeShape('Vertical'); }.bind(this);
		$("FO_ShapeHorizontal").onclick=function(){	this.changeShape('Horizontal'); }.bind(this);
		$("FO_ShapeSquare").onclick=function(){	this.changeShape('Square'); }.bind(this);
				
		$("FO_MinHeight").onfocus=function(){ this.changeSizeFocus(); }.bind(this); 
		$("FO_MinWidth").onfocus=function(){ this.changeSizeFocus(); }.bind(this); 
		$("FO_MinHeight").onblur=function(){ this.changeSizeBlur(); }.bind(this); 
		$("FO_MinWidth").onblur=function(){ this.changeSizeBlur(); }.bind(this); 
		$("FO_MinHeight").onkeyup=function(){ this.isNumeric($("FO_MinHeight")); }.bind(this); 
		$("FO_MinWidth").onkeyup=function(){ this.isNumeric($("FO_MinWidth")); }.bind(this); 
		
		$("FO_Shape").onclick=function(){
			$("FO_MinHeight").value="";
			$("FO_MinWidth").value="";
		}
		
		$("FO_Size").onclick=function() {
			var shapes = $("FO_ShapeSelect").immediateDescendants();
			for(var i=0; i<shapes.length; i++) {
				var orientation=shapes[i].id.substr(8);
				shapes[i].className="ShapeSelected"+orientation;
			}
		}
		
		$("FO_Image").onchange=function() {
			this.validateSelection($("FO_Image"));
			if($("FO_Image").value=='None') {
				$("FO_Shape").disabled=true;
				$("FO_Size").disabled=true;
				var minWidth = $("FO_MinWidth");
				minWidth.value="";
				minWidth.disabled=true;
				var minHeight = $("FO_MinHeight");
				minHeight.value="";
				minHeight.disabled=true;
				$("FO_ShapeVertical").onclick=function(){ }.bind(this);
				$("FO_ShapeHorizontal").onclick=function(){	}.bind(this);
				$("FO_ShapeSquare").onclick=function(){	}.bind(this);
				var shapes = $("FO_ShapeSelect").immediateDescendants();
				for(var i=0; i<shapes.length; i++) {
					var orientation=shapes[i].id.substr(8);
					shapes[i].className="ShapeSelected"+orientation;
				}				
			} else {
				$("FO_Shape").disabled=false;
				$("FO_Size").disabled=false;
				$("FO_MinWidth").disabled=false;
				$("FO_MinHeight").disabled=false;
				$("FO_ShapeVertical").onclick=function(){	this.changeShape('Vertical'); }.bind(this);
				$("FO_ShapeHorizontal").onclick=function(){	this.changeShape('Horizontal'); }.bind(this);
				$("FO_ShapeSquare").onclick=function(){	this.changeShape('Square'); }.bind(this);
			}
			if($("FO_Image").value =='All' || $("FO_Image").value == 'None') {
				$("FO_ImageWarning").style.display='none';
			} else {
				$("FO_ImageWarning").style.display='inline';
			}
		}.bind(this);
		
		$("FO_Illustration").onchange=function() {
			this.validateSelection($("FO_Illustration"));
			if($("FO_Illustration").value=='None' || $("FO_Illustration").value=='All') {
				$("FO_IllustrationLimitExactly").disabled=true;
				$("FO_IllustrationLimitMax").disabled=true;
				$("FO_IllustrationWarning").style.display='none';
			} else {
				$("FO_IllustrationLimitExactly").disabled=false;
				$("FO_IllustrationLimitMax").disabled=false;
				$("FO_IllustrationWarning").style.display='inline';
			}
		}.bind(this);
		$("FO_Flash").onchange=function() {
			this.validateSelection($("FO_Flash"));
			if($("FO_Flash").value=='None' || $("FO_Flash").value=='All') {
				$("FO_FlashLimitExactly").disabled=true;
				$("FO_FlashLimitMax").disabled=true;
				$("FO_FlashWarning").style.display='none';
			} else {
				$("FO_FlashLimitExactly").disabled=false;
				$("FO_FlashLimitMax").disabled=false;
				$("FO_FlashWarning").style.display='inline';
			}
		}.bind(this);
		$("FO_Video4_3").onchange=function() {
			this.validateSelection($("FO_Video4_3"));
			if($("FO_Video4_3").value=='None' || $("FO_Video4_3").value=='All') {
				$("FO_Video4_3Warning").style.display='none';
			} else {
				$("FO_Video4_3Warning").style.display='inline';
			}
		}.bind(this);
		$("FO_Video16_9").onchange=function() {
			this.validateSelection($("FO_Video16_9"));
			if($("FO_Video16_9").value=='None' || $("FO_Video16_9").value=='All') {
				$("FO_Video16_9Warning").style.display='none';
			} else {
				$("FO_Video16_9Warning").style.display='inline';
			}
		}.bind(this);
		
		$("FO_IllustrationLimitExactly").onclick=function() { this.params['FO_IllustrationLimit'].value="Exactly" }.bind(this);
		$("FO_IllustrationLimitMax").onclick=function() { this.params['FO_IllustrationLimit'].value="Max" }.bind(this);
		
		$("FO_FlashLimitExactly").onclick=function() { this.params['FO_FlashLimit'].value="Exactly" }.bind(this);
		$("FO_FlashLimitMax").onclick=function() { this.params['FO_FlashLimit'].value="Max" }.bind(this);
		
		$("FO_Titles").onclick=function() { this.changeCheckbox("FO_Titles");}.bind(this);
		$("FO_Contributor").onclick=function() {this.changeCheckbox("FO_Contributor");}.bind(this);
		$("FO_FileNumbers").onclick=function() {this.changeCheckbox("FO_FileNumbers");}.bind(this);
		$("FO_Downloads").onclick=function() {this.changeCheckbox("FO_Downloads");}.bind(this);
		$("FO_Loupe").onclick=function() {this.changeCheckbox("FO_Loupe");}.bind(this);
		$("FO_People").onclick=function() {this.changeCheckbox("FO_People", false, true);}.bind(this);
		$("FO_PrintAvailable").onclick=function() {this.changeCheckbox("FO_PrintAvailable", false, true);}.bind(this);
		$("FO_ExclusiveArtists").onclick=function() {this.changeCheckbox("FO_ExclusiveArtists", false, true);}.bind(this);
		$("FO_ExtendedLicense").onclick=function() {this.changeCheckbox("FO_ExtendedLicense", false, true);}.bind(this);

		
		if ($("FO_AdultContentFilter")) {
			$("FO_AdultContentFilter").onclick=function() {this.changeCheckbox("FO_AdultContentFilter");}.bind(this);
		}
		
		
		var onLoad = window.onload;
		window.onload = function() {
			if(onLoad) {	onLoad(); }
			$("FO_Help").onmouseover=function() { this.toggleHelpOpen(); } .bind(this);
			$("FO_Help").onmouseout=function() { this.toggleHelpClose(); } .bind(this);
		}.bind(this);
	},
	
	toggleHelpOpen: function() {
		var help = $("FO_HelpPopup");
		if(help.style.left=='') {
			var pos = Position.cumulativeOffset($("FO_Help"));
			help.style.left=(pos[0]-265)+"px";
			help.style.top=(pos[1]-200)+"px";
		}
		help.style.display='block';
	},
	
	toggleHelpClose: function() {
		$("FO_HelpPopup").style.display='none';
	},
	
	changeCheckbox: function(eleID, forceOff, showWarningWhenOn) {
		var ele = $(eleID);
		if(ele.src.indexOf("on_square.gif") != -1 || forceOff == true) {
			ele.src=ele.src.replace("on_square", "off_square");
			if(showWarningWhenOn) {
				$(eleID+"Warning").style.display='none';
			}
		} else {
			ele.src=ele.src.replace("off_square", "on_square");
			if(showWarningWhenOn) {
				$(eleID+"Warning").style.display='inline';
			}
		}
	},
	
	changeShape:function(shape) {
		if($("FO_Shape"+shape)) {
			if($("FO_Shape"+shape).className=="ShapeSelected"+shape) {
				$("FO_Shape"+shape).className="ShapeNormal"+shape;

				var noShapesSelected = true;			
				var shapes = $("FO_ShapeSelect").immediateDescendants();
				for(var i=0; i<shapes.length; i++) {
					var orientation=shapes[i].id.substr(8);
					if(shapes[i].className=="ShapeSelected"+orientation) {
						noShapesSelected=false;
						break;
					}
				}
				if(noShapesSelected) {
					for(var i=0; i<shapes.length; i++) {
						var orientation=shapes[i].id.substr(8);
						shapes[i].className="ShapeSelected"+orientation;
					}
				}
			} else {
				$("FO_Shape"+shape).className="ShapeSelected"+shape;
			}
			$("FO_Shape").checked=true;
			$("FO_MinHeight").value = "";
			$("FO_MinWidth").value = "";
		}
	},
	
	changeSizeFocus:function() {
		$("FO_Size").checked=true;
		var shapes = $("FO_ShapeSelect").immediateDescendants();
		for(var i=0; i< shapes.length; i++) {
			var orientation=shapes[i].id.substr(8);
			shapes[i].className="ShapeSelected"+orientation;
		}
	},
	changeSizeBlur:function() {
		if($("FO_MinHeight").value || $("FO_MinWidth").value) {
			$("FO_Size").checked=true;
		} else {
			$("FO_Shape").checked=true;
		}
	},
	isNumeric:function(ele) {
		var ValidChars = '0123456789';
		var IsNumber=true;
		var Char;
		sText = ele.value;
		for (i = 0; i < sText.length && IsNumber == true; i++) { 
			Char = sText.charAt(i); 
			if (ValidChars.indexOf(Char) == -1 || (sText.charAt(0) == 0)) {
		 		IsNumber = false;
		 		ele.value = '';
				ele.focus();
			}
		}      
	},
	disableAllButtons:function() {
		$("FO_Buttons").style.display="none";
		$("FO_Loading").style.display="inline";
		$("FO_Reset").disabled=true;
		$("FO_Load").disabled=true;
		$("FO_Save").disabled=true;
	},
	enableAllButtons:function() {
		$("FO_Buttons").style.display="inline";
		$("FO_Loading").style.display="none";
		$("FO_Reset").disabled=false;
		$("FO_Load").disabled=false;
		$("FO_Save").disabled=false;
	},
	validateSelection: function(ele) {
		if($("FO_Image").value=='None' && $("FO_Illustration").value=='None' && $("FO_Flash").value=='None' && $("FO_Video4_3").value=='None' && $("FO_Video16_9").value=='None') {
			ele.value='All';
			return false;
		} else {
			return true;
		}
	}
}
