window.addEvent('domready', function() {
	languageSwitcher();
	var viewpagecookie = new Hash.Cookie('viewpage');
	// general tool tip
	//var nodetip = new Tips($$('.currentclass'), {className: 'general'});													
	if ($('popupbg')) {
		$('popupbg').setStyle('display','none');
		$('popuplayer').setStyle('display','none');
	}
	if ($('f_genericform')) {
		genericForm();	
	};
	
	showRecaptcha();
	
	// forms controls //
	if ($('f_login')) {
		$('f_respond').setStyle('display', 'none');
		$('f_login').addEvent('submit', function(e) {
			$('f_respond').setStyle('display', '');
			new Event(e).stop();
			var log = $('f_respond').empty().addClass('f_loading');
			
			var green = function() {
				var box = $('f_respond');
				var fx = new Fx.Style(box, 'color', { duration: 800, transition: Fx.Transitions.Quad.easeOut }).start('#666666', '#3399FF');
			}
	
			var red = function() {
				var box = $('f_respond');
				var fx = new Fx.Style(box, 'color', { duration: 800, transition: Fx.Transitions.Quad.easeOut }).start('#666666', '#FF0000');
			}
			$('f_btnsubmit').setStyle('display', 'none');
			this.send({
				update: log,
				onComplete: function() {
					languageSwitcher();
					reloadAllCCC();
					log.removeClass('f_loading');					
					if ($('msgSuccess',this)){
						$('f_btnsubmit').setStyle('display', 'none');
						green();
						var refresh = (function() { location.reload(true); }); var timer = 2; periodical = refresh.periodical(timer * 1000, this);
					} else if ($('msgError',this)) {
						$('f_btnsubmit').setStyle('display', '');
						showRecaptcha();
						red();
					} else if ($('msgErrorReDirect',this)) {
						$('f_btnsubmit').setStyle('display', 'none');
						red();
						var xxx = (function() { window.location.href = $('msgErrorReDirect').getProperty('link'); }); 
						var timer = 2; periodical = xxx.periodical(timer * 1000, this);						
					} else if ($('msgErrorReload',this)) {
						red();
						var refresh = (function() { location.reload(true); }); var timer = 2; periodical = refresh.periodical(timer * 1000, this);
					} else if ($('msgReDirect',this)) {
						$('f_btnsubmit').setStyle('display', 'none');
						green();
						window.location.href = $('msgReDirect').getProperty('link');
					}
				}
			});	
		});
	};
	
	// all sub btn idle to over
	if ($$('.subnav_btn_idle')){
		$$('.subnav_btn_idle').forEach(function(element) {
			element.addEvent('mouseenter', function(e) {
				this.toggleClass('subnav_btn_over');
			});
			element.addEvent('mouseleave', function(e) {
				this.toggleClass('subnav_btn_over');
			});			
		});	
	}

	//
	if ($('magicframe')) {
		var iframe = $('magicframe');
		iframe.addEvent('load', function(e) {
			 changeParentHeight();
		});
		changeParentHeight();
	};	
});
function viewnode_subnav(me,mesource,metarget,zoom,nodeid) {
	var mesource = mesource || 'nosource';
	var metarget = metarget || 'notarget';
	var zoom = zoom;
	var nodeid = nodeid;
	var viewnodedetails = new Ajax(mesource, {
		method: 'post',
		data: 'zoomlevel='+zoom+'&viewnodeid='+nodeid+'&data=secondload',
		update: $(metarget), 
		onComplete: function() {				
				var nodetip = new Tips($$('.node'), {className: 'node'});
				
				if ($$('.subnav_btn_idle')){
					$$('.subnav_btn_idle').forEach(function(element) {
						element.addEvent('mouseenter', function(e) {
							this.toggleClass('subnav_btn_over');
						});
						element.addEvent('mouseleave', function(e) {
							this.toggleClass('subnav_btn_over');
						});			
					});	
				}
				if($('zoom_knob')){
					$('zoom_knob').setStyle('display','');
				};
				if ($('f_nodesearch')){
					nodeSearchForm();
				}
				if ($('zoom_viewer')) {	
					// zoom slider
					var viewSlider = new Slider($('zoom_area'), $('zoom_knob'), {
						steps: 1, offset: 0, mode: 'vertical',
						onChange: function(pos){												
							$('zoom_value').setProperty('zoomlevel',pos+4);
							$('zoom_value').setHTML(pos+4+' Level');
						}
					}).set($('zoomlevel').value-4);
					
					$('zoom_knob').onmouseover = function() {
						newpic = this.firstChild.src.replace("_idle","_over");
						this.firstChild.src = newpic;
						newbg = $('zoom_area').getStyle('background-image');
						newbg = newbg.replace("_idle","_over");
						$('zoom_area').setStyle('background-image',newbg);
					}
					
					$('zoom_knob').onmouseup = function() {
						viewnodedetails.request({'data':'secondload','viewnodeid':$('viewnodeid').value,'zoomlevel':$('zoom_value').getProperty('zoomlevel')});
					}
					
					$('zoom_knob').onmouseout = function() {
						newpic = this.firstChild.src.replace("_over","_idle");
						this.firstChild.src = newpic;
						newbg = $('zoom_area').getStyle('background-image');
						newbg = newbg.replace("_over","_idle");
						$('zoom_area').setStyle('background-image',newbg);		
					}
				};


		}
	}).request();	
};
function viewnode(me,mesource,metarget,zoom,nodeid) {
	var curclassname = $('activenodebtn').getProperty('class')
	var newclassname = curclassname.replace("_active","_idle");
	$('activenodebtn').removeClass(curclassname);
	$('activenodebtn').addClass(newclassname);
		
	$('activenodebtn').setProperty('id','nodebtn'+$('activenodebtn').getProperty('nodeid'));
	$(me).setProperty('id','activenodebtn');
	var curclassname = $(me).getProperty('class')
	var newclassname = curclassname.replace("_idle","_active");
	$(me).removeClass(curclassname);
	$(me).addClass(newclassname);

	var mesource = mesource || 'nosource';
	var metarget = metarget || 'notarget';
	var zoom = zoom;
	var nodeid = nodeid;
	var viewnodedetails = new Ajax(mesource, {
		method: 'post',
		data: 'zoomlevel='+zoom+'&viewnodeid='+nodeid+'&data=firstload',
		update: $(metarget), 
		onComplete: function() {				
				var nodetip = new Tips($$('.node'), {className: 'node'});
				
				if ($$('.subnav_btn_idle')){
					$$('.subnav_btn_idle').forEach(function(element) {
						element.addEvent('mouseenter', function(e) {
							this.toggleClass('subnav_btn_over');
						});
						element.addEvent('mouseleave', function(e) {
							this.toggleClass('subnav_btn_over');
						});			
					});	
				}
				if($('zoom_knob')){
					$('zoom_knob').setStyle('display','');
				};
				if ($('f_nodesearch')){
					nodeSearchForm();
				}				
				if ($('zoom_viewer')) {
					// initiate zoom
//					var log = $('zoom_content').empty().addClass('ajax-loading');
//					var showzc = new Ajax('2ajax_treeviewer.php', 	{
//															method: 'post',
//															update: log, 
//															onComplete: function() {
//																log.removeClass('ajax-loading');
//																var nodetip = new Tips($$('.node'), {className: 'node'});	
//															}
//														});
//					showzc.request({'data':$('nodearray').value,'viewnodeid':$('viewnodeid').value,'zoomlevel':4});
					
					// zoom slider
					var viewSlider = new Slider($('zoom_area'), $('zoom_knob'), {
						steps: 1, offset: 0, mode: 'vertical',
						onChange: function(pos){												
							$('zoom_value').setProperty('zoomlevel',pos+4);
							$('zoom_value').setHTML(pos+4+' Level');
							// update zoom area content
//							viewnode(me,'2ajax_treeviewer.php?viewlevel',metarget,nodeid);
							//var refresh = (function() { location.reload(true); }); var timer = 2; periodical = refresh.periodical(timer * 1000, this);								
							//
						}
					}).set($('zoomlevel').value-4);
					
					$('zoom_knob').onmouseover = function() {
						newpic = this.firstChild.src.replace("_idle","_over");
						this.firstChild.src = newpic;
						newbg = $('zoom_area').getStyle('background-image');
						newbg = newbg.replace("_idle","_over");
						$('zoom_area').setStyle('background-image',newbg);
					}
					
					$('zoom_knob').onmouseup = function() {
						viewnodedetails.request({'data':'secondload','viewnodeid':$('viewnodeid').value,'zoomlevel':$('zoom_value').getProperty('zoomlevel')});
					}
					
					$('zoom_knob').onmouseout = function() {
						newpic = this.firstChild.src.replace("_over","_idle");
						this.firstChild.src = newpic;
						newbg = $('zoom_area').getStyle('background-image');
						newbg = newbg.replace("_over","_idle");
						$('zoom_area').setStyle('background-image',newbg);
					}
				};
				
				languageSwitcher();


		}
	}).request();	
};
function viewnodesimple(mesource,metarget,nodeid) {
	var mesource = mesource || 'nosource';
	var metarget = metarget || 'notarget';
	var nodeid = nodeid;
	var viewnodedetails = new Ajax(mesource, {
		method: 'post',
		data: 'zoomlevel=5&viewnodeid='+nodeid+'&data=firstload',
		update: $(metarget), 
		onComplete: function() {				
				var nodetip = new Tips($$('.node'), {className: 'node'});
				
				if ($('f_nodesearch')){
					nodeSearchForm();
				}				
				languageSwitcher();


		}
	}).request();	
};
function calladdtreeviewer(me,mesource,metarget) {
	$('activenodebtn').removeClass('nodeview_active');
	$('activenodebtn').addClass('nodeview_idle');
	$('activenodebtn').setProperty('id','nodebtn'+$('activenodebtn').getProperty('nodeid'));
	$(me).setProperty('id','activenodebtn');	
	curclassname = $(me).getProperty('class')
	newclassname = curclassname.replace("_idle","_active");
	$(me).removeClass(curclassname);
	$(me).addClass(newclassname);

	var mesource = mesource || 'nosource';
	var metarget = metarget || 'notarget';

	document.cookie="mesource="+mesource;
	document.cookie="metarget="+metarget;

	var btnaddnodeview = new Ajax(mesource, {
		method: 'post',
		update: $(metarget), 
		onComplete: function() {
			genericForm();
			//log.removeClass('ajax-loading');
			if ($$('.subnav_btn_idle')){
				$$('.subnav_btn_idle').forEach(function(element) {
					element.addEvent('mouseenter', function(e) {
						this.toggleClass('subnav_btn_over');
					});
					element.addEvent('mouseleave', function(e) {
						this.toggleClass('subnav_btn_over');
					});			
				});	
			}			
		}
	}).request();	
	//	me.nodeview = new nodeview(me, {height: '300px', width: '40%', useAjax: true, ajaxUrl: 'controller.php', ajaxLoadingText: '<img src="indicator_tiny_red.gif"> Loading...'});
};

