function init() {
	initFieldset();
}

function initFieldset() {
	var id;
	var legends = document.getElementsByTagName('LEGEND');
	for (var i in legends) {
		if ((id=legends[i].id)) {
			if (getCookie('legend['+id+']')==1) closeopen_fieldset(id, 'close');
		}
	}
}


function doDiv(id) {

	if (!(obj = document.getElementById('his_div_'+id))) return;
	if (!(oimg = document.getElementById('i_'+id))) return;
	
	if (!obj) {
		oimg.src = gc_path+"/images/minus.gif";
		return;
	}
	
	if (obj.style.display == 'block') {
		obj.style.display = 'none';
		oimg.src = gc_path + "/images/plus.gif";
	} else {
		obj.style.display = 'block';
		oimg.src = gc_path + "/images/minus.gif";
	}
}


function confirmForm(form_name, text) {
    
    if (confirm(text)) {
		eval("document." + form_name + ".submit()");
    }
}


function checkNum(obj, v) {
	re = /^[\d]+$/i;
	
	if (!obj.value.match(re) && (v == 2)) {
		alert('Здесь должно быть число');
		obj.className = 'input_alert';
	} else {
		obj.className = '';
	}
}

function openNew(obj, width, height, titul) {
	
	newwin = window.open('/images/spacer.gif', 'Information', 'toolbar=0,status=0,menubar=0,scrollbars=0,resizable=1,width=' + width + ',height=' + height);
	newwin.document.open();
	newwin.document.write('<title>'+ titul + '</title>');
 	newwin.document.write('<body style="margin-left:0; margin-right:0; margin-top:0; margin-bottom:0;padding-top:0; padding-left:0; padding-right:0; padding-bottom:0;"><a href="javascript:void(0)" onClick="window.close()"><img src="' + obj + '" border=0 alt="Закрыть" /></a></body>');
 	newwin.document.close();
	newwin.focus();
}


var ref_select='';
function linkIt(id, name, type) {
	var obj;
	if ((obj=document.getElementById(ref_select)))
	obj.options[obj.options.length] = new Option(id+". "+name, id+"_"+type);
}


function delLink() {
	var obj;
	if ((obj=document.getElementById(ref_select)))
	obj.options[obj.selectedIndex] = null;
}

function clearLinks() {
	var obj;
	if ((obj=document.getElementById(ref_select)))
	obj.options.length = 0;
}


function doRefSelect(sel,but,del,reset,id) {
	if (but.value=='Редактировать') {
		closeAll();
		but.value='Закрыть';
		document.getElementById(del).style.display = 'block';
		document.getElementById(reset).style.display = 'block';
		document.getElementById(sel).size=5;
		//document.getElementById(sel).name='ref_select';
		ref_select=sel;
	} else {
		
		but.value='Редактировать';
		document.getElementById(del).style.display = 'none';
		document.getElementById(reset).style.display = 'none';
		document.getElementById(ref_select).size=1;
		ref_select='';
		//document.setProps.ref_select.size=1;
		//document.setProps.ref_select.name='refvalue['+id+'][]';
	}
}

function closeAll() {
	for (var i in refs) {
		eval("document.getElementById('del_"+refs[i]+"').style.display='none';");
		eval("document.getElementById('reset_"+refs[i]+"').style.display='none';");
		eval("document.getElementById('but_"+refs[i]+"').value='Редактировать';");
		if (document.getElementById('refSel_'+refs[i]).size==5) {
			//document.getElementById('refSel_'+refs[i]).name='refvalue['+refs[i]+'][]';
			document.getElementById('refSel_'+refs[i]).size=1;
		}
	}
}


function selectAllRefs(){
	for (var i=0;i<refs.length;i++) {
		//alert(refs[i]);
		document.getElementById('refSel_'+refs[i]).multiplie=true;
		for(var j = 0;j<document.getElementById('refSel_'+refs[i]).length;j++){
			document.getElementById('refSel_'+refs[i]).options[j].selected = true;
		}
	}
}


function tellServer(model, action, id, parent_id, f1, f2, f3) {
	var query=gc_path+'/'+model+'/'+action+'/';
	
	if (parent_id) query+=parent_id+'/';
	if (id) query+=id+'/';
	var params = new Array();
	if (f1)	params['f1'] = f1;
	if (f2)	params['f2'] = f2;
	if (f3)	params['f3'] = f3;
	params['tellserver']=1;
	params['output_method']='xml';
	
	//alert(query);
	serverRequest('POST',query,params,null,null,null);
}

function debug_tellserver(obj, xsl_path, res_div) {
	alert(obj.responseText);
	//w=window.open();
	//w.document.open();
	//w.document.writeln(obj.responseText);
	//w.document.close();
}

function processFlag(id, flag, model) {
	tr = 'tr_'+id;
	hidden_flag = 'f_'+id;
	hide_btn = 'hide_'+id;
	nov_btn = 'nov_'+id;
	spp_btn = 'spp_'+id;
	sam_div = 'sam_'+model+'_'+id;
	his_div = 'his_div_'+id;
	
	var hf_before = document.getElementById(hidden_flag).value;
	var hf_after = hf_before ^ flag;
	
	document.getElementById(hidden_flag).value = hf_after;
	
	if (hf_after%2 == 1) {
		document.getElementById(tr).className = 'hidden_tr';
		if (document.getElementById(sam_div)) document.getElementById(sam_div).className = 'hidden_tr';
		if ((h_d=document.getElementById(his_div))) h_d.className = 'hidden_tr';
		document.getElementById(hide_btn).value = 'Открыть';
	} else {
		document.getElementById(hide_btn).value = 'Скрыть';
		if ((h_d=document.getElementById(his_div))) h_d.className = 'td1';
		if (hf_after == 0) {
			if (document.getElementById(sam_div)) document.getElementById(sam_div).className = 'td1';
		} else {
			if (document.getElementById(sam_div)) document.getElementById(sam_div).className = 'td1';
		}
	}

	if (document.getElementById(nov_btn)) {
		if ((hf_after&2) == 2) document.getElementById(nov_btn).value = '+';
		else document.getElementById(nov_btn).value = '-';
	}
	
	if (document.getElementById(spp_btn)) {
		if ((hf_after&4) == 4) document.getElementById(spp_btn).value = '+';
		else document.getElementById(spp_btn).value = '-';
	}
}


