﻿    
    
    
    function Querystring(qs) 
    { 
    
        this.params = new Object()
        this.get=Querystring_get
        if (qs == null)
            qs=location.search.substring(1,location.search.length)
        if (qs.length == 0) return
        qs = qs.replace(/\+/g, ' ')
        var url = qs.split('?') 
        if(url.length > 1)
        { 
            var args = url[1].split('&') 
            for (var i=0;i<args.length;i++) 
            {
                var value;
                var pair = args[i].split('=')
                var name = unescape(pair[0])

                if (pair.length == 2)
	                value = unescape(pair[1])
                else
	                value = name
        	    this.params[name] = value
            }
        }
    }

    function Querystring_get(key, default_) 
    {
        if (default_ == null) default_ = null;
        var value=this.params[key]
        if (value==null) value=default_;
        return value;
    }
    
        function FilterMinMax(min,max,lnk)
        {
            var Url = document.URL;
            
            Querystring(Url);
            
            switch(Querystring_get('minPrice',''))
            {
                default:
                  var minP  = document.getElementById(min).value; 
                  Url = ChangeQueryStringValue(Url,'minPrice',minP);    
                 break;
            }
            switch(Querystring_get('maxPrice',''))
            {
                default:
                 var maxP  = document.getElementById(max).value; 
                  Url = ChangeQueryStringValue(Url,'maxPrice',maxP);    
                 break;
            }
            document.getElementById(lnk).href = Url;
            return true;
        }
        
        function FilterRegion(region)
        {
            var Url ;
            try
            {
                Url = GetNewPageKey(region.options[region.selectedIndex].text.split("(")[1].split(")")[0]);
            }
            catch(e)
            {
                Url = document.URL;
            }
            Querystring(Url);
            Url = ChangeQueryStringValue(Url,'city','');    
            Url = ChangeQueryStringValue(Url,'objectType','');    
            Url = ChangeQueryStringValue(Url,'region',region.options[region.selectedIndex].value == 'Alle'? '':region.options[region.selectedIndex].value);    
            Url = ChangeQueryStringValue(Url,'ProvinceText',region.options[region.selectedIndex].text.split("(")[0] == 'Alle'? '':region.options[region.selectedIndex].text.split("(")[0]);    
            document.location.href = Url;
            return true;
        }
        
        function FilterCity(city)
        {
            var Url = GetNewPageKey(city.options[city.selectedIndex].text.split("(")[1].split(")")[0]);
            Querystring(Url);
            Url = ChangeQueryStringValue(Url,'objectType','');    
            Url = ChangeQueryStringValue(Url,'city',city.options[city.selectedIndex].value == 'Alle'? '':city.options[city.selectedIndex].value);    
            document.location.href = Url;
            return true;
        }
        
         function FilterCityForProject(city)
        {
            var Url = GetNewPageKey(city.options[city.selectedIndex].text.split("(")[1].split(")")[0]);
            Querystring(Url);
            Url = ChangeQueryStringValue(Url,'region','');    
            Url = ChangeQueryStringValue(Url,'city',city.options[city.selectedIndex].value == 'Alle'? '':city.options[city.selectedIndex].value);    
            document.location.href = Url;
            return true;
        }
        
        function FilterObjectType(objectType)
        {
            var Url = GetNewPageKey(objectType.options[objectType.selectedIndex].text.split("(")[1].split(")")[0]);
            Querystring(Url);
            Url = ChangeQueryStringValue(Url,'objectType',objectType.options[objectType.selectedIndex].value == 'Alle' ? '':objectType.options[objectType.selectedIndex].value );    
            document.location.href =  Url;
            return true;
        }
        
         function GetNewPageKey(totalRecords)
        {
            var Url = document.URL;
            Url = ChangeQueryStringValue(Url,'page','1');  
            return Url;
            //            var total = totalRecords;
            
//            Querystring(Url);
//            var pageNo = Querystring_get('Page','');
//            var nrItems = Querystring_get('nrOfItems','5');
//            if((pageNo * nrItems) > (total))
//            {
//              if(total < nrItems)
//               {    
//                    Url = ChangeQueryStringValue(Url,'Page','1');       
//               }
//               else
//                {
//                    var newPage =  (total/nrItems) + 1;
//                    Url = ChangeQueryStringValue(Url,'Page',newPage);       
//                }
//            } 
        }
    function ChangeQueryStringValue(action,qsname,qsvalue)
    {
    	if (action.indexOf('?') == -1 )
    		return (action+"?"+qsname+"="+UrlEncode(qsvalue)); 
    	else
    	{		
    		if ( (action.indexOf("?"+qsname+"=") == -1 ) && (action.indexOf("&"+qsname+"=") == -1 ) )


        		{
        			return (action+"&"+qsname+"="+UrlEncode(qsvalue)); 
        		}
        		else 
            		{
            			var replaceQSPrefix=(action.indexOf("?"+qsname+"=")==-1)?"&"+qsname+"=":"?"+qsname+"=";
            			var replaceQSSuffix=""; 
            			startpos=action.indexOf(replaceQSPrefix);
            			
            			for (a=(startpos+replaceQSPrefix.length);a<action.length;a++)


                			{
                				if ( action.charAt(a)=='&' ) //Next querystring beginning
                					break;
                				else
                					replaceQSSuffix += action.charAt(a);
                			}
                			newaction=action.replace(replaceQSPrefix+replaceQSSuffix,replaceQSPrefix+UrlEncode(qsvalue));
                			return newaction;
                		}	
                	}		
            }
            
            function UrlEncode(text) 
            {		
                	text=ReplaceAll(text, "?", "%3F");
                	text=ReplaceAll(text, "=", "%3D");
                	text=ReplaceAll(text, "&", "%26");
                	text=ReplaceAll(text, " ", "+");
                	text=ReplaceAll(text, ",", "%2c");	
                	text=ReplaceAll(text, "'", "%27");	
                	return text;
             }
               
            function ReplaceAll(varb, replaceThis, replaceBy)
            {	
                	newvarbarray=varb.split(replaceThis);
                	newvarb=newvarbarray.join(replaceBy);	
                	return newvarb;
            }
    