/* AJAX */
var cim;
var obj;
var siker_id;
var sikertelen_id;
var ajax_enabled = 1;
var globalLang = 1;

// Elpostolunk egy formot adott parameterekkel. Pl.:
// myPost('users.php', $('userlist'), 'get', 'tartalom1', 'tartalom2');
// Magyarazat:
// A users.php-nek adjuk at GET metodussal a userlist ID-ju form tartalmat
// Ha a visszakapott string igy kezdodik: "<!--success-->
// Akkor a tartalom1 ID-ju objektumba toltsuk be a valaszt
// Egyebkebr pedig a tartalom2 ID-ju objektumba toltsuk a valaszt
// ezt mar a "showResponse_form" nevu fuggveny tolti be
//	AJAX
function myPost(_cim, _obj, mod, _siker_id, _sikertelen_id) {
	cim = _cim;
	obj = _obj;
	siker_id = _siker_id;
	sikertelen_id = _sikertelen_id;
	var pars = Form.serialize(obj);
	
	//ha nem utf8:
	/*pars = pars.replace(/%C3%A1/g,"%E1");//a'
	pars = pars.replace(/%C3%A9/g,"%E9");//e'
	pars = pars.replace(/%C3%B3/g,"%F3");//o'
	pars = pars.replace(/%C3%B6/g,"%F6");//o:
	pars = pars.replace(/%C5%91/g,"%26%23337%3B");//o''
	pars = pars.replace(/%C3%BC/g,"%FC");//u:
	pars = pars.replace(/%C3%BA/g,"%FA");//u'
	pars = pars.replace(/%C5%B1/g,"%26%23369%3B");//u''
	pars = pars.replace(/%C3%AD/g,"%ED");//i'
	pars = pars.replace(/%C3%81/g,"%C1");//A'
	pars = pars.replace(/%C3%89/g,"%C9");//E'
	pars = pars.replace(/%C3%93/g,"%D3");//O'
	pars = pars.replace(/%C3%96/g,"%D6");//O:
	pars = pars.replace(/%C5%90/g,"%26%23337%3B");//O'' D5
	pars = pars.replace(/%C3%9C/g,"%DC");//U:
	pars = pars.replace(/%C3%9A/g,"%DA");//U'
	pars = pars.replace(/%C5%B0/g,"%26%23369%3B");//U'' DB
	pars = pars.replace(/%C3%8D/g,"%CD");//I'*/	
	
	
	
	Form.disable(_obj);
	var ajaxom = new Ajax.Request(_cim, {method: mod,
										 parameters: pars,
										 onComplete: showResponse_form});
}

//	AJAX
function myPostFile(_cim, _obj, mod, _siker_id, _sikertelen_id){
	obj = _obj = $(_obj);
	siker_id = _siker_id;
	sikertelen_id = _sikertelen_id;
	_obj.enctype = "multipart/form-data";
	_obj.target = "postFrame";
	_obj.method = "post";
	if($('postFrame') == undefined){
		new Insertion.After(_obj, "<iframe src=\"about:blank\" style=\"display:none;\" "+
			"onload=\"myPostFileOnLoad();\" name=\"postFrame\" id=\"postFrame\"></iframe>");
	}
	Element.show('loading');
}

//AJAX
function myPostFileOnLoad(){
	//alert('van valasz');
	var postFrameBody = document.getElementById("postFrame").contentWindow.document.body;
	if(postFrameBody.innerHTML.indexOf('<!--success-->') > -1){
		$(siker_id).innerHTML = postFrameBody.innerHTML;
	}else{
		$(sikertelen_id).innerHTML = postFrameBody.innerHTML;
	}
	Element.hide('loading');
	//document.getElementById("postFrame").remove();
	processRequestChange(postFrameBody.innerHTML);
}