function loadingIcon(stat) {
	if ($('loadingIcon')) { $('loadingIcon').remove(); };
	if (stat=='show') {
		var div = new Element('div', {'id':'loadingIcon'});
		div.inject(window.document.body,'top');
		winH = Math.max(document.body.scrollHeight,document.body.offsetHeight);
		window.scroll(0,0);
		winSH = window.getHeight();
		div.setHTML('<div id="loadingIconInner" name="loadingIconInner" style="width:100%;position:absolute;z-index:9999999;text-align:center;height:'+winH+'px;vertical-align:middle;background-color:#fff;"><img style="margin-top:'+(winSH*0.5-55)+'px;" src="assets/images/ajax-loader.gif" /><br /><br />Please wait...</div>');
		$('loadingIconInner').effect('opacity').start(0.7);		
	};
};
function addnodeviewbutton(me,nodeid){
	loadingIcon('show');
	var pme = $(me).getParent().getParent().getParent();
	var addnodeview = new Ajax('1act_addtreeviewer.php', {
		method: 'post',
		data: 'nodeid='+nodeid,
		onComplete: function(stat) {
			stat = stat.replace(/(\r\n|\n|\r)/gm,"");
			loadingIcon('hide');
			if (stat == 'true'){
			/*
			<div nodeid="<?php echo($viewnodelist[$i]); ?>" id="nodebtn<?php echo($viewnodelist[$i]); ?>" class="nodeview_idle" onclick="javascript:viewnode(this,'2ajax_treeviewer.php','nodeviewer_content',4,<?php echo($viewnodelist[$i]); ?>);">				
				<div class="close_nodeview" onclick="javascript:removenodeviewbutton(this,<?php echo($viewnodelist[$i]); ?>);"><img src="assets/images/ico_close.gif" width="10" height="10" border="0" /></div>
				<div class="num_nodeview"><?php echo($viewnodelist[$i]); ?></div>
			</div>
			*/
				var idlenode  = new Element('div', {'nodeid':nodeid, 'id':'nodebtn'+nodeid, 'class':'nodeview_idle'});
				idlenode.setHTML('<div class="close_nodeview" onclick="javascript:removenodeviewbutton(this,'+nodeid+');"><img src="assets/images/ico_close.gif" width="10" height="10" border="0" /></div><div class="num_nodeview">'+nodeid+'</div>');
				//activenodebtn is referring to the last clicked.
				idlenode.inject($('activenodebtn'), 'before');
				idlenode.addEvent('click', function(e) {						
					viewnode(this,'2ajax_treeviewer.php','nodeviewer_content',4,nodeid);
				});
				pme.empty();
				pme.setText('Viewing');
			}else{
				alert(stat);
			}
		}
		
	}).request();
};
function adminaddnodeviewbutton(me,nodeid){
	loadingIcon('show');
	var pme = $(me).getParent().getParent().getParent();
	var addnodeview = new Ajax('1act_addtreeviewer.php', {
		method: 'post',
		data: 'nodeid='+nodeid,
		onComplete: function(stat) {
			stat = stat.replace(/(\r\n|\n|\r)/gm,"");
			loadingIcon('hide');
			if (stat == 'true'){
				var idlenode  = new Element('div', {'nodeid':nodeid, 'id':'nodebtn'+nodeid, 'class':'nodeview_idle'});
				idlenode.setHTML('<div class="close_nodeview" onclick="javascript:adminremovenodeviewbutton(this,'+nodeid+');"><img src="../assets/images/ico_close.gif" width="10" height="10" border="0" /></div><div class="num_nodeview">'+nodeid+'</div>');
				idlenode.inject($('activenodebtn'), 'before');
				idlenode.addEvent('click', function(e) {						
					viewnode(this,'../2ajax_treeviewer.php','nodeviewer_content',4,nodeid);
				});
				pme.empty();
				pme.setText('Viewing');
			}else{
				alert(stat);	
			}
		}
		
	}).request();
}
function adminremovenodeviewbutton(me,nodeid){	
	loadingIcon('show');
	if ($(me).getParent().getProperty('id')=='activenodebtn') {
		$(me).getParent().remove();
		$('nodelisttab').getFirst().setProperty('id','activenodebtn');
		viewnode($('activenodebtn'),'../2ajax_treeviewer.php','nodeviewer_content',4,$('activenodebtn').getProperty('nodeid'));		
	}else{
		$(me).getParent().remove();
	}
	var removenodeview = new Ajax('1act_removetreeviewer.php', {
		method: 'post',
		data: 'nodeid='+nodeid,
		onComplete: function(stat) {
			stat = stat.replace(/(\r\n|\n|\r)/gm,"");
			loadingIcon('hide');
			if (stat == 'true'){
				
			}else{
				alert('error removing node');	
			}
		}
		
	}).request();
}

