
dojo.require('dojo.io.iframe');

function changeOptionImg(id, over, path) {
  id_name = new String('topOption' + id);
  var obj = document.getElementById(id_name);
  if (!obj) return;
  var over_ = '';
  if (over) over_ = '_over';
  var src =  static_url + '/images/options/top_options' + id + over_ + '.png';
  obj.src = src;
}

function changeRecentImg(id, over, top, path) {
	id_name = new String('recent' + id);
	var obj = document.getElementById(id_name);
	if (!obj) return;
	var img_obj = document.getElementById('recent_img' + id);
	
	var over_ = '';
	var top_ = '_inner';
	if (over) over_ = '_over';
	if (top) top_ = '_top';
	var src = static_url + '/images/dashboard/recent' + top_ + over_ + '.png';
	obj.style.backgroundImage = new String('url(' + src + ')');
	if (img_obj) {
		img_obj.style.backgroundImage = new String('url(' + static_url + '/images/dashboard/recent_img_bg' + over_ + '.png)');
	}
}

function addlistener(element, type, func, bubbling) {
	bubbling = bubbling || false;
	if (window.addEventListener) {
		element.addEventListener(type, func, bubbling);
		return true;
	}
	else if (window.attachEvent) {
		element.attachEvent('on' + type, function() { func(window.event); } );
		return true;
	}
	else return false;
}

function getElementInNode(node_id, id) {
	context = document.getElementById(node_id);
	x = context.getElementsByTagName('*');
	for (i = 0; i < x.length; i++) {
		if (x[i].id == id) {
			return x[i];
		}
	}
	return null;
}

function evalscripts(obj) {
	var scripts = obj.getElementsByTagName('script');
	for (var i = 0; i < scripts.length; i++) {
		var scrip = scripts[i];
		var txt = '';
		if (scrip.text) {
			txt = scrip.text;
		} else {
			if (scrip.childNodes) {
				txt = dojo.dom.textContent(scrip);
			}
		}
		eval(txt);
	}
}

function sendfile(form_id, cparams, func)
{
	var form = dojo.byId(form_id);
	
	if (!cparams.script_name) {
		cparams.script_name = home_url;
	}
	
	if (!form) return;
	
	if (typeof cparams.page != 'undefined') form.setAttribute('action', cparams.page);
	var ioArgs = {
		handleAs: 'html',
		form: form,
		content: cparams,
		load: function (data, ioArgs) {
			if (func) func(data);
			else evalscripts(data);
		}
	};
	dojo.io.iframe.send(ioArgs);
}


function showdiv(obj, name, diff, z) {
	mutasdbe.showdiv(obj, name, diff, z);
}


function hidediv(name) {
	div = document.getElementById(name);
	div.style.visibility = "hidden";
}


function calculatePosition(obj) {
	var curleft = 0;
	var curtop = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
			obj = obj.offsetParent;
		}
	} else if (obj.x || obj.y) {
		curleft += obj.x;
		curtop += obj.y;
	}

	ret = new Array(2);
	ret[0] = curleft;
	ret[1] = curtop;

	return ret;
}

function onDivEvent(event,name) {
    var div = dojo.byId(name);
    var target = event.target?event.target:event.srcElement;
    while (target != document.body && target != null) {
        if (target) {
            if (target == div) {
                return true;
            }
            target = target.offsetParent;
        }
    }
    return false;
}

function removemytag(tag_id) {
	var div = dojo.byId('mytaglist');
	if (!div) return;
	dojo.xhrPost({
			url: 'tag/modify',
			handleAs: "text",
			content: { removemytag: tag_id },
			preventCache: true,
			load: function (response, ioArgs) {
				div.innerHTML = response;
				evalscripts(div);
			}
		});
}

function addmytag(value) {
	hidediv('similartaglist');
	var div = dojo.byId('mytaglist');
	if (!div) return;
	if (!value) {
		var input = dojo.byId('newtag');
		if (!input) return;
		value = input.value;
	}
	dojo.io.bind({
		transport: 'XMLHTTPTransport',
		url: 'tag/modify',
		preventCache: true,
		encoding: 'utf-8',
		content: { addmytag: value},
		load: function(type, evaledObj) {
			div.innerHTML = evaledObj;
			evalscripts(div);
		}
	});
}

function searchSimilarTag() {
	var div_name = 'similartaglist';
	var div = dojo.byId(div_name);
	var input = dojo.byId('newtag');
	if (!div || !input) return;
	
	dojo.io.bind({
		transport: 'XMLHTTPTransport',
		url: 'index.php',
		preventCache: true,
		encoding: 'utf-8',
		content: { page: 'mb/similartags', tagname: input.value},
		load: function(type, evaledObj) {
			div.innerHTML = evaledObj;
			showdiv(input, div_name, {x: -3, y: 5});
			evalscripts(div);
		}
	});
}

function editImages(flag) {
	var div_name = 'layProfilUserData';
	var div = dojo.byId(div_name);
	if (!div) return;
	content = flag ? 'images' : '';
	mutasdbe.bind({ page: 'myprofile/userdata', content: content}, {
		evalDiv: div,
		_eval: true,
		url : 'myprofile/userdata'
	});
}

function moreImages(flag, nick) {
	var div_name = 'layProfilUserData';
	var div = dojo.byId(div_name);
	if (!div) return;
	
	content = flag ? 'images' : '';
	mutasdbe.bind({ page: 'mb/userdata', content: content, noedit: '1', nick: nick}, {
		evalDiv: div,
		_eval: true,
		url : 'myprofile/userdata'
	});
}

