function getalign(al) {
  var n=parseFloat(al);

  if (n>=1 && n<2) return("Белое братство");
  if (n>=2 && n<3) return("Хаос");
  if (n>=3 && n<4) return("Темное братство");
  if (n>=7 && n<8) return("Нейтральное братство");
  if (n>=50 && n<51) return("Алхимики");
  return("");
}

function getalignurl(al) {
  var n=parseFloat(al);
  if (n==50) return "http://capitalcity.combats.com/encicl/alchemist.html";
  return "http://capitalcity.combats.com/encicl/alignment.html";
}


function openMinWnd(url,name,width,height,returnwindow) {
var options = "width=" + width + ",height=" + height + ",toolbar=no,location=yes,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no";
	if(url.indexOf("?")!=-1) { url= url+"&rnd="+Math.random();}
	else { url= url+"?rnd="+Math.random();}
	var new_window = window.open(url, name, options);
	window.self.name = "main";
	new_window.focus();
	if (returnwindow != null) {
	   return new_window;
	}
}


blinkingblocks=new Array();
blinkingblocks_state=0;
blinkingblocks_use=0;


function blinkblockstick() {
	if(blinkingblocks.length==0) return;
	for(i in blinkingblocks){
		if(blinkingblocks_state==0)
			blinkingblocks[i][0].style.backgroundColor=blinkingblocks[i][1];
		else 
			blinkingblocks[i][0].style.backgroundColor=blinkingblocks[i][2];
	}
	blinkingblocks_state= (blinkingblocks_state==0) ? 1 : 0 ;
}

function addblinkblock(obj, bgcolor1, bgcolor2) {
	i=blinkingblocks.length;
	blinkingblocks[i] = new Array();
	blinkingblocks[i][0]=obj;
	blinkingblocks[i][1]=bgcolor1;
	blinkingblocks[i][2]=bgcolor2;
	if(blinkingblocks_use==0) {
		blinkingblocks_use=1;
		setInterval("blinkblockstick()",500);
	}
}

function delblinkblock(obj) {
	if(blinkingblocks.length==0) return;
	for(i in blinkingblocks){
		if(blinkingblocks[i][0]==obj){
			blinkingblocks[i][0].style.backgroundColor=blinkingblocks[i][2];
			delete (blinkingblocks[i]);
			
		}
	}
}







//**********************************


expireDate = new Date;
expireDate.setMonth(expireDate.getMonth()+1);

// Create a cookie with the specified name and value.
function SetCookie(sName, sValue) {
	
	set_val= sName + "=" + escape(sValue) + ";expires=" + expireDate.toGMTString();
    document.cookie = set_val;
}


// Retrieve the value of the cookie with the specified name.
function GetCookie(sName) {
  var aCookie = document.cookie.split("; "); // cookies are separated by semicolons
  for (var i=0; i < aCookie.length; i++) {
    var aCrumb = aCookie[i].split("=");// a name/value pair (a crumb) is separated by an equal sign
    if (sName == aCrumb[0]) 
      return unescape(aCrumb[1]);
  }
  return null;  // a cookie with the requested name does not exist
}


// Delete the cookie with the specified name.
function DelCookie(sName) {
  document.cookie = sName + "=1; expires=Fri, 31 Dec 1999 23:59:59 GMT;";
}


//****************************************


function serialize(value){
	var NL = "\r\n", TAB = "\t", out = new Array(), facttype;
	if (value instanceof Array) facttype = "object";		//"array";
	else if (value instanceof RegExp) facttype = "regexp";
	else if (value instanceof Function) facttype = "function";
	else if (value instanceof Object) facttype = "object";
	else facttype = typeof(value);
	switch(facttype){
		case "object":
			  for (var i in value)
			  out.push(serialize(i) + ": " + serialize(value[i]));
			  return "{"+(NL+out.join(","+NL)).replace(/\n/g,"\n"+TAB)+NL+"}";
		case "array":
			  for (var i=0;i<value.length;i++)
			  out.push(serialize(value[i]));
			  return "["+(NL+out.join(","+NL)).replace(/\n/g,"\n"+TAB)+NL+"]";
		case "string":
			  var r1 = [/\t/g, /\r/g, /\n/g, /"/g, /\\/g ];
			  var r2 = ["\\t", "\\r", "\\n", "\\\"","\\\\"];
			  while (r1.length) value = value.replace(r1.pop(),r2.pop());
			  return '"' + value +'"';
		default:
		  return value.toString().replace(/\n/g,"\n"+TAB);
	}
}