function removenodeviewbutton(me,nodeid){
	loadingIcon('show');
	if ($(me).getParent().getProperty('id')=='activenodebtn') {
		$(me).getParent().remove();
		$('nodelisttab').getFirst().setProperty('id','activenodebtn');		
		viewnode($('activenodebtn'),'2ajax_treeviewer.php','nodeviewer_content',4,$('activenodebtn').getProperty('nodeid'));		
	}else{
		$(me).getParent().remove();
	}
	var removenodeview = new Ajax('1act_removetreeviewer.php', {
		method: 'post',
		data: 'nodeid='+nodeid,
		onComplete: function(stat) {
			stat = stat.replace(/(\r\n|\n|\r)/gm,"");
			loadingIcon('hide');
			if (stat == 'true'){
				
			}else{
				alert('error removing node');	
			}
		}
		
	}).request();
}

//sample of class object//
var nodeview = new Class({
	initialize: function(element, options) {
		this.options = Object.extend({
			source:				'nosource',
			target:				'notarget',
			width:				'300px',
			height:				'200px',
			changeTransition:	Fx.Transitions.Bounce.easeOut,
			duration:			1000,
			mouseOverClass:		'active',
			activateOnLoad:		'first',
			useAjax: 			false,
			ajaxUrl: 			'',
			ajaxOptions: 		{method:'get'},
			ajaxLoadingText: 	'Loading...'
		}, options || {});
		
		this.el = $(element);
		this.elid = element;
		
		this.el.setStyles({
			height: this.options.height,
			width: this.options.width
		});	
	}
});
function addCommas(nStr)
{
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
};

function overMe(me){
	var btn = $(me);
	var newpic = btn.firstChild.src.replace("_idle","_over");
	btn.firstChild.src = newpic;
};

function idleMe(me){
	var btn = $(me);
	var newpic = btn.firstChild.src.replace("_over","_idle");
	btn.firstChild.src = newpic;
};