//	AJAX
function showResponse_form(originalRequest){
	Form.enable(obj);
	//alert(originalRequest);
	//alert(originalRequest.responseText);
	if(originalRequest.responseText.indexOf('<!--success-->') > -1){
		$(siker_id).innerHTML = originalRequest.responseText;
		try{
		    Form.reset(obj);
		}
		catch(e){}
		scrollTo(0,0);
	}else{
		$(sikertelen_id).innerHTML = originalRequest.responseText;
	}
	processRequestChange(originalRequest.responseText);
}

//	AJAX
function processRequestChange(valasz){
	var startOfData = valasz.indexOf("<script");
	while (startOfData != -1) {
		var startOfData = valasz.indexOf(">", startOfData) + 1;
		var endOfData = valasz.indexOf("<\/script>", startOfData);
		eval(valasz.substring(startOfData, endOfData));
		startOfData = valasz.indexOf("<script", endOfData);
	}
}

//	AJAX
function myAjax(cim, _hova, mod){
	siker_hova = _hova;
	var ajaxom = new Ajax.Request(cim, { method: 'get',
										 parameters: '',
										 onComplete: showResponse,
										 evalScripts: true});
}

//	AJAX
function showResponse(originalRequest){
	text = originalRequest.responseText;
	//alert(text);
	if (window.ActiveXObject){
		var doc=new ActiveXObject("Microsoft.XMLDOM");
		doc.async="false";
		doc.loadXML(text);
	}else{
		var parser=new DOMParser();
		var doc=parser.parseFromString(text,"text/xml");
	}
	$(siker_hova).innerHTML = originalRequest.responseText;
}

//	AJAX
function myUpdater(cim, _hova, mod, pars){
	if(!ajax_enabled){
		return true;
	}
	if(!pars){
		pars = '';
	}
	var ajaxom = new Ajax.Updater(_hova, cim, { method: mod,
										 parameters: pars,
										 onComplete: titleUpdate,
										 evalScripts: true});
	//scrollTo(0,0);
	/*var i = location.href.lastIndexOf("/")+1;
	var j = location.href.indexOf("#")
	//location.href = location.href.substring(0, j) + "#" + cim.substring(i, 100).replace("&jscript","");*/
	return false;
}

//	AJAX
function titleUpdate(originalRequest){
	processRequestChange(originalRequest.responseText);
	try{
		text = originalRequest.responseText;
		/*var i = text.indexOf('box_header');
		var i = text.indexOf('>', i)+1;
		var j = text.indexOf("</", i);
		new_title = text.substring(i, j);
		document.title = trim(text.substring(i, j));*/
		var i = text.indexOf('<!--title')+9;
		var j = text.indexOf("/title-->", i);
		new_title = text.substring(i, j);
		document.title = trim(text.substring(i, j));
		//alert(document.title);
	}catch(e){}
}

function trim(j) {
	return j.replace(/^\s+|\s+$/g,"");
}

//	AJAX
function initHistory(){
	var s = location.href;
	var i = s.indexOf("index.php");
	if(i < 1){
		location.href += "index.php";
	}
	//alert(s);
	i = s.indexOf("#");
	if(i > 0){
		//alert(s.substring(i+1, 500));
		location.href = s.substring(i+1, 500);
	}
}

// kivalasztja (vagy nem) a nev nev? chekboxokat egy formban
// pl. selectAll("user_id[]", true);
//	global
function selectAll(nev, igen_e){
	var tomb = document.getElementsByName(nev);
	for(var i=0;i<tomb.length;i++){
		tomb[i].checked = igen_e;
	}
}

//	globalis "eppen toltom, varj"-kezelo
var myGlobalHandlers = {
	onCreate: function(){
		Element.show('loading');
	},
	onComplete: function() {
		if(Ajax.activeRequestCount == 0){
			Element.hide('loading');
		}
	}
};
Ajax.Responders.register(myGlobalHandlers);

