

function writeSurroudingLink( strstatic ) {
  var q = buildQueryObj();
  //seo parameters
  delete q.geoid;
  delete q.lg;
  delete q.city;
  //old parameters
  delete q.cb_sd;
  delete q.cb_ed;
  delete q.cb_smy;
  delete q.cb_emy;
  //availability parameters are read from cookies
  delete q.sd;
  delete q.ed;
  delete q.sm;
  delete q.em;
  delete q.sy;
  delete q.ey;
  delete q.pval;
  delete q.rval;

  window.document.write( '<a href="' + strstatic + buildQueryStr(q) + '" >' );
}


function setColor( oSelectField, aColor ) {
  var i = oSelectField.selectedIndex;
  if( aColor == null ) aColor = '#FFFECB';
  if( i>=0 ) oSelectField.options[i].style.backgroundColor = aColor;
}


function setSelVal( oSelectField, oVal )
{
  for( var i=0; i<oSelectField.options.length; i++ ) {
    if( oSelectField.options[i].value == oVal ) {
      oSelectField.selectedIndex = i;
      return;
    }
  }
}


function toggleViewMode( ) {
   var q = buildQueryObj();
   if( q.view == 'map' ) {
      delete q.view;
      delete q.city_area;
   }
   else {
      q .view = 'map';
   }
   var link = window.location.pathname + buildQueryStr(q);
   window.location = link;
}

function ViewTotalMap( ) {
   var q = buildQueryObj();
   delete q.city_area;
   delete q.sort;
   q .view = 'map';   
   
   var link = window.location.pathname + buildQueryStr(q);
   window.location = link;
}

function padZero( value )
{
   while( value.length<2 ) value = String("0") + value;
   return value;
}

function myCheckDate(myf)
{
   if ( (_Check_city(myf)) && (_CheckDate(myf)) ) {
      set_cookies_onsubmit (myf);
      return true;
   }else {
      return false;
   }
}

function myCheckDate_wo_city(myf)
{
   if (_CheckDate(myf)) {
      set_cookies_onsubmit (myf);
      return true;
   }else {
      return false;
   }
   
}

function doSubmit()
{
   var q = buildQueryObj();
   delete q.pname;
   var form = window.document.vSearch;
   if( myCheckDate(form) ) {
      // build an javascript object with all parameters on query string

      if( !empty(form.sd.value) && form.cb_sd.selectedIndex > 0 ) q.sd = padZero(form.sd.value); else q.sd=0;
      if( !empty(form.sm.value) && form.cb_smy.selectedIndex > 0 ) q.sm = padZero(form.sm.value); else delete q.sm;
      if( !empty(form.sy.value) && form.cb_smy.selectedIndex > 0 ) q.sy = form.sy.value; else delete q.sy;
      if( !empty(form.ed.value) && form.cb_ed.selectedIndex > 0 ) q.ed = padZero(form.ed.value); else delete q.ed;
      if( !empty(form.em.value) && form.cb_emy.selectedIndex > 0 ) q.em = padZero(form.em.value); else delete q.em;
      if( !empty(form.ey.value) && form.cb_emy.selectedIndex > 0 ) q.ey = form.ey.value; else delete q.ey;
      if( !empty(form.pval.value) ) q.pval = form.pval.value; else delete q.pval;
      if( !empty(form.rval.value) ) q.rval = form.rval.value; else delete q.rval;

      window.location = "" + buildQueryStr(q);
   }
}

function execSearch(q, url) {
  if (typeof window.track_home_search_widget == 'function') {
	  var form = document.getElementById("vSearch");
 	  window.track_home_search_widget(q, form.ac_text.value);
  }
  window.location = url;
}

