
 
 function trim(str)
    {
        return str.replace(/^\s*|\s*$/g, "");
    }
    
 function trimextra(str)
{
    str = trim(str);
    str = str.replace(/^-*|-*$/g, "");
    str = trim(str);
    
    return str;
}
    
  function calendarPicker(strField, strPriceLabelPaperID, dateUrl)
  {		
		
  		var iMyWidth;
		var iMyHeight;
		//half the screen width minus half the new window width (plus 5 pixel borders).
		iMyWidth = (window.screen.width/2) - (75 + 10);
		//half the screen height minus half the new window height (plus title and status bars).
		iMyHeight = (window.screen.height/2) - (100 + 50);		
		var url = dateUrl;	
		var winUploadImg = window.open(url + "?field=" + strField +"&label="+strPriceLabelPaperID,"calendarPopup","status=no,height=170,width=200,resizable=no,left=" + iMyWidth + ",top=" + iMyHeight + ",screenX=" + iMyWidth + ",screenY=" + iMyHeight + ",toolbar=no,menubar=no,scrollbars=no,location=no,directories=no");
		  //window.open('PrintDatePicker.aspx?field=' + strField +'&label='+strPriceLabelPaperID,'calendarPopup','status:no;dialogWidth:250px;dialogHeight:215px;dialogHide:true;help:no;scroll:no;center');
		winUploadImg.focus();
		
  }
  
   function setNewDate(returnValue , ismulti, strField)
  {
  		var element = null;
			element = document.getElementById(strField);
		
		if(element)		
		{
				if(returnValue!=undefined)
				{
					element.value = returnValue;
				}
		}
  }
  
    function toggle(my_id, ImgMinPath, MinusText, ImgPlusPath, MoreText) 
    {	
	    if(document.getElementById(my_id).style.display == 'none')	    {
		    showHide(my_id, true, ImgMinPath, MinusText, ImgPlusPath, MoreText);
	    }
	    else{
		    showHide(my_id, false, ImgMinPath, MinusText, ImgPlusPath, MoreText);
	    }			
  } 
  
  function showHide(my_id, status, ImgMinPath, MinusText, ImgPlusPath, MoreText) 
  {
	var btn_id  = 'btn_toggle'; // plus/minus icon
	var txt_id  = 'txt_toggle';
	if(status) {
		window.document.getElementById(my_id).style.display = 'inline';
		window.document.getElementById(btn_id).src = ImgMinPath;
		window.document.getElementById(txt_id).innerHTML  = MinusText;
		
	}
	else {
		window.document.getElementById(my_id).style.display = 'none';	
		window.document.getElementById(btn_id).src =  ImgPlusPath;
		window.document.getElementById(txt_id).innerHTML  = MoreText;
	}
	
} 

function Erase(ClientID_TxtSearch, OriginalValueKeyWord, ClientID_ListCat,ClientID_PriceFrom,ClientID_PriceTill,ClientID_Languages,ClientID_Seller, ClientID_DateOnline, ClientID_WithOTK, ClientID_RegionList, ClientID_OnlyPics, ClientID_OnlyVideo )
{
	var txtSearch = document.getElementById(ClientID_TxtSearch);
	var originalValue = OriginalValueKeyWord;
	if(txtSearch != null)
	{
		txtSearch.value = originalValue;
	}
	
	var ddl = document.getElementById(ClientID_ListCat);
	if(ddl != null)
	{
		ddl.selectedIndex = 0;
	}
	
	var txtPriceFrom = document.getElementById(ClientID_PriceFrom);
	if(txtPriceFrom != null)
	{
		txtPriceFrom.value = "";
	}
	
	var txtPriceTill = document.getElementById(ClientID_PriceTill);
	if(txtPriceTill != null)
	{
		txtPriceTill.value = "";
	}
	
	// ugly stuff please refactor
	var cbLanguageLst = ClientID_Languages;
	var cbDutch = document.getElementById( cbLanguageLst + '_0');
	var cbFrench = document.getElementById( cbLanguageLst + '_1');
	if( (cbDutch != null) && ( cbFrench != null ) )
	{
		cbDutch.checked = true;
		cbFrench.checked = true;
	}
	
	var txtSeller = document.getElementById(ClientID_Seller);
	if( (txtSeller != null) )
	{
		txtSeller.value = "";
	}
	
	var txtDateOnline = document.getElementById(ClientID_DateOnline);
	if( txtDateOnline != null )
	{
		txtDateOnline.value = "";
	}
	
	var chOnlypics = document.getElementById(ClientID_OnlyPics);
	if(chOnlypics != null)
	{
		chOnlypics.checked = false;
	}
	
	var chOnlyVideo = document.getElementById(ClientID_OnlyVideo);
	if(chOnlyVideo != null)
	{
		chOnlyVideo.checked = false;
	}
	
	var cbWithOTK = document.getElementById(ClientID_WithOTK);
	if( (cbWithOTK != null))
	{
		 cbWithOTK.checked = true;
	}
	
	var regionddl = document.getElementById(ClientID_RegionList);
	if (regionddl != null)
	{
		regionddl.selectedIndex = 0;
	}
	
	return false;
}


