/* useful link functions */

vcomSv="http://www.venere.com";
vcomCp="/aboutus/";
vcomCpWOpt = 'width=700,height=400,scrollbars=1,status=0,resize=0';

function WOpen(url,name,params_str,width,height,scrollbars,status,resize) {
	if (!params_str) {
		params_str='';
	}
	params_str+=width?(params_str?',':'')+'width='+width:'';
	params_str+=height?(params_str?',':'')+'height='+height:'';
	params_str+=scrollbars!==(void 0)?(params_str?',':'')+'scrollbars='+scrollbars:'';
	params_str+=status!==(void 0)?(params_str?',':'')+'status='+status:'';
	params_str+=resize!==(void 0)?(params_str?',':'')+'resizable='+resize:'';
	new_w=window.open(url,name,params_str);
   if (new_w) 	new_w.focus();

}

function GoTo_old(url) {
	location.href=url;
	return void 0;
}

function empty( o ) { return o==null || o==''; }

function buildQueryObj(queryStr) 
{
  if( queryStr == null || queryStr == "" ) queryStr = window.location.search;
		var reqObj = new Object();
 	// delete question mark character if present
  if( queryStr.length > 0 && queryStr.charAt(0)=='?' ) {
   queryStr = queryStr.substr(1);
  }
  
		var qq = queryStr.split('&');
  var i;
  for( i=0; i<qq.length; i++ ) {
  		var pair = qq[i].split('=');
  		if( pair[0].length>0 ) 
   	reqObj[ pair[0] ] = pair.length>1 ? pair[1] : "";
  }
  return reqObj;
}
      
function buildQueryStr( reqObj ) 
{
   var queryStr = "";
   for (var key in reqObj) {
      if(typeof(reqObj[key]) == 'function'){
         continue;
      }
  	   queryStr += ((queryStr=="") ? "?" : "&");
      queryStr += key + "=" + reqObj[key];
   }
   return queryStr;
}

function setParam() {
	     var queryObj = buildQueryObj(window.location.search);
	     for( var i=0; i <setParam.arguments.length; i+=2 ) {
	       var name = setParam.arguments[i];
	       var value = setParam.arguments[i+1];
	       queryObj[name] = value;
	     }
	     window.location = window.location.pathname + buildQueryStr(queryObj);
}

function setParamWithAnchor(anchor) {
	     var queryObj = buildQueryObj(window.location.search);
	     for( var i=1; i <setParamWithAnchor.arguments.length; i+=2 ) {
	       var name = setParamWithAnchor.arguments[i];
	       var value = setParamWithAnchor.arguments[i+1];
	       queryObj[name] = value;
	     }
	     window.location = window.location.pathname + buildQueryStr(queryObj)+'#'+anchor;
}

function delParam() {
	     var queryObj = buildQueryObj(window.location.search);
         for( var i=0; i <delParam.arguments.length; i++ ) {
             var name = delParam.arguments[i];
             delete queryObj[name];
         }
         window.location = window.location.pathname + buildQueryStr(queryObj);
}

function delSetParam(nameParamToDel, nameParamToSet, valueParamToSet) {
   var queryObj = buildQueryObj(window.location.search);
   var queryStr = "";
   var paramInserted = false;
   for (var key in queryObj) {
      if(key != nameParamToDel){
         var value = '';
         if (key != nameParamToSet) {
            value = queryObj[key];
         }else {
            paramInserted = true;
            value = valueParamToSet;
         }
         if (value!='') {
            queryStr += queryStr.length==0 ? "?" : "&";
            queryStr += key + "=" + value;
         }
      }
   }
   if (!paramInserted) {
      queryStr += (queryStr.length==0 ? "?" : "&") + nameParamToSet + "=" + valueParamToSet;
   }
   window.location = window.location.pathname + queryStr;
}

function delAvail( ) {
  	   delParam('sd','sm','sy','ed','em','ey','pval','rval');
}

function setM(gid,tag) {
   setQuery('/search/','geoid',gid,'view','map','type','','seltype','ALL','city_area',tag);
}

function setQuery() {
	 var pathname = setQuery.arguments.length>0 ? setQuery.arguments[0] : null;
	 if( pathname == null || pathname == '' ) pathname = window.location.pathname;

  var queryObj = buildQueryObj();
  for( var i=1; i < setQuery.arguments.length; i+=2 ) {
    var name = setQuery.arguments[i];
    var value = setQuery.arguments[i+1];
    queryObj[name] = value;
  }
  window.location = pathname + buildQueryStr(queryObj);
}

function setCookie(sName, sValue, sSecs, sPath )
{
 	var date = new Date();
  var sCookie = sName + "=" + sValue;
	 if( sSecs != null ) {
  	 date.setSeconds( sSecs );
    sCookie += "; expires=" + date.toGMTString();	
  }
	 if( sPath != null ) {
    sCookie += "; path=" + sPath;	
	 }  
	 document.cookie = sCookie; 
}

// Retrieve the value of the cookie with the specified name.
function getCookie(sName)
{
  // cookies are separated by semicolons
  var aCookie = document.cookie.split("; ");
  for (var i=0; i < aCookie.length; i++)
  {
    // a name/value pair (a crumb) is separated by an equal sign
    var aCrumb = aCookie[i].split("=");
    if (sName == aCrumb[0]) 
      return aCrumb[1];
  }

  // a cookie with the requested name does not exist
  return "";
}

function TrackCount(fieldObj,countField,maxChars)
{
   var diff = maxChars - fieldObj.value.length;
   
   // Need to check & enforce limit here also in case user pastes data
   if (diff < 0) {
      fieldObj.value = fieldObj.value.substring(0,maxChars);
      diff = maxChars - fieldObj.value.length;
   }
   if (countField) {
      countField.value = diff;
   }
}

function LimitText(fieldObj,maxChars)
{
   var result = true;
   if (fieldObj.value.length >= maxChars) {
      result = false;
   }
   
   if (window.event) {
      window.event.returnValue = result;
   }
   return result;
}

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

