function GetXmlHttpObject() { 
    var request = null;
    try {
        request=new ActiveXObject('Msxml2.XMLHTTP');
    } catch (e){}
    if(!request) try {
        request=new ActiveXObject('Microsoft.XMLHTTP');
    } catch (e){}
    if(!request) try {
        request=new XMLHttpRequest();
    } catch (e){}
    return request;
}



var p=location.pathname;
var h=location.hash;
var id_arr=[];

function getAbs(path){ // converting /p1#p2-p3-par1-par2 to /p1/p2/p3/par1/par2
  sFl=false;
  if (path.charAt(0)=='/') sFl=true;
  path=path.replace(/[-#\/]/g, '/');
  path=path.split('/');
  var path_str="";
  for (var i=0; i<path.length; i++) if (path[i]!='') path_str+='/'+path[i];
  if (sFl) if (path_str=='') path_str='/';
  return path_str;
}

function getPath(path){ 
  var path=getAbs(path);  // creating absolute path with parametres from address string
//  alert(path);
  xmlDetails=GetXmlHttpObject();
  xmlDetails.open("POST","/php/getpath.php?sid="+Math.random(),false);
  xmlDetails.setRequestHeader("Content-Type",	"application/x-www-form-urlencoded");
  xmlDetails.send('ur='+path);
//  alert('getpath.js: '+xmlDetails.responseText);
  try{data=xmlDetails.responseText;} catch(e) {return getPath(path);}
  if (data.substr(0,3)!='ok:') {
    return getPath(path);
  } else {
    var data=data.substr(3).split('=');
    path=data[0].split('-').join('/'); // absolute path without params !!!
    if (path.substr(0,2)=='//')path=path.substring(1);
    //alert (path);
  
    // creates address string, with parameters
    var address=(data[1])?data[0]+'-'+data[1]:data[0];
    var i=address.indexOf('-');
    if (i>0) address=address.substring(0,i)+'#'+address.substring(i+1);
    return [data[2],path,address,data[1],data[3]]; //page_id, '/p1/p2/p3' , '/p1#p2-p3-par1-par2', 'par1-par2', upper_id
  }
}

var data=getPath(p+h);
var path=data[1];
var address=data[2];
var params=data[3];
var upper_id=data[4];

//alert('sdes');

if ((p+h.replace(/[\/]/g, '-')) != address ) {
//  alert (address+' != '+ (p+h));
  location.replace(address);
} else {
  var reId=data[0]; // id of page (so that the page content could be loaded to parent's page)
//  alert (reId);
  id_arr['address']=data;
}