function GetVariaTitle(ChannelName, Keyword, Category, PriceFrom, PriceTill, Seller, DateOnline, ClientID_WithOTK, ClientID_OnlyVideo, ClientID_OnlyPics, Regio, ClientID_Languages, defaultTitle, TitleLength)
{
    var TitleStart = ChannelName + ": ";
    var TitleSeparator = " / ";
    var Title = "";
    var priceFromFilled = false; 
    var priceTillFilled = false; 
    var cbDutch = document.getElementById(ClientID_Languages + "_0");
    var cbFrench = document.getElementById(ClientID_Languages + "_1");
    var cbonlypics = document.getElementById(ClientID_OnlyPics);
    var cbonlyvideo = document.getElementById(ClientID_OnlyVideo);
    var cbWithOTK = document.getElementById(ClientID_WithOTK);
        
    if (Keyword != null)
    {
        if (Keyword != '')
        {
            Title += TitleSeparator + Keyword;           
        }
    }
    
    if (Category != null)
    {
        Category = trim(Category);
        
        if (Category != '')
        {                      
            Title += TitleSeparator + Category;            
        }
    }
    
    if (Regio != null)
    {
        Regio = trimextra(Regio);
        
        if (Regio != '')
        {
            Title += TitleSeparator + Regio;            
        }
    }
    
    if (Seller != null)
    {
        if (Seller != '')
        {
            Title +=  TitleSeparator + Seller;            
        }
    }
    
    if (PriceFrom != null)
    {
        if (PriceFrom != '')
        {
            Title += TitleSeparator + PriceFrom + '&euro;';  
            priceFromFilled = true;          
        }
    }
    
    if (PriceTill != null)
    {
        if (PriceTill != '')
        {
            priceTillFilled = true;
            
            if (priceFromFilled)
            {
                Title += ' - ' + PriceTill + '&euro;';            
            }
            else
            {
                Title += TitleSeparator + PriceTill + '&euro;';
            }            
        }
    }
    
    if (DateOnline != null)
    {
        if (DateOnline != '')
        {
            Title +=  TitleSeparator + DateOnline;            
        }
    }
    
    /*
    if (cbonlyvideo != null)
    {
        if (cbonlyvideo.checked)
        {
            Title +=  ' / ' + 'Video';
        }
    }
    
    if (cbonlypics != null)
    {
        if (cbonlypics.checked)
        {
            Title +=  ' / ' + 'Pics';
        }
    }
    */
    
    if (cbDutch != null && cbFrench != null)
    {
        if ((cbDutch.checked || cbFrench.checked) && !(cbDutch.checked && cbFrench.checked))
        {
            if (cbDutch.checked)
            {
                Title += TitleSeparator + 'NL';
            }
            
            if (cbFrench.checked)
            {
                Title += TitleSeparator + 'FR';
            }
        }
    }
    else
    {
        if (cbDutch != null)
        {
            if (cbDutch.checked)
            {
                Title += TitleSeparator + 'NL';
            }
        }
        
        if (cbFrench != null)
        {
            if (cbFrench.checked)
            {
                Title += TitleSeparator + 'FR';
            }
        }
    }
    
    /*
    if (cbWithOTK != null)
    {
        if (cbWithOTK.checked)
        {
            Title +=  ' / ' + 'OTK';
        }
    }    
    */
    
        
    if (Title != '')
    {
        Title = TitleStart + Title.substring(TitleSeparator.length);
    }
    else
    {
        Title = TitleStart + trimextra(defaultTitle);
    }
    
    if (Title.length > TitleLength)
    {
        Title = Title.substring(0, TitleLength);
    }
    
    
    return Title;
}

