/* charset="iso-8859-2"
 * MStudio.at
 * common.js
 *
 * Jozef Izso
 *
 */


function logError(desc, file, line) {
	var log = new Image();
	var key = 'a0232e4d85ed2eb6598783bf49348521';
	log.src = "http://www.izsak.net/scripts/log/?log=1&key="+key+"&app=js&site=mstudio.at&desc="+escape(desc)+"&file="+escape(file)+"&line="+line;
	return true;
}
// var w = getEventModel()=="DOM" && !window.addEventListener ? document : window;
// addEvent(w, 'error', logError);
window.onerror = logError;

var Cookies = {
	Write:function(name,value,days) {
		var D = new Date();
		D.setTime(D.getTime()+86400000*days)
		document.cookie = escape(name)+"="+escape(value)+
			((days == null)?"":(";expires="+D.toGMTString()))
		return (this.Read(name) == value);
	},
	Read:function(name) {
		var EN=escape(name)
		var F=' '+document.cookie+';', S=F.indexOf(' '+EN);
		return S==-1 ? null : unescape(F.substring(EN=S+EN.length+2,F.indexOf(';',EN)));
	}
};

/* popup windows */
var _POPUP_FEATURES = '';

function popupWindow(url, target, features, qs) {
	if (undef(features)) {
		features = _POPUP_FEATURES;
	}
	if (undef(target)) {
		target = '_blank';
	}
	if (isdef(qs)) {
		url = url + qs;
	}
	var theWindow =
		window.open(url, target, features);
	theWindow.focus();
	return theWindow;
}

function link_popup(src, target, features, qs) {
	if (target == 'portfolio')
		target = '_blank';
	return popupWindow(
		src.getAttribute('href'),
		target || src.getAttribute('target') || '_blank',
		features,
		qs);
}

function event_popup(target, features, qs) {
	return function(e) {
		link_popup(e.currentTarget, target, features, qs);
		e.preventDefault();
	}
}

/* close window */
function event_close_window(e) {
	e.preventDefault();
	window.close();
}
/* /popup windows */


/* portfolio */
// state = (over|out)
function handle_anchor(id, state) {
	var elm = getElem(id);
	if (elm == null)
		return false;

	//window.status = state;
	if (state == "over")
		addClass(elm, 'hover', false);
	else // state == out
		remClass(elm, 'hover');
	return true;
}

function event_change_state(id, state) {
	return function (e) {
		//alert(id +'; '+ state);
		//e.preventDefault();
		handle_anchor(id, state);
	}
}

/* Back button: */
addLoadEvent(handle_btn_back);

function handle_btn_back() {
	if (location.hostname == '' || (!document.href && !location.href)
		|| location.search == '?popup')
			return;
	var uri = document.URL ? document.URL : location.href;
	var uris = Cookies.Read('first_page') ? Cookies.Read('first_page') +';' : '';
	if (uris.indexOf(uri) != -1) return;

	var ref = uri.substring(0, uri.lastIndexOf('/')+1);
	var len = parseInt(history.length);
	if (navigator.product == 'Gecko') len--;

	if (len == 0) {
		Cookies.Write('first_page',  uris + uri, 1);
	}
	if (len == 0 || ref != document.referrer) return;

	var a = getElem('a-close');
	if (!a) return;
	addEvent(a, 'click', create_btn_back);
}

function create_btn_back(e) {
	e.preventDefault();
	history.go(-1);
	return true;
}