function doHPSubmit()
{
   var q = buildQueryObj();
   delete q.pname;
   delete q.geoid;
   var form = document.getElementById("vSearch");
   
   var b_widget_search_notext = ( form.widget_search_notext != undefined && form.widget_search_notext.value == 1 );
   
   var hash = null;
   if( (typeof(HotelConstants) != 'undefined')               && 
       (typeof(HotelConstants.pushHashInUrl) != 'undefined') && 
       (HotelConstants.pushHashInUrl == 1) 
     ){
      var hash = window.parent.location.hash;
   }
   
   if (eval("form.sd")){

      var date_control = true;
      
      if ( (form.cb_sd.selectedIndex > 0)  || 
           (form.cb_smy.selectedIndex > 0) || 
           (form.cb_ed.selectedIndex > 0)  || 
           (form.cb_emy.selectedIndex > 0)    ){
              
         if (b_widget_search_notext){
            date_control = myCheckDate_wo_city(form);
         }else{
            date_control = myCheckDate(form);
         }
         
      }else{
         if (b_widget_search_notext){
            alert(err_checkin_checkout);
            date_control = false;
         }else {
            if (!empty(form.city.value)){
               EraseCookies();
            }
         }
      }

      if( date_control ) {
         
         // build an javascript object with all parameters on query string
         var withDates = false;
         
         if( !empty(form.sd.value) && form.cb_sd.selectedIndex > 0 ) q.sd = padZero(form.sd.value); else delete q.sd;
         if( !empty(form.sm.value) && form.cb_smy.selectedIndex > 0 ) q.sm = padZero(form.sm.value); else delete q.sm;
         if( !empty(form.sy.value) && form.cb_smy.selectedIndex > 0 ) q.sy = form.sy.value; else delete q.sy;
         if( !empty(form.ed.value) && form.cb_ed.selectedIndex > 0 ) q.ed = padZero(form.ed.value); else delete q.ed;
         if( !empty(form.em.value) && form.cb_emy.selectedIndex > 0 ) q.em = padZero(form.em.value); else delete q.em;
         if( !empty(form.ey.value) && form.cb_emy.selectedIndex > 0 ) q.ey = form.ey.value; else delete q.ey;
         
         if(q.sd != undefined && q.sm != undefined && q.sy != undefined && q.ed != undefined && q.em != undefined && q.ey != undefined) {
            withDates = true;
         }  
         if( !empty(form.pval.value) && withDates ) q.pval = form.pval.value; else delete q.pval;
         if( !empty(form.rval.value) && withDates ) q.rval = form.rval.value; else delete q.rval;

         
         if (!(b_widget_search_notext)){
            if( !empty(form.city.value) )    q.city   = form.city.value.replace(/[\',\\]/g," "); else delete q.city;
            if( !empty(form.geoid.value) ){
               q.geoid  = form.geoid.value;
               if( !empty(form.city.value) ){
                  delete q.city;
               }
            }else{
               delete q.geoid;
            }
            if( !empty(form.lg.value) )      q.lg     = form.lg.value; else delete q.lg;
            if( form.ref != undefined && !empty(form.ref.value) && !q.ref ) {
               q.ref = form.ref.value;
            } 
         }
         if (b_widget_search_notext) {
            execSearch(q, form.action + buildQueryStr(q) + ((hash != null)? hash : ''));
         }else{
            execSearch(q, "/site/index.php" + buildQueryStr(q) + ((hash != null)? hash : ''));	
         }
      }

   }else{
      
      if( !empty(form.city.value) ) {
         // build an javascript object with all parameters on query string
   
         if( !empty(form.city.value) )    q.city   = form.city.value.replace(/[\',\\]/g," "); else delete q.city;
         if( !empty(form.geoid.value) ){
               q.geoid  = form.geoid.value;
               if( !empty(form.city.value) ){
                  delete q.city;
               }
            }else{
               delete q.geoid;
            }
         if( !empty(form.lg.value) )      q.lg     = form.lg.value; else delete q.lg;
         if( form.ref != undefined && !empty(form.ref.value) && !q.ref ) {
            q.ref = form.ref.value;
         }
         execSearch(q, "http://www.venere.com/site/index.php" + buildQueryStr(q) + ((hash != null)? hash : ''));
      }

   }
   
}

      function changeType(value) {
        var queryObj = buildQueryObj();
        queryObj['type'] = value;
        queryObj['skip'] = 0;
        delete queryObj.rate;
        window.location = window.location.pathname + buildQueryStr(queryObj);
      }

      function setFilter( value ) {
        var queryObj = buildQueryObj();
        queryObj['skip'] = 0;
        queryObj['rate'] = value;
        window.location = window.location.pathname + buildQueryStr(queryObj);
      }

      function setSort( value ) {
        var sort = getCookie('search-sort');
        var order = getCookie('search-order');
        if( value == sort ) {
          order = order == 'asc' ? 'desc' : 'asc';
        }else {
          sort  = value;
          order = ''; // use default ordering
        }

        var queryObj = buildQueryObj();
        queryObj['sort'] = sort;
        if( order != '' ) queryObj['order'] = order;
        else with( queryObj ) delete order;
        with( queryObj ) delete skip;

        window.location = window.location.pathname + buildQueryStr(queryObj);
       }

       function openMap(url) {         
         window.open(url,"map","menubar=0,statusbar=0");
         return void(0);
       }
       
       function OM(lg,geoid,htid,map_id) {
         var queryObj = buildQueryObj();
         queryObj['lg'] = lg;
         queryObj['geoid'] = geoid;
         queryObj['hotel_id'] = htid;
         queryObj['map_id'] = map_id;
         queryObj['view'] = 'map';
         var url ='http://www.venere.com/maps/show_position.php'+buildQueryStr(queryObj);
         window.open(url,"map","menubar=0,statusbar=0");
         return void(0);
       }
       
       function FB(lg,uid,htid) {
         sday = window.document.vSearch.sd.value;
         smonth = window.document.vSearch.sm.value;
         syear = window.document.vSearch.sy.value;

         eday = window.document.vSearch.ed.value;
         emonth = window.document.vSearch.em.value;
         eyear = window.document.vSearch.ey.value;

         pval  = window.document.vSearch.pval.value;
      	rval  = window.document.vSearch.rval.value;

         var url_ck='';
         if (sday && smonth && syear && eday && emonth && eyear && pval && rval)
            url_ck='&sd='+sday+'&sm='+smonth+'&sy='+syear+'&ed='+eday+'&em='+emonth+'&ey='+eyear+'&pval='+pval+'&rval='+rval;

         var url ='/hotel/?action=user_rating&tf=user_rating.php&lg='+lg+'&ref='+uid+'&htid='+htid+url_ck;
         window.open(url, '' , 'top=0,left=0,location=1,height=600,width=800,scrollbars=1,status=1,resizable=1'  )         
         return void(0);
       }
       
       function HTCK(lg,htid) {
         var queryObj = buildQueryObj();
         
         cb_sd  = window.document.vSearch.cb_sd.value;
         cb_smy = window.document.vSearch.cb_smy.value;
         cb_ed  = window.document.vSearch.cb_ed.value;
         cb_emy = window.document.vSearch.cb_emy.value;
         
         cim=cb_smy.substring(0,2);
      	ciy=cb_smy.substring(3,7); 
      	
      	com=cb_emy.substring(0,2);
      	coy=cb_emy.substring(3,7); 
         
      	pval  = window.document.vSearch.pval.value;
      	rval  = window.document.vSearch.rval.value;
         
      	if (cb_sd){
         queryObj['sd']  = cb_sd;
         queryObj['sm']  = cim;
         queryObj['sy']  = ciy;
         queryObj['ed']  = cb_ed;
         queryObj['em']  = com;
         queryObj['ey']  = coy;      
         queryObj['ey']  = coy;         
   
         queryObj['pval']  = pval;
         queryObj['rval']  = rval;          
      	}
        
        queryObj['htid'] = htid;
        
        delete queryObj.geoid;
        delete queryObj.city;  
        
        if (!queryObj['lg']) queryObj['lg'] = lg;
        
        var url ='/hotel/'+buildQueryStr(queryObj);
                      
        window.open(url, '' , 'top=0,left=0,menubar=1,location=1,height=600,width=800,scrollbars=1,status=1,resizable=1'  )         
        return void(0);
       }
       
       function HT(lg,htid) {
        var queryObj = buildQueryObj();
        queryObj['htid'] = htid;
        if (!queryObj['lg']) queryObj['lg'] = lg;
        var url ='/hotel/'+buildQueryStr(queryObj);                
        window.open(url, '' , 'top=0,left=0,menubar=1,location=1,height=600,width=800,scrollbars=1,status=1,resizable=1'  )
        return void(0);
       }

      function gotoGeo( geoid ) {
           var queryObj = buildQueryObj();
         with( queryObj ) delete skip;

        var path = window.location.pathname;
       var re = /\/(it|en|fr|de|es|ja|zh)\/reservation\/([\w\-\/]*)\/(\d+)\//i;
         if( re.test(path) )  {
         re.exec(path);
            path = "/" + RegExp.$1 + "/reservation/" + RegExp.$2 + "/" + geoid + "/";
        }
       else {
         delete queryObj.geoid;
         queryObj.geoid=geoid;
         path = "http://www.venere.com/search/";
       }
       window.location = path + buildQueryStr(queryObj);
      }


function doKeyPress(e) {
   var keyCode = window.navigator.appName == 'Netscape' ? e.which : e.keyCode;
   if( keyCode == 13 ) searchByName();
}

function setCity(gid) {
   var q = buildQueryObj();   

   delete q.geoid;
   delete q.city;
   q['geoid'] = gid;
   
   if (empty(q.ref))
      delete q.ref;
   
   if( q.view == 'map' ) {
      delete q.view;
   }
   
   var link = window.location.pathname + buildQueryStr(q);
   window.location = link;
}

function gotoCityArea(area) {
    var w = self;
    if (w.location.search.indexOf('?')==-1){
       w.location       = w.location.pathname + '?sort=rate&view=map&city_area=' + area;
     }else {
       var obj          = buildQueryObj(w.location.search);
       obj['city_area'] = area;
       obj['view']      = 'map';
       obj['sort']      = 'rate';
       delete obj.skip;
       w.location       = w.location.pathname + buildQueryStr(obj);
     }

    return void(0);
}