function pinCalcBalance(pinvalue){
	var balance = $('creditbalance').innerHTML;
	balance = balance.replace(",","");
	var newbalance = balance-pinvalue;
	newbalance = newbalance.toFixed(2);
	newbalance = addCommas(newbalance);
	$('f_newbalance').value = newbalance;
	$('newbalance').setHTML(newbalance);
};
function pinAdminCalcBalance(){
	var pinvalue = 0.00;
	for (i=1;i<9;i++) {		
		var unitcount = 'unit'+i;
		var typecount = 'type'+i;
		if ($(typecount)) {
			pinvalue += ($(typecount).value*$(unitcount).value);
		};
	};
//	var balance = $('creditbalance').innerHTML;
//	balance = balance.replace(",","");
//	var newbalance = balance-pinvalue;
//	newbalance = newbalance.toFixed(2);
//	newbalance = addCommas(newbalance);
//	$('f_newbalance').value = newbalance;
//	$('newbalance').setHTML(newbalance);
	$('totalpincost').setHTML(pinvalue.toFixed(2));
};
function pinStockistCalcBalance(){
	var pinvalue = 0.00;
	for (i=1;i<9;i++) {		
		var unitcount = 'unit'+i;
		var typecount = 'type'+i;
		if ($(typecount)) {
			pinvalue += ($(typecount).value*$(unitcount).value);
		};
	};
	var balance = $('creditbalance').innerHTML;
	balance = balance.replace(",","");
	var newbalance = balance-pinvalue;
	newbalance = newbalance.toFixed(2);
	newbalance = addCommas(newbalance);
	$('f_newbalance').value = newbalance;
	$('newbalance').setHTML(newbalance);
};
function withdrawCalcBalance(pinvalue){
	var balance = $('creditbalance').innerHTML;
	balance = balance.replace(/,/g,"");
	pinvalue = Math.round(pinvalue);
	var newbalance = balance-pinvalue;
	newbalance = newbalance.toFixed(2);
	newbalance = addCommas(newbalance);
	$('f_value').value = pinvalue;
	$('f_newbalance').value = newbalance;
	
	$('newbalance').setHTML(newbalance);
};
function transfereGames(value){
	value = Math.round(value);	
	var gamescb = $('gamescb').innerHTML;
	var spbal = $('spbal').innerHTML
	gamescb = gamescb.replace(",","");
	spbal = spbal.replace(",","");
	spbal = parseInt(spbal);
	var newspbal = spbal+value;
	newspbal = newspbal.toFixed(2);
	newspbal = addCommas(newspbal);
	var newgamescb = gamescb-value;
	newgamescb = newgamescb.toFixed(2);
	newgamescb = addCommas(newgamescb);
	$('f_newspbal').value = newspbal;
	$('f_newgamescb').value = newgamescb;
	$('newspbal').setHTML(newspbal)
	$('newgamescb').setHTML(newgamescb);
	$('f_tgamesvalue').value = value;
};
function transferCalcBalance(pinvalue){
	var balance = $('creditbalance2').innerHTML;
	balance = balance.replace(",","");
	pinvalue = Math.round(pinvalue);
	var newbalance = balance-pinvalue;
	newbalance = newbalance.toFixed(2);
	newbalance = addCommas(newbalance);
	$('f_value2').value = pinvalue;
	$('f_newbalance2').value = newbalance;
	$('newbalance2').setHTML(newbalance);
};
function royaltyCalc(newsales,currentsales,currentlot){
	var totsales = parseFloat(newsales)+parseFloat(currentsales);
	var newperlot = (totsales*5/100)/currentlot;
	newperlot = newperlot.toFixed(2);
	var totalpayout = newperlot*currentlot;
	$('f_after').value = newperlot;
	newperlot = addCommas(newperlot);
	$('newperlot').setHTML(newperlot);
	var percent = totsales*5/100;
	percent = percent.toFixed(2);
	percent = addCommas(percent);
	$('newpercent').setHTML(percent);
	totsales = totsales.toFixed(2);
	totsales = addCommas(totsales);	
	$('newtotalsales').setHTML(totsales);	
	totalpayout = totalpayout.toFixed(2);
	totalpayout = addCommas(totalpayout);	
	$('totalpayout').setHTML(totalpayout);	
};
function callajax(me,mesource,metarget,alignheight) {
	
	var mesource = mesource || 'nosource';
	var metarget = metarget || 'notarget';
	if (alignheight=='alignheight' || alignheight=='subalignheight') {		
		//alert('popping');
	}else{
		document.cookie="mesource="+mesource;
		document.cookie="metarget="+metarget;	
	}
	$(metarget).empty();
	$(metarget).addClass('ajax-loading');
	var xcallajax = new Ajax(mesource, {
		data: '',
		method: 'post',
		update: $(metarget), 
		onComplete: function() {
			
			$(metarget).removeClass('ajax-loading');
					
			if ($('f_pingen')) {
				generatePinForm();
			};
			if ($('f_genericform')) {
				genericForm();	
			};		
			if ($$('.subnav_btn_idle')){
				$$('.subnav_btn_idle').forEach(function(element) {
					element.addEvent('mouseenter', function(e) {
						this.toggleClass('subnav_btn_over');
					});
					element.addEvent('mouseleave', function(e) {
						this.toggleClass('subnav_btn_over');
					});			
				});	
			};
			if ($('bonuscalendar')) {
				myCal = new Calendar({ day1: { month1: 'm', day1: 'd', year1: 'Y' }});
			};
			if (alignheight=='alignheight') {
				alignMiddle();
			}else if (alignheight=='subalignheight') {
				alignSubMiddle();	
			}

			if ($E('textarea[class=tinymce]')) {
				tinyMCE.init({
				mode : "textareas",
				theme : "simple"
				});
			};

			if ($('rangecalendar')) {
				myCal1 = new Calendar({ fromday: { frommonth: 'm', fromday: 'd', fromyear: 'Y' }});
				myCal2 = new Calendar({ today: { tomonth: 'm', today: 'd', toyear: 'Y' }});
			};	
			
			if ($('recaptcha_widget')) { reloadrecaptcha(); };
			
			showRecaptcha();
			
			languageSwitcher();
			
		}
	}).request();		
	
};

function showRecaptcha() {
	if ($('recaptcha_public_key')) {
		// create one		
		element = 'recaptcha_here';		
		Recaptcha.create($('recaptcha_public_key').innerHTML, element, {
		theme: "custom",
		custom_theme_widget: 'recaptcha_widget',
		callback: Recaptcha.focus_response_field});
		// clone it
	}
}

function nodeSearchForm() {
	var element = $('f_nodesearch');
	var respond = $E('.f_respond',element);
	var btnsubmit = $E('.ns_btnsubmit',element);
	var ns_zoomlevel = $E('.ns_zoomlevel',element);
	var ns_nodeid = $E('.ns_nodeid',element);
	respond.setStyle('display', 'none');
	
	element.addEvent('submit', function(e) {
		new Event(e).stop();
		respond.setStyle('display', '');
		btnsubmit.setStyle('display', 'none');
		respond.empty().addClass('f_loading_center');
		var node_id = $(ns_nodeid).value;
		var zoomlevel = $(ns_zoomlevel).value; 
		var green = function() {
			var box = respond;
			var fx = new Fx.Style(box, 'color', { duration: 800, transition: Fx.Transitions.Quad.easeOut }).start('#666666', '#3399FF');
		}
		var red = function() {
			var box = respond;
			var fx = new Fx.Style(box, 'color', { duration: 800, transition: Fx.Transitions.Quad.easeOut }).start('#666666', '#FF0000');
		}
		this.send({
			update: respond,
			onComplete: function() {
				respond.removeClass('f_loading_center');
				
				if ($('msgSuccess',this)){					
					green();
					assetpath = element.getProperty("path");
					if (get_cookie("genealogy") == "table") {
						var refreshpage = function() { viewnode_subnav(null,assetpath+'2ajax_geneatable.php','nodeviewer_content',zoomlevel,node_id); }; 
					}else{
						var refreshpage = function() { viewnode_subnav(null,assetpath+'2ajax_treeviewer.php','nodeviewer_content',zoomlevel,node_id); }; 
					}
					refreshpage.delay(1000);
				} else if ($('msgError',this)) {
					btnsubmit.setStyle('display', '');
					red();						
				}		
			}
		});	
	});
};

function checkIframeRespond(formobj,iframeid) {
	doc=window[iframeid].document.body.innerHTML;
	if (doc == '') {
		t=setTimeout(function(){checkIframeRespond(iframeid)},1000);
		alert("Uploading...");
	}else{
		genericformreply(formobj,iframeid);
	}		
}

function genericformreply(formobj,iframeid) {	
	element = $(formobj);
	var respond = $E('.f_respond',element);
	var btnsubmit = $ES('.btnsubmit',element);
	$(respond).innerHTML = window[iframeid].document.body.innerHTML;

	var green = function() {
		var box = respond;
		var fx = new Fx.Style(box, 'color', { duration: 800, transition: Fx.Transitions.Quad.easeOut }).start('#666666', '#3399FF');
	}	
	var red = function() {
		var box = respond;
		var fx = new Fx.Style(box, 'color', { duration: 800, transition: Fx.Transitions.Quad.easeOut }).start('#666666', '#FF0000');
	}
	if ($('msgSuccess',$(respond))){		
		green();
		var viewsource = get_cookie("mesource");
		var viewtarget = get_cookie("metarget");		
		var refreshpage = function() { callajax(null,viewsource,viewtarget); }; 
		refreshpage.delay(2000);		
	} else if ($('msgError',$(respond))) {
		btnsubmit.setStyle('display', '');
		red();
		showRecaptcha();
		if ($('recaptcha_widget')) { reloadrecaptcha(); };									
	} else if ($('msgReDirect',$(respond))) {
		green();
		if ($('msgReDirect').getProperty('link') != '') {
			refreshpage = function() { window.location.href = $('msgReDirect').getProperty('link'); }; 
		}else{
			refreshpage = function() { location.reload(true); };
		}
		refreshpage.delay(2000);												
	}
	
}

