

		function isEmpty(s) { return ((s == null) || (s.length == 0)); }
		var whitespace = " \t\n\r";
		function isWhitespace (s) {
		  var i;
		  if (isEmpty(s)) return true;
		  for (i = 0; i < s.length; i++) {
		    var c = s.charAt(i);
		    if (whitespace.indexOf(c) == -1) return false;
		  }
		  return true;
		}
		function doesExist (s) { return ( ! isEmpty(s) && ! isWhitespace (s) ); }
		var iEmail = "You must use a valid email address (like you@there.com). Please reenter it now.!";
		function isEmail (s) {
		  if (isEmpty(s)) return ( true );
		  if (isWhitespace(s)) return ( false );
		  var i = 1;
		  var sLength = s.length;
		  while ((i < sLength) && (s.charAt(i) != "@")) { i++; }
		  if ((i >= sLength) || (s.charAt(i) != "@")) return ( false );
		  else i += 2;
		  while ((i < sLength) && (s.charAt(i) != ".")) { i++; }
		  if ((i >= sLength - 1) || (s.charAt(i) != ".")) return ( false );
		  else return ( true );
		}

		/*function validateAndSubmit() {
		  var form = document.register_members;
		  var ok = validateForm ();
		  if ( ok ) form.submit ();
		  return ( ok );
		}*/



		var interval = 0.5; // delay between rotating images (in seconds)
		var random_display = 1; // 0 = no, 1 = yes
		interval *= 1000;
		var image_index = 0;
		var number_of_image;
		var cleared = false;
		var image_list = new Array();
		var timer;
		/** Rotate images **/
		function rotateImages(imgid,im1,im2,im3,im4,im5)
		{
			image_index=0;
			image_list = new Array();
			imgObj = imgid;

			if(im1!='')
			{
				image_list[image_index++] = new imageItem(im1);
			}

			if(im2!='')
			{
				image_list[image_index++] = new imageItem(im2);
			}
			if(im3!='')
			{
				image_list[image_index++] = new imageItem(im3);
			}
			if(im4!='')
			{
				image_list[image_index++] = new imageItem(im4);
			}
			if(im5!='')
			{
				image_list[image_index++] = new imageItem(im5);
			}

			number_of_image = image_list.length;

			rotateImage(imgObj);
		}

		function imageItem(image_location)
		{
			this.image_item = new Image();
			this.image_item.src = image_location;
		}

		function get_ImageItemLocation(imageObj)
		{
			return(imageObj.image_item.src)
		}
		function generate(x, y)
		{
			var range = y - x + 1;
			return Math.floor(Math.random() * range) + x;
		}

		function getNextImage()
		{
			if (random_display) {
				image_index = generate(0, number_of_image-1);
			}
			else {
				image_index = (image_index+1) % number_of_image;
			}

			var new_image = get_ImageItemLocation(image_list[image_index]);

			return(new_image);
		}

		function rotateImage(place)
		{
			var new_image = getNextImage();
			$(place).src = new_image;
			var recur_call = "rotateImage('"+place+"')";
			timer = setTimeout(recur_call, interval);
		}

		function clearTimer()
		{
			clearTimeout(timer);
		}




	function showLoader (responseId) {
		$(responseId).innerHTML = "<img src='/images/loader.gif' align='middle' />";
	}
	//BATTERY SEARCH

	function searchByCat(responseId,formName)
	{
		var tmphtml;
		var newajax = new Ajax.Updater(
					'battery_search_results',
					'/index.php',
					{	method: 'post',
						parameters:Form.serialize(formName),
						evalscripts:true,
						onLoading: function(request) {
							tmphtml=$(responseId).innerHTML;
							$(responseId).innerHTML = "<img src='/images/cr_loader.gif' />";//"<img src='/images/search_loader1.gif' />";
						},
						onComplete:function(request){
							$(responseId).innerHTML=tmphtml;
						},
						onFailure: function(request) {
							reportError(request)
						}
					}
				);
	}


	function searchByTxt(responseId,formName)
	{
		var tmphtml;
		var newajax = new Ajax.Updater(
					'battery_search_results',
					'/index.php',
					{	method: 'post',
						parameters:Form.serialize(formName),
						evalscripts:true,
						onLoading: function(request) {
							tmphtml=$(responseId).innerHTML;
							$(responseId).innerHTML = "<img src='/images/cr_loader.gif' />";
						},
						onComplete:function(request){
							$(responseId).innerHTML=tmphtml;
						},
						onFailure: function(request) {
							reportError(request)
						}
					}
				);
	}


	//fetch brands who make this device
	function loadBrands(formName,responseId)
	{
		var newajax = new Ajax.Updater(
					'brands_holder',
					'/index.php',
					{	method: 'post',
						parameters:Form.serialize(formName)+'&loadbrand=1',
						evalscripts:true,
						onLoading: function(request) {
							$(responseId).innerHTML = "<img src='/images/cr_loader.gif' />";
						},
						onComplete:function(request){
						},
						onFailure: function(request) {
							reportError(request)
						}
					}
				);
	}


	function loadModels(formName,responseId)
	{
		var newajax = new Ajax.Updater(
					'model_holder',
					'/index.php',
					{	method: 'post',
						parameters:Form.serialize(formName)+'&loadmodels=1',
						evalscripts:true,
						onLoading: function(request) {
							$(responseId).innerHTML = "<img src='/images/cr_loader.gif' />";
						},
						onComplete:function(request){
						},
						onFailure: function(request) {
							reportError(request)
						}
					}
				);

		//load batteries also! having no Model
		var newajax = new Ajax.Updater(
					'battery_search_results',
					'/index.php',
					{	method: 'post',
						parameters:Form.serialize(formName),
						evalscripts:true,
						onLoading: function(request) {
							//$(responseId).innerHTML = "<img src='/images/cr_loader.gif' />";
						},
						onComplete:function(request){
						},
						onFailure: function(request) {
							reportError(request)
						}
					}
				);

	}


	function loadBattery(formName,responseId)
	{
		var tmphtml;
			var newajax = new Ajax.Updater(
					'battery_search_results',
					'/index.php',
					{	method: 'post',
						parameters:Form.serialize(formName)+'&loadbymodels=1',
						evalscripts:true,
						onLoading: function(request) {
							//$('battery_search_results').innerHTML = "<img src='/images/cr_loader.gif' />";
						},
						onComplete:function(request){

						},
						onFailure: function(request) {
							reportError(request)
						}
					}
				);


	}


	function pop_window(url,h,w)
	{
		//var zoom_window = dhtmlwindow.open("zoom", "ajax", url, "Pop-Up", "width="+ w +"px,height="+ h +"px,resize=1,scrolling=1,center=1");
		newwin = window.open(url,"add_content","location=no,scrollbars=no,copyhistory=no,toolbar=no,status=yes,height="+h+",width="+w+",left=185,top=100")
	}



