  // Solr Proxy Config
  
  var SRV_URL="../solr/SearchProxy.aspx";
  //var SRV_URL="proxy.php";
 
  
  // Globals
  
  var facetquery_cat = ""
  var facetquery_pub = ""
  var facetquery_aut = ""
  var facetquery_dep = ""
  var facetquery_pri = ""
  var startnum = 0;
  var numFound;
  var ajax;
  
  $(function () {
  	var previous = "";
  	$(window).bind("scroll", function (event) {
  		if ($("#loadmore:in-viewport").size() > 0) {
  			$('#loadmore').remove();
  			if (startnum < numFound && startnum<200) {
  				startnum = startnum + 10;
  				loadResults(false);
  			}
  		}
  	});
  });

  function applyCategoryFacets() {
  	facetquery_cat = ""
  	var query = ""
  	$(".facetselect_cat").each(function (index) {
  		if ($(this).attr('checked') == 'checked') {
  			query += '"' + $(this).data('facet') + '" ';
  			facetquery_cat = 'category: (' + query + ')'
  		}
  	});
  	//console.log(facetquery_cat)
  	startnum = 0;
  	loadResults(false)
  }

  function applyPublisherFacets() {
  	facetquery_pub = ""
  	var query = ""
  	$(".facetselect_pub").each(function (index) {
  		if ($(this).attr('checked') == 'checked') {
  			query += '"' + $(this).data('facet') + '" ';
  			facetquery_pub = 'publisher_exact: (' + query + ')'
  		}
  	});
  	//console.log(facetquery_pub)
  	startnum = 0;
  	loadResults(false)
  }

  function applyAuthorFacets() {
  	facetquery_aut = ""
  	var query = ""
  	$(".facetselect_aut").each(function (index) {
  		if ($(this).attr('checked') == 'checked') {
  			query += '"' + $(this).data('facet') + '" ';
  			facetquery_aut = 'author_exact: (' + query + ')'
  		}
  	});
  	//console.log(facetquery_aut)
  	startnum = 0;
  	loadResults(false)
  }
  
  
  function name_to_url(name) {
    
	for (i=0;i<=name.length;i++) {
		name = name.replace("ı","i").replace("ş","s").replace("ğ","g").replace("ü","u").replace("ö","o").replace("ç","c").replace("İ","I").replace("Ş","S").replace("Ğ","G").replace("Ü","U").replace("Ö","O").replace("Ç","C");
	}
	name = name.toLowerCase(); 
	name = name.replace(/^\s+|\s+$/g, ''); 
    name = name.replace(/\s+/g, '-'); 
    name = name.replace(/[^a-z-]/g, ''); 
    return name;
}

