function flipCustomField(el,obj){
	for(var i=0;i<obj.options.length;i++){
		var t=obj.options[i].value.split(";");
		try {
			GetObj(t[0]).style.display='none';
		} catch (er) {
			alert('exception: '+t[0]);
		}
	}
	GetObj(el).style.display='block';
}
var vals=new Array();

function implodeCustomFields(){
	var z="";
	for(x in vals){
		if (x!='')
		z+=x+'='+escape(vals[x])+';';
	}
	getEl('parameters').value=z;

}
function fieldsToArray(){
	vals=new Array();
	var sText=getEl('parameters').value;
	sText=sText.split("\r").join("").split("\n").join("").split(";");
	sVarNames="";
	for (var vars in sText) {
		var pos = sText[vars].indexOf('=');
		var name=sText[vars].substr(0,pos);
		var value=sText[vars].substr(pos+1);
		vals[name]=unescape(value); //t[1];
	}
}

function fieldsToArrayExt(el){
	vals=new Array();
	var sText=getEl(el).value;
	sText=sText.split("\r").join("").split("\n").join("").split(";");
	sVarNames="";
	for (var vars in sText) {
		var pos = sText[vars].indexOf('=');
		var name=sText[vars].substr(0,pos);
		var value=sText[vars].substr(pos+1);
		vals[name]=value; //t[1];
	}
}


function setParams(obj){
	fieldsToArray()
	var tmp = obj.options[obj.selectedIndex].value.split('.',2);
	vals['module'] = tmp[0];
	vals['function'] = tmp[1];
	implodeCustomFields();
}

function setCustomFieldValue(val,tag){
	fieldsToArray()
	vals[tag]=val;
	implodeCustomFields();
}


function setCustomField(el,tag){
	fieldsToArray()
	vals[tag]=getEl(el).value;
	implodeCustomFields();
}

function sCF(obj,tag){
	fieldsToArray();
	switch(obj.type){
		case 'checkbox':
			vals[tag]=obj.checked;
			break;
		default:
			vals[tag]=obj.value;
			break;
	}
	implodeCustomFields();
}

function sCFc(obj,tag){
	fieldsToArray();
	vals[tag]=obj.checked?1:0;
	implodeCustomFields();
}

function changeFieldType(obj,newtype){
	var name=obj.options[obj.selectedIndex].value;
	var values=name.split(";");
	flipCustomField(values[0],obj); 
	//vals[newtype]=values[1];
	//implodeCustomFields();
}
var upd="";
function upddata(){
	ajaxGetJS(upd,'moduleconf');
}

function initVar(name){
	if(typeof arguments[0].splice == 'function'){
		for (x in name){
			var value = vals[name[x]];
			if(!value)
				value = '';
			var obj = getEl(name[x]);
			switch(obj.type){
				case 'select':
					obj.selectedIndex = obj.options.indexOf(value);
					alert(obj.selectedIndex);
					break;
				case 'checkbox':
					obj.checked = value=='true';
					break;
				default:
					obj.value = value;
					break;
			}
			//variable.value = value;
		}
	} else {
		//eval('document.editform.'+name+'.value=vals[\''+name+'\']');
		getEl(name).value = vals[name];
	}
}

function reinitVar(obj,name){
	getEl('parameters').value=obj.value;
}

function GetConfig(name,id,fname){
	fieldsToArray();
	setEl('moduleconf',"Loading data");
	upd='index.php?event=600&name='+fname+'&funcname='+name+'&id='+id+'&mode=1';
	ajaxSetEl('index.php?event=600&name='+fname+'&funcname='+name+'&id='+id,'moduleconf',upddata);
}


function IWC(PopUrl,PopName,PopWidth,PopHeight){
    window.open(PopUrl,PopName,'toolbar=no,scrollbars=yes,resizable=yes,width='+PopWidth+',height='+PopHeight+',top='+((screen.availHeight-PopHeight)/2)+',left='+((screen.availWidth-PopWidth)/2));
}

function datetimelookup(id){
	IWC('system/datetimepicker/datetime.htm?field='+id,'datetime',157,180);
}

var editobj;
function edit(id){
	editobj = document.getElementById(id);
	IWC('system/editor/editor.html?field='+id,'editor',800,600);
}

// org
function ExpandShrinkButton(el){
	document.write("<a href='javascript:void();' onclick=\"setSize('"+el+"',400,0);\" id="+el+"_expand style=\"display: block;\">expand</a>");
	document.write("<a href='javascript:void();' onclick=\"setSize('"+el+"',"+parseInt(getEl(el).style.height)+",1);\" id="+el+"_shrink style=\"display: none;\">shrink</a>");
}

function setSize(el,newsize,thediv){
	getEl(el).style.height=newsize+'px';
	if(thediv==0){
		getEl(el+"_expand").style.display="none";
		getEl(el+"_shrink").style.display="inline";
	} else {
		getEl(el+"_expand").style.display="inline";
		getEl(el+"_shrink").style.display="none";

	}
}

function querytool(){
	IWC('qt.php','qtool',800,600);
}



/*******************************************************************/


function GetFieldConfig(elementName, eventid, fieldname){
	//setEl(elementName,"Loading data");
	
	ajaxSetElExt('index.php?event='+eventid+'&fieldtype='+fieldname,elementName,initConfigvars);
}

function initConfigvars(el,text){
	if(text!=''){
		var sp = text.indexOf("\r\n");
		if(sp!=-1){
			var javascript = text.substr(0,sp);
			var text = text.substr(sp+2);
			setEl(el,text);
			fieldsToArray();
			eval(javascript);
			//alert(sp +javascript+ text);
		} else{ 
			setEl(el,text);
		}

	} else {	
		setEl(el,'Nothing to configure');
	}

}

function duplicateObj(id, obj){
	//alert(id);
	getEl(id).style.display='block';
	obj.parentNode.removeChild(obj);
}