function clearTextBox(field,txt)
{
	if(field.value==txt)
	{
		field.value='';
	}
}

function changeFieldType()
{
	$('tftpwdfield').innerHTML = '<input name="pword" type="password" id="email_pwd" value="" size="20"/>';
	$('email_pwd').focus();
}


function ajaxLogin(formobj,container)
{
	var ajax = new Ajax.Request('/index.php',
			{
			method:'post',
			parameters:'nolayout=true&page=40&ACTION=member_login.php&trigger=ajaxlogin&username='+ formobj.username.value +'&pword='+ formobj.pword.value,
			onLoading:function(request)
			{
				$(container).innerHTML = 'Authenticating! please standby...';
			},
			onSuccess:function(response)
			{
				if(response.responseText=='loggedIN')
				{

					/*var collapsible1 = new Fx.Slide($(''), {
					        duration: 500,
					        transition: Fx.Transitions.linear
					});

					collapsible1.toggle();*/
					Effect.SlideUp('error_block');

					//fetch Billing/Shipping Information Form
					fillBillingInfo('address_box');
					Effect.SlideUp('login_box');
					Effect.SlideUp('forgot_password');

					/*var collapsible = new Fx.Slide($('login_box'), {
					        duration: 500,
					        transition: Fx.Transitions.linear
					});

					collapsible.toggle();*/

				}
				else
				{
					$(container).innerHTML = response.responseText;
				}

			}
		}
		);//.request();

	return false;
}

function fillBillingInfo(container){
	var ajax = new Ajax.Updater(container,'/index.php',
		{
			method:'post',
			evalScripts:true,
			parameters:'nolayout=true&page=40&trigger=ajax',
			onLoading:function(request)
			{
				$(container).innerHTML = 'Fetching Billing information! please standby...';
			}
		});//.request();

}

function pop_link(url,title,w,h) {
	pop_window = dhtmlwindow.open("popwin", "ajax", url, title, "width="+ w +"px,height="+ h +"px,resize=1,scrolling=1,center=1", "recal");
}


function addBatteryToCart(batterySKU){

	//alert("Buying this item ewwww?");
	Cart.addBattery(1,batterySKU,'cart_container');
}


function addItemToCart(itemid){

	//alert("Buying this item ewwww?");
	Cart.addItem(1,itemid,'cart_container');
}


/**
** CART RELATED FUNCTIONS
**/
var Cart = {
	remove_Item: function(productId,container)
	{
		var ajax = new Ajax.Updater(container,'/index.php',
						{
							method:'post',
							evalScripts:true,
							parameters:'page=39&ACTION=view_cart.php&trigger=Remove&product_id[]='+ productId,
							onLoading:function(request)
							{
								$('cart_widget').innerHTML = 'Updating cart please standby...';
							}
						}
		);
	},
	updateItem:function(qty,productId,container)
	{
		var ajax = new Ajax.Updater(container,'/index.php',
						{
							method:'post',
							evalScripts:true,
							parameters:'page=39&ACTION=view_cart.php&trigger=updateQty&qty='+ qty.value +'&product_id[]='+ productId,
							onLoading:function(request)
							{
								$('cart_widget').innerHTML = 'Updating cart please standby...';
							}

						}
		);

	},
	addItem:function(qty,productId,container)
	{
		var ajax = new Ajax.Updater(container,'/index.php',
						{
							method:'post',
							evalScripts:true,
							parameters:'page=39&ACTION=view_cart.php&trigger=addItem&qty='+ qty +'&product_id[]='+ productId,
							onSuccess:function(response)
							{

							},
							onLoading:function(request)
							{
								$('cart_widget').innerHTML = 'Updating cart please standby...';
							}

						}
		);
	},
	addBattery:function(qty,productId,container)
	{
		var ajax = new Ajax.Updater(container,'/index.php',
					{
						method:'post',
						evalScripts:true,
						parameters:'page=39&ACTION=view_cart.php&trigger=addBattery&qty='+ qty +'&product_id[]='+ productId,
						onComplete:function(response)
						{
						},
						onLoading:function(request)
						{
							$('cart_widget').innerHTML = 'Updating cart please standby...';
						}

					}
		);

	}
}//end of Cart Class