function genericForm(){
	
// forms controls //
	$$('f_respond').setStyle('display', 'none');

	$$('.genericform').forEach(function(element) {
		var respond = $E('.f_respond',element);
		var btnsubmit = $ES('.btnsubmit',element);
		var multiplesubmit = $E('.f_multiplesubmit',element);
		
		if (multiplesubmit) {
			btnsubmit.addEvent('click',function(e) {
				multiplesubmit.value = this.value;
			});
		}		
		
		if (element.getProperty("target")) {
			var iframe = element.getProperty("target");
			btnsubmit.addEvent('click',function(e) {
				btnsubmit.setStyle('display', 'none');
				respond.setStyle('display', '');
				respond.innerHTML = '';
				if (iframe) {
					t=setTimeout(function(){checkIframeRespond(element,iframe)},1000);
				}				
			});			
		}else{								
			element.addEvent('submit', function(e) {
				maskWhite("show");
				respond.setStyle('display', '');
				new Event(e).stop();
				respond.empty().addClass('f_loading');
						
				var green = function() {
					var box = respond;
					var fx = new Fx.Style(box, 'color', { duration: 800, transition: Fx.Transitions.Quad.easeOut }).start('#666666', '#3399FF');
				}
		
				var red = function() {
					var box = respond;
					var fx = new Fx.Style(box, 'color', { duration: 800, transition: Fx.Transitions.Quad.easeOut }).start('#666666', '#FF0000');
				}
				btnsubmit.setStyle('display', 'none');
				this.send({
					update: respond,
					onComplete: function() {
						respond.removeClass('f_loading');
						maskWhite("hide");
						reloadAllCCC();
						if ($('msgSuccess',this)){
	
							green();
	//						var refresh = (function() { location.reload(true); }); var timer = 2; periodical = refresh.periodical(timer * 1000, this);
							 
							var viewsource = get_cookie("mesource");
							var viewtarget = get_cookie("metarget");
							
							var refreshpage = function() { callajax(null,viewsource,viewtarget); }; 
							refreshpage.delay(2000);
	
						} else if ($('msgError',this)) {
							btnsubmit.setStyle('display', '');
							red();
							showRecaptcha();
							if ($('recaptcha_widget')) { reloadrecaptcha(); };						
							
						} else if ($('msgReDirect',this)) {
							green();
							if ($('msgReDirect').getProperty('link') != '') {
								refreshpage = function() { window.location.href = $('msgReDirect').getProperty('link'); }; 
							}else{
								refreshpage = function() { location.reload(true); };
							}
							refreshpage.delay(2000);												
						} else if ($('msgPopup',this)) {
							green();
							popping = $('msgPopup').getProperty('link');
							callajax(this,popping,'popupcontent','alignheight');
							
						}
					}
				});	
			});
		}
	});
};

function generatePinForm() {
	$('f_pingen').addEvent('submit', function(e) {
		$('f_respond').setStyle('display', '');

		new Event(e).stop();
		var log = $('f_respond').empty().addClass('f_loading');
		
		var green = function() {
			var box = $('f_respond');
			var fx = new Fx.Style(box, 'color', { duration: 800, transition: Fx.Transitions.Quad.easeOut }).start('#666666', '#3399FF');
		}
	
		var red = function() {
			var box = $('f_respond');
			var fx = new Fx.Style(box, 'color', { duration: 800, transition: Fx.Transitions.Quad.easeOut }).start('#666666', '#FF0000');
		}
		$('f_btnsubmit').setStyle('display', 'none');
		this.send({
			update: log,
			onComplete: function() {
				log.removeClass('f_loading');
				
				if ($('msgSuccess',this)){
					green();
					var refreshpage = function() { callajax(this,'2ajax_pinconverter.php','nodeviewer_content'); }; 
					refreshpage.delay(1000);
					
				}else if ($('msgError',this)) {
					$('f_btnsubmit').setStyle('display', '');
					reloadAllCCC();					
					red();						
				}else if ($('msgReDirect',this)) {
					green();
					window.location.href = $('msgReDirect').getProperty('link');
				}
			}
		});	
	});
};
function changeParentHeight(childHeight) {
	//works alert(eshareframe.document.body.offsetHeight);
	$('magicframe').setProperty('height',magicframe.document.body.offsetHeight);
};
function showPopup(content) {
		callajax(this,'message/2ajax_viewmessage.php?msgid='+content,'popupcontent','alignheight');
};
function alignMiddle() {
		$('popupbg').setStyle('display','');
		$('popuplayer').setStyle('display','');
		winWidth = window.getScrollWidth();
		winHeight = window.getScrollHeight();	
		boxH = $('popuplayer').getSize().scrollSize.y;
		boxW = $('popuplayer').getCoordinates().width;			
		$('popupbg').setStyle('width',winWidth+'px');
		$('popupbg').setStyle('height',winHeight+'px');
		var fx = $('popupbg').effect('opacity').start(0,0.8);		
		// position to middle		
		scTop = window.getScrollTop();
		winH = window.getHeight();
		
		if (winH>boxH) {
			boxTop = ((winH-boxH)/3) + scTop;
			$('popuplayer').setStyle('top',boxTop);
		}else{		
			$('popuplayer').setStyle('top','28px');
		}	
};
function showAnnounce(content) {
	callajax(this,'message/2ajax_announcement.php?msgid='+content,'popupcontent','alignheight');
};
function addAnnounce() {
	callajax(this,'message/2ajax_addannouncement.php','popupcontent','alignheight');
};
function editAnnounce(content) {
	callajax(this,'message/2ajax_editannouncement.php?msgid='+content,'popupcontent','alignheight');
};
function closePopup() {											  																			
	var fx = $('popupbg').effect('opacity').start(0);
	$('popupbg').setStyle('display','none');
	$('popuplayer').setStyle('display','none');
//	location.reload(true);
};
function closePopup2() {											  																			
	var fx = $('popupbg').effect('opacity').start(0);
	$('popupbg').setStyle('display','none');
	$('popuplayer').setStyle('display','none');
	//location.reload(true);
	var viewsource = get_cookie("mesource");
	var viewtarget = get_cookie("metarget");
	var refreshpage = function() { callajax(null,viewsource,viewtarget); }; 
	refreshpage.delay(0);	
};