function setMainImage(id) {
	var div_name = 'layProfilUserData';
	var div = dojo.byId(div_name);
	if (!div) return;
	var content = { page: 'myprofile/userdata', modimage: id, func: 'setmain', content: 'images'};
	mutasdbe.bind(content, { evalDiv: div, _eval: true, url: 'myprofile/userdata' } );
/*
	dojo.io.bind({
		transport: 'XMLHTTPTransport',
		url: 'index.php',
		preventCache: true,
		encoding: 'utf-8',
		content: { page: 'mb/userdata', modimage: id, func: 'setmain', content: 'images'},
		load: function(type, evaledObj) {
			div.innerHTML = evaledObj;
			evalscripts(div);
		}
	});
*/
}

function deleteImage(id) {
	var div_name = 'layProfilUserData';
	var div = dojo.byId(div_name);
	if (!div) return;
	mutasdbe.bind({ page: 'myprofile/userdata', modimage: id, func: 'del', content: 'images'}, {
		evalDiv: div,
		_eval: true,
		url : 'myprofile/userdata'
	});
}

function uploadImage() {
	var form_id = 'upload_pic';
	var cparams = { page: 'myprofile/userdata', upload: '1' };
	sendfile(form_id, cparams, function (data) {
		if (data.body.innerHTML == '1') {
			mutasdbe.openPopup({ popup: 'alert-popup', title: 'Hiba', content: 'Ezen a képen rajta vagy? :) Olyan kicsi, hogy nem is látszol. <br/>Tölts fel egy nagyobbat!'});
		}
		else {
			mutasdbe.openPopup({ popup: 'imguploaded' });
		}
//		mutasdbe.showAlert('imguploaded', {left: 'center', top: 200} );
		evalscripts(data.body);
		editImages(true);
	});
}

function getKeyCode(event) {
	return mutasdbe.getKeyCode(event);
}


addlistener(window, 'click', showHideSimilarTagsDiv, false);

function showHideSimilarTagsDiv(event) {
	var div_name = 'similartaglist';
	var div = document.getElementById(div_name);
	if (!div) return false;
	var inside = onDivEvent(event, div_name);
	if (!inside) {
		mutasdbe.setShowing(div, false);
	}
}


function textCounter(field,cntfield,maxlimit) {
	
	if (field.value.length > maxlimit) // if too long...trim it!
	field.value = field.value.substring(0, maxlimit);
	// otherwise, update 'characters left' counter
	else {
		if (cntfield.nodeName == 'INPUT')
			cntfield.value = field.value.length;
		else if (cntfield.nodeName == 'SPAN') 
			cntfield.innerHTML = field.value.length;
		
	}
}

function invite(flag) {
	var form = dojo.byId('invite_form');
	if (!form) return;
	var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	var ret = '';
	if (!flag && dojo.string.trim(form['formdata[first_name]'].value).length == 0) {
		ret = 'A keresztnév mező nincs kitöltve!\n';
	}
	if (!flag && dojo.string.trim(form['formdata[last_name]'].value).length == 0) {
		ret += 'A vezetéknév mező nincs kitöltve!\n';
	}
	if (!flag && dojo.string.trim(form['formdata[email]'].value).length == 0) {
		ret += 'Az e-mail cím mező nincs kitöltve!\n';
	}
	else if (!filter.test(form['formdata[email]'].value)) {
	//else if (!chk_emailcheck(form['formdata[email]'])) {
		ret += 'Hibás e-mail cím!\n';
	}
	if (dojo.string.trim(form['formdata[invite_msg]'].value).length == 0) {
		ret += 'Nem írtál véleményt!\n'
	}
	if (dojo.string.trim(form['formdata[invite_msg]'].value).length < 150 || dojo.string.trim(form['formdata[invite_msg]'].value).length > 500) {
		ret += 'A vélemény hosszának minimum 150, maximum 500 karakternek kell lennie!\n';
	}
	
	if (ret.length > 0) {
		alert(ret);
		return false;
	}
	//alert('true');
	var form_id = 'invite_form';
	var page = flag ? 'newopinion/' + form['formdata[nick]'].value : 'invite';
	var script_name = '/' + page;
	var cparams = { page: page, send: '1', script_name : script_name };
	
	var content = mutasdbe.getFormContent(form_id);
	content.send = 1;
	var div = mutasdbe.getPopup();
	hidediv(div.id);
	
	
	var bparams = { 
		evalDiv: div, 
		_eval: false, 
		url: script_name, 
		evalFunc: function (data) { 
			if(data==1) {
				mutasdbe.openPopup({popup: 'saved'});
//				mutasdbe.showAlert('saved', {left: 'center', top: 200} );
				cfw_evalscripts(div);
			}
			else {
				mutasdbe.openPopup({popup: 'emailexists'});
//				mutasdbe.showAlert('emailexists', {left: 'center', top: 200} );
			}
		}
	};
	
	mutasdbe.bind(content, bparams);
	/*
	cfw_sendfile(form_id, cparams, function (data) {
		cfw_evalscripts(data.body);
		alert(data.body.innerHTML);
	});*/

}

function uploadInviteImage() {
	var form_id = 'invite_form';
	var cparams = { page: 'invite', upload: '1' };
	sendfile(form_id, cparams, function (data) {
		evalscripts(data.body);
		var div = dojo.byId('invite_upload');
		if (div) {
			div.innerHTML = data.body.innerHTML;
		}
	});
}
