if (self.parent.frames.length != 0)
	self.parent.location.replace(document.location.href);

function em(box, server, zone) {
	var at = String.fromCharCode(64);
	return '<a href="'+'mai'+'lto'+':'+box+at+server+'.'+zone+'">'+box+at+server+'.'+zone+'<'+'/a>';
}

function doc_delete_submit(form, permit) {
	if (!permit) {
		alert("Удаление документов запрещено");
		return false;
	}
	return confirm("Вы действительно хотите удалить отмеченные документы?");
}

function doc_check(checkbox_obj) {
	var tr = checkbox_obj.parentNode.parentElement;
	if (checkbox_obj.checked)
		tr.className = "hl";
	else
		tr.className = "";
}

document.onclick = function(e) {
	var target, external;
	target = e ? e.target : window.event.srcElement;

	while (target && !/^(body|a)$/i.test(target.nodeName))
		target = target.parentNode;

	if (target && typeof(target.rel)!='undefined' && target.rel== 'external') {
		external = window.open(target.href);
		return external.closed;
	}

	return true;
}

/* Clients rollover */
var client_name_popup = null;
function client_over(obj, name) {
	if (client_name_popup==null) {
		client_name_popup = document.createElement("div");
		document.body.appendChild(client_name_popup);
		client_name_popup.id = "client_name_popup";
	}
	client_name_popup.style.left = getLeftObj(obj)+"px";
	client_name_popup.style.top = getTopObj(obj)+getHeightObj(obj)+"px";
	client_name_popup.style.width = getWidthObj(obj)+"px";
	client_name_popup.style.display = "block";

	client_name_popup.innerHTML = "<div>"+name+"</div>";

	obj.className = "on";
}

function client_out(obj) {
	if (client_name_popup)
		client_name_popup.style.display = "none";
	obj.className = "";
}

function getLeftObj(obj) {
	if (document.layers)
		return obj.pageX;

	var pos = obj.offsetLeft;
	while (obj.offsetParent != null) {
		obj = obj.offsetParent;
		pos += obj.offsetLeft;
		if (obj.tagName == "BODY")
			break;
	}
	return pos;
}

function getTopObj(obj) {
	if (document.layers)
		return obj.pageY;

	var pos = obj.offsetTop;
	while (obj.offsetParent != null) {
		obj = obj.offsetParent;
		pos += obj.offsetTop;
		if (obj.tagName == 'BODY')
			break;
	}
	return pos;
}

function getWidthObj(obj) {
	return document.layers ? obj.document.width : obj.offsetWidth;
}

function getHeightObj(obj) {
	return document.layers ? obj.document.height : obj.offsetHeight;
}