function addAnnouncement() {
	var announcemsg = $('f_announcement').value;
	announcemsg = encodeURIComponent(announcemsg);
	var mesource = 'message/1act_addannouncement.php';
	var callajax = new Ajax(mesource, {
		method: 'post',
		data: 'announcemsg='+announcemsg,
		onComplete: function(stat) {
			stat = stat.replace(/(\r\n|\n|\r)/gm,"");
			if (stat == 'true'){
				window.location.href = 'message.php';				
			}else{
				alert ('Error');	
			};
		}
	}).request();	
};
function confirmWithdraw() {
	var mesource = '1act_withdrawrequest.php';
	var callajax = new Ajax(mesource, {
		method: 'post',
		onComplete: function(stat) {
			stat = stat.replace(/(\r\n|\n|\r)/gm,"");
			if (stat == 'true'){
				closePopup();				
			}else{
				alert ('error confirming withdraw: '+stat);	
			};
		}
	}).request();		
};
function confirmTransfer() {
	var mesource = '1act_transfercredit.php';
	var callajax = new Ajax(mesource, {
		method: 'post',
		onComplete: function(stat) {
			stat = stat.replace(/(\r\n|\n|\r)/gm,"");
			if (stat == 'true'){
				closePopup();				
			}else{
				alert ('error confirming transfer: '+stat);	
			};
		}
	}).request();		
};
function confirmeGamesTransfer() {
	var mesource = '1act_egamestransfer.php';
	var callajax = new Ajax(mesource, {
		method: 'post',
		onComplete: function(stat) {
			stat = stat.replace(/(\r\n|\n|\r)/gm,"");
			if (stat == 'true'){
				closePopup();				
			}else{
				alert ('error confirming transfer: '+stat);	
			};
		}
	}).request();		
};

function deleteAnnouncement(msgid) {
	var mesource = 'message/1act_deleteannouncement.php';
	var callajax = new Ajax(mesource, {
		method: 'post',
		data: 'msgid='+msgid,
		onComplete: function(stat) {
			stat = stat.replace(/(\r\n|\n|\r)/gm,"");
			if (stat == 'true'){
				window.location.href = 'message.php';				
			}else{
				alert ('error deleting announcement');	
			};
		}
	}).request();		
};
function setAnnouncement(msgid,cond) {
	var mesource = 'message/1act_setannouncement.php';
	var callajax = new Ajax(mesource, {
		method: 'post',
		data: 'msgid='+msgid+'&cond='+cond,
		onComplete: function(stat) {
			stat = stat.replace(/(\r\n|\n|\r)/gm,"");
			if (stat == 'true'){
				window.location.href = 'message.php';				
			}else{
				alert ('error setting announcement');	
			};
		}
	}).request();	
};
function deleteSupportMsg(supportid) {
	var mesource = 'message/1act_deletesupportmsg.php';
	var callajax = new Ajax(mesource, {
		method: 'post',
		data: 'supportid='+supportid,
		onComplete: function(stat) {
			stat = stat.replace(/(\r\n|\n|\r)/gm,"");
			if (stat == 'true'){
				window.location.href = 'message.php';				
			}else{
				alert ('error deleting support message');	
			};
		}
	}).request();		
};
function cancelNodeViewRequest(nodeid,owner) {
	var mesource = '1act_cancelmngnode.php';
	var callajax = new Ajax(mesource, {
		method: 'post',
		data: 'nodeid='+nodeid+'&ownersn='+owner,
		onComplete: function(stat) {
			stat = stat.replace(/(\r\n|\n|\r)/gm,"");
			if (stat == 'true'){
				var trnode = 'request'+nodeid;
				$(trnode).remove();
				var btnnode = 'nodebtn'+nodeid;
				$(btnnode).remove();
			}else{
				alert ('error removing node request');	
			};
		}
	}).request();		
};
function approveNodeViewRequest(f_nodeid,f_manager) {
	var mesource = '1act_approvemngnode.php';
	var callajax = new Ajax(mesource, {
		method: 'post',
		data: 'f_nodeid='+f_nodeid+'&f_manager='+f_manager,
		onComplete: function(stat) {
			stat = stat.replace(/(\r\n|\n|\r)/gm,"");
			if (stat == 'true'){
				var trnode = 'approvebtn'+f_nodeid;
				$(trnode).setHTML('Approved');
			}else{
				alert ('error approving node request');	
			};
		}
	}).request();		
}
function rejectNodeViewRequest(f_nodeid,f_manager) {
	var mesource = '1act_rejectmngnode.php';
	var callajax = new Ajax(mesource, {
		method: 'post',
		data: 'f_nodeid='+f_nodeid+'&f_manager='+f_manager,
		onComplete: function(stat) {
			stat = stat.replace(/(\r\n|\n|\r)/gm,"");
			if (stat == 'true'){
				var trnode = 'manage'+f_nodeid;
				$(trnode).remove();
			}else{
				alert ('error rejecting node manage');	
			};
		}
	}).request();		
};
function filterdaterange(mesource,metarget) {

	var pFrom = $('fromyear').value+"-"+$('frommonth').value+"-"+$('fromday').value;
	var pTo = $('toyear').value+"-"+$('tomonth').value+"-"+$('today').value;
	var mesource = mesource || 'nosource';
	var metarget = metarget || 'notarget';
	$(metarget).empty();
	$(metarget).addClass('ajax-loading');	
	
	var callajax = new Ajax(mesource, {
		method: 'post',
		data: 'pFrom='+pFrom+'&pTo='+pTo,
		update: $(metarget), 
		onComplete: function() {
			$(metarget).removeClass('ajax-loading');
			if ($('f_pingen')) {
				generatePinForm();
			};
			if ($('f_genericform')) {
				genericForm();	
			};		
			if ($$('.subnav_btn_idle')){
				$$('.subnav_btn_idle').forEach(function(element) {
					element.addEvent('mouseenter', function(e) {
						this.toggleClass('subnav_btn_over');
					});
					element.addEvent('mouseleave', function(e) {
						this.toggleClass('subnav_btn_over');
					});			
				});	
			};
			if ($('rangecalendar')) {
				myCal1 = new Calendar({ fromday: { frommonth: 'm', fromday: 'd', fromyear: 'Y' }});
				myCal2 = new Calendar({ today: { tomonth: 'm', today: 'd', toyear: 'Y' }});
			};		
			
		}
	}).request();	
}
function filterbonus(mesource,metarget,pField) {
	var mesource = mesource || 'nosource';
	var metarget = metarget || 'notarget';
	if (pField == 'cal_weekat') {
		var pData = $('year1').value+"-"+$('month1').value+"-"+$('day1').value;
		var pType = '6';
	}else if (pField == 'cal_presets') {
		var pData = $('cal_presets').value;
		var pType = $('cal_presets').value;
	}else if (pField == 'cal_nextweek') {
		var pData = $('pData').getProperty('pData');
		var pType = '8';		
	}else if (pField == 'cal_prevweek') {
		var pData = $('pData').getProperty('pData');
		var pType = '7';		
	}else if (pField == 'cal_prevday') {
		var pData = $('pData').getProperty('pData');
		var pType = '11';		
	}else if (pField == 'cal_nextday') {
		var pData = $('pData').getProperty('pData');
		var pType = '12';		
	}
	$(metarget).empty();
	$(metarget).addClass('ajax-loading');
	var callajax = new Ajax(mesource, {
		method: 'post',
		data: 'pType='+pType+'&pData='+pData,
		update: $(metarget), 
		onComplete: function() {
			$(metarget).removeClass('ajax-loading');
			if ($('f_pingen')) {
				generatePinForm();
			};
			if ($('f_genericform')) {
				genericForm();	
			};		
			if ($$('.subnav_btn_idle')){
				$$('.subnav_btn_idle').forEach(function(element) {
					element.addEvent('mouseenter', function(e) {
						this.toggleClass('subnav_btn_over');
					});
					element.addEvent('mouseleave', function(e) {
						this.toggleClass('subnav_btn_over');
					});			
				});	
			};
			if ($('bonuscalendar')) {
				myCal = new Calendar({ day1: { month1: 'm', day1: 'd', year1: 'Y' }});
			};
		}
	}).request();		
};
function filterpin(mesource,metarget,pField) {
	var mesource = mesource || 'nosource';
	var metarget = metarget || 'notarget';
	if (pField == 'cal_weekat') {
		var pData = $('year1').value+"-"+$('month1').value+"-"+$('day1').value;
		var pType = '6';
	}else if (pField == 'cal_presets') {
		var pData = $('cal_presets').value;
		var pType = $('cal_presets').value;
	}else if (pField == 'cal_nextweek') {
		var pData = $('pData').getProperty('pData');
		var pType = '8';		
	}else if (pField == 'cal_prevweek') {
		var pData = $('pData').getProperty('pData');
		var pType = '7';		
	}
	var pNode = $('pNode').value;
	$(metarget).empty();
	$(metarget).addClass('ajax-loading');
	var callajax = new Ajax(mesource, {
		method: 'post',
		data: 'pType='+pType+'&pData='+pData+'&pNode='+pNode,
		update: $(metarget), 
		onComplete: function() {
			$(metarget).removeClass('ajax-loading');
			if ($('f_pingen')) {
				generatePinForm();
			};
			if ($('f_genericform')) {
				genericForm();	
			};		
			if ($$('.subnav_btn_idle')){
				$$('.subnav_btn_idle').forEach(function(element) {
					element.addEvent('mouseenter', function(e) {
						this.toggleClass('subnav_btn_over');
					});
					element.addEvent('mouseleave', function(e) {
						this.toggleClass('subnav_btn_over');
					});			
				});	
			};
			if ($('bonuscalendar')) {
				myCal = new Calendar({ day1: { month1: 'm', day1: 'd', year1: 'Y' }});
			};
		}
	}).request();		
};
function approveWithdraw(stat,wid,own,requestdt) {
	var mesource = '1act_approvewithdraw.php';
	var callajax = new Ajax(mesource, {
		method: 'post',
		data: 'stat='+stat+'&wid='+wid+'&own='+own+'&requestdt='+requestdt,
		onComplete: function(st) {
			if (st == 'true'){
				var tr = 'withdrawrow'+wid;
				$(tr).remove();
			}else{
				alert ('error approve withdraw');	
			};
		}
	}).request();		
};