function name_to_store(storeid){

switch (storeid){
	case "1":
	store = "kitap";
	break;
	case "2":
	store = "muzik";
	break;
	case "3":
	store = "video";
	break;
	case "5":
	store = "poster";
	break;
	case "12":
	store = "ekitap";
	break;
	}
	
	return store;
}


  function applyPriceFacets() {
  	facetquery_pri = ""
  	var query = ""
  	$(".facetselect_pri").each(function (index) {
  		if ($(this).attr('checked') == 'checked') {
  			if ($(this).data('facet')<50){
  			query += '[' + $(this).data('facet') + ' TO ' + parseInt($(this).data('facet') + 10) + '] ';
  			}
  			else{
  			query += '[' + $(this).data('facet') + ' TO *]';
  			}
  			facetquery_pri = 'saleprice: (' + query + ')'
  		}
  	});
  	//console.log(facetquery_pri)
  	startnum = 0;
  	loadResults(false)
  }

  function runSuggest(suggest) {
  	$("#departmant").val("0");
  	$("#q").val(suggest);
  	loadResults(true)
  }
  $(document).ready(function () {
  	$('#Suggest').hide();
  	$('#departmant').change(function () {
  	  	// clear facets
  		facetquery_cat = ""
	 	facetquery_pub = ""
  		facetquery_aut = ""
  		facetquery_pri = ""
  		// clear paging
  		startnum = 0;
  		loadResults(true);
  	});
  	if ($("#q").val().length > 1) {
 	 	$('#Suggest').show('slow');
 	 	loadResults(true);
 	 	
  	}
  	$('#q').keyup(function () {
  		delay(function () {
  			// kill previous call
  			if (ajax != null){
  			ajax.abort();
  			}
  			
  			facetquery_cat = ""
  			facetquery_pub = ""
  			facetquery_aut = ""
  			startnum = 0;
  			loadResults(true);
  		}, 500);
  	});
  	var delay = (function () {
  		var timer = 0;
  		return function (callback, ms) {
  			clearTimeout(timer);
  			timer = setTimeout(callback, ms);
  		};
  	})();

  });

  function loadResults(reload) {
  	if (reload) {
  	$("#LeftCol").html('');
  	$("#RightCol").html('');
  	$("#statusmessage").html('');
  	$("#suggestionmessage").html('');
  	}
  	if ($("#q").val().length > 1) {
  		$('#Suggest').show('slow');
  		if ($('#departmant').val() == 0) {
  			facetquery_dep = ""
  		} else {
  			query = '"' + $('#departmant').val() + '" ';
  			facetquery_dep = 'department: (' + query + ')'
  		}

  		ajax=$.getJSON(SRV_URL+'?fq=' + encodeURIComponent(facetquery_pub) + '&fq=' + encodeURIComponent(facetquery_aut) + '&fq=' + encodeURIComponent(facetquery_pri) + '&fq=' + facetquery_dep+ '&fq=' + encodeURIComponent(facetquery_cat), {
  			defType: "dismax",
  			qf: "title^1.5 author^1.2 category^1.2 title_ascii^1 title_stem^1 author_ascii^1 contributor^1 barcode^100 isbn^100 publisher^0.5",
  			bf: "popularity^1 isnew^10",
  			bq: "(salesstatus:0)^500",
  			mm: "100%",
  			start: startnum,
  			q: $("#q").val(),
  			spellcheck: true,
  			wt: 'json',
  			"spellcheck.q": $("#q").val()
  		}, function (data) {
  			//console.log(data);
  			if (startnum == 0) {
  				$("#RightCol").html('');
  			}
  			if (data.response.numFound> 0) {
  				numFound = data.response.numFound;
  				$("#statusmessage").html(data.response.numFound + ' sonuç bulundu');
  				$("#suggestionmessage").html('');
  				for (var i = 0; i < data.response.docs.length; i++) {
  					var strNewIcon="";
					if (data.response.docs[i].isnew=="1")
					{
						strNewIcon="<img style='padding-left:5px' src='http://static.ideefixe.com/img/top/suggest/new.gif'>";
					}
					var strEbookIcon="";
					if (data.response.docs[i].format=="E-Kitap")
					{
						strEbookIcon="<img src='http://static.ideefixe.com/img/top/suggest/e-kitap.gif'>";
					}
  				
					var strProduct="";
					strProduct += "			<div class=\"BookArea\">";
					strProduct += "					<a href=\""+data.response.docs[i].linkurl+"\"><img class=\"thumbbook\"src=\""+data.response.docs[i].imageurl+"\" border=\"0\" width=\"55\"><\/a>";
					strProduct += strEbookIcon;
					strProduct += "				<\/div>";
					strProduct += "				<div class=\"ContArea\">";
					strProduct += "					<div class=\"genre\">"+data.response.docs[i].format;
					strProduct += strNewIcon;
					strProduct += "<\/div>";
					strProduct += "					<div class=\"titl\"><a href=\""+data.response.docs[i].linkurl+"\">"+data.response.docs[i].title+"<\/a><\/div>";
					var strAuthorList="";
					for (var n=0; n<data.response.docs[i].author.length;n++){
						strAuthorList+=data.response.docs[i].author[n];
						if (n<data.response.docs[i].author.length-1)
						{
							strAuthorList+=", 	";
						}
					}
					strProduct += "					<div class=\"author\">"+strAuthorList+"<\/div>";
										
					strProduct += "					<div class=\"publisher\"><a href=\"/"+name_to_store(data.response.docs[i].department)+"\/"+name_to_url(data.response.docs[i].publisher[0])+"\/firma.asp?fid="+data.response.docs[i].publisherid+"\">"+data.response.docs[i].publisher[0]+"<\/a><\/div>";
					
					strProduct += "					<div class=\"price\">";
					if (data.response.docs[i].salesstatus=="0"){
					var strAvailibility="";
					switch (data.response.docs[i].availability){
						case "0":
						strAvailibility="";
  						break;
  						case "1":
						strAvailibility="/ 3 iş günü içinde kargoya teslim.";
  						break;
  						case "2":
						strAvailibility="/ 1 hafta içinde kargoya teslim.";
  						break;
  						case "3":
						strAvailibility="/ 15 gün içinde kargoya teslim";
  						break;
  						case "4":
						strAvailibility="/ Stoğa giriş için haber bekleyin!";
  						break;
  						case "5":
						strAvailibility="/ Ürün stokta.";
  						break;
  						case "6":
						strAvailibility="/ 2 iş günü içinde kargoya teslim";
  						break;
  						case "7":
						strAvailibility="/ 18 gün içinde kargoya teslim";
  						break;
						default:
						strAvailibility="";
					}
					
					strProduct += "						<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\">";
					strProduct += "						<tr>";
					strProduct += "							<td>idefix fiyatı:&nbsp;<\/td>";
					strProduct += "							<td>"+data.response.docs[i].taxprice.toFixed(2).replace('.',',')+" TL + KDV<\/td>";
					strProduct += "						<\/tr>";
					strProduct += "						<tr>";
					strProduct += "							<td>&nbsp;<\/td>";
					strProduct += "							<td>"+data.response.docs[i].saleprice.toFixed(2).replace('.',',')+" TL (KDV Dahil)<\/td>";
					strProduct += "						<\/tr>";
					strProduct += "						<\/table>";
						if (data.response.docs[i].discount>0){
							strProduct += "					<div class=\"discount\">Kazancınız: <b>%"+data.response.docs[i].discount+"<\/b><span>"+strAvailibility+"</span><\/div>";
						}
					}
					else if (data.response.docs[i].salesstatus=="1"){
						strProduct +="Tükendi";
					}
					else if (data.response.docs[i].salesstatus=="2"){
						strProduct +="Yayına hazırlanıyor";
					}
					else if (data.response.docs[i].salesstatus=="3"){
						strProduct +="Yeni baskısı hazırlanıyor";
					}
					else if (data.response.docs[i].salesstatus=="4"){
						strProduct +="idefix'te satış dışı";
					}
					strProduct += "					<\/div>";
					if (data.response.docs[i].salesstatus=="0"){
					strProduct += "					<div class=\"add\"><a href=\"javascript:eklearama('"+data.response.docs[i].sid+"')\"><img src=\"http:\/\/static.ideefixe.com\/img\/top\/suggest\/listeekle.gif\" name='ekle"+data.response.docs[i].sid+"' width=\"101\" height=\"22\" alt=\"\" border=\"0\"><\/a><\/div>";
					}
					strProduct += "					<div class=\"clrb\"><\/div>";
					strProduct += "				<\/div>";
					strProduct += "				<div class=\"clrb\"><\/div>";
					strProduct += "				<div class=\"hr\"><img src=\"http:\/\/static.ideefixe.com\/img\/top\/suggest\/hr.gif\" width=\"100%\" height=\"1\" alt=\"\"><\/div>";
  					$("#RightCol").append(strProduct);
  				}
  				
  					$(".thumbbook").thumbPopup({
						imgSmallFlag: ".gif",
						imgLargeFlag: "_2.jpg"
					});
  				if (data.response.numFound > 10) {
  					$("#RightCol").append('<div id="loadmore" style="width:1;height:1;">');
  				}
  				if (reload) {
  				
  					var i=0;
					$("#LeftCol").html('<div class="tit">ARAMA SEÇENEKLERİ</div><div class="hr"><img src="http://static.ideefixe.com/img/top/suggest/hr.gif" width="100%" height="1" alt=""></div>');
				
				// cat_facets
					$("#LeftCol").append('<div class="tit2">Kategori</div>');
					$("#LeftCol").append('<div id="cat_facets">');
					$("#LeftCol").append('<div id="more_cat_facets" style="display:none">');	
					for (var i = 0; i < data.facet_counts.facet_fields.category.length; i = i + 2) {					
						var resstr = '<label><input type="Checkbox" class="facetselect_cat" onChange="applyCategoryFacets()"  data-facet="' + data.facet_counts.facet_fields.category[i] + '">'+data.facet_counts.facet_fields.category[i] +' <b>('+data.facet_counts.facet_fields.category[i + 1]+')</b></label>';	
						if (i<10){
							$("#cat_facets").append(resstr);
						}
						else{
							$("#more_cat_facets").append(resstr);
						}					
					}					
					if (i>=10){
						$("#LeftCol").append('<div id="more_cat_link" class="dg"><a  href="javascript:">+ DİĞER</a></div>');
						$('#more_cat_link').click(function () {
						$("#more_cat_facets").show('slow');
						$("#more_cat_link").hide('slow');
						});
					}
					$("#LeftCol").append('<div class="hr2"><img src="http://static.ideefixe.com/img/spacer.gif" width="100%" height="1" alt=""></div>');

					
					// end cat_facets

					// price_facets
					$("#LeftCol").append('<div class="tit2">Fiyat Aralığı</div>');
					$("#LeftCol").append('<div id="pri_facets">');
					for (var i = 0; i < data.facet_counts.facet_ranges.saleprice.counts.length; i = i + 2) {					
						var minprice=parseInt(data.facet_counts.facet_ranges.saleprice.counts[i]);
						var pricetag="";
						if (minprice==0){
						pricetag="<10 TL";
						}
						else{
						var maxprice=minprice+10;
						pricetag=minprice+"-"+maxprice+" TL";
						}
						var resstr = '<label><input type="Checkbox" class="facetselect_pri" onChange="applyPriceFacets()"  data-facet="' + data.facet_counts.facet_ranges.saleprice.counts[i] + '">'+ pricetag  +' <b>('+data.facet_counts.facet_ranges.saleprice.counts[i + 1]+')</b></label>';
						$("#pri_facets").append(resstr);
				
					}
					// remaning prices
					if (data.facet_counts.facet_ranges.saleprice.after>0)
					{
						pricetag=">50 TL";
						var resstr = '<label><input type="Checkbox" class="facetselect_pri" onChange="applyPriceFacets()"  data-facet="50">'+ pricetag  +' <b>('+data.facet_counts.facet_ranges.saleprice.after+')</b></label>';
						$("#pri_facets").append(resstr);
					}

					$("#LeftCol").append('<div class="hr2"><img src="http://static.ideefixe.com/img/spacer.gif" width="100%" height="1" alt=""></div>');
					// end price_facets

					// aut_facets
					$("#LeftCol").append('<div class="tit2">Eser Sahibi</div>');
					$("#LeftCol").append('<div id="aut_facets">');
					$("#LeftCol").append('<div id="more_aut_facets" style="display:none">');
					for (var i = 0; i < data.facet_counts.facet_fields.author_exact.length; i = i + 2) {					
						var resstr = '<label><input type="Checkbox" class="facetselect_aut" onChange="applyAuthorFacets()"  data-facet="' + data.facet_counts.facet_fields.author_exact[i] + '">'+data.facet_counts.facet_fields.author_exact[i] +' <b>('+data.facet_counts.facet_fields.author_exact[i + 1]+')</b></label>';
						if (i<10){
							$("#aut_facets").append(resstr);
						}
						else{
							$("#more_aut_facets").append(resstr);
						}					
					}					
					if (i>=10){
						$("#LeftCol").append('<div id="more_aut_link" class="dg"><a  href="javascript:">+ DİĞER</a></div>');
						$('#more_aut_link').click(function () {
						$("#more_aut_facets").show('slow');
						$("#more_aut_link").hide('slow');
						});
					}
					$("#LeftCol").append('<div class="hr2"><img src="http://static.ideefixe.com/img/spacer.gif" width="100%" height="1" alt=""></div>');
					// end aut_facets
					
					
					// pub_facets
					$("#LeftCol").append('<div class="tit2">Firma</div>');
					$("#LeftCol").append('<div id="pub_facets">');
					$("#LeftCol").append('<div id="more_pub_facets" style="display:none">');
					for (var i = 0; i < data.facet_counts.facet_fields.publisher_exact.length; i = i + 2) {					
						var resstr = '<label><input type="Checkbox" class="facetselect_pub" onChange="applyPublisherFacets()"  data-facet="' + data.facet_counts.facet_fields.publisher_exact[i] + '">'+data.facet_counts.facet_fields.publisher_exact[i] +' <b>('+data.facet_counts.facet_fields.publisher_exact[i + 1]+')</b></label>';
						if (i<10){
							$("#pub_facets").append(resstr);
						}
						else{
							$("#more_pub_facets").append(resstr);
						}					
					}					
					if (i>=10){
						$("#LeftCol").append('<div id="more_pub_link" class="dg"><a  href="javascript:">+ DİĞER</a></div>');
						$('#more_pub_link').click(function () {
						$("#more_pub_facets").show('slow');
						$("#more_pub_link").hide('slow');
						});
					}
					$("#LeftCol").append('<div class="hr2"><img src="http://static.ideefixe.com/img/spacer.gif" width="100%" height="1" alt=""></div>');
					// end pub_facets

  			}
  			} else {
  				$("#statusmessage").html('Sonuç Bulunamadı.');
				if (reload)
				{
					if(typeof data.spellcheck.suggestions[5]!='undefined'){
					$("#LeftCol").html('');
  					$("#suggestionmessage").html('Bunu mu demek istediniz? <a href="#" onClick="runSuggest(\'' + data.spellcheck.suggestions[5][1].replace("'", "") + '\')">' + data.spellcheck.suggestions[5][1] + '</a>');
					}
				}
  			}

  		});
  	} else {
  		$('#Suggest').hide('slow');
  	}
  }