function processSimpleFlag(id,flag) {

	tr = 'tr_'+id;
	hidden_flag = 'f_'+id;
	hide_btn = 'hide_'+id;

	var hf_before = document.getElementById(hidden_flag).value;
	var hf_after = hf_before ^ flag;
	
	document.getElementById(hidden_flag).value = hf_after;

	if ((hf_after&1)==1) {
		document.getElementById(tr).className = 'hidden_tr';
		document.getElementById(hide_btn).value = 'Открыть';
	} else {
		document.getElementById(tr).className = 'td1';
		document.getElementById(hide_btn).value = 'Закрыть';
	}

}


function cloneIt(id,name,type) {
	cln_name = 'clone_item';
	document.getElementById(cln_name).value = id+". "+name;
}

function fillItemOrders(srccount,dataform) {
	for (var i=0;i<srccount;i++) {
		obj = document.getElementById('vorder_'+i);
		tgtobj = document.getElementById('horder_'+i);
		if (obj && tgtobj) {
			tgtobj.value = obj.value;
		}
	}
}


//For moving goods and groups (tree_ids IN iToMov marked flag=1) into new group with tree_id=parentID
var iToMov=new Array();
var lToMov=new Array();

function moveIn(parentID,parentKind) {
	var ids=new Array();
	for (var k in iToMov) if (iToMov[k]) ids.push(k);
	ids=ids.join(',');
	var lids=new Array();
	for (var k in lToMov) if (lToMov[k]) lids.push(k);
	lids=lids.join(',');
	if (lids) ids+='|'+lids;
	if (!ids) {
		alert('Не выбрано ни одного элемента для перемещения');
		return;
	}
	if (!confirm("Вы уверены, что хотите выполнить перемещение?")) return;
	document.getElementById('moveform').action+=parentID+"/";
	document.getElementById('parent_kind').value=parentKind;
	document.getElementById('ids').value=ids;
	document.getElementById('moveform').submit();
}

function setToMove(ID,type) {
	var flag=0;
	if (type=='link') {
		obj=document.getElementById('m_l_'+ID);
		if (obj.checked) flag=1;
		lToMov[ID]=flag;
	} else {
		obj=document.getElementById('m_'+ID);
		if (obj.checked) flag=1;
		iToMov[ID]=flag;
	}
}


//check for right images
function checkFormImage(id) {
	var exts="jpg|png|gif";
	f=document.getElementById(id).value;
	if (f) {
		pos=f.lastIndexOf(".");
		ext=f.substr(pos+1,3);
		ext=ext.toLowerCase();
		pos=exts.indexOf(ext);
		if (pos==-1) {alert("Файл может быть одним из следующих\n"+exts); return false;}
	} else return false;
	return true;
}

function addLink(kind,flag,parent_id,tree_id,name,descr_url) {
	var url=gc_path + "/";
	if (kind=='item') {
		if ((flag&16)==16) kind='tape';
		if ((flag&32)==32) kind='voting';
		if ((flag&64)==64) kind='guestbook';
		if ((flag&128)==128) kind='qa';
	}
	if (kind=='voting'||kind=='questbook'||kind=='qa') url+=kind+"/listAll/";
	else {
		if (kind=='links' || kind=='group') url+=kind+"/listAll/"+tree_id+"/";
		else url+=kind+"/show/"+parent_id+"/"+tree_id+"/";
	}
	if (descr_url) url = descr_url;
	
	if (document.getElementById('descr_id')||document.getElementById('predescr_id')) insLink(url,name);
	if ((obj = document.getElementById('url_id'))) {
		obj.value = url;
		document.getElementById('name_id').value = name;
	}
}

/*
* This function will not return until (at least)
* the specified number of milliseconds have passed.
* It does a busy-wait loop.
*/
function pause(numberMillis) {
	    var now = new Date();
	    var exitTime = now.getTime() + numberMillis;
	    while (true) {
	        now = new Date();
	        if (now.getTime() > exitTime) return;
	    }
}


function SetCookie(cookieName,cookieValue,nDays) {
	var today = new Date();
	var expire = new Date();
	if (nDays==null || nDays==0) nDays=1;
	expire.setTime(today.getTime() + 3600000*24*nDays);
	document.cookie = cookieName+"="+escape(cookieValue)
					+ ";expires="+expire.toGMTString();
}


function getCookie(name) {
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1) {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    } else {
        begin += 2;
    }
    var end = document.cookie.indexOf(";", begin);
    if (end == -1) {
        end = dc.length;
    }
    return unescape(dc.substring(begin + prefix.length, end));
}

function deleteCookie(name) {
    if (getCookie(name)) {
        document.cookie = name + "=" + "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
    
}

function hideShow(obj,id){
    	  
    	if(obj.value=='Скрыть'){
    		obj.value='Открыть';
    	   	document.getElementById('tr_'+id).className='hidden_tr';
    	} 	 
    	else{
    		obj.value='Скрыть';
    		document.getElementById('tr_'+id).className='td1'; 
    	}
    	 tellServer('tape', 'checkFlagTapeItem', '', id, '', '', '');
    		        	
}