function approveAllWithdraw(metarget,pType,pData) {
	var mesource = '1act_approveallwithdraw.php';
	var metarget = metarget || 'notarget';
	$('btnapproveall').remove();
	var xcallajax = new Ajax(mesource, {
		method: 'post',
		data: 'pType='+pType+'&pData='+pData,
//		update: $('contentarea'),
		onComplete: function(st) {
			if (st == 'true'){
				$(metarget).remove();
			}else{
				alert ('error approve all withdraw');	
			};
		}
	}).request();	
};
function approveBank(stat,brqid,own) {
	var mesource = '1act_approvebankrq.php';
	var callajax = new Ajax(mesource, {
		method: 'post',
		data: 'stat='+stat+'&brqid='+brqid+'&own='+own,
		onComplete: function(st) {
			if (st == 'true'){
				var tr = 'bankrqrow'+brqid;
				$(tr).remove();
			}else{
				alert ('error approve bank');	
			};
		}
	}).request();		
};
function get_cookie(Name) {
  var search = Name + "="
  var returnvalue = "";
  if (document.cookie.length > 0) {
    offset = document.cookie.indexOf(search)
    // if cookie exists
    if (offset != -1) { 
      offset += search.length
      // set index of beginning of value
      end = document.cookie.indexOf(";", offset);
      // set index of end of cookie value
      if (end == -1) end = document.cookie.length;
      returnvalue=unescape(document.cookie.substring(offset, end))
      }
   }
  return returnvalue;
};
function poptreeviewer(nodeid) {
	var addnodeview = new Ajax('1act_poptreeviewer.php', {
		method: 'post',
		data: 'nodeid='+nodeid,
		onComplete: function(stat) {
			stat = stat.replace(/(\r\n|\n|\r)/gm,"");
			if (stat == 'true'){
				window.open ("treeviewer.php?setviewnodeid="+nodeid,"poptreeviewer"); 
			}else{
				alert('error open popup window treeviewer');	
			}
		}		
	}).request();
};
function generatePassword(field) {
	var passfield = $(field);
	var genPass = new Ajax('1act_generatepassword.php', {
		method: 'post',
		onComplete: function(ret) {
			passfield.value = ret;
		}		
	}).request();	
};
function nodeTracer(mesource,metarget) {
	var mesource 	= mesource || 'nosource';
	var metarget 	= metarget || 'notarget';
	pFrom = $('f_bottom').value;
	pTo = $('f_top').value;
	$(metarget).empty();
	$(metarget).addClass('ajax-loading');
	var callajax = new Ajax(mesource, {
		method: 'post',
		data: 'pFrom='+pFrom+'&pTo='+pTo,
		update: $(metarget), 
		onComplete: function() {
			$(metarget).removeClass('ajax-loading');
			if ($$('.subnav_btn_idle')){
				$$('.subnav_btn_idle').forEach(function(element) {
					element.addEvent('mouseenter', function(e) {
						this.toggleClass('subnav_btn_over');
					});
					element.addEvent('mouseleave', function(e) {
						this.toggleClass('subnav_btn_over');
					});			
				});	
			};
		}
	}).request();		
};
function updateCountryPrefix() {
	var sel = document.getElementById("f_country");
	var prefix = sel.options[sel.selectedIndex].name;
	if (!prefix) {
		var prefix = $('f_country').options[$('f_country').selectedIndex].getProperty('name');
	}
	$('sellprefix').setText(prefix);
	$('buyprefix').setText(prefix);
	$('f_prefix').value = prefix;
}
function calcshares(currentcompshare,currentmembershare) {
	$('f_multiply').value = Math.max(1,$('f_multiply').value);
	var newcompshare 	= $('f_multiply').value * currentcompshare;
	var newmembershare 	= $('f_multiply').value * currentmembershare;
	//$('newcompshare').innerText = addCommas(newcompshare);
	$('newmembershare').innerText = addCommas(newmembershare);
}
/* language */
function languageSwitcher() {
	if ($E('.lang_chi') || $E('.lang_eng')) {
		var langcode = get_cookie("language_vo");
		if (langcode>1) {		
			switchLanguage(langcode);			
		};
	};
};
function language_selector() {
	var langcode = $("language_selector").value;
	document.cookie="language_vo="+langcode;
	location.reload(true);
};
/* end language */
function stopRKey(evt) {
   var evt = (evt) ? evt : ((event) ? event : null);
   var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
   if ((evt.keyCode == 13) && (node.type=="text")) {return false;}
}
function reloadCCC(ele) {
	var old_src = $(ele).src;
	var ts = Math.round((new Date()).getTime()/1000);
	if (old_src.indexOf('?',0)>=0) {
		if (old_src.indexOf('reload=',0)>=0) {
			$(ele).src = old_src.substring(0,old_src.indexOf('reload=',0)+7)+ts;
		}else{
			$(ele).src = old_src+'&reload='+ts;
		}
	}else{
		$(ele).src = old_src+'?reload='+ts;		
	};
}
function reloadAllCCC() {
	if ($$('.ccc')){
		$$('.ccc').forEach(function(ele) {
			var old_src = $(ele).src;
			var ts = Math.round((new Date()).getTime()/1000);
			if (old_src.indexOf('?',0)>=0) {
				if (old_src.indexOf('reload=',0)>=0) {
					$(ele).src = old_src.substring(0,old_src.indexOf('reload=',0)+7)+ts;
				}else{
					$(ele).src = old_src+'&reload='+ts;
				}
			}else{
				$(ele).src = old_src+'?reload='+ts;		
			};			
		});	
	};
}
function postandgo(page,jsondata,target) {
	var p = Json.evaluate(jsondata);
	var myForm = document.createElement("form");
	myForm.setAttribute("style", "display:none");
	myForm.method="post";	
	myForm.action=page;
	if (target != '') {
		myForm.target=target;
	}
	for (var k in p) {
		var myInput = document.createElement("input");
		myInput.setAttribute("type", "hidden");
		myInput.setAttribute("name", k);
		myInput.setAttribute("value", p[k]);
		myForm.appendChild(myInput);
	}
	document.body.appendChild(myForm);
	myForm.submit();	
}

