
/** Url Generator javascript **/

var UrlControl ={};
// variable list
UrlControl.vars ={};
// initialize url control
UrlControl.Init =function( vars) {
  UrlControl.vars =vars;
}
// get current protocol
UrlControl.GetCurrentProto =function() {
  return self.location.protocol.replace( ':', '');
}
// get current host name
UrlControl.GetCurrentHost =function() {
  return self.location.host;
}
// make plugin url
UrlControl.GetPluginUrl =function( pluginName, lang, params) {
  if( typeof( params) =='undefined') params ={};
  // build url
  var ret =UrlControl.GetCurrentProto() +'://' +UrlControl.GetCurrentHost() +'/' +lang +'/' +pluginName +'/';
  for( k in params)
    ret +=k +':' +params[k] +'/';
  // return built url
  return ret;
}
// make external plugin url
UrlControl.GetExternalPluginUrl =function( host, pluginName, lang, params) {
  if( typeof( params) =='undefined') params ={};
  // build url
  var ret =UrlControl.GetCurrentProto() +'://' +host +'/' +lang +'/' +pluginName +'/';
  for( k in params)
    ret +=k +':' +params[k] +'/';
  // return built url
  return ret;
}
// rewrite url
UrlControl.Rewrite =function( rewriteParams) {
  if( typeof( rewriteParams) =='undefined') rewriteParams ={};
  newParams =UrlControl.vars;
  for( k in rewriteParams)
    newParams[k] =rewriteParams[k];
  // return new url
  ret =self.location.protocol +'//' +self.location.hostname +'/' +newParams['l'] +'/' +newParams['p'] +'/';
  for( k in newParams) {
    if( k =='l' || k =='p')
      continue;// skip system params
    ret +=k +':' +escape( newParams[k]) +'/';
  }
  return ret;
}