var issueHandler = {

	taskId : null,
	quantities : null,
	totalPrice : null,
	totalQuantity : null,
	countryCodes : null,

	initOrder : function(params) {
		// hide warning if no checkbox
		if (!$('order_newsletter').checked) $('order_newsletter_warning').hide();
		// checkbox observe
		$('order_newsletter').observe('click', function(event) {
			if (event.element().checked) $('order_newsletter_warning').show();
			else  $('order_newsletter_warning').hide();
		});
	},

	init : function(params) {
		this.quantities = params.quantities;

		$('issues_form').select('input.issue_quantity').each(function(element) {
			$(element).observe('keyup', issueHandler.updateQuantities.bindAsEventListener(issueHandler, element));
		});
	},

	updateQuantities : function(event) {

		//var tag = Event.element(e).tagName.toLowerCase();
		var data = $A(arguments);
		data.shift();
		var element = data[0];
		var value = $F(element);
		var goodvalue = '';
		var rid = element.id.substring(element.id.lastIndexOf('_') + 1);
		for (var i=0, output='', valid="1234567890"; i<value.length; i++)
			if (valid.indexOf(value.charAt(i)) != -1) goodvalue += value.charAt(i);

		element.value = goodvalue;

		if (this.quantities[rid] == element.value) return;
		this.quantities[rid] = element.value;

		window.clearTimeout(this.taskId);
		this.taskId = this._updateQuantities.delay(1);
	},

	_updateQuantities : function() {
		/*issueSummary.totalPrice = 0;
		for (var rid in issueSummary.prices) {
			if (issueSummary.quantities[rid]) issueSummary.totalPrice += issueSummary.prices[rid] * issueSummary.quantities[rid];
		}*/

		var cmd = '/catalogs?ajax';
		new Ajax.Request(cmd, {
			method:'POST',
			parameters: $('issues_form').serialize(true),
			onLoading: function(){
				$('issues_form').select('input.issue_quantity').invoke('disable');
			},
			onComplete : function(){
				$('issues_form').select('input.issue_quantity').invoke('enable');
			},
			onSuccess: function(transport){
				$('issues_summary_box').update(transport.responseText);
			},
			onFailure: function(){  }
		});
	}
}

var quotHandler = {

	fieldNum : 0,

	maxFields : 5,

	init : function(params) {

		// hide warning if no checkbox
		if (!$('newsletter').checked) $('quotations_newsletter_warning').hide();
		// checkbox observe
		$('newsletter').observe('click', function(event) {
			if (event.element().checked) $('quotations_newsletter_warning').show();
			else  $('quotations_newsletter_warning').hide();
		});

		$('quotations').select('.fileattachments').each(function(element) {
			$(element).observe('change', quotHandler.addFile.bindAsEventListener(quotHandler, element));
			quotHandler.fieldNum++;
		});

		// disable site area input
		$('q_buildarea_y').observe('click', function(event) {
			$('q_site_area').enable();
		});
		$('q_buildarea_n').observe('click', function(event) {
			$('q_site_area').disable();
		});
	},

	addFile : function(event, element) {
		$(element).stopObserving('change');
		if (this.fieldNum < this.maxFields);
		var newelement = $('attachments').appendChild(new Element('input', { 'type': 'file', 'name': 'q_attachment_' + this.fieldNum, 'class' : 'fileattachments' }));
		$(newelement).observe('change', quotHandler.addFile.bindAsEventListener(quotHandler, newelement));
		this.fieldNum++;
	}
}

