    
	/**
	 *  Domain Search Script
	 *  Date: 11th October 2010
	 *  Author: Dave Clarke ,dclarke@ventutec.com>
	 *  Copyright: Ventutec Ltd 2010
	 */
	
	// global variables
	var available = 'Available';
	var unavailable = 'Taken';
	var unknown = 'Unknown';
	var keyword = '';

	
	$(function() {
		$('.whois').live('click',function() {
			
			var url = $(this).attr('href');
			var element = this;
			var parent = $(this).parents('span.col4:nth(0)');
			var linkHtml = $(parent).html();
			
			if(url) {
				$.ajax({
			      type:      'post',
				  dataType:  'html',
				  url:       url,
				  beforeSend: function(r) {
					  $(parent).html('<span id="whoisLoading" class="whois">'+getLoaderImage('grey',true)+'</span>');
				  },
				  complete: function(r) {
					  $(parent).html(linkHtml);
				  },
				  success:   function(r) {
					  if(r) {
						$('body').prepend('<div id="overlay"></div>');
						$('body').prepend(r);
						$('#whoisInformationWindow').center('fixed');
						$('#whoisInformationWindow a').click(function() {
							$('#overlay').remove();
							$('#whoisInformationWindow').fadeOut(300,function() {
								$(this).remove();
							});
						
							return false;
						});
						
						// close using the escape key!
						// using keyup and keycode works across all browsers
						$(document).keyup(function(e) {

						  if (e.keyCode == 27) {
							  $('#overlay').remove();
							  $('#whoisInformationWindow').fadeOut(300,function() {
								  $(this).remove();
							  });
						  }
						});
						
					  }
				  }
				});
			}
			
			return false;
		});
		
		
		$('.international-domain-search-link').live('click',function() {
			$(this).fadeOut(500,function() {
				$(this).remove();
			})
			var searchForm = $('.domain-search');
			
			if(!$('.search',searchForm).hasClass('disableSearch') && !$('li.international-search-result').length) {
				var searchHtml = $('.search',searchForm).html();
				$('.search',searchForm).addClass('disableSearch');
				$('.search',searchForm).html('<span>Searching..</span>');
				$('#domainSearchLoading').remove();
				$('.search',searchForm).after('<div id="domainSearchLoading">'+getLoaderImage('greyOnWhiteLoader',true));
			   
				//capture the keyword from the form
				keyword = $('.search-field',searchForm).val();
	           
				if(keyword.length >= 3 && keyword.length <= 63) {
	        	   
				   //sanitise keyword
				   $.ajax({type:'post',url:'/domains/index/filter',data:{keyword:keyword},async:false,success:function(r){keyword=r;} });
		
				   // copy the sanitized keyword
				   var searchKeyword = keyword;
				   
				   // if the original keyword contains a tld, then remove it and save it to searchKeyword
				   if(keyword.match(/([a-z0-9\-]+)\..*/i)) {searchKeyword = keyword.match(/([a-z0-9\-]+)\..*/i)[1]}
					   
				   // fetch the search template which will contain a row for suffix available
				   // a separate request will then be fired off per suffix using the 
				   // checkDomain function and the searchKeyword var which will be stripped of
				   // any TLD's or ccTLD's
				   
				   if(keyword.length >= 3 && keyword.length <= 63) {
					   
					   var fromHomePage = false;
					   if($(searchForm).hasClass('homepage')) {
						   fromHomePage = true
					   }
					   
					   $.ajax({
					      type:      'post',
						  dataType:  'html',
						  url:       '/domains/index/search',
						  data:      {keyword:searchKeyword,isInternational:true,internationalAppend:true,fromHomePage:fromHomePage},
						  async:	false,
						  success:   function(r) {
						  	$('input[type="submit"]',searchForm).hide();
							 if(r != null) {
								var firstInactiveResult = $('ul#results li input.basketadd[disabled="disabled"]:nth(0)').parents('li:nth(0)');
								if($(firstInactiveResult).length) {
									$(firstInactiveResult).before(r);
								} else {
									$('ul#results li:last').after(r);
								}
								
								doDomainEvents(searchForm);
							 }
							 objBasket.getBasket();
							 $('#domainSearchLoading').remove();
							 $('.search',searchForm).html(searchHtml).removeClass('disableSearch');
							 
						  },
						  complete:  function() {
						  	$('input[type="submit"]',searchForm).show();
						  	$(window).trigger('domainsearch.complete');
						  }
					   });
				   }	   
			   }
			}
			
			return false;
		});
		
		
		
	   // catch domain search form
	   $('form.domain-search').submit(function() {
	   	   //current search form
		   var searchForm = this;
		   if(!$('.search',searchForm).hasClass('disableSearch')) {
			   
			   if($('.instructions').length) {
				   $('.search',searchForm).hide();
				   $('#domainSearchLoading').remove();
				   $('.search',searchForm).after('<div id="domainSearchLoading">'+getLoaderImage('greyOnWhiteLoader',true));
			   } else {
				   var searchHtml = $('.search',searchForm).html();
				   $('.search',searchForm).addClass('disableSearch');
				   $('.search',searchForm).html('<span>Searching..</span>');
				   $('#domainSearchLoading').remove();
				   $('.search',searchForm).after('<div id="domainSearchLoading">'+getLoaderImage('greyOnWhiteLoader',true));
			   
			   }
			   //capture the keyword from the form
	           keyword = $('.search-field',searchForm).val();

	           if(keyword.length >= 3 && keyword.length <= 63) {
	        	   
				   //sanitise keyword
				   $.ajax({type:'post',url:'/domains/index/filter',data:{keyword:keyword},async:false,success:function(r){keyword=r;} });
		
				   // copy the sanitized keyword
				   var searchKeyword = keyword;
				   
				   // if the original keyword contains a tld, then remove it and save it to searchKeyword
				   if(keyword.match(/([a-z0-9\-]+)\..*/i)) {searchKeyword = keyword.match(/([a-z0-9\-]+)\..*/i)[1]}
				   
				   // fetch the search template which will contain a row for suffix available
				   // a separate request will then be fired off per suffix using the 
				   // checkDomain function and the searchKeyword var which will be stripped of
				   // any TLD's or ccTLD's
				   
				   if(keyword.length >= 3 && keyword.length <= 63) {
					   
					   // track a successful search using google analytics event tracking
					   if(typeof(_gaq) !=='undefined') {
						   _gaq.push(['_trackEvent', 'Domains', 'Search', location.pathname]);
					   }
				   
					   if($('#searchBar').length > 0) {
						   var fromHomePage = false;
						   if($(searchForm).hasClass('homepage')) {
							   fromHomePage = true
						   }
						   
						   $.ajax({
						      type:      'post',
							  dataType:  'html',
							  url:       '/domains/index/search',
							  data:      {keyword:searchKeyword,fromHomePage:fromHomePage},
							  async:	false,
							  success:   function(r) {
							  	$('input[type="submit"]',searchForm).hide();
							  	$('#domain-search-results').remove();
								 if(r != null) {
									$('.instructions,#internationalSearch').after(r);
									doDomainEvents(searchForm);
									if(!$('#results').length) {
										$('#domain-search-results').hide();
										$('#domain-search-results').slideDown(100);
										
									}
								 }
								 objBasket.getBasket();
								 $('#domainSearchLoading').remove();
								 //$('.search',searchForm).html(searchHtml).removeClass('disableSearch');
								 $('.search',searchForm).show();
								 
							  },
							  complete:  function() {
							  	$('input[type="submit"]',searchForm).show();
							  	$(window).trigger('domainsearch.complete');
							  }
						   });
					   } else if($('#internationalSearch').length > 0) { 
						   $.ajax({
							      type:      'post',
								  dataType:  'html',
								  url:       '/domains/index/search',
								  data:      {keyword:searchKeyword,isInternational:true},
								  async:	 false,	
								  success:   function(r) {
								  	$('input[type="submit"]',searchForm).hide();
								  	$('#domain-search-results').remove();
									 if(r != null) {
										$('#internationalSearch').after(r);
										doDomainEvents(searchForm);
										if(!$('#results').length) {
											$('#domain-search-results').hide();
											$('#domain-search-results').slideDown(100);
											
										}
									 }
									 objBasket.getBasket();
									 $('#domainSearchLoading').remove();
									 $('.search',searchForm).html(searchHtml).removeClass('disableSearch');
									 
								  },
								  complete:  function() {
								  	$('input[type="submit"]',searchForm).show();
								  	$(window).trigger('domainsearch.complete');
								  }
							   });
				   	   } else if($('.productPageSearchBar')) {
						   var productInstanceId = 0;
						   var productId = 0;
						   if(location.pathname.match(/[a-z0-9\-]+\/\d+/)) {
							   var productId = location.pathname.match(/[a-z0-9\-]+\/(\d+)/)[1];
						   } else if(location.pathname.match(/sitebuilder\/upgrade/)) {
							   if($('.selectedSite').length > 0) {
									var productInstanceId = $('.selectedSite').val();
								} else {
									var productInstanceId = $('.choose-product:checked').val();
								}
						   }
						   
						   $.ajax({
						      type:      'post',
							  dataType:  'html',
							  url:       '/domains/index/search',
							  data:      {keyword:searchKeyword,id:productId,productInstanceId:productInstanceId,fromProductPage:true},
							  async:	 false,
							  success:   function(r) {
							  	 $('input[type="submit"]',searchForm).hide();
							  	$('#domain-search-results').remove();
								 if(r != null) {
									$('.productPageSearchBar').after(r);
									doDomainEvents(searchForm);
									if(!$('#results').length) {
										$('#domain-search-results').hide();
										$('#domain-search-results').slideDown(100);
									}
								 }
								 objBasket.getBasket();
								 $('#domainSearchLoading').remove();
								 $('.search',searchForm).html(searchHtml).removeClass('disableSearch');
							  },
							  complete:  function() {
							  	$('input[type="submit"]',searchForm).show();
							  	$(window).trigger('domainsearch.complete');
							  }
						   });
						   
					   }
				   
	           		} else {
	           		 $('#domainSearchLoading').remove();
	           		 $('.search',searchForm).html(searchHtml).removeClass('disableSearch');
	           		}
	           } else {
	        	   $('#domainSearchLoading').remove();
	        	   $('.search',searchForm).html(searchHtml).removeClass('disableSearch');
	           }
	   		}
		   	return false;
	   });
	   
	   $('.basketDomain').change(function() {
		   if(location.pathname.match(/[a-z0-9\-]+\/\d+\/\d+/)) {
			   var productTypeId = location.pathname.match(/[a-z0-9\-]+\/(\d+)\/\d+/)[1];
			   var productId = location.pathname.match(/[a-z0-9\-]+\/\d+\/(\d+)/)[1];
			   checkAssignedProducts($(this).val(),productTypeId,productId);
		   }
	   });
	   
	   $('h2.domain-search').click(function() {
		   $('form.domain-search').trigger('submit');
	   });
	   
	   
	   if(location.pathname == '/') {
			var queryKeyword = '';
			
			//capture search term from url
			var queryString = location.search;
			
			// remove leading ? character
			if(queryString[0] == '?') {
				queryString = queryString.substr(1);
			}
			
			var arrPairs = queryString.split('&');
			var numberOfPairs = arrPairs.length;
			
			for(var i=0; i<numberOfPairs; i++) {
				// url decode the string
				var pairString = unescape(arrPairs[i]);
				
				// remove any whitespace
				pairString = pairString.replace(/\s+/g,'');
				
				// remove url sapce char (+)
				pairString = pairString.replace(/\+/g,'');
				
				// check for a keyword
				if(pairString.match(/keyword=([a-zA-Z0-9\-]+)/)) {
					queryKeyword = pairString.match(/keyword=([a-zA-Z0-9\-]+)/)[1];
				}
			}
			
			if(queryKeyword != '') {
				$('.domain-search .search-field').val(queryKeyword);
				$('form.domain-search').trigger('submit');
			}
		}
	   
	   $('.productPageAddToBasket').click(function() {
		   $(this).after('<span class="loading"><img src="/images/siteopia/ajax-loader.gif" /> Loading...</span>');
		   if($('#domain-search-results').length > 0 && location.pathname.match(/[a-z0-9\-]+\/\d+\/(\d+)/)) {
			   var productId = location.pathname.match(/[a-z0-9\-]+\/\d+\/(\d+)/)[1];
			   var domainName =  $('#domain-search-results ul#results li input.basketadd:checked').val();
			   var parent = $('#domain-search-results ul#results li input.basketadd:checked').parents('li:nth(0)');
			   var domainProductId = $('.price select',parent).val();
			   var productType = $('#choosedomain h1').attr('id');
			   
			   if(productType && domainProductId) {	
				   objBasket.observe(objBasket.events.domainAdded, function() {
					   addProductToBasket(productType,productId,domainName);
					   location.href = '/basket/summary'; 
				   });
				   
				   objBasket.addDomainToBasket(domainProductId,domainName);
				   
			   } else {
				   $('.loading').remove();
				   $('.productPageAddToBasket').after('<p class="error">An unknown error has ocurred. Please refresh the page and try again!</p>').remove();
			   }
		   } else {
			   var result = checkDomainExists($('input[name="mydomain"]').val());
			   var productType = $('#choosedomain h1').attr('id');
			   if(location.pathname.match(/[a-z0-9\-]+\/\d+\/\d+/)) {
				   var productId = location.pathname.match(/[a-z0-9\-]+\/\d+\/(\d+)/)[1];
			   }
			   
			   if(result.status == 'success' && productType && productId) {
				   objBasket.observe(objBasket.events.slider.added, function() {
					   location.href = '/basket/summary';
				   });
				   
				   objBasket.addProductToBasketWithoutDomain(productType,productId,$('input[name="mydomain"]').val());
				   
			   } else {
				   $('.loading').remove();
				   if(!$('p.error').length) {
					   $('.productPageAddToBasket').after('<p class="error">'+result.msg+'</p>');
				   }
			  }
		   }
	   });
	});
	
	function checkAssignedProducts(domainName,productTypeId,productId) {
		$('#choosedomain #message').fadeOut(500,function() {
			$(this).remove();
		});
		if(domainName.length) {
			$.ajax({
				type:		'post',
				dataType:	'json',
				url:		'/basket/index/check-assigned-products',
				data:		{domain:domainName,typeId:productTypeId,productId:productId},
				async:		false,
				success:	function(r) {
					if(r) {
						$('#choosedomain #message').remove();
						$('#choosedomain').append('<p id="message" style="display:none">'+r+'</p>');
						$('#choosedomain #message').fadeIn(500);
					}
				}
			});
		}
	}
	
	function checkDomainForPackages(domainName,typeId) {
		var productTypeId = 0;
		if(typeId) {productTypeId = typeId;}
		var result = {status:'false',msg:'Please enter a valid domain!'};
		if(domainName.length) {
			//sanitise keyword
			$.ajax({type:'post',url:'/domains/index/filter',data:{keyword:domainName},async:false,success:function(r){domainName=r} });
			
			$.ajax({
				type:		'post',
				dataType:	'json',
				url:		'/domains/index/check-domain-packages',
				data:		{domain:domainName,productTypeId:productTypeId},
				async:		false,
				success:	function(r) {
					if(r !=null) {
						// change non-verbose keys to something readable
						var instances = [];
						if(r.ins.length) {
							for(i in r.ins) {
								instances[i] = {productInstanceId:r.ins[i].id,isFreeMail:r.ins[i].f,productTypeId:r.ins[i].tid};
							}
						}
						result = {hasServices:r.hs,hasFreeMail:r.fm,instances:instances,cpurl:r.cpurl};
					}
				}
			});
		} else {
			$('p.error').remove();
			$('.productPageAddToBasket').after('<p class="error">Please either choose a domain from your basket if applicable, search for a new domain or enter a domain you already own!</p>');
		}
		
		return result;
	}
	
	function checkDomainExists(domainName,internal) {
		var result = {status:'false',msg:'Please enter a valid domain!'};
		if(domainName.length) {
			//sanitise keyword
			$.ajax({type:'post',url:'/domains/index/filter',data:{keyword:domainName},async:false,success:function(r){domainName=r} });
			
			$.ajax({
				type:		'post',
				dataType:	'json',
				url:		'/domains/index/check-domain-exists',
				data:		{domain:domainName,internal:internal},
				async:		false,
				success:	function(r) {
					if(r) {
						result = r;
					}
				}
			});
		} else {
			$('p.error').remove();
			$('.productPageAddToBasket').after('<p class="error">Please either choose a domain from your basket if applicable, search for a new domain or enter a domain you already own!</p>');
		}
		
		return result;
	}
	
	function addToBasketEvent(searchForm) {
		// adding/removing a domain to basket
		$('.basketadd').die('change');
		$('.basketadd').live('change',function() {
		  var parent = $(this).parents('li:nth(0)');
		  var buyElement = this;
		  if($('.status',parent).html() != available) {
		  	  $(this).attr('checked',false);
			  return false;
		  }
		  
		  $('#loadingPleaseWaitSmall',parent).remove();
		  $(buyElement).hide();
		  $('span.buy',parent).prepend('<span id="loadingPleaseWaitSmall">'+getLoaderImage('green',true)+'</span>');
		  
		  var callback = function(event) {
			  objBasket.getBasket();
			  objBasket.pulseBasket();
			  var parent = $(event.target).parents('span.buy:nth(0)');
			  $('#loadingPleaseWaitSmall',parent).remove();
			  $(event.target).show();
          };
		  
          if($(this).is(':checked')) {
        	$('.domain-options-nothing',parent).addClass('domain-options-open').removeClass('domain-options-nothing');
            var element = this;
            var domainKeyword = $(element).val();
            if(!$('.package-configuration',parent).length) {$('.col5',parent).after(productOptionsHTML);addSliderEvents(parent);}
			
            var id = $('.productId',parent).val();
            
            if(!$(searchForm).hasClass('homepage')) {
	            $('.package-configuration',parent).slideDown(500,function() {
		            getDomainPrivacy(id,$(parent).index(),parent);
		            objBasket.observe(objBasket.events.domainAdded, callback, buyElement);
		            objBasket.addDomainToBasket(id,domainKeyword);
				});
            } else {
            	objBasket.observe(objBasket.events.domainAdded, callback, buyElement);
            	objBasket.addDomainToBasket(id,domainKeyword);
            }
          } else {
            var id = $('.productId',parent).val();
            var element = this;
            if(!$(searchForm).hasClass('homepage')) {
	            $('.package-configuration',parent).slideUp(500,function() {
	            	$('.domain-options-open',parent).addClass('domain-options-nothing').removeClass('domain-options-open');
		            resetOptions(parent);
		            objBasket.observe(objBasket.events.removed, callback, buyElement);
		            objBasket.removeDomainFromBasket($(element).val());
	            });
            } else {
            	objBasket.observe(objBasket.events.removed, callback, buyElement);
	            objBasket.removeDomainFromBasket($(element).val());
            }
          }
        });
	}
	
	function doDomainEvents(searchForm) {
		
		getProductOptionsHTML();
		
		
		$('#results').bind('basket.itemRemoved',function(event,id) {
			$('input.[value="'+id+'"]',this).attr('checked',false);
		});
		
		// package configuaration buttons
		$('.domain-options-closed').live('click',function() {
			var parent = $(this).parents('li:nth(0)');
			$('.domain-options-closed').addClass('domain-options-open').removeClass('domain-options-closed');
			$('.package-configuration',parent).slideDown(500, function() {$(this).css('overflow','visible'); });
		});
		
		$('.domain-options-open').live('click',function() {
			var parent = $(this).parents('li:nth(0)');
			$('.package-configuration',parent).slideUp(500);
			$('.col5 span:nth(0)',parent).removeClass('domain-options-open').addClass('domain-options-closed');

		});
		
		addToBasketEvent(searchForm);
		
		
        // domain select box
		$('.price select').die('change');
        $('.price select').live('change',function() {
            var parent = $(this).parents('li:nth(0)');
            var selected = $('option[value="'+$(this).val()+'"]',this);
			if($('.basketadd',parent).is(':checked')) {
				$('.loading',parent).remove();
				$('select:nth(0)',parent).hide().after('<span class="loading select-loading">'+getLoaderImage('grey',true)+'<span style="margin-left:7px;">Processing....</span></span>');
				var productId = $('select',parent).val();
				var keyword = $('.col1 label',parent).html();
				if($('.domainprivacy',parent).is(':checked')) {
					var addDomainPrivacy = true;
				}
				
				var callback = function() {
					
					if(!$(searchForm).hasClass('homepage')) {
						getDomainPrivacy(productId,$(parent).index(),parent);
					}
					
					if(addDomainPrivacy) {
						$('.domainprivacy',parent).attr('checked',true);
						objBasket.observe(objBasket.events.added, function() {
							//objBasket.getBasket();
							objBasket.pulseBasket();
							
							$('.loading',parent).remove();
							$('select:nth(0)',parent).show();
						});
						objBasket.addDomainPrivacyToBasket($('.domainprivacy',parent).val(),keyword);
					} else {

						objBasket.getBasket();
						objBasket.pulseBasket();
						
						$('.loading',parent).remove();
						$('select:nth(0)',parent).show();
					}
				};
				
				if($(selected).hasClass('freeDomain')) {
					
					var basketData = {id:$('.price select',parent).val(),packages:{},payment:paymentOptions[$('.paymentAmount',parent).val()],index:$('.col1 label',parent).html()};
					$('.package .amount',parent).not('.paymentAmount').each(function() {
						basketData.packages[$(this).attr('name')] = $(this).val();
					});
					objBasket.observe(objBasket.events.added, callback);
					objBasket.addFreeDomainToBasket(productId,keyword,basketData);
				} else {
					objBasket.observe(objBasket.events.domainAdded, callback);
					objBasket.addDomainToBasket(productId,keyword);
				}
			}
        });
        
        doDomainChecks();
	}
	
	function doDomainChecks() {
	    // do domain checks
	    $('#results li').each(function(){
	        var suffix = $(this).attr('id');
	        if (suffix) {
	            checkDomain(keyword, suffix);
	        }
	    });
	}
	
	function resetOptions(element) {
		$('.domainprivacy',element).attr('checked',false);
		$('.slider-range',element).slider('option','value',0);
		$('.slider-container .amount',element).val(0);
		$('.savings',element).hide();
		$('.package-pricing',element).hide();
	}
	
	function addDomainPrivacyEvent(element) {
		$('.domainprivacy',element).unbind('change');
		$('.domainprivacy',element).change(function() {
			var productId = $(this).val();
			var parent = $(this).parents('li:nth(0)');
			
			var callback = function() {
				objBasket.getBasket ();
				objBasket.pulseBasket();
			};
			
			objBasket.observe(objBasket.events.added, callback);
			objBasket.observe(objBasket.events.removed, callback);
			
			if($(this).is(':checked')) {
				objBasket.addDomainPrivacyToBasket(productId,$('.col1 label',parent).html());
			} else {
				objBasket.removeDomainPrivacyFromBasket($('.col1 label',parent).html());
			}
		});
	}
	
	function getDomainPrivacy(id,orderItemIndex,element) {
		//if(id && !$('.domain-privacy',element).length) {
			$.ajax({
				type:		'post',
				dataType:	'html',
				url:		'/domains/index/get-domain-privacy',
				data:		{id:id,index:orderItemIndex},
				//async:		false,
				success:	function(html) {
					html = $.trim(html);
					if(html != '') {
						//$('.domain-privacy').remove();
						if($('.domain-privacy',element).length) {
							$('.domain-privacy',element).html(html);
						} else {
							$('.package-configuration',element).prepend('<div class="package domain-privacy">'+html+'</div>').show();
						}
						addDomainPrivacyEvent(element);
						
					}
				}
			});
		//}
	}
	
	function checkDomain(keyword, suffix){
	   // take a copy of the keyword to remove the TLD or ccTLD
	   var searchKeyword = keyword;
       if(keyword.match(/([a-z0-9\-]+)\..*/i)) {searchKeyword = keyword.match(/([a-z0-9\-]+)\..*/i)[1]}
	   $.ajax({
	   	   type:          'post',
		   dataType:      'json',
		   url:           '/domains/index/availability',
		   data:          {keyword:searchKeyword,suffix:suffix},
		   error:		  function() {
			   moveToEnd(suffix,unknown);  
		   },
		   success:       function(r) {
		      if(r != null) {
			  	var status = unknown;
			  	if(r.response[searchKeyword+'.'+suffix.replace(/\-/,".")] == 1){status = available}
				if(r.response[searchKeyword+'.'+suffix.replace(/\-/,".")] == 0){status = unavailable}
			    if (status == unavailable) {
					moveToEnd(suffix, status);
				} else if(status == unknown) {
					moveToEnd(suffix,status);
				} else if(searchKeyword+'.'+suffix.replace(/\-/,".") == keyword){
					var id = $('select[name="productId"]','#results li#'+suffix.replace(/\./,"-")).val();
					moveToTop(suffix,status);
					//addDomainToBasket(id,searchKeyword+'.'+suffix.replace(/\-/,"."));
				} else {
					changeStatus('#results li#' + suffix.replace(/\./, "-"),status);
				}
			  } else {
			  	moveToEnd(suffix,unknown);
			  }
		   }
	   });
	}
	
	function changeStatus(element,status) {
		$(element + ' span.col3 span.status').html(status);
		if(status == available) {
			$(element + ' span span.statusIcon').addClass('domain-available');
			$(element + ' span.buy input').removeAttr('disabled');
		} else if(status == unavailable) {
			$(element + ' span span.statusIcon').addClass('domain-taken');	
			$(element + ' .col5').removeClass('buy-hilite');
			$(element + ' .col4').html('<a class="whois" href="/whois?name='+$('.buy input',element).val()+'"><img src="/images/siteopia/icons/mag-icon-blue.png" /><span>whois?</span></a>');
		} else {
			$(element + ' .col5').removeClass('buy-hilite');
			$(element + ' .col4').html('<a class="whois" href="/whois?name='+$('.buy input',element).val()+'"><img src="/images/siteopia/icons/mag-icon-blue.png" /><span>whois?</span></a>');
		}
	}
	
	function moveToTop(suffix, status){
	   $('#results li#'+suffix.replace(/\./,"-")).fadeOut(500,function() {
           $('#results li#'+suffix.replace(/\./,"-")+' span.col3 span.status').html(status);
           changeStatus('#results li#' + suffix.replace(/\./, "-"),status);
           var html = $('#results li#'+suffix.replace(/\./,"-")).html();
           $('#results li#'+suffix.replace(/\./,"-")).remove();
           $('#results li:nth(0)').after('<li id="'+suffix.replace(/\./,"-")+'">'+html+'</li>');
           //$('#results li#'+suffix.replace(/\./,"-")).hide().css('border','1px solid red');
		   //$('#results li#'+suffix.replace(/\./,"-")+' input.basketadd').attr('checked',true);
           $('#results li#'+suffix.replace(/\./,"-")).fadeIn(500);
        });
	}
	
	function moveToEnd(suffix,status) {
	   $('#results li#'+suffix.replace(/\./,"-")).fadeOut(500,function() {
	       $('#results li#'+suffix.replace(/\./,"-")+' span.col3 span.status').html(status);
	       changeStatus('#results li#' + suffix.replace(/\./, "-"),status);
	       var html = $('#results li#'+suffix.replace(/\./,"-")).html();
	       $('#results li#'+suffix.replace(/\./,"-")).remove();
	       $('#results').append('<li id="'+suffix.replace(/\./,"-")+'">'+html+'</li>');
		   $('#results li#'+suffix.replace(/\./,"-")+ ' .basketadd').css({visibility:'hidden'});//remove();
	       $('#results li#'+suffix.replace(/\./,"-")).hide();
	       $('#results li#'+suffix.replace(/\./,"-")).fadeIn(500);
	    });
	}
	

		

		

