/* Copyright 2010 regfish GmbH
 * Alle Rechte vorbehalten
 */

var base_path_relative = "";
var rf = {
	qu_default_value:'meine-wunschdomain.de',
	dlist_observer:false,
	active_annotation:false,
	go: function(t) { location.href="http://www.regfish.de"+base_path_relative+t; },
	gossl: function(t) { location.href="https://www.regfish.de"+base_path_relative+t; },
	gonw: function(t) { window.open(t); },
	qu_focus: function() {
		if($('qu').getValue()==rf.qu_default_value) {
			$('qu').setStyle({'color':'#000'}).setValue("");
		}
	},
	qu_blur: function() {
		if($('qu').getValue()=='') {
			$('qu').setStyle({'color':'#c0c0c0'}).setValue(rf.qu_default_value);
		}
	},

	domainlist_on_mark_change: function(cls) {
		var checked_items = 0;
		$$("."+cls).each( function(item) { if(item.checked) checked_items++; } );
		if(checked_items!=0) {
			$('sammeltransaktion_text').setStyle({'color':'#000'});
			$('sammeltransaktion').disabled=false;
		} else {
			$('sammeltransaktion_text').setStyle({'color':'darkgray'});
			$('sammeltransaktion').disabled=true;
		}
	},

	_dlist_next_site: function(o) {
		if(_PAGE_CURRENT_SITE<_PAGE_SITES) rf.domainlist_chpage_dlist(_PAGE_CURRENT_SITE+1,o);
	},
	_dlist_previous_site: function(o) {
		if(_PAGE_CURRENT_SITE>1) rf.domainlist_chpage_dlist(_PAGE_CURRENT_SITE-1,o);
	},
	_dlist_next: function(me) {
		if(me.next()==null) { rf._dlist_next_site(0); return me; }
		var g=me.next();
		while(g!=null) {
			if(g.hasClassName("dlistitem")) return g;
			g=g.next()
		}
		rf._dlist_next_site();
		return me;
	},
	_dlist_prev: function(me) {
		if(me.previous()==null) { rf._dlist_previous_site(1); return me; }
		var g=me.previous();
		while(g!=null) {
			if(g.hasClassName("dlistitem")) return g;
			g=g.previous();
		}
		rf._dlist_previous_site();
		return me;
	},
	dlist_move: function(dir) {
		if($$('.activelist_marked').length==0) return false;
		var ne,me = $$('.activelist_marked')[0];
		me.removeClassName("activelist_marked");
		if(dir=='up') ne = rf._dlist_prev(me);
		else ne = rf._dlist_next(me);
		if(ne==null) me.addClassName("activelist_marked");
		else ne.addClassName("activelist_marked");
	},
	datalist_columns_update: function(id,active) {
		new Ajax.Request("?",{ method:'post', onComplete: function(x) { /*alert(x.responseText);*/ }, parameters: { action: 'setDataListColumns', id: id, active: active, RFSE: RFSE } });
	},
	datalist_columns_options: function() {
		_modal = new modal;
		_modal._background_show();
		_modal._insert_dialogue();
		_modal._registered_answer_yes=function() { location.reload(); };
		_modal._registered_answer_no=false;
		new Ajax.Request("?", { method: 'post', on200: function(tx) {
				$("modal_dialog").update(tx.responseText);
				var mdcd = $('modal_dialog_content').getDimensions();
				$('modal_dialog').setStyle({'width':mdcd.width+'px','height':mdcd.height+'px','left':($(_modal.base).cumulativeOffset().left+(($(_modal.base).getDimensions().width/2)-(mdcd.width/2)))+'px'});
				$$('#datatable .col_title').each(
					function(x) {
						if(x.hasClassName("col_void")) return false;
						if($('col_opt_set__'+x.id)) {
							$('col_opt_set__'+x.id).checked=x.getStyle('display')=='none'?false:true;
							Event.observe($('col_opt_set__'+x.id), 'change', function(e) {
								rf.datalist_columns_update(x.id,$('col_opt_set__'+x.id).checked);
							} );
						}
					}
				);
			}, parameters: { action: 'getDataListColumnOptions', RFSE: RFSE } }
		);
	},
	datalist_initialize: function(sb,sd) {
		$$('.col_title').each(
			function(x) {
				if(x.hasClassName("col_void")) return false;
				if(x.hasClassName("col_opt")) {
					/* option field */
					var d = new Element('div', {'style':'float:right;width:11px;height:13px;background:url(//assets.regfish.de/images/6/cols_opt.gif) no-repeat 0 2px;','title':'Spaltenoptionen'});
					x.setStyle({'cursor':'pointer'});
					x.insert({top:d});
					Event.observe(x, 'click', function(e) { rf.datalist_columns_options() } );
				} else {
					if(x.getAttribute('sork')==sb) x.addClassName(sd=='desc'?'col_sorted_desc':'col_sorted_asc');
					x.setStyle({'cursor':'pointer'});
					var current = 'neutr';
					if(x.hasClassName("col_sorted_asc")) current='asc';
					else if(x.hasClassName("col_sorted_desc")) current='desc';
					var d = new Element('div', {'style':'float:right;width:11px;height:13px;background:url(//assets.regfish.de/images/6/cols_'+current+'.gif) no-repeat 0 2px;','title':'Sortierung ändern'});
					x.insert({top:d});
					Event.observe(x, 'click', function(e) { location.href="?q="+$F('q')+"&sor="+x.getAttribute('sork')+"&ord="+(current=='asc'?'desc':'asc'); } );
				}
				Event.observe(x, 'mouseover', function(e) { x.setStyle({'backgroundColor':'#efefef'}); } );
				Event.observe(x, 'mouseout', function(e) { x.setStyle({'backgroundColor':'#fff'}); } );
			}
		);
	},
	install_dlist_observer: function() {
		if(rf.dlist_observer!=false) return false;
		rf.dlist_observer = Event.observe(window, 'keydown', function(e) {
			var keycode=0;
			if(window.event) keycode = window.event.keyCode;
			else if(e) keycode = e.which;
			if(rf.active_annotation==true&&keycode!=Event.KEY_ESC) return false;
			if(keycode == Event.KEY_UP) {
				rf.dlist_move('up');
			} else if(keycode == Event.KEY_DOWN) {
				rf.dlist_move('down');
			} else if(keycode == Event.KEY_RIGHT) {
				rf._dlist_next_site(0);
			} else if(keycode == Event.KEY_LEFT) {
				rf._dlist_previous_site(0);
			} else if(keycode == 32) { // space
				var id = $$('.activelist_marked')[0].id.split("d")[1];
				var hash = $F('hash_'+id);
				$('mark_'+hash).checked=$('mark_'+hash).checked?false:true;
				rf.domainlist_on_mark_change('part_of_markers');
			} else if(keycode == 69 || keycode == 13) { // E | Enter
				if( $('modal_dialog_content') ) _modal.ok();
				else {
					var id = $$('.activelist_marked')[0].id.split("d")[1];
					var fn = $('eico'+id).getAttribute("onclick");
					eval(fn);
				}
			} else if(keycode == 65) { // A
				var id = $$('.activelist_marked')[0].id.split("d")[1];
				rf.domain_annotate(id);
			} else if(keycode == 83) { // S
				rf.domainlist_filter_toggle();
			} else if(keycode == 73) { // I
				var id = $$('.activelist_marked')[0].id.split("d")[1];
				var hash = $F('hash_'+id);
				if($('info_'+hash)) $('info_'+hash).toggle();
			} else if(keycode == Event.KEY_ESC) {
				// escape
			}
			//else alert(keycode);
		});
	},
	domainlist_mark_line: function(t) {
		$$('.activelist_marked').each( function(x) { $(x.id).removeClassName("activelist_marked"); } );
		$(t.id).addClassName("activelist_marked");
		rf.install_dlist_observer();
	},

	domainlist_chpage: function(page) {
		location.href="?sb="+_PAGE_SORTBY+"&sd="+_PAGE_SORTDIR+"&site="+page;
	},
	domainlist_chpage_dlist: function(page,torb) {
		location.href="?sb="+_PAGE_SORTBY+"&sd="+_PAGE_SORTDIR+"&site="+page+"&torb="+torb;
	},

	domainlist_filter_toggle: function() {
		if($('filter').getStyle('display')=='none') {
			$('filter_title').setStyle({'background':'url(//assets.regfish.de/images/6/selo.gif) 635px center no-repeat #e3e3e3'});
		} else {
			$('filter_title').setStyle({'background':'url(//assets.regfish.de/images/6/selc.gif) 635px center no-repeat #e3e3e3'});
		}
		$('filter').toggle();
	},
	domain_annotate: function(RF_DOMAIN_ID) {
		if($('tra'+RF_DOMAIN_ID)) { $('tra'+RF_DOMAIN_ID).remove(); rf.active_annotation=false; return true; }
		var tr = new Element('tr', {id: 'tra'+RF_DOMAIN_ID});
		tr.setStyle({'font-size':'0.9em'});
		var td1 = new Element('td');
		var td2 = new Element('td', {id: 'trd'+RF_DOMAIN_ID, 'colspan':3});
		td2.update("Anmerkung zur Domain wird geladen ..").setStyle({'color':'gray','fontSize':'0.9em'});
		tr.appendChild(td1);
		tr.appendChild(td2);
		$('d'+RF_DOMAIN_ID).insert({ after: tr });
		new Ajax.Updater('trd'+RF_DOMAIN_ID, 'list', {
			method: 'post',
			onComplete: function() { if($('annotation'+RF_DOMAIN_ID)) { $('annotation'+RF_DOMAIN_ID).select(); rf.active_annotation=true; } },
			parameters: { action: 'getDomainAnnotation', RF_DOMAIN_ID: RF_DOMAIN_ID, RFSE: RFSE }
		});
	},
	domain_annotation_save: function(RF_DOMAIN_ID) {
		new Ajax.Request( 'list', {
			method: 'post',
			on200: function(tx) {
				rf.domain_annotate(RF_DOMAIN_ID);
				if(tx.responseText=='')
					$('aico'+RF_DOMAIN_ID).src="https://assets.regfish.de/images/6/btn_tag.png";
				else
					$('aico'+RF_DOMAIN_ID).src="https://assets.regfish.de/images/6/btn_tag1.png";
			},
			onFailure: function(tx) { alert(tx.responseText); },
			parameters: { action: 'setDomainAnnotation', RF_DOMAIN_ID: RF_DOMAIN_ID, annotation: $F('annotation'+RF_DOMAIN_ID), RFSE: RFSE }
		});
	},

	vdns_validate: function() {
		if($F('basedomain')=="") {
			// noch keine Auswahl getroffen
			_modal = new modal;
			_modal.notice_fn("Bitte wählen Sie im Auswahlfeld zunächst die Basisdomain für Ihre VDNS.", function() {} );
			return false;
		}

		var domain = $F('basedomain').split(":")
		var alias_a = $F('ALIAS_A')+"."+domain[1]
		var alias_b = $F('ALIAS_B')+"."+domain[1]
		var alias_c = $F('ALIAS_C')+"."+domain[1]

		new Ajax.Request( 'add', {
			method: 'post',
			on200: function(tx) {
				if(tx.responseText=='SUCCESS') {
					location.href="./";
				} else {
					_modal = new modal;
					_modal.notice_fn(tx.responseText, function() {} );
				}
			},
			onFailure: function(tx) {
			},
			parameters: { action: 'vdns_validate', RF_DOMAIN_ID: domain[0], DOMAIN: domain[1], ALIAS_A: alias_a, ALIAS_B: alias_b, ALIAS_C: alias_c, RFSE: RFSE }
		});
	},

	vdns_prefill: function() {
		if($F('vdns_choice')=='') {
			$('ns_a_host').value=""
			$('ns_b_host').value=""
			$('ns_c_host').value=""
			$('ns_d_host').value=""
			$('ns_a_addr').value=""
			$('ns_b_addr').value=""
			$('ns_c_addr').value=""
			$('ns_d_addr').value=""
		} else {
			var choice = $F('vdns_choice').split("|")
			var vdns_id = choice[0]
			var need_glue = choice[1]
			var vdns_hosts = choice[2].split(";")
			$('ns_a_host').value=vdns_hosts[0]
			$('ns_b_host').value=vdns_hosts[1]
			$('ns_c_host').value=vdns_hosts[2]
			$('ns_d_host').value=""
			if(need_glue=='0') {
				$('ns_a_addr').value=""
				$('ns_b_addr').value=""
				$('ns_c_addr').value=""
			} else {
				$('ns_a_addr').value="79.140.49.11"
				$('ns_b_addr').value="195.247.131.12"
				$('ns_c_addr').value="62.116.166.223"
			}
			$('ns_d_addr').value=""
		}
	},

	cookie_get: function(c_name) {
		if(document.cookie.length>0) {
			c_start=document.cookie.indexOf(c_name + "=");
			if(c_start!=-1) {
				c_start=c_start+c_name.length+1;
				c_end=document.cookie.indexOf(";",c_start);
				if(c_end==-1) c_end=document.cookie.length;
				return unescape(document.cookie.substring(c_start,c_end));
			}
		}
		return "";
	},
	cookie_set: function(c_name,value,expiredays) {
		var exdate=new Date();
		exdate.setDate(exdate.getDate()+expiredays);
		document.cookie=c_name+ "=" +escape(value)+";path=/"+((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
	},
	session_timeout: function() {
		_modal = new modal;
		_modal.notice_fn("Die aktuelle Sitzung wurde wegen eines Timeouts beendet. Bitte starten Sie eine neue Sitzung, indem Sie sich erneut einloggen.", function() { location.reload(); } );
	}
}

var modal = Class.create({
	cnt_dim:false,
	cnt_off:false,
	base:false,
	dialog_parameters:false,
	_registered_answer_yes:false,
	_registered_answer_no:false,
	observer:false,
	initialize: function() {
		this.cnt_dim = $('flcont').getDimensions();
		this.cnt_off = $('flcont').cumulativeOffset();
		this.cnt_dim.height = this.cnt_dim.height-20;
		this.cnt_dim.width = this.cnt_dim.width-10;
		this.cnt_off.top = this.cnt_off.top+10;
		//this.base = $('bb')?'bb':$('bp')?'bp':'bmy';
		this.base = 'flcont';
		this.observer = false;
	},
	_background_show: function() {
		if($('modal_background')) $('modal_background').remove();
		$(this.base).insert({ top: new Element('div',{'id':'modal_background'}) });
		$('modal_background').setStyle({'width':this.cnt_dim.width+'px','zIndex':'999','height':this.cnt_dim.height+'px','position':'absolute','left':this.cnt_off.left+1+'px','top':this.cnt_off.top+'px','background':'#fff'}).setOpacity(0);
		new Effect.Opacity('modal_background', { from: 0, to: 0.8, duration: 0.5 });
	},

	_background_hide: function() {
		$('modal_background').fade({'duration':0.3});
	},
	_dialog_hide: function() {
		$('modal_dialog').fade({'duration':0.3});
		_modal.observer.stop();
	},
	_insert_dialogue: function() {
		if($('modal_dialog')) $('modal_dialog').remove();
		$(this.base).insert({ bottom: new Element('div',{'id':'modal_dialog','class':'re'}) });
		var h=10; var w=10;
		$('modal_dialog').setStyle({'width':w+'px','height':h+'px','zIndex':'1000','border':'2px solid #c0c0c0','background':'#fff','text-align':'left','position':'absolute','left':($(this.base).cumulativeOffset().left)+'px','top':($(this.base).cumulativeScrollOffset().top+130)+'px'}).setOpacity(0);
		new Effect.Opacity('modal_dialog', { from: 0, to: 1, duration: 0.5 });
		this.observer = Event.observe(window, 'scroll', function() {
			$('modal_dialog').setStyle({'top':($(_modal.base).cumulativeScrollOffset().top+180)+'px'});
		});
		this.observer = Event.observe(window, 'resize', function() {
			$('modal_dialog').setStyle({'left':($(_modal.base).cumulativeOffset().left+(($(_modal.base).getDimensions().width/2)-($('modal_dialog').getDimensions().width/2)))+'px'});
			$('modal_background').setStyle({'left':$(_modal.base).cumulativeOffset().left+1+'px'});
		});
		this.observer = Event.observe(window, 'keyup', function(e) {
			if(e.keyCode == Event.KEY_ESC) {
				this.stop();
				_modal.ask_answer_no();
			}
		});
	},
	asksimple: function(question,fy,fn) {
		this._background_show();
		this._insert_dialogue();
		this._registered_answer_yes=fy;
		this._registered_answer_no=fn;
		var dialog_parameters = $H({question:question}).toJSON();
		new Ajax.Request(base_path_relative+"/aj/asksimple", { method: 'post', on200: function(tx) { $("modal_dialog").update(tx.responseText); var mdcd = $('modal_dialog_content').getDimensions(); $('modal_dialog').setStyle({'width':mdcd.width+'px','height':mdcd.height+'px','left':($(_modal.base).cumulativeOffset().left+(($(_modal.base).getDimensions().width/2)-(mdcd.width/2)))+'px'}); }, parameters: { action: 'ask', RFSE: RFSE, param: dialog_parameters } } );
	},
	askyesno: function(dialog,fy,fn) {
		this._background_show();
		this._insert_dialogue();
		this._registered_answer_yes=fy;
		this._registered_answer_no=fn;
		var dialog_parameters = (this.dialog_parameters) ? this.dialog_parameters.toJSON() : false ;
		new Ajax.Request(base_path_relative+"/aj/"+dialog, { method: 'post',  on404: function(tx) { _modal.notice("404_not_found"); }, on200: function(tx) { $("modal_dialog").update(tx.responseText); var mdcd = $('modal_dialog_content').getDimensions(); $('modal_dialog').setStyle({'width':mdcd.width+'px','height':mdcd.height+'px','left':($(_modal.base).cumulativeOffset().left+(($(_modal.base).getDimensions().width/2)-(mdcd.width/2)))+'px'}); }, parameters: { action: 'ask', RFSE: RFSE, param: dialog_parameters } } );
	},
	notice: function(dialog) {
		this._background_show();
		this._insert_dialogue();
		new Ajax.Request(base_path_relative+"/aj/"+dialog, { method: 'post',  on200: function(tx) { $("modal_dialog").update(tx.responseText); var mdcd = $('modal_dialog_content').getDimensions(); $('modal_dialog').setStyle({'width':mdcd.width+'px','height':mdcd.height+'px','left':($(_modal.base).cumulativeOffset().left+(($(_modal.base).getDimensions().width/2)-(mdcd.width/2)))+'px'}); }, parameters: { action: 'notice', RFSE: RFSE }});
	},
	notice_fn: function(notice, fy) {
		this._background_show();
		this._insert_dialogue();
		this._registered_answer_yes=fy;
		var dialog_parameters = $H({notice:notice}).toJSON();
		new Ajax.Request(base_path_relative+"/aj/notice_simple", { method: 'post',  on200: function(tx) { $("modal_dialog").update(tx.responseText); var mdcd = $('modal_dialog_content').getDimensions(); $('modal_dialog').setStyle({'width':mdcd.width+'px','height':mdcd.height+'px','left':($(_modal.base).cumulativeOffset().left+(($(_modal.base).getDimensions().width/2)-(mdcd.width/2)))+'px'}); }, parameters: { action: 'notice', RFSE: RFSE, param: dialog_parameters }});
	},
	notice_simple: function(notice) {
		this._background_show();
		this._insert_dialogue();
		var dialog_parameters = $H({notice:notice}).toJSON();
		new Ajax.Request(base_path_relative+"/aj/notice_simple", { method: 'post',  on200: function(tx) { $("modal_dialog").update(tx.responseText); var mdcd = $('modal_dialog_content').getDimensions(); $('modal_dialog').setStyle({'width':mdcd.width+'px','height':mdcd.height+'px','left':($(_modal.base).cumulativeOffset().left+(($(_modal.base).getDimensions().width/2)-(mdcd.width/2)))+'px'}); }, parameters: { action: 'notice', RFSE: RFSE, param: dialog_parameters }});
	},
	error: function(notice,error) {
		this._background_show();
		this._insert_dialogue();
		var dialog_parameters = $H({notice:notice,error:error}).toJSON();
		new Ajax.Request(base_path_relative+"/aj/error", { method: 'post', on200: function(tx) { $("modal_dialog").update(tx.responseText); var mdcd = $('modal_dialog_content').getDimensions(); $('modal_dialog').setStyle({'width':mdcd.width+'px','height':mdcd.height+'px','left':($(_modal.base).cumulativeOffset().left+(($(_modal.base).getDimensions().width/2)-(mdcd.width/2)))+'px'}); }, parameters: { action: 'notice', RFSE: RFSE, param: dialog_parameters }});
	},
	ok: function() {
		this.ask_answer_yes();
	},
	ask_answer_yes: function() {
		this._dialog_hide();
		this._background_hide();
		if(this._registered_answer_yes!=false)
			this._registered_answer_yes();
	},
	ask_answer_no: function() {
		this._dialog_hide();
		this._background_hide();
		if(this._registered_answer_no!=false)
			this._registered_answer_no();
	},

	dummy:false
}
);

var navigation = Class.create({

	extend: function() {
		var el;
		if($('lnav_dyndns')) {
			el = new Element('div', { 'style':'float:right;font-size:0.9em;color:#c0c0c0;margin-right:6px;margin-top:1px;' });
			$('lnav_dyndns').insert( { top: el } );
			new Ajax.Updater(el, base_path_relative+"/aj/_my_domains_dns__lnav_dyndns", { method: 'post', parameters: { action: 'getStatus', RFSE: RFSE, __aj_dhash: $('__aj_dhash').innerHTML } } );
		}
		if($('lnav_hpns')) {
			el = new Element('div', { 'style':'float:right;font-size:0.9em;color:#c0c0c0;margin-right:6px;margin-top:1px;' });
			$('lnav_hpns').insert( { top: el } );
			new Ajax.Updater(el, base_path_relative+"/aj/_my_domains_dns__lnav_hpns", { method: 'post', parameters: { action: 'getStatus', RFSE: RFSE, __aj_dhash: $('__aj_dhash').innerHTML } } );
		}
		if($('lnav_fwd_web')) {
			el = new Element('div', { 'style':'float:right;font-size:0.9em;color:#c0c0c0;margin-right:6px;margin-top:1px;' });
			$('lnav_fwd_web').insert( { top: el } );
			new Ajax.Updater(el, base_path_relative+"/aj/_my_domains_dns__lnav_fwd_web", { method: 'post', parameters: { action: 'getStatus', RFSE: RFSE, __aj_dhash: $('__aj_dhash').innerHTML } } );
		}
		if($('lnav_fwd_email')) {
			el = new Element('div', { 'style':'float:right;font-size:0.9em;color:#c0c0c0;margin-right:6px;margin-top:1px;' });
			$('lnav_fwd_email').insert( { top: el } );
			new Ajax.Updater(el, base_path_relative+"/aj/_my_domains_dns__lnav_fwd_email", { method: 'post', parameters: { action: 'getStatus', RFSE: RFSE, __aj_dhash: $('__aj_dhash').innerHTML } } );
		}
		if($('lnav_pending_domains')) {
			el = new Element('div', { 'style':'float:right;font-size:0.9em;color:#c0c0c0;margin-right:6px;margin-top:1px;' });
			$('lnav_pending_domains').insert( { top: el } );
			new Ajax.Updater(el, base_path_relative+"/aj/_my_domains_dns__lnav_pending_domains", { method: 'post', parameters: { action: 'getStatus', RFSE: RFSE } } );
		}
	}

});

var _bar = false;
var _modal = false;
var _nav = false;

Event.observe(window, 'load', function() {
	/*
	var reg= (base_path_relative!='')?"\\"+base_path_relative+"\/b\/":"\/b\/";
	if(window.location.href.match(reg)) {
		if(rf.cookie_get("rfbize")!='true') {
			_modal = new modal();
			_modal.askyesno("verify_business_user", function() { rf.cookie_set("rfbize","true",1); }, function() { rf.go("/p"); } );
		} else rf.cookie_set("rfbize", "true", 1);
	}
	// session timeout on /my/
	if(window.location.href.match("\/my\/")) { setTimeout("rf.session_timeout()",1000*7200); }
	*/
	// extend navigation with special informations
	_nav = new navigation; _nav.extend();
	if($('q')) $('q').select()
});

var domain_basket = {
	add: function(sld,tld,subscope) {
		var _return = false;
		new Ajax.Request(
			base_path_relative+"/aj/domains/basket", {
				method: 'post',
				asynchronous: false,
				on200: function(tx) { _return = true; },
				parameters: { action: 'add', DOM_SLD: sld, DOM_TLD: tld, RFSE: RFSE, SUBSCOPE: subscope }
			}
		);
		return _return;
	},
	remove: function(sld,tld) {
		var _return = false;
		new Ajax.Request(
			base_path_relative+"/aj/domains/basket", {
				method: 'post',
				asynchronous: false,
				on200: function(tx) { _return = true; },
				parameters: { action: 'remove', DOM_SLD: sld, DOM_TLD: tld, RFSE: RFSE }
			}
		);
		return _return;
	},
	update: function(sld,tld,period) {
		var _return = false;
		new Ajax.Request(
			base_path_relative+"/aj/domains/basket", {
				method: 'post',
				asynchronous: false,
				on200: function(tx) { _return = true; },
				parameters: { action: 'update', DOM_SLD: sld, DOM_TLD: tld, PERIOD: period, RFSE: RFSE }
			}
		);
		return _return;
	},
	price_update: function(tld,period,id) {
		var price = 0.00;
		new Ajax.Request(
			base_path_relative+"/aj/domains/basket", {
				method: 'post',
				on200: function(tx) { $(id).update(tx.responseText); domain_basket.quote_sum(); },
				parameters: { action: 'quote', DOM_TLD: tld, PERIOD: period, RFSE: RFSE }
			}
		);
		return price;
	},
	quote_sum: function() {
		new Ajax.Updater("domains_quote_sum",
			base_path_relative+"/aj/domains/basket", {
				method: 'post',
				parameters: { action: 'quote_sum', RFSE: RFSE }
			}
		);
	}
}

var query = {
	subscope: false,
	clickresult: function(i) {
		$('res'+i+'_cb').checked = $('res'+i+'_cb').checked ? false : true ;
		return query.clickresult_mark(i);
	},
	clickresult_mark: function(i,subscope) {
		if($('res'+i+'_cb').checked) {
			if(!domain_basket.add($F(i+'SLD'), $F(i+'TLD'), query.subscope)) {
				//$('res'+i+'_cb').checked = false;
				return false;
			}
			$('res'+i).addClassName('res_checked');
		}
		else {
			if(!domain_basket.remove($F(i+'SLD'), $F(i+'TLD'))) {
				//$('res'+i+'_cb').checked = true;
				return false;
			}
			$('res'+i).removeClassName('res_checked');
		}
		return true;
	},
	go: function() {
		// collect items
		$$('.searchitem').each(function(DOMAIN) {
			new Ajax.Request(
				base_path_relative+"/aj/domains/query", {
					method: 'post',
					onComplete: function(tx) {
						$('res'+DOMAIN.id+'_pleasewait').hide();
					},
					on501: function(tx) { // DCHECK_FREE
						$('res'+DOMAIN.id+'_notavailable').hide();
						$('res'+DOMAIN.id+'_available').show();
						$('res'+DOMAIN.id+'_cb').disabled=false;
						$('res'+DOMAIN.id+'_cb').observe('change', function(e) { query.clickresult_mark(DOMAIN.id, query.subscope); } );
					},
					on500: function(tx) { // DCHECK_REGISTERED
						$('res'+DOMAIN.id+'_notavailable').show();
						$('res'+DOMAIN.id+'_available').hide();
					},
					on499: function(tx) { // DCHECK_INVALID
						$('res'+DOMAIN.id+'_notavailable').show();
						$('res'+DOMAIN.id+'_available').hide();
					},
					on498: function(tx) { // DCHECK_TEMPERR
						$('res'+DOMAIN.id+'_notavailable').show();
						$('res'+DOMAIN.id+'_available').hide();
					},
					on497: function(tx) { // DCHECK_INREGPROCESS
						$('res'+DOMAIN.id+'_notavailable').show();
						$('res'+DOMAIN.id+'_available').hide();
					},
					on496: function(tx) { // DCHECK_RESERVED
						$('res'+DOMAIN.id+'_notavailable').show();
						$('res'+DOMAIN.id+'_available').hide();
					},
					on495: function(tx) { // DCHECK_APPLICATIONPENDING
						$('res'+DOMAIN.id+'_notavailable').show();
						$('res'+DOMAIN.id+'_available').hide();
					},
					on494: function(tx) { // DCHECK_PENDING_DELETE
						$('res'+DOMAIN.id+'_notavailable').show();
						$('res'+DOMAIN.id+'_available').hide();
					},
					on493: function(tx) { // DCHECK_REGISTRY_HOLD
						$('res'+DOMAIN.id+'_notavailable').show();
						$('res'+DOMAIN.id+'_available').hide();
					},
					on492: function(tx) { // DCHECK_REGISTRAR_HOLD
						$('res'+DOMAIN.id+'_notavailable').show();
						$('res'+DOMAIN.id+'_available').hide();
					},
					on491: function(tx) { // DCHECK_REDEMPTIONPERIOD
						$('res'+DOMAIN.id+'_notavailable').show();
						$('res'+DOMAIN.id+'_available').hide();
					},
					on490: function(tx) { // DCHECK_TIMEOUT
						$('res'+DOMAIN.id+'_notavailable').show();
						$('res'+DOMAIN.id+'_available').hide();
					},
					on489: function(tx) { // DCHECK_NOTYETSTARTED
						$('res'+DOMAIN.id+'_notavailable').show();
						$('res'+DOMAIN.id+'_available').hide();
					},
					parameters: { SLD: $F(DOMAIN.id+'SLD'), TLD: $F(DOMAIN.id+'TLD'), RFSE: RFSE }
				}
			)
			// display results
		});
	}
}

var tpicb = 0;
function tpicset(no) { if(++tpicb>5) tpicb=1; $('tpicb').src="//assets.regfish.de/images/6/tpic/tpicb"+tpicb+".jpg"; setTimeout("tpicset()",3000); }