var tafHandler = {

	loggedin : false,

	init : function(params) {
		// loggedin user
		if (params.loggedin) this.loggedin = true;

		// form handler
		$('tellafriend').select('form.tellafriend_data').each(function(element) {
			//$(element).hide();
			$(element).observe('submit', tafHandler.formSubmit.bindAsEventListener(tafHandler, element));
		});

		// hide advanced data and tellafriend_message also
		$('tellafriend').select('div.tellafriend_advanced_data').invoke('hide');
		$('tellafriend').select('div.tellafriend_message').invoke('hide');

		// click handler
		$('tellafriend').select('a.tellafriend_link').each(function(element) {
			$(element).observe('click', tafHandler.buttonClick.bindAsEventListener(tafHandler, element));
		});

		// checkbox handler
		$('tellafriend').select('input.tellafriend_checkbox').each(function(element) {
			$(element).observe('click', tafHandler.checkboxClick.bindAsEventListener(tafHandler, element));
		});
	},

	checkboxClick : function(event, element) {
		if (!this.loggedin) $('tellafriend').select('div.tellafriend_advanced_data').invoke(element.checked ? 'show' : 'hide');
	},

	formSubmit : function(event, element) {
		// stop
		event.stop();

		// hide message div and remove classes
		$('tellafriend').select('div.tellafriend_response').each(function(element) {
			$(element).hide();
			$(element).removeClassName('tellafriend_error');
			$(element).removeClassName('tellafriend_ok');
		});

		// quick check (empty values)
/*		if (!$F('tellafriend_from')) return false;
		if (!$F('tellafriend_to')) return false;

		if ($('tellafriend_newsletter').checked) {
			if (!$F('tellafriend_name')) return false;
			if (!$F('tellafriend_username')) return false;
		} */

		// send request
		var cmd = './tellafriend?ajax';
		new Ajax.Request(cmd, {
			method:'post',
			parameters : Form.serialize('tellafriend'),
			onSuccess: function(transport){
				var response = transport.responseText;
				tafHandler.responseHandler(transport.responseText);
			},
			onFailure: function(){
			}
		});

		return false;
	},

	responseHandler : function(responseText)
	{
		eval('var response = ' + responseText);
		// successfully sent
		if (response.status) {
			$('tellafriend').select('form.tellafriend_data').invoke('hide');
			tafHandler.reset();
		} else {
			// captcha reload
			var src = $('tellafriend_captcha_img').readAttribute('src') + '?' + parseInt(new Date().getTime().toString().substring(0, 10));
			var id = $('tellafriend_captcha_img').readAttribute('id');

			$('tellafriend_captcha_img').remove();
			$('tellafriend_captcha').appendChild(new Element('img', { 'id': id, src: src }));
			$('tellafriend_code').clear();
		}

		// adding class
		if (response.message) $('tellafriend').select('div.tellafriend_response').each(function(element) {
			$(element).update(response.message);
			$(element).show();
			$(element).toggleClassName(response.status ? 'tellafriend_ok' : 'tellafriend_error');
			var body = $('body');
			if (body) body.scrollTo();
		});

	},

	buttonClick : function(event, element) {
		// stop
		event.stop();
		// open form
		$('tellafriend').select('form.tellafriend_data').invoke('toggle');

		return false;
	},

	reset : function() {
		$('tellafriend_from').clear();
		$('tellafriend_to').clear();
		$('tellafriend_message').clear();
		$('tellafriend_code').clear();
		$('tellafriend_newsletter').checked = false;
		$('tellafriend').select('div.tellafriend_advanced_data').invoke('hide');

		$('us_nev').clear();
		var us_login = $('us_login');
		if (us_login) us_login.clear();
		$('us_tel').clear();
		$('us_cim').clear();
		$('us_szervezet').clear();
		$('us_egyeb').clear();
	}
}

function imageopenwindow(id,  h,  w)
{
	l=(window.screen.width-w)/2;
	t=((window.screen.height-h)/2)-50;
	width=window.screen.width;
	height=window.screen.height;
	w=Math.max(w,250);
	window.open('./gmegj.php?g='+id+'&h='+h+'&w='+w+'&width='+width+'&height='+height, '_blank','HEIGHT='+h+',WIDTH='+w);
}