//	global
function addEvent(obj, evType, fn) {
  if (obj.addEventListener) {
    obj.addEventListener(evType, fn, true);
    return true;
  } else if (obj.attachEvent) {
    var r = obj.attachEvent("on"+evType, fn);
    return r;
  } else {
    return false;
  }
}

//addEvent(window, 'load', makeAjaxLinks);

//	menu
function Set_Cookie( name, value, expires, path, domain, secure ){
	// set time, it's in milliseconds
	var today = new Date();
	today.setTime( today.getTime() );
	
	/*
	if the expires variable is set, make the correct 
	expires time, the current script below will set 
	it for x number of days, to make it for hours, 
	delete * 24, for minutes, delete * 60 * 24
	*/
	if ( expires ){
		expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date( today.getTime() + (expires) );
	
	document.cookie = name + "=" +escape( value ) +
	( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
	( ( path ) ? ";path=" + path : "" ) + 
	( ( domain ) ? ";domain=" + domain : "" ) +
	( ( secure ) ? ";secure" : "" );
}
	
//	menu
function menu_lenyit(o) {
	if (ajax_enabled) {
		Set_Cookie("act_module_name",o.name);
	}
	var tesok = o.parentNode.parentNode.getElementsByTagName('ul');
	for ( var index=0;index<tesok.length;index++) {
		tesok[index].hide();
	}
	sib = o.siblings();
	if (sib[0]) sib[0].toggle();
	return false;
}

Psd2html = {
	showCalendar : function(o1,o2){
		calendar.select(o1,o2,'yyyy-MM-dd');
	}

}

//regisztracios urlaphoz
function checkNick(obj){
	myUpdater('index.php?modul=user&s=checknick&jscript&nick='+obj.value,'checkNickDiv','get');
}

//regisztracios urlaphoz
function checkEmail(obj){
	myUpdater('index.php?modul=user&s=checkemail&jscript&email='+obj.value,'checkEmailDiv','get');
}

//catalog-hoz
function formShowOnly(name, id, osszesen){
	var i = 0;
	for(i=0;i<osszesen;i++){
		try{
			var vmi = Element.hide(name+"_"+i+"_div");
			$(name+'_'+i+'_tab').className = "inactive_tab";
		}catch(e){}
	}
	$(name+'_'+id+'_div').toggle();
	$(name+'_'+id+'_tab').className = "active_tab";
}

function new_window(index,optns,content_id,myupdater,modal,show){
	var params = "{className: 'alphacube', showEffect:Effect.BlindDown, hideEffect: Effect.SwitchOff, showEffectOptions: {duration:1.0}, zIndex: 1000, ";
	params += optns + "}";
	eval("var nyih = " + params);
	var win = new Window(nyih);
	wins[index] = win;
	mu = $(win.getId()).descendants();
	for(temp in mu){
		try{
			var temp_id = mu[temp].id;
			if (temp_id.indexOf('table_content')<0 && temp_id.indexOf('_content')>0) var cont = mu[temp];
		}
		catch(e){
			void(0);
		}
	}
	if (content_id.length>0){
		win.setContent(content_id,false,false);
	}
	if (show){
		if (optns.indexOf("left:")>0 || optns.indexOf("top:")>0 || optns.indexOf("bottom:")>0 || optns.indexOf("right:")>0){
			win.show(modal);
		}else{
			win.showCenter(modal);
		}
	}
	if (content_id.length>0){
		$(content_id).style.display='block';
	}
	if (myupdater.length>0){
		eval(myupdater);
	}

}

function getElementsByAttribute(oElm, strTagName, strAttributeName, strAttributeValue){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	var oAttributeValue = (typeof strAttributeValue != "undefined")? new RegExp("(^|\s)" + strAttributeValue + "(\s|$)") : null;
	var oCurrent;
	var oAttribute;
	for(var i=0; i<arrElements.length; i++){
		oCurrent = arrElements[i];
		oAttribute = oCurrent.getAttribute && oCurrent.getAttribute(strAttributeName);
		if(typeof oAttribute == "string" && oAttribute.length > 0){
			if(typeof strAttributeValue == "undefined" || (oAttributeValue && oAttributeValue.test(oAttribute))){
				arrReturnElements.push(oCurrent);
			}
		}
	}
	return arrReturnElements;
}

function globalLanguageChange(lang_id,form,nyelv_idk){
	globalLang = lang_id;
	//tabok
	for(var x in nyelv_idk){
		if (!isNaN(nyelv_idk[x])){
			if(nyelv_idk[x] == lang_id){
					$('langtab_'+nyelv_idk[x]).className='active_tab';
			}else{
					$('langtab_'+nyelv_idk[x]).className='inactive_tab';
			}
		}
	}
	
	var all = new Array();
	
	var inputs = getElementsByAttribute(form,'input','lang');
	var selects = getElementsByAttribute(form,'select','lang');
	var textareas = getElementsByAttribute(form,'textarea','lang');
	all = all.concat(inputs).concat(selects).concat(textareas);
	
	for(var i in all){
		if (all[i].lang){
			if (all[i].lang == lang_id){
				all[i].show();
			}else{		
				all[i].hide();
			}
		}
	}

}

function newPlusField(nyelvek){

	str = '<tr>'+
			'<td>'+
				'<input type="hidden" name="plusField_ids[]" value="" />';
	for(i in nyelvek){if(!isNaN(nyelvek[i])){
		str = str + '<input type="text" name="plusField_var['+nyelvek[i]+'][]" class="lang_input" lang="'+nyelvek[i]+'" '+(nyelvek[i]!=globalLang?'style="display:none;"':'')+' value="" />';
	}}
	str = str + '</td>'+
					'<td>';
	for(i in nyelvek){if(!isNaN(nyelvek[i])){
		str = str + '<input type="text" name="plusField_val['+nyelvek[i]+'][]" class="lang_input" lang="'+nyelvek[i]+'" '+(nyelvek[i]!=globalLang?'style="display:none;"':'')+' value="" />';
	}}
	str = str + '</td>'+
					'<td>'+
						'<input type="button" value="-" style="font-size:10px;" onclick="this.parentNode.parentNode.remove();" />'+
					'</td>'+
				'</tr>';
	new Insertion.Before($('lastPlusFieldsLine').id, str);
}

function catalog_bidTotalCalc(count,isBuyer){
	var sum_price = 0;
	var sum_m3 = 0;
	var sum_wn = 0;
	var sum_wg = 0;
	for (var i = 0; i<count; i++){
		$('amount_'+i).value = parseInt($('no_of_cartons_'+i).value) * parseInt($('piecepercarton_'+i).innerHTML);
		$('amount2_'+i).innerHTML = parseInt($('no_of_cartons_'+i).value) * parseInt($('piecepercarton_'+i).innerHTML);
		sum_price += $('total_price_'+i).innerHTML = (isBuyer ? parseInt($('buyer_price_'+i).value) : parseInt($('seller_price_'+i).value)) * parseInt($('amount_'+i).value);
		sum_m3 += $('total_m3_'+i).innerHTML = parseInt($('m3percarton_'+i).innerHTML)*parseInt($('no_of_cartons_'+i).value);
		sum_wn += $('total_weight_net_'+i).innerHTML = parseInt($('wnpercarton_'+i).innerHTML) * parseInt($('no_of_cartons_'+i).value);
		sum_wg += $('total_weight_gross_'+i).innerHTML = parseInt($('wgpercarton_'+i).innerHTML) * parseInt($('no_of_cartons_'+i).value);
	}
	$('sum_price').innerHTML = sum_price;
	$('sum_m3').innerHTML = sum_m3;
	$('sum_weight_net').innerHTML = sum_wn;
	$('sum_weight_gross').innerHTML = sum_wg;
}