/* Portfolio engine */
var Portfolio = {
	projects: null,
	branches: null,
	currentClassName: "current",

	Init: function(projects) {
		this.projects = projects;
	},

	Switch: function(obj, type) {
		var list = obj.parentNode.getElementsByTagName("A");
		for (var i=0, il=list.length; i<il; i++)
			list[i].className = "";
		obj.className = this.currentClassName;
		var s = '';
		switch(type) {
			case "image":	s = Portfolio._render_image(); break;
			case "list":	s = Portfolio._render_list(); break;
			case "branch":	s = Portfolio._render_branch(); break;
		}
		Portfolio.$("portfolio-list").innerHTML = s;
	},

	$: function(s) {
		return (typeof s == 'string') ? document.getElementById(s) : s;
	},

	_render_image: function(obj) {
		var url, i, s = '<table><col width="33%"><col width="33%"><col width="34%"><tr valign="top">';
		for (i=0, il=Portfolio.projects.length; i<il; i++) {
			url = '/portfolio/'+Portfolio.projects[i].type_alias+'/'+Portfolio.projects[i].alias+'/';
			s += '<td><a href="'+url+'"><img src="'+Portfolio.projects[i].image+'" width="150" height="70" alt="" title="'+Portfolio.projects[i].name+'"></a><br><a href="'+url+'">'+Portfolio.projects[i].name+'</a><br><small class="gray">'+Portfolio.projects[i].date+' / <a href="./'+Portfolio.projects[i].type_alias+'/">'+Portfolio.projects[i].type_name+'</a></small></td>';
			if ((i%3)==2)
				s += '</tr><tr valign="top">';
		}
		for (i--; (i%3)<2; i++)
			s += '<td>&nbsp;</td>';
		s += '</tr></table>';
		return s;
	},

	_render_list: function(obj) {
		var url, i, s = '';
		for (i=0, il=Portfolio.projects.length; i<il; i++) {
			url = '/portfolio/'+Portfolio.projects[i].type_alias+'/'+Portfolio.projects[i].alias+'/';
			s += '<p><a href="'+url+'">'+Portfolio.projects[i].name+'</a><br><small class="gray">'+Portfolio.projects[i].date+' / <a href="./'+Portfolio.projects[i].type_alias+'/">'+Portfolio.projects[i].type_name+'</a></small></p>';

		}
		return s;
	},

	_render_branch: function(obj) {
		var url, i, b, j, s = '';
		if (Portfolio.branches==null){
			var tmp = new Array();
			for (i=0, il=Portfolio.projects.length; i<il; i++)
				tmp[Portfolio.projects[i].branch_priority] = Portfolio.projects[i].branch_name;
			tmp.reverse();
			Portfolio.branches = new Array();
			for (i=0, il=tmp.length; i<il; i++)
				if (tmp[i])
					Portfolio.branches.push(tmp[i]);
		}
		s = '<table><col width="33%"><col width="33%"><col width="34%">';
		for (b=0, bl=Portfolio.branches.length; b<bl; b++) {
			s += '<tr><td colspan="3" style="padding:0"><h2>'+Portfolio.branches[b]+'</h2></td></tr><tr valign="top">';
			for (i=0, j=0, il=Portfolio.projects.length; i<il; i++) {
				if (Portfolio.projects[i].branch_name==Portfolio.branches[b]) {
					url = '/portfolio/'+Portfolio.projects[i].type_alias+'/'+Portfolio.projects[i].alias+'/';
					s += '<td><a href="'+url+'"><img src="'+Portfolio.projects[i].image+'" width="150" height="70" alt="" title="'+Portfolio.projects[i].name+'"></a><br><a href="'+url+'">'+Portfolio.projects[i].name+'</a><br><small class="gray">'+Portfolio.projects[i].date+' / <a href="./'+Portfolio.projects[i].type_alias+'/">'+Portfolio.projects[i].type_name+'</a></small></td>';
					if ((j%3)==2)
						s += '</tr><tr valign="top">';
					j++;
				}
			}
			for (j--; (j%3)<2; j++)
				s += '<td>&nbsp;</td>';
			s += '</tr>';
		}
		s += '</table>';
		return s;
	}
};

function Project(name, date, alias, image, client_name, type_name, type_alias, branch_name, branch_priority) {
	this.name = name;
	this.date = date;
	this.alias = alias;
	this.image = image;
	this.client_name = client_name;
	this.type_name = type_name;
	this.type_alias = type_alias;
	this.branch_name = branch_name;
	this.branch_priority = branch_priority;
}


function addEvent(elm, evType, fn, useCapture) {
	if (elm.addEventListener) {
		elm.addEventListener(evType, fn, useCapture);
		return true;
	} else if (elm.attachEvent) {
		var r = elm.attachEvent('on' + evType, fn);
		return r;
	} else {
		elm['on' + evType] = fn;
	}
}

function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload == 'function') {
		window.onload = function() {
			oldonload();
			func();
		}
	} else {
		window.onload = func;
	}
}

function initHomeInteractive() {
	addEvent(document, "mousemove", function(e) {
	    if (!e) e = window.event;
        var x = e.pageX ? e.pageX : (e.clientX ? (e.clientX+(document.documentElement.scrollLeft || document.body.scrollLeft) - document.documentElement.clientLeft) : 0);
		var width = (document.body.scrollWidth > document.body.offsetWidth) ? document.body.scrollWidth : document.body.offsetWidth;
		var coeff = (x/width*2-1)*width/1200;
		setHomeInteractive(-1*coeff);
	}, false);
	addEvent(window, "resize", function(e) {
		if (typeof(homeContainer)!='undefined')
			setHomeInteractive(0);
	}, false);
}

var homeElements = null;
function setHomeInteractive(coeff) {
	if (typeof(homeContainer)=='undefined') {
		homeElements = {};
		var homeContainer = document.getElementById("theme");
		if (homeContainer) {
			var list = homeContainer.getElementsByTagName("div");
			for (var i=0, il=list.length; i<il; i++) {
				homeElements[list[i].className] = list[i];
			}
		}
	}
	if (typeof(homeContainer)=='undefined')
		return;

	homeElements["zep-back"].style.marginLeft = Math.floor(coeff*5)+"px";
	homeElements["zep-left"].style.marginLeft = Math.floor(coeff*20)+"px";
	homeElements["zep-center"].style.marginLeft = Math.floor(coeff*12)+"px";
	homeElements["aero-top"].style.marginLeft = Math.floor(coeff*26)+"px";
	homeElements["aero-bottom"].style.marginLeft = Math.floor(coeff*35)+"px";
}