/***********************************************
* Email Validation script- © Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for legal use.
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

var emailfilter=/^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i

function checkmail(e, login)
{
	var returnval=filter.test(login.value)
	if (returnval==false){
		alert("Kérem, irjon be egy Felhasználói nevet címet.")
		login.select()
		var returnval=emailfilter.test(e.value)
		if (returnval==false){
			alert("Kérem, irjon be egy érvényes e-mail címet.")
			e.select()
		}
	}
	return returnval
}

function validate_message_form(){
if(document.forms[0].elements[1].value==""){
	alert('Nem töltötte ki a Felhasználó nevet!');
	return false;
}else if(document.forms[0].elements[6].value==0){
	alert('Nem töltötte ki az E-mail címet!');
	return false;
}else{
	return true;
}
}

var producthandler = {
	init : function() {
		$('mosaic').select('.mosaic_box_title').each(function(element) {
			$(element).addClassName('mosaic_box_title_link');
			$(element).observe('click', producthandler.titleClick.bindAsEventListener(producthandler, element));
		});

		// hide tables
		$('mosaic').select('div.mosaic_table').invoke('hide');
	},

	titleClick : function(event, element) {
		var e_id = element.id.replace('mosaic_box_title_', '');
		// close all but selected
		$('mosaic').select('div.mosaic_box_body').each(function(element) {
			if (element.id != ('mosaic_box_body_' + e_id)) element.hide();
		});

		// open all but selected "more" links
		$('mosaic').select('.more').each(function(element) {
			if (element.id != ('mosaic_box_more_' + e_id)) element.show();
		});

		// open/close selected
		$('mosaic_box_body_' + e_id).toggle();

		// open/close selected table
		var table = $('mosaic_table_' + e_id);
		if (table) table.toggle();

		// "more" link
		if ($('mosaic_box_body_' + e_id).visible()) $('mosaic_box_more_' + e_id).hide();
		else $('mosaic_box_more_' + e_id).show();
	}
}

function initResizeHandler(id, min_width, change_height) {
	//Event.observe(window, 'load', Demo_onResize + id);
	document.body.C_MIN_PAGE_WIDTH = min_width ? min_width : 1084;
	Event.observe(window, 'resize', eval('Demo_onResize' + id));
	if (change_height) {
		Event.observe(window, 'resize', eval('Demo_onResizeHeight' + id));
	}
}

function Demo_onResizeChrome() {
	var width = Math.max(getPageSize().shift(), document.body.C_MIN_PAGE_WIDTH);
	$('fheight').style.width = width + 'px';
}

function Demo_onResizeHeightChrome() {
	var pageHeight = getPageSize().pop();
	var headerHeight = $('header').offsetHeight;
	var footerHeight = $('footer').offsetHeight;
	var contentHeight = $('content').offsetHeight - 104;
	var newHeight = (pageHeight - (28 + headerHeight + footerHeight + 104));
	if (newHeight < contentHeight) return;
	$('content').setStyle({ height :  newHeight + 'px' });
}

function getPageSize() {

		var xScroll, yScroll;

		if (window.innerHeight && window.scrollMaxY) {
			xScroll = window.innerWidth + window.scrollMaxX;
			yScroll = window.innerHeight + window.scrollMaxY;
		} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
			xScroll = document.body.scrollWidth;
			yScroll = document.body.scrollHeight;
		} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
			xScroll = document.body.offsetWidth;
			yScroll = document.body.offsetHeight;
		}

		var windowWidth, windowHeight;

		if (self.innerHeight) {	// all except Explorer
			if(document.documentElement.clientWidth){
				windowWidth = document.documentElement.clientWidth;
			} else {
				windowWidth = self.innerWidth;
			}
			windowHeight = self.innerHeight;
		} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
			windowWidth = document.documentElement.clientWidth;
			windowHeight = document.documentElement.clientHeight;
		} else if (document.body) { // other Explorers
			windowWidth = document.body.clientWidth;
			windowHeight = document.body.clientHeight;
		}

		// for small pages with total height less then height of the viewport
		if(yScroll < windowHeight){
			pageHeight = windowHeight;
		} else {
			pageHeight = yScroll;
		}

		// for small pages with total width less then width of the viewport
		if(xScroll < windowWidth){
			pageWidth = xScroll;
		} else {
			pageWidth = windowWidth;
		}

		return [pageWidth,pageHeight];
}

function kdjaf(aksjhd, ksjhfsa, qoewiur, sdzucvgxjh, sdhjhsdsd){
if (!sdhjhsdsd) sdhjhsdsd = '';
var svfdvbesrwe = ksjhfsa + "\u0040" + qoewiur + "." + aksjhd;
var vxysvcqwe = unescape('%6D%61%69%6C%74%6F%3A') + svfdvbesrwe;
if( ! sdzucvgxjh ) sdzucvgxjh = svfdvbesrwe;
document.write("<a href=\"" + vxysvcqwe + "\" style=\"" + sdhjhsdsd + "\">" + sdzucvgxjh + "</a>");}

function divOpen(divID,title) {
document.getElementById('expandList_text_' + divID).style.display = "block";
document.getElementById('expandList_title_' + divID).innerHTML="<a href=\"javascript:divClose('" + divID + "','" + title +"');\">" + title + "</a>";
}
function divClose(divID,title) {
document.getElementById('expandList_text_' + divID).style.display = "none";
document.getElementById('expandList_title_' + divID).innerHTML="<a href=\"javascript:divOpen('" + divID + "','" + title +"');\">" + title + "</a>";
}

function loadScript(src,id,callback) {
	var scriptObj = document.createElement( 'script' );
	var rnd = Math.random()*9999999;
	scriptObj.setAttribute( 'type', 'text/javascript' );
	scriptObj.setAttribute( 'charset', 'utf-8' );
	scriptObj.setAttribute( 'id', id );
	scriptObj.setAttribute( 'onload', callback );
	// IE uglyhack.
	scriptObj.onreadystatechange = function() {
		if ( this.readyState == "complete" || this.readyState == "loaded" ) {
			eval( callback );
		}
	}
	scriptObj.setAttribute( 'src', src+'&r='+rnd);
	if ( $(id) != null ) {
		$(id).replace( scriptObj );
	} else {
		document.body.appendChild( scriptObj );
	}
}
