var ie6 = false;

if(navigator.appVersion.indexOf("MSIE 6")!=-1) {
	ie6 = true;
}

var CamcorderBatteryFinder = {
	GetManufacturerCameraModels:function() {
		var id = $("manufacturerId").value;
		CamcorderBatteryFinder.ResetWizardLevel(1);
		if(id!=-1) {			
			var url = "index.cfm?action=CamcorderBatteryFinder_GetManufacturerCameraModels&id="+id;			
			new Ajax.Request( url, {asynchronous:true, evalScripts:false, onSuccess:CamcorderBatteryFinder.GetManufacturerCameraModels_onSuccess, onFailure:errFunc});
			new Insertion.Bottom("ah",LoadingAjax());
		}
	},
	GetManufacturerCameraModels_onSuccess:function(t) {
		z = parseJSON( t.responseText );
		Element.remove("widgetAjaxMsg");
		$("modelIdInput").update(z.camcorderModelsHTML);
		$("modelHolder").removeClassName("hidden");
	},
	GetHahnelBatteryForModelId:function() {
		var id = $("modelId").value;
		CamcorderBatteryFinder.ResetWizardLevel(2);
		if(id!=-1) {
			var url = "index.cfm?action=CamcorderBatteryFinder_GetHahnelBatteryForModelId&id="+id;
			new Ajax.Request( url, {asynchronous:true, evalScripts:false, onSuccess:CamcorderBatteryFinder.GetHahnelBatteryForModelId_onSuccess, onFailure:errFunc});
			new Insertion.Bottom("ah",LoadingAjax());
		}
	},
	GetHahnelBatteryForModelId_onSuccess:function(t) {
		z = parseJSON( t.responseText );
		Element.remove("widgetAjaxMsg");
		$("batteryDetails").update(z.camcorderVersionBatteryHTML);
		$("batteryDetailsHolder").removeClassName("hidden");
	},
	ResetWizardLevel:function(level) {
		switch(level) {
			case 1:
				$("modelHolder").addClassName("hidden");
				$("batteryDetailsHolder").addClassName("hidden");
			break;
			case 2:
				$("batteryDetailsHolder").addClassName("hidden");
			break;
			case 3:
				$("batteryDetailsHolder").addClassName("hidden");
			break;
		} 
	},
	ChangeTab:function(tabId) {
		switch(tabId) {
			case 2:
				CamcorderBatteryFinder.HideInformationTab();
				$("tab1").removeClassName("sel");
				$("tab2").addClassName("sel");
				$("tabPage1").addClassName("hidden");
				$("tabPage2").removeClassName("hidden");
				$("txtBattery").focus();
			break;	
			
			case 1:
				CamcorderBatteryFinder.HideInformationTab();
				$("tab2").removeClassName("sel");
				$("tab1").addClassName("sel");
				$("tabPage2").addClassName("hidden");
				$("tabPage1").removeClassName("hidden");
				if($("tab1").hasClassName("sel")) {
					if(!ie6) {
						new Effect.SlideDown("tabPage1");
					} else {
						$("tabPage1").style.display="block";
					}
				} else {
					if(!ie6) {
						new Effect.SlideDown("tabPage21");
					} else {
						$("tabPage2").style.display="block";
					}
				}
			break;
		}
		return false;
	},
	CheckForReturn:function(e) {
		if(e.keyCode==13) {
			CamcorderBatteryFinder.FindBattery();
		}
	},
	FindBattery:function() {
		var batId = $("txtBattery").value;
		if(batId.length==0) {
			CamcorderBatteryFinder.HighlightAndFocus();
		} else {
			$("batterySearchResultsHolder").addClassName("hidden");
			var url = "index.cfm?action=CamcorderBatteryFinder_FindBattery&st="+batId;
			new Ajax.Request( url, {asynchronous:true, evalScripts:false, onSuccess:CamcorderBatteryFinder.FindBattery_onSuccess, onFailure:errFunc});
			new Insertion.Bottom("ah",LoadingAjax());
		}
	},
	FindBattery_onSuccess:function(t) {
		z = parseJSON( t.responseText );		
		$("batterySearchResults").update(z.batteryResultsHTML);
		$("batterySearchResultsHolder").removeClassName("hidden");
		Element.remove("widgetAjaxMsg");
		if(z.numberOfResults==0) {
			CamcorderBatteryFinder.HighlightAndFocus();
		}
	},
	HighlightAndFocus:function() {
		new Effect.Highlight("txtBattery");
		$("txtBattery").focus();
	},
	HighlightRow:function(id) {
		var numberOfRows = $("resultRows").rows.length;		
		for(i=0;i<numberOfRows;i++) {
			if(i%2==0) {
				$("resultRows").rows[i].className="off";
			} else {
				$("resultRows").rows[i].className="on";
			}
		}
		$("tr_"+id).addClassName("hightlight");
	},
	HighlightRowSearch:function(id) {
		var numberOfRows = $("resultRowsSearch").rows.length;		
		for(i=0;i<numberOfRows;i++) {
			if(i%2==0) {
				$("resultRowsSearch").rows[i].className="off";
			} else {
				$("resultRowsSearch").rows[i].className="on";
			}
		}
		$("trs_"+id).addClassName("hightlight");
	}
	,MoreInfo:function(id) {
		CamcorderBatteryFinder.ShowInformationTab(id);
		return false;
	}
	,ShowInformationTab:function(id) {		
		var url = "index.cfm?action=CamcorderBatteryFinder_GetHahnelBatteryInformation&id="+id;			
		new Ajax.Request( url, {asynchronous:true, evalScripts:false, onSuccess:CamcorderBatteryFinder.ShowInformationTab_onSuccess, onFailure:errFunc});
		new Insertion.Bottom("ah",LoadingAjax());
	}
	,ShowInformationTab_onSuccess:function(t) {
		z = parseJSON( t.responseText );
		Element.remove("widgetAjaxMsg");
		$("batteryInformation").update(z.batteryResultsHTML);
		CamcorderBatteryFinder.HidePreviewTabsContent();
		if(!ie6) {
			new Effect.SlideDown("tabPage3");
		} else {
			$("tabPage3").style.display="block";
		}
	}
	,HideInformationTab:function() {		
		if($("tabPage3").style.display!="none") {
			if(!ie6) {
				new Effect.SlideUp("tabPage3");
			} else {
				$("tabPage3").style.display="none";
			}
		}
	}
	,HidePreviewTabsContent:function() {
		if($("tab1").hasClassName("sel")) {
			if(!ie6) {
				new Effect.SlideUp("tabPage1");
			} else {
				$("tabPage1").style.display="none";
			}
		} else {
			if(!ie6) {
				new Effect.SlideUp("tabPage2");
			} else {
				$("tabPage2").style.display="none";
			}
		}
	}
	,BackToSearchResults:function() {
		CamcorderBatteryFinder.HideInformationTab();
		if($("tab1").hasClassName("sel")) {
			if(!ie6) {
				new Effect.SlideDown("tabPage1");
			} else {
				$("tabPage1").style.display="block";
			}
		} else {
			if(!ie6) {
				new Effect.SlideDown("tabPage2");
			} else {
				$("tabPage2").style.display="block";
			}
		}
	}
	,LoadContactForm:function(id) {
		var url = "index.cfm?action=CamcorderBatteryFinder_LoadContactForm&id="+id;			
		new Ajax.Request( url, {asynchronous:true, evalScripts:false, onSuccess:CamcorderBatteryFinder.LoadContactForm_onSuccess, onFailure:errFunc});
		new Insertion.Bottom("ah",LoadingAjax());
		return false;
	}
	,LoadContactForm_onSuccess:function(t) {
		z = parseJSON( t.responseText );
		Element.remove("widgetAjaxMsg");
		$("batteryContact").update(z.contactFormHTML);
		$("batteryInformation").hide();
		$("batteryContact").show();
		if($("name")) {
			$("name").select();
		}
	}
	,CancelContact:function() {
		$("batteryInformation").show();
		$("batteryContact").hide();
		return false;
	}
	,ValidateContactForm:function() {
		if( $( "name" ).value == "" ) { 
			new Effect.Highlight("name");
			$( "name" ).select();	
			return false;		 
		} else if( $( "email" ).value == "" ) { 
			new Effect.Highlight("email");
			$( "email" ).select();	
			return false;
		} else if( $( "telephone" ).value == "" ) { 
			new Effect.Highlight("telephone");
			$( "telephone" ).select();	
			return false;
		} else if( $( "town" ).value == "" ) { 
			new Effect.Highlight("town");
			$( "town" ).select();	
			return false;
		} else if( $( "country" ).value == "" ) { 
			new Effect.Highlight("country");
			$( "country" ).select();	
			return false;
		} else if( $( "enquiry" ).value == "" ) { 
			new Effect.Highlight("enquiry");
			$( "enquiry" ).select();	
			return false;
		}
		if(!CamcorderBatteryFinder.TestEmail($( "email" ).value)) {
			new Effect.Highlight("email");
			$( "email" ).select();	
			return false;
		}
	
		new Insertion.Bottom("ah",LoadingAjax());
		$("PostEntryBut").hide();
		new Ajax.Request('index.cfm', {asynchronous:true, evalScripts:false, onSuccess:CamcorderBatteryFinder.ValidateContactForm_onSuccess, onFailure:errFunc, parameters:Form.serialize( $( "batteryContactForm" ) )});		return false;
		return false;
	}
	,ValidateContactForm_onSuccess:function(t) {
		z = parseJSON( t.responseText );
		Element.remove("widgetAjaxMsg");
		$("contactFormHolder").update(z.contactResultHTML);		
		new Effect.Highlight("contactFormHolder");
	}
	,TestEmail:function(src) {
	     var emailReg = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
	     var regex = new RegExp(emailReg);
	     return regex.test(src);
	}
}