function Search(OriginalValueKeyWord, InNewWindow, SpotterLink, ClientID_TxtSearch, ZookCodeRegex, ClientID_ListCat, ClientID_PriceFrom, ClientID_PriceTill, ClientID_Languages, ClientID_Seller, ClientID_DateOnline, ClientID_WithOTK, ClientID_RegionList, viewmodus, ClientID_OnlyPics, ClientID_OnlyVideo, Save, ChannelName, CookieDomain)
{
	var originalValue = OriginalValueKeyWord;
	var newWindow = InNewWindow;
	var url = SpotterLink + '/';
	var txtSearch = document.getElementById(ClientID_TxtSearch);
	var searchTerm = trim(txtSearch.value)
	var regex = ZookCodeRegex;
	if (searchTerm.match(regex)) 
	{
		// We are sure the user put in something that look like a ZookCode
		url += "Zook/Detail.aspx?zookcode=" + searchTerm;
	} 
	else 
	{
		var qryString = '';
		var filter = '';
				
		if ( searchTerm != originalValue )
		{				
			qryString += '&keyword=' + searchTerm;			
		}
		
		var ddl = document.getElementById(ClientID_ListCat);
		if(ddl.selectedIndex > 0)
		{
			qryString += '&Category=' + ddl.value ;
		}
		
		
		var txtPriceFrom = document.getElementById(ClientID_PriceFrom);
		if(txtPriceFrom != null )
		{
			var priceFrom = trim(txtPriceFrom.value.replace(',','.'))				
			if( priceFrom.length > 0 && !isNaN(priceFrom))
				filter += '&PRICEFROM=' + priceFrom ;
	
		}
		
		var txtPriceTill = document.getElementById(ClientID_PriceTill);
		if(txtPriceTill != null )
		{
			var priceTill = trim(txtPriceTill.value.replace(',','.'))				
			if( priceTill.length > 0 && !isNaN(priceTill))
				filter += '&PRICETILL=' + priceTill ;
	
		}
		
		// ugly stuff please refactor
		var cbLanguageLst = ClientID_Languages;
		var cbDutch = document.getElementById( cbLanguageLst + '_0');
		var cbFrench = document.getElementById( cbLanguageLst + '_1');
		if( (cbDutch != null) && ( cbFrench != null ) )
		{
			if (cbDutch.checked != cbFrench.checked)
			{					
				if ( cbDutch.checked )	
					filter += '&LANGUAGES=8' ;
				else
					filter += '&LANGUAGES=4' ;
			}
			else
			{
				filter += '&LANGUAGES=0' ;
			}				
		}
								
		var txtSeller = document.getElementById(ClientID_Seller);
		if( (txtSeller != null) )
		{
			var seller = trim(txtSeller.value);
			if (seller.length > 0)
				filter += '&SELLER=' + seller.replace('&','[AMP]');
		}
								
		var txtDateOnline = document.getElementById(ClientID_DateOnline);
		if( txtDateOnline != null )
		{
			var dateOnline = trim(txtDateOnline.value);
			if (dateOnline.length > 0)
			{
				if ( isValidDate(dateOnline) )
				{
					filter += '&DATEONLINE=' + dateOnline ;
				}
				else
				{
					alert('Invalid date');
					return false;
				}
			}
		}
			
		var cbWithOTK = document.getElementById(ClientID_WithOTK);
		if( (cbWithOTK != null) && ( cbWithOTK.checked ) )
		{
				filter += '&@WITHOTK=true' ;
		}
		else
		{
		    filter += '&@WITHOTK=false' ;
		}
		
		var cbonlyvideo = document.getElementById(ClientID_OnlyVideo);
		if( (cbonlyvideo != null) && ( cbonlyvideo.checked ) )
		{
				filter += '&HASVIDEO=true' ;
		}
		
		var cbonlypics = document.getElementById(ClientID_OnlyPics);
		if( (cbonlypics != null) && ( cbonlypics.checked ) )
		{
				filter += '&HASIMG=true' ;
		}

		
		var regionddl = document.getElementById(ClientID_RegionList);
		if (regionddl.selectedIndex > 0)
		{
			filter += '&REGIONID=' + regionddl.value ;
		}
		
		// 1=1 bijgezet omdat de laatste parameter anders corrupt is. 
		// op één of andere manier wordt hier wat data aan toegevoegd.
	    if ( filter.length > 0) 
		{
		filter += '&1=1';
		}
		
		if ( filter.length > 0) 
		{
			// remove first & from filter
			filter = filter.slice(1);
			qryString += '&filter=' + encodeBase64(filter);
		}
		
		if(viewmodus.length > 0)
		{
		    qryString += '&ViewModus=' + viewmodus;
		}
		
		
		qryString += '&Save=' + Save;
		 
		url += 'Search/SearchDetail.aspx?author=' + window.location.host + qryString;
		/*alert(url)*/	
		
		var defaultTitle= "";
	    var selIndex = ddl.selectedIndex;
        var selTextCategory = "";
        
        if (selIndex > 0)
        {
            selTextCategory = ddl.options[selIndex].text;
        }
        else
        {
            if (selIndex == 0)
            {
                defaultTitle = ddl.options[selIndex].text;
            }
        }
    	
	    selIndex = regionddl.selectedIndex;
	    var selTextRegio = "";
    	
	    if (selIndex > 0)
	    {
	        selTextRegio = regionddl.options[selIndex].text;
	    }
    	
	    var MyLastSearchTitle = GetVariaTitle(ChannelName
	                        , searchTerm
	                        , selTextCategory
	                        , priceFrom
	                        , priceTill
	                        , seller
	                        , dateOnline
	                        , ClientID_WithOTK
	                        , ClientID_OnlyVideo
	                        , ClientID_OnlyPics
	                        , selTextRegio
	                        , ClientID_Languages
	                        , defaultTitle
	                        , 100);
    	
	    SaveMyLastSearches(url, MyLastSearchTitle, CookieDomain);		
	}
	
	
		
	if (newWindow)
		window.open( url );
	else		
		window.location.href = url ;
		
	return false;	
}