function gotoAndPost(page) {	
	var pp = parseUri(page);
	var p = pp.queryKey;
	var page = page.substring(0,page.indexOf("="));
	var myForm = document.createElement("form");
	myForm.setAttribute("style", "display:none");
	myForm.method="post";
	myForm.action=page;
	for (var k in p) {
		var myInput = document.createElement("input");
		myInput.setAttribute("type", "hidden");
		myInput.setAttribute("name", k);
		myInput.setAttribute("value", p[k]);
		myForm.appendChild(myInput);
	}
	document.body.appendChild(myForm);
	myForm.submit();
};

function maskWhite(b) {
	if (b=="show") {		
		var white = document.createElement("div");
		white.setAttribute("class", "maskWhite");
		white.setAttribute("id", "maskWhite");
		$(white).setOpacity(0.1);
		winWidth = window.getScrollWidth();
		winHeight = window.getScrollHeight();	
		$(white).setStyle("height",winHeight);
		$(white).injectTop($(document.body));
	}else{
		if ($('maskWhite')) {
			$('maskWhite').remove();
		};
	};
};

function customButton(page,metarget) {	
	var mesource = page.substring(0,page.indexOf("?"));	
	var pagedata = page.substring(page.indexOf("?")+1);
	var mesource = mesource || 'nosource';
	var metarget = metarget || 'notarget';
	$(metarget).empty();
	$(metarget).addClass('ajax-loading');		
	var callajax = new Ajax(mesource, {
		method: 'post',
		data: pagedata,
		update: $(metarget), 
		onComplete: function() {
			$(metarget).removeClass('ajax-loading');
			globalinit();
			
		}
	}).request();	
}

function customForm(me,page,metarget) {	
	var formdata;
	$$('form').forEach(function(element) {
		if (element.hasChild($(me))) {
			formdata = element.toQueryString();			
		}
	});
	if (page.indexOf("?")>0) {
		var mesource = page.substring(0,page.indexOf("?"));	
	}else{
		var mesource = page;
	}	
	if (page.indexOf("?")>0) { 
		var pagedata = page.substring(page.indexOf("?")+1);
		formdata+='&'+pagedata 
	};
	var mesource = mesource || 'nosource';
	var metarget = metarget || 'notarget';
	$(metarget).empty();
	$(metarget).addClass('ajax-loading');		
	var callajax = new Ajax(mesource, {
		method: 'post',
		data: formdata,
		update: $(metarget), 
		onComplete: function() {
			$(metarget).removeClass('ajax-loading');
			globalinit();
		}
	}).request();
}

function globalinit() {
	if ($$('.subnav_btn_idle')){
		$$('.subnav_btn_idle').forEach(function(element) {
			element.addEvent('mouseenter', function(e) {
				this.toggleClass('subnav_btn_over');
			});
			element.addEvent('mouseleave', function(e) {
				this.toggleClass('subnav_btn_over');
			});			
		});	
	};
	if ($('f_genericform')) {
		genericForm();	
	};
	languageSwitcher();
	showRecaptcha();
}

function is_array(input){
	return typeof (input)=='object'&&(input instanceof Array);
}
  
function switchLanguage(lang) {
	if (lang=="1") {
		if ($$(".lang_chi")) {
			$$(".lang_chi").forEach(function(element) {
				element.removeClass("lang_chi");
				element.addClass("lang_eng");
				txt = element.innerHTML;
				idx = lang_chi.indexOf(txt);			
				if (idx != -1) {
					cxt = lang_eng[idx];
					element.setHTML(cxt);
				};
			});	
		}
	}else if (lang=="2") {
		if (typeof lang_chi != "undefined") {
			$$(".lang_eng").forEach(function(element) {
				element.removeClass("lang_eng");
				element.addClass("lang_chi");
				txt = element.innerHTML;
				idx = lang_eng.indexOf(txt);
				if (idx != -1) {
					cxt = lang_chi[idx];
					element.setHTML(cxt);
				};
			});
			$$("input").forEach(function(element) {
				if (element.getProperty("rel")=="lang_eng") {
					txt = element.value;
					idx = lang_eng.indexOf(txt);
					if (idx != -1) {
						cxt = lang_chi[idx];
						element.value = cxt;
						element.setStyle("font-size","11px");
					};						
				};
			});
			$$("option").forEach(function(element) {
				if (element.getProperty("rel")=="lang_eng") {
					txt = element.innerHTML;
					idx = lang_eng.indexOf(txt);
					if (idx != -1) {
						cxt = lang_chi[idx];
						element.setHTML(cxt);
						element.setStyle("font-size","11px");
					};						
				};
			});
			$$("select").forEach(function(element) {
				if (element.getProperty("rel")=="lang_eng") {
					element.setStyle("font-size","11px");
				};
			});
		}
	}
};	

